Archives For May 2013



For an article that deems it provocative to question big data, the GigaOm post on big data today has a pretty provocative title of its own.  Provocative enough to have gotten me to read the article.  But, reading this reminded me of some other articles I’ve read that have been littered with buzzwords.  

I see this regularly in tech articles – a roughly related set of jargon that are all conflated, without actually making much sense.  In this particular case, the conflation is among data, databases/data storage, algorithms/data analysis methods and (predictive) models.  To put actual data (e.g., social media data that the article talks about), data computational paradigms such as Hadoop and models all at the same level as if there was some comparison to draw on these is glaringly ignorant.  The writer claims that big data might be more about automation than insights – even provides a link to another article (written by himself) that supports that theory! 

Part of the problem here is of course that the term “big data” has been miserably overloaded.  So much that “data” in that term is only incidental.  It is almost like a discipline now.  When we see articles like this one, it is time for a reset on the terminology.  It is partly because of this type of hype that we often get customers and others thinking that machine learning is “magic”.  And that it involves a black box taking a bunch of data and churning out magical insights.  

To be fair, not all of that article is useless – it makes a couple of valid points, especially around knowing expectations before setting out on a big data project.  It is true that you will get very little out of an exploration of data without objectives.  Knowing what you are looking to understand from the data is key to getting somewhere with it.  

When it comes to terminology, the tech world hasn’t been traditionally strong.  Terms like “big data” and “software defined X” have made it possible to turn anything into a topic related to the hottest buzzword in the industry.  It would be good to see better quality writings from famous professional blogs like GigaOm – but such things are par for the course!  

You were a struggling startup at some point.  You had a brilliant idea.  You worked with the best of the best, executed and brought it to market.  Business grew, you made it big!  A few years later, you were the leading force in the industry.  You are now the incumbent with solid profit margins.  It is time to grow and diversify the company.  It seems harder than ever.  Newer startups are beginning to threaten your future.  

This is a common cycle for many companies that have had unquestionable success in their fields.  The fall of DEC has been researched a lot.  Many other companies have been research targets in understanding failures.  The Innovator’s Dilemma covers extensive cases of such failures in innovation.  

In this post, I’m going to discuss how date-driven innovation can lead to innovation stagnation.  As a company grows and the customer base expands, program management becomes a crucial part of the process.  Engineering alone doesn’t suffice any more and the customer milestones and technical progress needs to be tracked for goals to be met.  This is absolutely essential to continue being a leader in your established business and to understand the tradeoffs between time to market and milestones.  There is innovation that must continue in your field to keep your leadership in the field.  This incremental evolution and innovation can still thrive within a program managed approach to a large extent.  

But, you want to do more than that.  You want to continue to innovate and explore both adjacent and new markets.  You want to diversify your markets.  To make this happen, there are a few things that you must do to get started.  

  • Target broad areas for innovation.  This is no easy task.  Not every company has Steve Jobs as its leader.  There are only a few leaders in this world that are truly visionary and can create the future all by themselves.  Many good leaders are highly skilled in the leading field of their business, but cannot necessarily outline a vision far outside it.  Such leaders need to operate with collective intelligence of a brilliant team.  Which brings us to the next point.

  • Hire thought leaders.  “Thought leader” is an overloaded term by itself.  However, here I imply people that have proven to be able to take on new fields and understand how things fit together well.  These people are generalists and have a knack of connecting the dots in ways most others cannot.  If new areas cannot be defined from within, it is really important that companies bring in some thought leaders to kindle new ideas.

  • Hire brilliant talent in new areas.  Hiring is hard.  Very very hard.  And hiring talent in new areas is exceptionally hard.  In your field, people want to work for you.  In a new area, you are a nobody.  Why should the best people come work for you?  Give them something to make it worthy.

Assuming you’ve successfully done the above, you have some great teams that can be put on the task of creating innovative products in new areas.  But, even after all that, it is all too hard to bring the same kind of innovation that made you who you are.  

A very common mistake that companies make is to treat disruptive innovation the same way they treat incremental innovation.  These projects get subjected to the same operational styles as any other projects.  After all, you have learnt the tricks and have “graduated” to having efficiently run programs.  Why would you not use that knowledge on your new projects?

