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 — Talking to friends working in other companies, attending conferences, attending workshops & following the ‘influencers’ twitter trail. Yes, it does add some value to your general exposure but I still felt something was missing. All these insights were outward, but I was looking out for more authentic insights inward driven. That's where I hopped on to open source projects. …
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 development ecosystem it is now. …
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.
Similarly, when a smart oven finishes preheating, it plays a hopeful phrase (da-da-di?), while a finished bake is accompanied by a triumphant da-di-dum! Likewise with the washer/dryer. “There are certain happy events in those situations,” Satanek said. “When you’ve finished washing your clothes, and you’re ready to smell those clean clothes, it’s a moment to celebrate. …
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 teams. GraphQL replaces the middleware & becomes an access point for all the apps & third party developers. …
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 management system. …
A Quick summary of major announcements made at Firebase Summit 201
Firebase Extensions are pre-canned firebase solutions as a service. They are well tested & deployed on Firebase & GCP Environment. Personally I wish there were more extensions, right now there are 9, Sync with Mail-chimp & Resize Images being the most popularly discussed. Hope that this grows into a bigger marketplace in future.