Wednesday, July 27, 2011

Steve Yegge's got balls, but don't dis the cat's completely

Today a colleague of mine (Seb Martin) pointed me towards a video of Steve Yegge publicly quitting Google durring his presentation at OSCON 2011:

It appears he quit because he was starting to work on something that he doesn't love, namely cat pictures, and ways to share those cat pictures and fluff money making software. More importantly on something he deems not to add value to the human race. This hit close to home. I've recently also had one of these software engineer/developer mid-life crisis' and I blogged about it 2 years ago as one of my very first posts: 'what is green computing etc...'.

This is part of why I love working at Macadamian, and in many parts why I love my job. I get to do a ton of pre-sales/solution architecture where I meet new or existing customers, ramp up quickly on new technologies, figure out how to smash them all together, and finally kick start an amazing team (developers, QA specialists, and UX researchers/designers) down a road of building actual product. I also get to mentor developers, young minds, point them towards very cool ideas and help shape the future - maybe just a little bit, but it's doing my part.

But what do Steve Yegge quitting and my job have in common? Healthcare: One of Macadamian's key verticals is healthcare software products. We've done a ton of EHR, PHR, Mobility and Health devices UI revamps etc... And this is very morally rewarding work. We might not be solving the domain problems, but we are working with domain experts to help their lives or their customer's lives get better, easier, more efficient, cheaper, or all the above. This I can live with. This gets my passion going. This recharges my batteries.

But what about the cats? I don't want to upset them. I think there is tons of value in building solutions involving hundreds of millions of kitty photo being shared. I think what we do there pushes the technology envelope, and facilitates innovation in other sectors. I've taken what I've learned building kitty cat sharing software and have been able to apply out of the box technologies to typically conservative old tech problems. So don't undervalue the cats...

Now I have to go buy this book!

Tuesday, January 18, 2011

Tablet-ma-phones. The next big thing or a flash back to the 80s?

Recently at Macadamian we've been doing a ton of mobile work. Specifically Android development. One of the really interesting things we've gotten to see is a huge slew of devices coming in the door. More recently, at the 2011 CES there was a slew of Android tablets (most of them horrible) and phones, so I'm sure this year we will see even more strange permutations of mobile devices.

However, after experiencing a few of these devices I feel that the size and scale of mobile phones these days has trended back towards this:

Image: Motorola 8500x

But I find myself missing a term for these phones and tablets, so I'm going to invent one... "tablet-ma-phones". These tablet-ma-phones are big phones and medium size tablets (5-7"). And what I've noticed is that many of tablet-ma-phones are... well... ridiculously big to be a phone, just look at this photo of the dell streak:

Image: Dell Streak tablet-ma-phone modeled by fellow Macadamian Faraz - who is well over 6' tall

This is where I think the iPad had it right. Imagine if they tried to make the iPad similar into one of these tablet-ma-phones? Seriously, why do you want a medium sized tablet-ma-phones that feels like an old 80s mobile phone that won't fit in any of your pockets except your laptop bag! It's not a phone, and really, it's not a very good tablet.

In the few occasions that I've found myself using my iPad as a soft phone, let me tell you, walking down the street yelling into the top of an iPad gets you plenty of stares... but seriously would you want to walk around looking like this:

Image: Apple iPad, sported like a tablet-ma-phone - seriously who would want to try and talk on it?

I don't think so.

So c'mon world lets keep our cell phones in our pockets and our tablets in our bags... and lets throw away these tablet-ma-phones.

Tuesday, January 4, 2011

A new year, a new era, or an echo of the past?

I've been thinking mobile allot lately. And I keep thinking we are seeing a cycle of trends of past days. Maybe this is just history repeating itself.

At Macadamian we have many customers asking us Native vs Web for mobile apps. And right now, no question native offers a much richer experience. But this sounds like the exact same argument that was used for desktop vs web apps circa 1999. But the web slowly chipped away at native. Ease of upgrade, cross platform (yes even with the NN, IE, Firefox, Safari, etc... browser CSS/JavaScript incompatibilities), single development stack all beat the native argument. Will it happen again?

I think so... However, maybe not as explicit as we've seen in the past. There is talk of 'hybrid' mobile apps. We are seeing these in the form of explicit embedded browser controls inside a native application. This solves the distribution problem of the application (note: this still upsets people who paid for the application strangely enough, though they are fine to pay for a native front end that consumes the same data and has the same laggy interface) which helps companies understand distribution and monatization. We are also seeing this in cross platform development tools like Titanium, PhoneGap etc... These are very cool development environments that lean very heavily on JavaScript and browser controls while providing the necessary hardware hooks that native applications get (location, microphone, gyroscope etc...)

But really these are just fancy web applications, wrapped in pretty wrapping paper and distributed as 'apps' to the mass market. So does that mean the web app was just re-invented for the mobile platform and has already started it's climb to winning this battle again (this by no means the death of local apps)? Time will tell.

Thursday, November 25, 2010