Sadly though, this leads to a few things that are all undesirable for revolutionary innovation to be fostered.

  • You have developed an impatience for getting to market.  If you cannot see a clear path to market soon enough, you are worried about spending your money.  

  • You don’t trust the new people you hired enough – you have not seen them operate and arguably, they have not had extraordinary successes themselves (or why would they be working for you?!).  So, you are more inclined to trust your own instincts.  

  • You conflate your lack of understanding of a new field with a non-lucrative path for the company.

Essentially, you start program managing innovation.  Eventually, this leads to reducing a potentially revolutionary idea to an incremental one.  What’s worse is that you are now chasing an incremental idea in a field that is not even core to your business!  

What follows is not surprising.  You demotivate your strong people in these new areas.  It is no longer interesting to them and they no longer feel like they are about to create a future they can be proud of.  They are now forced to create a wow factor within the incremental field in a short timeframe.  Ultimately, you lose some of them.  Or many of them.  

I’m not suggesting that time bound milestones have no place in the innovation cycle.  But, it does have to be very carefully balanced.  When mixed with the right level of trust and autonomy, it can be valuable.  Just as you knew exactly when to place markers in your own field (remember the early days?), you need to trust the strong talent you hired to do this in the first place.  

This is what sets the best companies apart.  New ideas need periods of incubation without the constraints of granular program management.  There is just no such thing as date-driven innovation from the beginning!  When the people are motivated, innovation can happen at the fastest pace possible.  So, about the only thing the leader must focus on is motivating the people.  I already wrote about motivating your best employees before.  

But, if you know how to hire the best, have figured out how to keep them motivated and really invest in innovation, you are on your way to making it work!



I wrote about the undesirable shifting UIs earlier. Here is an alternate perspective on such UIs. There are times when a shifting UI has a purpose.  When it does, it takes away the attention of the user to a new menu or a popup for a reason.  The user was meant to be looking at the changed UI and it may even be relevant to the user.

News sites often do this type of animation.  As the reader reaches the end of an article, they would show a peek into the next article.  That is a highly relevant distraction – one that is worthy of the user’s attention.

So, there is a place for these transient UI elements.  It is not all bad or all good – the key is, as long as the UI matches the intent of the user or an action that is a natural step for the user, even popups can be good.  Random shifts that distract the user from what they want to look at are not cool!

As I’ve admitted before, my design skills are self-taught and often acquired by just looking carefully at the design elements of some of the best apps that are out there.  One thing that has been bothering me lately is the intuition behind shifting UI elements – or the fact that I don’t get it.  Take the new G+ layout, for instance.  Here is a view of the G+ layout while scrolling down:


The first one is the default view upon visiting the G+ site and the second is the view upon scrolling down a bit.  I’ve been thinking about what bugs me there and realized it is the shift in UI elements that occur.  A couple of things happen there – the home icon gets replaced by the G+ symbol (but they both do exactly the same thing!); and the notifications indicator moves from the top area to the bar below.  Both these need not actually shift at all – for e.g., the default look of that bar can be that of the second image above.  When this kind of a shift happens while scrolling, it gives the illusion that something has changed and draws attention to the shifting element.  When the user realizes that nothing has changed, it is quite annoying.  It just shifted my attention to an element for no apparent reason, causing me to lose my focus on whatever I was looking at earlier!

I take the example of the web interface here, but the same is true on the mobile.  In fact, it is more pronounced there.  Some apps bring up certain UI elements only while scrolling up or down and it is quite distracting.  Scrolling up on the G+ Android app brings up a bottom bar:


What is it about scrolling up that suggests a user intent of wanting to do any of those four actions in the bottom bar?

I’m not trying to pick on G+ here – there are other apps that do this as well.  Pulse did this for a while where scrolling up would bring up options to share a post.

When such appearances of UI elements are tied to specific actions (such as scrolling in a particular direction) that are not necessarily indicative of associated user intents, it is confusing and distracting.

UI elements, down to every last detail, must be carefully thought out.  Especially on the mobile screen, where such shifts have a high impact on user attention, it is crucial that we debate the details of the design to every last bit.

