Meetup: Enterprise JavaScript Version 1

Posted on 1 Comment
Enterprise JavaScript Version 1 poster

As with a lot of other posts on my blog, this one is also delayed. I mean, A LOT delayed. The event happened in June, so you get the idea.

In Delhi/NCR, not a lot of software meetups happen. The scene is maturing but is not yet on par with the other techie cities such as Bangalore or Hyderabad. Again, not a lot of software meetups happen here and definitely not enough on JavaScript.

One tendency I’ve consistently observed in this region is developers’ reliance on jugaad. That is, they try to “duct-tape” their way through the code if they cannot find out the root cause in a reasonable amount of time. I know, we have all been there once. But this culture is less pronounced in technically more mature cities such as Bangalore.

When it comes to JavaScript, the attitudes are even worse. A lot of developers see it as a ‘scripting language used for validations in browser.’ Yes, some devs do realize the power of frameworks such as Angular, React and Ember in creating full-blown applications. Still, there’s a lot of us who do not see JavaScript itself as a first-class OOP programming language. That is simply tragic! So back in June I thought enough was enough and that this attitude toward JavaScript MUST change.

The opportunity to organize and curate a meetup themed on enterprise use of JavaScript came from Gaurav Gandhi, a great community builder, techie and AI geek. So I worked with him to organize this meetup, signed up a few speakers, and got the venue arranged.

From our consistent promotions on meetup.com, we got 400+ RSVPs! But going by our earlier experience, we weren’t expecting more than 30 (10% of total). Around 50 actually turned up. Man, that was no less than a mini-success.

Coming to the event’s agenda. We planned it as a sequence of conference-style talks by industry experts. For more, I’ll probably just copy-paste from our meetup.com page.

Enterprise JavaScript: Are You Using It THE RIGHT WAY?
Learn from startup journeys, hands-on exercises and product showcases

JavaScript is arguably the most popular programming language on planet[1] and yet a lot of us use it the WRONG way! But the blame is not entirely on you. With so many learning resources around — courses, blogs, tutorials, books, and what not — it’s hard to find the best place to start or improve. Most of these learning resources target a beginner audience. That is where the problem lies! In an attempt to be concise, they leave out the finer details that separate a good programmer from a bad one.

Don’t worry, we have all been there. Learning is a great way to improve. But is there a better way? Of course there is: it’s called “hands-on experience”.

In this special edition event of our popular NCR meetup, we bring to you that priceless experience in the form of 5 sessions. Do not miss out on the opportunity to hear from and interact with distinguished developers behind some massively scalable consumer and B2B apps. Learn from real-world experiences as speakers share their journeys on implementing NodeJS and client-side JavaScript at scale.
Learn to code in JavaScript and NodeJS the RIGHT way!

Meetup.com: Enterprise JavaScript – Journeys, Code Labs & Showcases

Here are some pics from the event:

Many thanks to 91springboard for generously sponsoring the venue and food. Kudos to all the wonderful speakers. And special thanks to all who came to attend, learn and share 🎉.

Optimistic updates

Posted on Leave a comment

It’s a cool UX trick I learned recently makes applications exponentially responsive. Traditionally, when we make an async API call or something similar (to perform a time-taking operation) we show a spinner (or a loading message) to indicate to the user that something is going on in the background and that they should wait a bit before the final results. Although now widely accepted, this approach sometimes creates ‘blocking’ experiences especially when used extensively. You do not want to give an impression to your users that your application is completely dumb on its own and needs to fetch data from the all-knowing server all the time.

Optimistic updates is a strategy where you ‘optimistically’ assume that your time-taking operations will always succeed. So, instead of making users wait or showing a loader, you show the final results (when you can) right away!

Eg. On click of an item’s delete button just instantly remove the item from UI and perform the actual (server-side) delete operation in the background. The same goes for adding a new item, and so on. This will create a slick and snappy user experience that your users will love. If a background operation does fail, perhaps undo the change in UI and show a relevant error message to the user.

Of course, this strategy isn’t perfect. But it’s cool, for sure. I must have seen it at least half a dozen times before but officially learned it in this beautiful Redux course on Pluralsight by the awesome Cory House.

Check my commit to see how optimistic deletion can be implemented in a React-Redux application.