cross platform adventures – developer upgrading your O/S…

So as most readers of this blog know – our little skeleton team at echoecho are clearly gluttons of punishment because we are a seed stage startup creating an LBS solution on 4 (soon to be 5!!!) platforms.

They are

  • iOS
  • Android
  • BlackBerry
  • Symbian/QT – πŸ˜‰
  • Windows Phone 7 (under active development – Mango only)

It’s enough of an adventure doing a startup in general – on ONE platform – but doing it on 5 is enough to humble the most hardcore dev wizards. So I’m rightfully proud of what our team has accomplished (and soon – everyone will see it…) – but I’m getting ahead of myself.

For reasons very familiar to any developer trying to access the address book on a phone (see – WhatsApp, GroupMe and a fair few others) Microsoft made that task near impossible with the first version of WP7. Fortunately this oversight was fixed with the latest Mango update. Thanks to some enthusiasm and direction from @claire0h and a few other like-minded folk at Microsoft the other day I received a brand new set of WP7 handsets.

But interestingly when I turned them on they weren’t running Mango…yet.

ok wait…let me back up a bit.

We’ve learned a shitload of cross-platform development lessons along the way (the largest actually being UI/UX related) but interestingly comparatively little is written about the details of always chasing the latest version of an O/S on your mobile devices – which of course as a developer you have to do – to stay one step ahead of…errm…the customers πŸ˜‰

So for everybody’s benefit here’s a little story about iOS vs. WP7

Now I need to state for the record here that I’m a PC guy through and through. I’ve always been a fan of Windows and while I appreciate the product design of Mac hardware I’ve always considered it overpriced etc etc. And in point of fact I’m a huge fan of clean and simple UI – and certainly even the first version of WP7 delivered that – in spades. So our decision as a company to develop echoecho for WP7 was made without hesitation – the fact that echoecho is specifically about being useful and fast in solving real problems – as opposed to bells and whistles and Mayorships and Badges – really lends itself to the clean lines of the Metro UI on WP7.

However – the experience of being a dev on WP7 isn’t always seamless (@BrandonWatson) take note of this – because there’s gotta be easier ways to getting things this done – so that even more devs will jump on the platform.

Finally – I get to the point of this article πŸ˜‰

Today’s class problem is upgrading two different manufacturers handsets to the latest (developer only) versions of the o/s.

On the one side you have Apple – where if you have never used the latest O/S (iOS 5.0) before you essentially do this:

download itunes beta

Download itunes latest beta.
Download iphone latest beta (for whatever handset version you have)
Flash latest iphone beta onto your phone with latest itunes.

Simple enough. Assuming you have a fairly fast internet connection 20-25 minutes-ish in total.

Even better is that once you have done an update of iOS 5.0 (early beta) updating to latest betas is even easier – it’s all done over the air like this:

ios over the air update

So now let’s see what happens with Microsoft/WP7

(to be fair to Microsoft – they are not manufacturing these phones – whereas Apple of course is – but still)

First of all a warning in the documentation:

Microsoft is unable to assist developers who β€œbricked” their phone because an instruction step was skimmed or skipped.

Fair enough. We’re all devs – and we should know better than to cut corners and skip over instruction steps πŸ˜‰


But now begins a fairly long process of backing up + updating + re-registering phones – without boring every non-WP7 dev with the entire story there are at minimum 25 steps required here.

I followed each of them carefully – and in the end it all worked but I would like to draw your attention to step 9, 10, 11, 15 (note that these are by my count – Microsoft splits them into multiple chunks)

Step 9: Uninstall previous versions of the UpdateWP software, if it exists. Check to see if you have an older version of UpdateWP already installed in your Zune directory ({ProgramFiles}\Zune) – If you have either an UpdateWP.exe or WM7Update.dll file – delete them.. Install the new UpdateWP software

It’s not the clarity of the steps that I take issue with. They are clear enough. It’s that we are in 2011 – dealing with 64-bit versions of Windows 7 running on Quad-core CPUs as part of a dev kit for the latest smartphone platform on the PLANET – yet we’re still deleting *.exe and *.dll files manually.

Step 10/11: Connect your phone to your computer. If Zune is running, close the Zune client software.

Errm..ok. Fine. It takes one-click to close the software – but errm – can you not TELL that it’s running and therefore just close it for me??

And finally…

Step 15: Your device will then update to build 7.0.7712.0 (duration: ~70 minutes)


Seven – Zero….70 minutes.


That’s it. Clearly lots of room for (ahem) improvement in efficiencies here.
It’s a lovely o/s (massively less hampered by the Mango features – and we’re really looking forward to pushing the boundaries on our echoecho implementation there) and of course it’s easy to pick stuff apart on any system – but we’re in the trenches here making this stuff work on a daily basis – and hopefully if feedback like this is listened to it will make the whole platform a smoother experience for everybody.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s