It is possible I don’t get the idea behind these shifting UI elements and I’m missing the point.  As a user though, I have found them pretty distracting and annoying.  And putting on my self-taught designer hat, I cannot seem to be able to justify the shifts.  I’d be much more forgiving of a shift that is intuitive – where it ties to something that in fact, is channeling a user intent.  However, in the cases I’ve seen so far, it appears to be promoting the important elements of the app, using scroll direction as an excuse to do so!


There are many times in the last year that I’ve looked at a problem and told myself – if anyone can do it, it is us (Google).  It certainly feels good working for a company that you can say that about.  I don’t write too often about my employer – my blog is mostly about my personal thoughts on technology, with occasional other topics.  But, today, I’m making an exception.

Working for Google leaves me being amazed at the scale, pace and breadth of innovation that happens here.  I was proud of my previous employer, no doubt – especially when I started there, I felt I was surrounded by some of the smartest minds in applied R&D as there can be (and that is still true).  But, what I see coming out of Google is absolutely mind boggling for the size we are as a company.

Collectively, the announcements around Google Wallet, Google+, Hangouts, the Knowledge Graph and a bunch of other things are demonstrating innovation at an unparalleled pace.  And while a good amount of this is coming from Google, it is also setting up for an innovating ecosystem to thrive.

While some of these improvements are small, taken independently, the collective advancements are inspiring.  Clearly, hardware and software have different life cycles and it would be unfair to compare the pace of advancements in the two areas – but, with the likes of Samsung and HTC producing stunning devices and Android providing a thriving platform for innovation, I see that the future of mobile is evolving more rapidly than ever before!

Of course, like anything else, it is not a company without its own problems and growing pains.  I’m going to refrain from discussing those here.  Instead, for today, I’m just going to leave it at calling out the amazing stuff that we have all just seen talked about at I/O!


I’m not new to iOS itself – I was an early iPad user, just like many millions of people.  But, I’ve always had an Android phone.  Eventually, primarily due to getting used to SwiftKey on Android, I could no longer really use the iPad and so, gave it to my mom.  Of course, it is still an amazing device – but, I type too much to be content with the iOS keyboard!

But, lately, I’ve been itching to really understand the iOS vs Android experience and figured that I need to do it on the smaller screen.  After debating if I really need another phone, I decided to compromise and just get the iPod Touch instead.  WiFi connectivity is all that I need and it seemed to suffice for what I was looking to do with it.

It’s been a few days and I’ve been doing several side-by-side tests of the ‘i’ device and my ‘A’ device, which happens to be the Galaxy Nexus.  I don’t particularly want to write about everything – there are numerous iOS-vs-Android studies out there that go to excruciating detail about each platform and I don’t need to repeat that.  However, I did want to write about a few things near and dear to the user experience aspects I consider important.

Some apps that I did side-by-side tests on both the devices are Flipboard, Pinterest, Google+, GMail, Etsy, Pulse, Facebook, Instagram and Chrome.

First about what iOS gets right.  When you use the device, you realize that everything in it on the hardware and software front has been designed towards a common goal – a slick user experience.  The radios, the processors, the graphics, the memory and how the operating system interacts with each one of these components – it has all been polished and optimized for that single goal of enhanced user experience.  This results in amazingly smooth animations, a flawless touch interface and a generally pleasurable experience.

Granted that it is not strictly an apples-to-apples comparison, but I have to say that in every single one of those apps, the iOS experience was better, evaluated on smoothness of scrolling, animations and speed.  With WiFi state already active on both devices, a side-by-side test of Flipboard showed it loading and updating its content in <5s on the iOS and sometimes as much as 30s under the exact same WiFi at exactly the same time on the Android device.  In fact, I could never get the Android Flipboard loads to happen in <15s in several tries, while the iOS was consistently <5s.  The Facebook experience, putting aside the fact that the design elements still need work, was far smoother than my typical Android experience – on Android, the experience is extremely stuttery, photos take forever to load and it is overall, just frustrating!  I found those elements were far smoother on the iOS – no stutter on scroll, loads quickly and the back stack operations are consistent. Most other apps had similar experiences – sadly, I thought that the G+ app on the iOS was smoother than that on Android!  Pinterest is the one that comes closest on both platforms.  It has no stutter on either platform and the load times are not so dramatically different – the Android side is still a few seconds slower – but it is not a factor of 4x different.  It is more like 3-4s on iOS vs 6-7s on Android.

