When aggregation works and when it doesn't

All consumer internet products are either about consumption, production or both. A blog site is primarily about consumption. A photo transforming app is primarily about production. Social networks are consumption heavy. Good Messaging apps are symmetric. And a grievance collection product like BBB is production heavy. Building aggregation on top of similar products is a well-known strategy. The hard realization to note is that it can succeed only in very specific scenarios....

The Android-Chrome merger saga

Articles with the following titles would be considered a joke “BMW is planning to merge its series i5 cars and Motorrad bikes” “P&G is planning to merge tissue paper and toilet paper” “Arm and Hammer is working on merging face wash, body soap, shampoo, laundry detergent, and dish cleaner” Not that these combinations can’t be made or have never been made but consumers would just not buy them. They are usually inferior or more convoluted, or even worse, both....

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.

File size should always be of "long" type

Java 1 2 3 int getTextFileSize(String fileName) { return (int) (new File(BASE_DIR, fileName).length(); // WRONG } A 32-bit signed int can deal with ~2GB worth of data. And if your code is not going to deal with files larger than 2GB, why worry? But what if someone wants to use the same code for a video file some day? Or What if someone writes another code to iterate over all the files in the BASE_DIR directory?...

Google I/O 2016: Android notes

General Multitasking - multi-window mode and picture-in-picture mode. This includes the ability to launch window in adjacent activity, and drag and drop between activities. Notifications - Custom quick settings tile for an activity Multi-locale - users can specify locale beyond their primary locale ScopedDirectoryAccess for the shared storage New file-level encryption mode (as opposed to block-level encryption) and the corresponding Direct Boot Java 8, Jack, and ndk support in Gradle GCC deprecated in favor of Clang TechTalk on Image size/compression PNG - Get image down to 256-bit palette (if possible) or compress them using Zopfli. Test the difference with butteraugli Convert PNG to Vector drawable using Potrace. Vector drawable are natively supported on Android 5.0 and above. Use compat to use them on the older versions. Or generate PNG for the older versions (not recommended) WebP is another option (Note: Speaker failed to mention that WebP is natively supported only on Android). Avoid JPEGs. They are usually larger in size.

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....

When marketplaces work and when they don't

Thanks to Uber’s meteoric rise in valuation, several startups are trying to mimic the idea of building marketplaces with instant gratification. So much so, that there is an aptly titled poem, " Uber for X", devoted to this. Though the jury is still out on Uber or Airbnb, some others like Exec and Homejoy have already failed to be sustainable businesses. Here are a few thoughts on the characteristics of marketplaces, including so-called sharing economy startups, which decides their eventual fate....

Thoughts on Tizen

Users won’t buy a phone till they know that their basic set of apps is available on the device. That pretty much rules out players like BlackBerry 10, Jolla, Ubuntu OS, and Firefox OS. Even Microsoft is still struggling. OEMs like Samsung, HTC, LG, and Sony have been hit hard by the commoditization of Android. Google makes money from Google Play, cheaper phones imply more users. So, the commoditization of Android OEMs is good for Google....

"Material design" and Google's strategy

Android Before 2008, smartphones OS market was fragmented. There were a few big names like Palm and Symbian, but most phone manufacturers were doing their custom operating systems. For example, Motorola alone had five operating systems. In 2008, Google came out with an open-source smartphone OS. Mobile phone manufacturers like Samsung, Motorola, and HTC, embraced it and made short-term profits till they got commoditized by a standardized OS controlled by Google....