The Year of Living Blandly

To be fair, it is only a month but it might actually feel like a year…

I have been a smartphone fan boy since long before anyone thought to call them “smartphones”.  Even back in the dark days I carried both a Motorola StarTac brick and an HP Pocket PC, and secretly wished they would make love in my backpack, producing a device which bore the best of both.  When Windows Mobile was introduced as a phone operating system, I owned one of the first devices.  I wrote code for the operating system and always (not so secretly) coveted the next generation device. 

You can imagine my excitement when Windows Phone 7 was introduced to developers back in the spring of 2010.  Not only would development be easier (no more embedded Visual Basic – hello, .NET!), but the interface was exciting and new, and would certainly turn the tide away from all of those other wannabes lined up on the cell phone store shelf.

So, on November 8, 2010 I was literally the first one in line at an AT&T store in Boulder, Colorado.  That day I purchased two Samsung Focus phones – one for me and one for Beth.  I got the phones home, powered them up and marveled at the Metro interface, the Live Tiles and the simple beauty of the operating system.

The joy?  It didn’t last long.

Microsoft promised developers access through application programming interfaces to a lot of the underlying hardware, and those promises were casually – and quietly – tossed aside somewhere on the way to release.  This damped my enthusiasm to begin coding on the new phone, but then I found one major flaw – the operating system allowed me to use a micro SD card for additional storage, but it was a flaky add-on that was generally not supported, and in perhaps the biggest “in your face, phone owner” move they neglected to tell anyone that inserting the card into the phone was a one-way trip.  After the phone got hold of the card, it was formatted and protected in a way in which it became completely and utterly useless anywhere else (no matter how many times you tried to reformat it), and once you removed it from the phone even the phone it was formatted in would no longer recognize it.

To make matters worse, it seemed like most of the world greeted the new phone with a collective yawn.  While there was enthusiasm and support for Windows Mobile, Windows Phone 7 was largely ignored by most developers.  And because the lack of support for low level hardware access, many things you could write for the Mobile phones – like call blockers – were just not possible on Windows Phone.

And it seemed simple things were skipped, things you take for granted on other phones.  Adding your own ringtones was a feature promised for a future release.  Cut and paste for text was also promised later.  If you used a corporate Exchange mail system, synchronizing your contact data was difficult at best.  It felt like a pie that had come out of the oven about 30 minutes too early – the operating system just didn’t feel like it was fully baked.

I think we managed to last a little over 2 weeks before both Beth and I gave up on trying to get Windows Phone to work for us.  We went on to Android phones rather reluctantly, and have not looked back.  Android is not a perfect phone operating system, but it seemed like it was one whose quirks and idiosyncrasies we could live with.

As many of you know, I make my living working in the Microsoft technology stack, and it has been a great living so far.  I love the tools like Visual Studio and SQL Server, I think ASP.NET and MVC are probably the most powerful and flexible web platforms out there today, and WPF/XAML on the desktop creates some of the most compelling thick clients you can imagine.  Back that up with powerful and fast back end systems and you have the technology you need to address pretty much any situation.

Except mobile.  Big hole in the strategy there.

Flash forward to today.  At my day job a lot of the people whose opinion I value are using Windows 8 technology in their mobile devices – namely, phones and tablets.  Granted, a lot of them are former Microsofties who probably got the equipment at a discount, but cheap does not equal usable and these are people who need usable.  I played with Windows 8 on the desktop and while I was intrigued, it has felt like Microsoft has tried to bludgeon a tablet operating system onto my 25 inch non-touch monitor.  I had kept tabs on what Windows Phone was doing over the years, but until the release of Windows 8 on mobile I just wasn’t impressed. 

With Windows 8 powering mobile devices, it seemed Microsoft had conceded that a consistent platform for development across the entire Windows 8 family was needed, and that perhaps .NET might not be it.  Bad news for people like me who heavily invested brain share in the toolset.  Still, progress often comes at a cost, and in this case the approach adopted by Microsoft at least was based on technology I work with – HTML and JavaScript.  This, it seems, was the anointed development tools to allow me to write once and run on any Windows 8 device, or at least as much as that particular dream can deliver in the real world.  Back here, it is write once, and debug everywhere.

I decided to tackle a Windows 8 project, so in order to make that happen I am back to Windows Phone for my mobile device and a Windows RT tablet for my mid-range computer.  I plan on living with these as my daily drivers until the end of the year.  I would make some sort of analogy about eating my own dog food here, but I am too much of a food critic to suggest I might consume Alpo.  Let’s just say that if I am going to write code for people who use this platform, I should feel their pain.

So, until the end of the year I will be blogging occasionally about the good and the bad that I find in the Windows 8 family, and by that I mean across all devices – phone, tablet and desktop.  I am going to start today with music.  Since I set up my Windows Phone (the Nokia Lumia 1520, because the 6 inch screen is a major concession to aging eyes) last night, I have not had the opportunity to scope out a good podcatcher application.  I ride the bus to downtown Seattle every day, and having something to listen to is important.  So I grabbed a collection of music off my home network and put it on my phone.  Once I paired my LG HBS700 stereo Bluetooth headset with the phone, I was out the door.

And so my first pain point was exposed.  I launched the standard Windows My Music and Video app and learned that unless I specifically put a playlist file on the phone, I could not get my random (read non-album and multiple artist) collection of music to play in succession.  There was no way to get song B to play after song A completed – there was no shuffle option and the app treated every song as an individual play list of one.

Thankfully, Nokia wants to sell me music, so they included their own Nokia Music app.  I switched to that and immediately found an option to shuffle all the music on the phone.  Problem the first solved, but then that led to problem the second: I was listening to the music through my Bluetooth headset.  I launched the sound settings with the intention of adjusting the equalizer to my particular style of music (late 70’s pop, and don’t judge me).  Want to guess what I found?  The equalizer is not available unless you are using a wired headset.  Something I can’t get away from in literally any music app on Android is not available as an option in either the standard (no equalizer at all) or the anointed manufacturer app.  So I guess I will search the store when I look for a podcatcher and see if there is a music player which gives me a Bluetooth equalizer.

On the plus side, however, one thing that generally irked me about Android music apps was that I was unable to skip to the next track (or restart the current track) any time past the first 15 seconds.  None of my Bluetooth devices allowed this on Android.  When using the Nokia Music app, however, I could restart or skip at any time, and the music player responded rapidly – no lag time.

Another plus is the Bluetooth connection itself.  I can count on at least twice per song there will be a packet lost between the phone and my headset, resulting in a hiccup in playback.  It is just something you learn to live with.  This morning, though, I found out that I don’t have to live with it.  The Nokia Music app held the connection with my headset even though the phone was sitting inside my coat with a scarf between the coat and the headset.  In a situation that previously would have made any song sound like the odd concrete pillar was moving between me and the music source, all I heard this morning was the song coming through loud and clear.

So the experiment begins.  Next up, I will be looking to use my $20 Nokia app credit that came with the phone to find apps which replace the basic functions I enjoyed on my Android device.  Namely, a good podcatcher, IMDB, a bus schedule app and many more.  Along the way I hope to learn more about the Windows 8 platform and decide whether long term this is a place I want to spend my development hours, and my life as well.  In a time when the smartphone has gone from a frivolous expense to a useful tool to something that pretty much governs all areas of my life, it is important to find the insanity that you personally can live with.  Up until now, for me that was Android.  Can Windows do more for me?

The next month will tell…