Life in Transition: from iPhone to Android to WP7

Over the past 3 months I've had 4 different personal phones: An iPhone 3G I loved for over 2 years, 2 Android phones: a Motorola Milestone (a close cousin to the Droid), an HTC Desire and finally a WP7 LG Optimus 7.

Transition from iPhone to Android
Initially this is shocking. Android is rough; however, everything you need from a smartphone is there. And there are some silver linings. The biggest bonus of the transition is if you are a Gmail user and your contacts are stored in Gmail. Alternatively, if you didn't use Gmail, you do now, sorry. There is no more silly google sync desktop synchronization with iTunes hocus pocus, its all done on the phone. Gmail account integration is possibly one of the biggest features that the boxy Motorola gave me, and it made me smile. Other features slowly but surely let me look past the initial dis-uniformity of the user interface and experience. features such as: Mobile wireless hotspots, google navigation (seriously good, it's replaced my Tom Tom), and the Gmail client.

Biggest blessing and curse: touch and hold menus; these are stellar, but they also prevent you from advancing or moving your cursor when you are editing an email or a body of text, and in the case of the milestone, it was a horrible square D pad that you need to slide out from time to time to move your cursor. This is far from convenient or quick.

Life after iPhone
It was good. I felt liberated, I could use drop box, I could share with just about any service that added the proper hooks to android. It was liberating. But it was frustrating. Overtime the rough edges start to make you angry. So I gave android one more shot.

Enter the HTC Desire.

The Sense OS - So close but ooooohhh so far
At first the Sense OS is mesmerizing. It's cool, it adds some much needed animations and, most of all, polish to Android. However, it's as though HTC tried really hard to do and fill in where Android was rough and unfinished, but decided to give up without a final check.

Great Additions to Sense OS: The hub. They have done this via a mac 'expose' like double click on the home button or an exaggerated vertical pinch. 7 main screens with user selected widgets (really just fancy skinned live folders) fly out. Each widget can be an extensions into your social network, email, SMS, agenda, world clocks, etc... All important to you and easy to get to. This is great, and a significant improvement from the iPhone 'drawer' approach which leaves you opening and closing applications to get to the same information. However, this is a Sense OS only extension, and from what my developers tell me, can only be achieved easily by extending the base android OS (not exactly developer friendly).

Where HTC dropped the ball: SMS, the keyboard. In an attempt to give you more real-estate on the screen, HTC has floated the auto-complete suggested words. In doing so, on screens like SMS (possibly the MOST keyboard centric application on a mobile device) it hides the 'send' button unless you select a word or hit the space bar. SERIOUSLY... this is just bad UX and polish.

The Keyboard, what did they do? It's like they had a bunch of engineers have a bunch of really good ideas, take the baseline Android soft keyboard and poop on it. The Sense OS keyboard on an HTC Desire has a worse hit rate than the basic Android soft keyboard (a la milestone) and really, take my word for it, It sucks...bad.

Finally, some of the service based applications are just really poorly written. With very little quality control in the Android Marketplace, it’s no wonder that from time to time I find a strange run away service that has completely drained my battery and made my thigh burn from a red hot handset pegging out it’s CPU.

Enter WP7 and the LG Optimus 7

Transition from Android to WP7
If you are going to move from one platform to another, Android to WP7 makes a heck of a lot of sense. Why?

Microsoft was kind enough to give you bidirectional sync with Gmail contacts. This is especially nice if you just sold your Android phone and have been forced to start using Gmail. However, like the Android Phone, say hello to your new Microsoft Live account. Now, the nice part here is that your old hotmail or MSN messenger accounts are viable options. And really, who doesn't have an MSN messenger account?

My initial reaction is a little bit of awe to WP7 is the crisp response and smooth clean animations. The new ‘metro’ look and feel is crisp and is based on a very strong contrast UI. Not everyone will like the look. But it’s fresh, and what I like is the high contrast reminds me of print media. The high contrast also makes it very easy to read and find what you want quickly. Microsoft didn’t try and push too much content into each screen, instead urging users to pan left and right and up and down smoothly. It is as though you are looking through a viewport onto larger canvas.

Other really smart thing that WP7 developers thought of, and not enough people are shouting about, is WP7’s heavy reliance on push notifications. This is a very smart way to build power conscious applications. Applications rely on push notifications to enable asynchronous service calls. One of the most awesome uses of these push notifications is via Live Tiles. Live Tiles are a great usability idea. They update relevant information about the application via push notification updates that don’t require the application to be open or running. Brilliant, I get my weather updates without a service polling in the background or having to open the application!

But what really shines above all else, the WP7 soft keyboard. It's stellar, hit rate is fantastic and it's the best of both worlds between the iPhone auto-complete and the android suggested words.

Other notables: Email, Messaging, People hub and Facebook integration is stellar. And the camera is just lightning fast.

