The grand 2010 recap post

Wow, cant believe its that time already.

2010 was a pretty great year for me. In Nov 2009 I moved to the User Experience team hoping to be the voice of technology as new projects were conceived and features enhanced. So the year began with me learning the workings of the UX team which was fascinating. The creative process is, not surprisingly, very different from the engineering one, and sitting in those sessions was ridiculously educational. CIM has some pretty fantastic Design and IA folks and I got to learn quite a bit on concepts such as Mental Models, Task oriented design, User Persona’s etc. I also ended up reading a few books on my new role (of which About Face might be the best one, and I recommend it strongly to anyone in the UX/UI domain) which I never would have done if I hadn’t moved to this team.

Suffice to say, if the year needed to be summarized in a word, it would be “educational” 🙂

Around Feb, I also got involved in a prototype for the project that is now the Xfinity iPad app. As a UX prototyper, I was on the 3 people big prototype team that built the demo that was shown at the NCTA event. After that I ended up working with the brand new Advanced Engineering Team as we rushed to get the final product out of the door. My role in the team was not UX really, but implementation. After the initial learning curve of Objective C, I got pretty comfortable with it and actually realized that user interface frameworks and technologies are pretty similar even with syntactical differences. I wrote about the whole Xfinity App development experience here. In the last few months, I have returned to prototyping but these days they have all been functional additions to the iPad app itself.

While I didn’t write as much code for it as the iPad, I have also become extremely passionate about the Android platform. While less polished than its i-Cousin, the deeper I look into the architecture the more awesome it seems. I built a couple of apps for internal demos that ran on Android (in Java) and that was fun. I feel less proficient in the Android UI framework than in UIKit, just by virtue of time spent developing on it, but its something I hope to get better at next year. The Android world definitely lacks the sexy factor that is going on with the iDevices, and I am really hoping that changes both with upcoming OS updates and developer community maturity. I also played around with AIR for Android a little and it seems pretty decent. I am working on a project using that now. The biggest thing that has going for it is not just the familiarity of ActionScript but also the tooling of the Flash IDE. As much flak as it gets, the Flash IDE is rather fantastic for dropping visual assets for an app. I really wish AIR for Android played nicer with the core Android framework, though there are ways of doing that as mentioned in this post by Elad Erom.

EspressoReader, my AIR app for consuming news (currently as a Google Reader client) continues to evolve. Just building something like that has made me learn so much about the way we consume information. It has also gotten me hooked on books on collective intelligence and text analysis. I will release a new version in the coming weeks that I am really excited about. So if you haven’t tried the app out yet, give it a try by installing it from this link to the Adobe AIR Marketplace.

I ended up travelling for work quite a bit this year, attending some pretty fantastic conferences like the NCTA Cable Show, the Web 2.0 Summit and TechCrunch Disrupt. This is a change for me, as these were more about the business and strategy than my usual fare of tech conferences. From my schedule in Jan, looks like this will continue. Btw, I am heading over to CES so if you are heading there as well, send me a holler 🙂

Finally, looking ahead, 2011 seems to be at a great start. There are a lot of changes afoot which I’d love to share soon. So stay tuned 🙂

Some interesting videos on alternate/future Android UIs

I love Android, I really do. Probably more so for geeky developer-y reasons than anything else. I love the application architectural concepts of Activities and Content Providers that can be mixed and matched to form a complete experience, as well as the fact that it supports true multi-tasking, not the pseudo multi-tasking that iOS supports (its shocking how many apps actually cannot handle multitasking on my iPad with the OS 4 update). But its no secret that the Android UI is awful! I hope the 2.3 Gingerbread update fixes some of these but my hopes aren’t that high (its a point release after all and considering how much of the UI needs to be changed from ground up, I can’t imagine a lot has changed there)

But recently I found some rather interesting videos on Android UIs so I thought I’d add them here so that I can always find them, and hopefully inspire some Android devs to look beyond the built in widgets:

The following videos come from the ReadWriteWeb blogpost

Here is another awesome Android MOD called MIUI for rooted Android phones which brings a much more polished UI to the Android that I discovered from this link:

I’ll add more videos here if I find any but I definitely hope people start being more creative about the UI on the Android devices.

Some of the ideas mentioned above are also reflected in the TSF Shell Launcher app

Android Tip: Managing podcasts using Google Listen and Reader

One of the best parts of moving to Android is getting away from iTunes. I have never been a fan of that software and it seems to be getting more and more bloated as time goes by. These days, all I need to do to move songs into my device is just connecting it via USB and dragging the songs into the mounted device.

There are things a few things I do miss about iTunes though. One of them is a subscribing to and managing podcasts. There are a few apps on the Android marketplace I guess but none seemed very good. Yesterday, though I gave Google Listen a try and I think its working out well.

