Indeterminate Progress bar is an inferior UX design

60 milliseconds is when we notice something isn’t immediate. Any user interaction, that involves sending data over the network or doing heavy computation on it, usually takes way longer than 60 milliseconds. So, we end with a progress bar. There are two broad categories of progress bars, one that shows the absolute/relative progress, a determinate progress bar, and one that does not an indeterminate progress bar.

Server vs mobile development: Where the code runs matter

When the code runs on your servers, you have much more control over the “context” in which it runs. On the mobile devices, the device OS and the user control the context. This difference leads to some subtle implications. One significant set of differences comes from the lack of control of the platform. For server-side code, one can choose from a wide array of languages. For the mobile code, however, the best choice would almost always be the one dictated by the platform - Java/Kotlin on Android and Objective-C/Swift on iOS....

Apple vs Google: Naming of flagship Android vs iPhone

iPhone iPhone iPhone 3G -> iPhone 3GS iPhone 4 -> iPhone 4S iPhone 5 -> iPhone 5S iPhone 6 -> iPhone 6S (and plus sizes) iPhone 7 (and plus sizes) Android Nexus One Nexus S Galaxy Nexus Nexus 4 Nexus 5 Nexus 6 Nexus 5X & Nexus 6P Pixel & Pixel XL While iPhone is recognized as a global name while erstwhile Nexus and now, Pixel has almost no branding outside of the Android fanboys....

Consumer Internet: why audio can't be as big as text, photos, and videos

Our brain loves distractions, and multi-tasking gets bored quickly. When we read text or watch a photo, it engages us visually, a video (with audio) engages us even more. The bandwidth of eyes is much larger than the bandwidth of our ears. When we are watching something, it utilizes more bandwidth and hence occupies more of our attention span. Also, given the way our eyes work, we can focus more on the exciting aspect of the visual feed....

Book summary: The Lean Startup by Eric Ries

The book consists of the learnings which the author had while working on his startup IMVU. The book focuses on the concept of validated learning and the build-measure-learn feedback loop. It tries to bring in a systematic approach to measuring the progress of a startup. A startup has a true north, its vision. It employs a strategy that includes a business model, a product roadmap, and a view of partners, competitors, and customers. The product is the result of the strategy. Products constantly change ( engine tuning). Strategy changes occasionally ( pivot). Vision rarely changes. In general management, failure to deliver results is caused by failure to plan or failure to execute. Both are frowned upon. But in the modern economy, both are useful tools for testing new ideas.

Startup valuations

In 2001, Amazon’s share price crashed from 100$ to 6$, they had to do a 15% layoff. But it was Jeff Bezos’s perseverance, tenacity and grit because of which Amazon survived. As several startups from the Bay area to Bangalore get a mark-down of their valuations, the question about how many will survive and eventually produce a [positive] return for their investors is being asked. Between what a startup’s real value is and how viable is its business model, the real question to ask is how committed are the founder(s) to make things works....

Voice Interfaces: The Missing User Interaction Element

Apple Siri, Google Now, Amazon Echo, and Microsoft Cortana have garnered a lot of press lately. But one thing which is still missing out is voice-native user experience. Let me illustrate that with the evolution of user experience on touchscreens. When they first came out, there was a stylus, and that’s it. It was an inferior version of the mouse-keyboard-monitor trio. Then some fantastic interactions were invented. Interactions like double tap to zoom, multi-finger rotation, swipe to like/dislike, pull down to refresh, long-press for options, and a Swype keyboard. All of these were native to a touchscreen-based environment. Porting them back to a mouse-keyboard-monitor trio was of limited utility at based and useless at worst.

My rm -rf moment

Yes, it did happen, and no, I am not stupid enough to execute rm -rf *. It was a bit more convoluted than that. I was trying to prepare a customized SD card image for the Android emulator. The fastest way to do that was to mount the SD card on my GNU/Linux machine and modify the files. The files on the SD card have root as the owner. Therefore, the easiest way to maintain a clean state was to make all modifications using sudo....

Standardization

Standards exist so that products from different vendors can interoperate with each other, for example, sending email from Gmail to Yahoo! mail, and use common interfaces, for example, sockets for electrical appliances. The standardization does not always have to come from imposed standards; sometimes, it comes from the user expectations. For example, the interface of a Calander/Scheduling application is pretty standardized. There is little scope to differentiate a new Calendar application from the existing products like Outlook Calendar, Google Calendar, and iCal while just implementing the standard is still pretty hard....

Thoughts on Bitcoin (part 2)

Here is a summary of things that have happened since I wrote the previous Bitcoin blog post.