Creating an incredible user experience is a fundamental core value at Dgraph. This holds true for our latest product offering — Slash GraphQL. Slash GraphQL is a fully-managed GraphQL backend database service that lets you focus on building apps, not managing infrastructure. Building Slash required a design process that focused on creating the right user experience to realize this vision.
Often, we need to make design decisions across multiple teams. Design and collaboration on this scale require a well-defined design philosophy — a common design “manifesto” that reflects our shared purpose through a set of design principles. Our engineering and…
useState is the simplest React hook out in wild but it has a very interesting feature — lazy initialization
If you provide useState with a function, then it will be executed only on the initial render.
Any function that is computationally expensive can be initialized lazily.
Am I doing it right? Is my project structure correct? Am I getting too biased over a library? Is the naming convention I follow accepted universally? Importantly — Am I doing it right?
So I tried a bunch of options —…
Don’t wait for the nightmare of migrating away from Firebase one day when it doesn’t scale anymore for your application. Use Slash GraphQL — just work with GraphQL, no strings attached.
Okay, before I share my view on this, here is an honest disclosure — I work as a front-end engineer at Dgraph Labs but the view expressed in this article is totally personal and based on my own experience of building apps.
No doubt that Firebase is great! I was an early adopter and have seen firebase evolving from a real-time database as a service to the popular app…
Who’s not a power user in 2020? Most likely you are a power user of an application you use at your workplace everyday.
Power users are generally associated with people’s skill to reap maximum gain of functionalities from a software. Over the last few years, online productive apps & tools on web have altered this definition rather the path to become a power user has changed.
Fundamentally there is a difference between a power user of vim text editor & a power user of Google Sheet.
Software in 21st century doesn’t come with user manuals. They are most likely self installed on a mobile device. Nobody teaches how to operate an app.
Some apps just are just POP & provide natural way-finding. There is no art behind this, its just quantitative analysis. Loudness needs to be tuned across the interface to help the user navigate & take actions.
You don’t need to make noise(literally) to be heard. You can visually evoke loudness in the mind. Colours, contrast, position & motion help digital interfaces communicate loudness. …
We are surrounded by machines doing their own jingles. It can be the washing machine that clinks when the clothes are dry or the toaster dings!. Companies have weaved sounds in their products to communicate information & more importantly make them lively.
The sounds are functional but beyond that it is visceral. Machines try to set our mood throughout our tasks using sound.
“The person washing socks becomes the hero in a domestic drama”, — Brandon Satanek, UI/UX global manager at Whirlpool shares in an article. An appliance’s notifications provide the soundtrack support the movie, which follows an emotional arc.
If all has to summarised in one line for product manager — GraphQL can Massively Impact Delivery 🚀
So to cut the clutter, I will try to highlight major values & challenges in three different lens -
Significant boost to developer experience. The documentation become more of a living document & allows the user to self explore documentation with limited or existing domain knowledge. Onboarding developers to use API’s will be easy. (Shopify is an early adopter which has exposed its public APIs over GraphQL)
“frontend” team takes the ownership. Engineering effort on the Frontend team or client app centric…
This piece should not be mistaken for a design pattern. It’s about good practices you can adopt when writing functions, designing components, or even architecting a system.
For now, lets explore how configurations can improve the developer experience and rapid development.
A configuration can be as simple as a JSON object with a bunch of key values or as complex as a configuration object managed by a full-blown configuration…