Listen is an Android application released by Google Labs and as you can see from its homepage, it lets you find and subscribe to podcasts. However since it seems to be a fairly new project, the search index seems fairly small and I could only find a couple of podcasts that were interesting to me.

Whats interesting though is that Listen seems to use your Google Reader account to manage the subscriptions. So the podcasts that I had added to my account appeared under a folder named “Listen Subscriptions”. So just to test, I found the RSS feeds for a couple of subscriptions and added them into the same folder. Ta daaa! They immediately appeared in my “Listen” application on my Nexus One.

The coolest part is that the podcasts being managed by listen can actually be streamed to your device when you start listening to it, so no waiting for the download to complete and then sync to device before listening to em. Win!

A month after moving from my iPhone to the Android: some thoughts

For the last few months I have been looking closely and the Android platform. Originally I had expected the Android platform to be a knockoff of the iPhone OS (which I am getting really comfortable developing for), but was pleasantly surprised to discover that under the covers, it was a completely different idea. Between that and my general disagreements with the philosophical direction of iOS, I decided it was finally time to make the N1 my main phone. This post reflects some of my thoughts on that decision.

A bumpy move:
There is no doubt that the iOS has much more spit and polish than the Android. Android’s default UI is pretty poor, something you realize every time you decide to use a native control like a checkbox or a slider. Transitions on the iPhone are smoother, easing on the List controls is better and orientation change animations are much better handled (on the Android, the application “pops” to the new layout which is very jarring, on the iOS, orientation changes animate the application frame). Moreover the apps I used all the time had much poorer cousins on the Android. I hated the very blue native Twitter client, Foursquare app was just barely passable and the Facebook app was an absolute joke. I wondered if I should consider moving back to the iPhone.

Getting comfortable with the metaphors:
The Android metaphors are actually very different from the iPhone. For one thing, additional functionality is often hidden in the menus of an application, which I didnt realize right away. Moreover the menus are not at the application level but at the “screen” level. Once you get used to the concept, it makes perfect sense though. It also removes a lot of chrome from the screen giving the application more space to display the content.
The back button was another interesting feature. Before using the Android, I thought that was a useless idea. But it turns out to be really useful. On the iOS, I would imagine 90% of the apps (not counting games of course) start with a top level UINavigationController that provides a frame with a title space and a location for a back button, but you have to program the “back” functionality yourself. On the Android, its automatically handled without the need to waste screen real estate on the button. I have now gotten so used to it that I keep hitting the home button to get back to the previous screen on my iPad.

And then there are the metaphors I absolutely love. The Notification Bar on the Android is a fantastic way to notify users without popping up a very disruptive alert window as the iPhone does.

Desktop widgets are a pretty convenient way to access apps like Pandora and News. And of course having Flash work on the device is just amazing (and I must add, performs really well). Every few days the last few minutes before I go to sleep are spent on watching Adult Swim or the Daily Show episodes on my phone.

The concepts of Intents that apps use to talk to each other is pretty great. For example, the default Twitter client did not include any functionality for adding stories to Instapaper, a service I use all the time. However I was able to download a small app that listened to the “share” intent that any app broadcasts and adds “Share on Instapaper” to the share list. Its a very different approach than trying to bundle share capabilities within your app.

The emergence of good apps
The last few weeks I have also downloaded a bunch of apps that I love and things suddenly feel a lot better. The bar seems to be rising on the quality of apps out there. Here are few of my favorite apps:

  • Google Voice is absolutely fantastic. I hate listening to voicemails and having all voicemails automatically be transcribed is super cool.
  • Tweetdeck for Android: Even though its barely in beta right now, Tweetdeck is my favorite “social” app on the N1. It actually beats the iOS version hands down, and I dont have to deal with the Twitter’s official blue app. Win!
  • Gesture search: Google recently launched Gesture search, which is like spotlight with gesture / handwriting recognition. Its fantastic and makes finding contacts/apps in my lists a breeze.
  • SwiftKey: Now my default keyboard, it makes typing so much faster, even though third party keyboards are a risky idea.
  • Send to phone Chrome extension: I use this more often than I thought I would.
  • Reddit Pics: Technically not the epitome of technological innovation, this app is just fun 😉
  • The new Facebook app (lighyears better than its predecessor).
  • HardCopy client for Instapaper
  • Google Listen for managing podcasts (also read: Managing Google Listen with Google Reader)

The Android app store definitely feels like its just getting started. Really good apps are few even though they are getting better. I still havent found any good games the quality of iPhone games like Angry Birds, but hopefully they’ll come soon, not that Android is getting more mainstream. This will also get really accelerated once AIR for Android hits mainstream.

In conclusion, the last few days have been interesting. The move from the iPhone to Android is not an easy one, even more, considering that the iPhone 4 is a fantastic device. But I am at a point now that I dont think I could go back to the iPhone, and the next gen Androids are only going to get better.

If you are an Android user, do drop a comment  and share what your favorite parts of the platform are and/or what apps do you use all the time.