Tidbits from 12 Lessons Steve Jobs Taught Guy Kawasaki

http://www.youtube.com/watch?v=DR_wX0EwOMM

Worth a watch in general, but the following were pretty intriguing comments:

  1. Real innovation happens on the next curve, not on the curve you are on. Jump the curve.
  2. Focussed Group at Apple was: Steve’s left brain was connected to his right brain. 2 members of the focussed group at Apple.
  3. Don’t think everyone of us can be mini-Steve Jobs!
  4. Focussed Groups in a nutshell: Better, Faster, Cheaper, Status-quo. That’s what they usually reveal.

Humbling Designer’s High

It’s one of the most humbling experience when I spend hours obsessing and iterating to finally have that aha moment of realizing an optimized design solution. It almost feels too obvious to have required so many iterations.

It’s my designer’s high!

The Pixar Story

Finally got to watch The Pixar Story. Such a great story of success. Some highlights,

  1. Creativity is a result of collaboration. More importantly it is this unplanned collaboration that happens when everyone is together physically. This made me wonder about working remote vs working in the office.
  2. Second Product Syndrome (Steve Jobs): companies do not realize what made their first product (launch) so successful. They go bigger and grandiose without any clue to what made it work the first time.
  3. It’s not about the ideas, but collaboration on the idea by creative people. People make it successful!
  4. Let the originality of an idea thrive and blossom – Disney gave Pixar a lot of direction for Toy Story resulting in a mediocre initial script for the film. It was only after the original team re-grouped, threw away all the assumptions and just went with their instinct, seed of the original idea that resulted in what we all know as the Toy Story movie.
  5. It is really important to not get over-confident or stagnate due to success. What got you to point A of success, won’t get you to the next level. The recipe for success does not remain constant, but constantly evolves with times. Shake things up and get out of the comfort zone!

Why I enjoy mobile software development?

I have been asked this question a few times, so I thought I would post on the topic. This is obviously relevant to my preferences and YMMV.

My background is primarily server side software development. I really enjoyed (still do) building large scale, robust, etc, etc systems. The fun part was being able to relate to the product offering at the domain level, coding that up into a service. At the same time, server side requirements meant paying careful attention to systems level issues like operating system, hardware resources and techniques like caching, failover, etc. While that’s a lot of fun, it usually lacks how an end user interacts with the product. When I say end user interaction, I really mean product presentation to a paying customer – UI style, workflow, animations, sounds – how the product really feels when it is used for its primary purpose.

With mobile you get best of both the worlds – you get to write fat clients (app) that are rich in user interaction and you have to worry about network as well as be a good (software) citizen (don’t hog down the system resources – memory, network, battery and so on) on the device. Also, a lot of business logic gets morphed to maintain the instant perception for the user. So you get to write a bunch of additional local business logic in the app or at the very least you will influence the API design decisions made on the server side.

It’s a fun and powerful combination of product, software and UX development in a small package.

Fallacy of Process Standardization

Any Process is usually a solution to make a specific team efficient. Unfortunately it gets adopted blindly assuming it will make every other team equally efficient. But every team is unique, with specific talent, personalities and deficiencies. In that way each team is inefficient in its unique way and hence need to optimize around its unique set of team members. They need to develop their own process to work their strengths and weaknesses. When it comes to process – One size does not fit all.

An example of thoughtful design: HotelTonight’s Snap Your Stay

HotelTonight is one of my favorite apps. I consider it to be really well designed and built.

Its latest update includes a feature called ‘Snap Your Stay’. You can read a detailed review of the feature on GigaOm. The attention to detail in building this feature could be easily missed, but it is simply brilliant.

image

The obvious point here is the fact that it’s pictures based reviews. However, think of it; a picture based review could had been done in the following adhoc manner,

  1. Ask user to take a picture
  2. Let user assign a name/tag (free form text description) to the picture
  3. Let user add and submit as many (or little) pictures as they might like

The above would had been too much cognitive work for the users. It would also generate random sets of images (and text), which would had been too complicated to structure in any suitable format to be presentable in a comprehensive way to other users.

So instead of doing the above, HotelTonight has come up with a genius design that is simple and fast for the users and at the same time adds some structure to the user generated content to make it useful for other users. Some of the key ways the app achieves these goals are:

  1. Pre-assigned placeholders for each picture. This solves multiple issues,

    • user doesn’t have to think about what kind of pictures to submit
    • user also doesn’t have to come up with a description (and type it) for every picture
    • it will allow (automatically) combining pictures from all the users under pre-assigned categories and hence easily present it to other users
  2. The app shows a progress bar to motivate user to take all the pictures before they submit. Again, this is subtle, but the combination of #1 and #2 here, makes it very powerful to motivate users to submit a review
  3. Another simple, but effective way to encourage users to submit good content is hinting them with comments like ‘Take a pic while the bed’s still made’

The above is a classic example of high quality work that goes into building well designed features. It seems very obvious after we see it designed and implemented. But such subtle simplicity requires careful attention to detail and results in significantly improved user experience. We should all strive to achieve this kind of simplicity and high touch!

Disclosure: I had the opportunity to work on the HotelTonight app for a couple of months in late 2010 (pre-launch).

Facebook Home

Facebook announced a brand new experience for Android users today. It is called Facebook Home.

I am not an Android user or developer, and mostly a passive Facebook user, but wanted to share some thoughts. There are valid concerns about users’ privacy and ads on home screen, but I am more excited about the general approach and concepts here.

Core theme around FB Home is seamless integration across messaging, photos, etc. This feels like the inception of next generation of communication – app-to-app as well as user-to-user – in the App world. From what I’ve understood about FB Home so far, it seems that there’s no reason for it to be just FB specific. What I mean is – it’s an advanced workflow that is integrated across contacts, photos, messages, news and so on, i.e., content that we tend to consume frequently. Imagine iOS and Android doing this at the core OS level and allowing to even include content from different social platforms (twitter, pinterest, etc) as well as from non-social apps. It makes the need for cross-linking between apps so much more prominent and obvious.

It would be great if iOS 7 shipped with such integration features/API. Not specifically an implementation at launcher or home screen level, but in terms of API available to developers, so that they could build integrated experiences.

Thanks to Facebook for leading us into this – it will only challenge and advance other apps, services and platforms to deliver similarly seamless experiences.

Looking forward to the next generation of cross-linked and integrated apps!