I want to be clear that several disclaimers are applicable for this A/B testing I did.  My Galaxy Nexus has a cellular radio, for one and has a lot more going on than my iPod Touch has.  Further, my Android is constantly running a brand new beta version of the OS and several beta apps.  But, on the flip side, the iPod has an 800MHz processor, while the Nexus has a dual core 1.2GHz processor!

To talk about a few more things, the battery management on the iOS is done very well – even with heavy use, I couldn’t manage to drain the battery all that much.  The battery on my Nexus is abysmal and I have to charge it multiple times a day.  Although the cellular modem does drain a lot more, the iPod has a much smaller battery to its credit!

The sharpness of the display, the beautiful photos and the sleek aluminum frame are among the other things I really like about the iOS side.  My Nexus, despite the fact that it has the same number of megapixels (5MP) as the iPod, takes rather inferior pictures.

Okay, now, before you write me off in the converted-to-ios-camp, let me talk about a few things I actually did not like about iOS.  I can’t stop talking about the keyboard.  In this world of predictive, gesture keyboards that I can use to type almost as fast as I can on a real keyboard, the iOS keyboard is excruciating!  I’ve written about this before and I won’t say any more – but, it is a deal breaker.  I would have to imagine that Apple is doing something about it very soon.


Next, there is one thing that Android got right – and it is the software architecture around intents.  It is powerful and really allows applications to seamlessly share data.  I often found myself in a corner when I wanted to share something from an app to someone over GMail or for that matter any other app.  I am not a native iOS mail client user and hence, the share to email option in iOS is useless to me!  The other options are equally useless – I was sometimes able to copy text and paste it in another app, but come on, that is painful!  After a few times of trying to share an image from my gallery directly, I finally got the hang of having to go to GMail and clicking on attachments instead – but, that is not a good experience.

Of course, it never ceases to annoy me how content on YouTube (or other places) that is available on Android is just not available on the iOS.  I have not figured out if this has to do with the different video/audio codec needs or something else, but, the exact same searches on YouTube will produce different results on iOS vs Android.  And the latter is always richer, just to be clear!

There are a couple of other minor things – such as the lack of a back button on the phone and the apps losing state when I come back to the home screen and go back to them.  But, I think this is just about getting used to one style vs another.

It is really hard to say conclusively why so many apps (almost all of them) fare so much better on the iOS.  It may be because they are investing more on iOS than they are on Android – clearly, the extent of the gaps in the performance of the same apps is demonstrative of that.  Pinterest, for one, has obviously narrowed the performance gap on the two platforms quite a bit.  But, unfortunately, if it requires more effort to make that happen, that itself is a problem too!  Aside from this aspect, I believe it also has something to do with the fundamental integrated hardware/software optimizations that Apple has done, the ease of programming using the iOS APIs and the simplicity-vs-options tradeoff that the platform has made, leaning more towards the simplicity part of it!

In a nutshell, the one thing that bugs me the most about iOS has more to do with Apple’s business decisions – such as not allowing third party keyboards or other content. The software architecture constraints that lead to sharing state across apps far more challenging is also a problem.  These are definitely deal breaking issues for me that I will not be switching over to an iPhone any time soon!  But, I definitely have to admit that integrated hardware/software approach that Apple takes comes with a distinct advantage when it comes to user experience.  I long for the day when my Android will have as smooth an experience as the iOS – but, it is admittedly a lot harder to accomplish in an open and split ecosystem.  Such is the tradeoff that naturally comes with accelerating innovation from the ecosystem at large.  And I’d rather stay on that side – Android is definitely getting better and better at the experience and the gap is not that wide to regret it.

And as Android becomes more and more dominant, developers will take the efforts to create good experiences on it.  I’m sticking to my Android – although I may dump my Nexus for the HTC One at some point!