There are, however, some compromises. There is no more mobile wifi hotspots, but there are some hacks already surfacing to set up tethering ( so this might not be the end of the world! I haven’t missed multi-tasking or service based applications. The one exception is SIP. I use SIP phones almost exclusively for work, and MS has no plans to bring SIP to the WP7 soon. They want to do this via their new Linc service. Also no messaging service supplied by MS… c’mon! Finally, I'll miss Google Navigate. That really is a good app.

Ultimately, the transition from iPhone to Android to WP7 has been an interesting trip. But right now, I’m pleasantly surprised and happy with my WP7. With the LG Optimus 7 I find myself not longing for the polish of my iPhone and the openness of my Android. It seems to be just right. I've gone from iPhone to Android and WP7 and I don't think I'm going back.

Wednesday, October 13, 2010

Windows Phone 7

One Thought: Welcome to a new Era of mobile development.

I'm going to keep this short and sweet. About 6 months ago I blogged for Macadamian that I thought WP7 was the platform to pick once they ironed out some of their SDK problems. Well with the recent launch of the WP7 being a near total success with MS putting many of the critics to bed. I'm calling it now. WP7 is going to rock.

I've gotten a chance to develop on the big two platforms (Android and iPhone) as well as WP7 and I know that WP7 is a pleasure, esspecially compared to iPhone dev. Hardcore dev's might not like that it's Silverlight only... However, it works. And it works well. MS areeven giving away their tools to build WP7 apps for free.

But what I really want to talk about is why WP7 is going to rock. A few reasons:

The Dev Tools rock, Silverlight and XNA as dev/game frameworks is brilliant and easy.

Expression Blend 4 is great at getting designers into the solution (see my cross canada presentation for Tech Days on this subject). Seriously, my Android developers wish that something like Blend existed for Android.

Yet there is another key piece.

The Hub. Yup - the panarama control. This is a game changer. It brings a level of navigation that UX people have been only dreaming would find it's way into a mobile platform. The hub officially brings to WP7 two ways to navigate the phone that map easily to UX information architecture patterns.

I don't think that MS knows where designers and UX teams are going take these concepts. But I'm excited to find out. You should be too.

Wednesday, September 8, 2010

Microsoft Tech Days 2010

It's official (well it has been for a while, but it's been published by MS now), I'll be putting on two presentations at MS Tech Days. The key one will be Expression Blend - Putting it into Practice which myself and a colleague Francis created and will be putting on across all of the Canadian TechDays events.

Right now I'm just finishing off my demo(s) code. Next week I will be in Vancouver presenting this material. I really think Expression Blend will change the Designer and Developer relationship. If you come out to my presentation I'll explain how!

But I've been into web development for the nearly the last 15 years of my life. I started early as a graphic/web designer, team lead, project lead, technical lead and eventually a web architect and now a dev manager specializing in web technologies. What does this mean? I've seen designers and developers interact a lot. Heck, I've seen good designers and bad designers, I've seen designers that have bridged the gap significantly and I've worked with designers who have just handed you a colour printout (and an emailed PSD file) and said 'go'. This is where expression blend will change how we do things... It will change your dev process if you do it right.

On a side note, I was also asked last minute to do a quick 30 minute 'turbo talk' on IE9.

Friday, August 27, 2010


I almost ordered an iPhone 4 the night my beloved iPhone 3G died. But fate shone down on me and a spare Droid at the office was found and I'm glad I never placed that order. I've been using an unlocked Motorola Milestone for the last few days and my suspicions have been confirmed.

I recently blogged for Macadamian about 'iPhone vs Android vs Windows Phone 7 from a development managers point of view', and, well, now I can at least do the Android vs iPhone comparison from a user's perspective.

First impressions so far:

UI - it's good - not great. Reminds me still of an early 2000s BMW. They look good, but... you certainly don't go 'oooooohhhhh' like you do when an <insert Italian car manufacturer here> drives by.

User Experience Consistency - Submitting an application to Apple and following their UI guidlines might be as enjoyable as getting teeth pulled, but it works, iPhone apps are usually consistently usable. By contrast, the user experience from a droid application to another just isn't as polished compared to the iPhone. Once again it works - but this time it reminds me of sitting down in a corvette. WTF are the grand am radio controls doing in here??? Seriously sometimes things just feel out of place.

Creativity/Out of the box thinking - a side effect of not having a dictator-like grip on the UI/UX... well everything to do with getting your application to market, is there is a positive side effect. Some of the application have some pretty neat and intuitive ways to get about them, and they don't necessarily follow all the rules. For example, I really like the use of press and hold menu's. They just make sense. Apple - do more of this.

Overall I like it. It sync's beautifully with gmail and Google Enterprise (duh!) it really would have been tragic had it not. It's not as sexy as the iPhone, but being a creative enginmaneer that likes functionality that works beautifully, I will sacrifice some sex appeal for practicality and versatility. Will I switch? Not for a Milestone, the slide out keyboard sucks but I am seriously thinking about a Samsung Galaxy. Yup - Droid you've won me over, for now. Bring on the WP7.