Photo © Bidouze Stéphane | Dreamstime.com
Revisiting Windows Phone
If you're wondering where I've been for the last week or so, I've had my head buried in Windows Phone.
I know, I know... I've often said I regard the whole Windows Phone thing as a huge failure, that Windows Phone is something that nobody apart from a few Microsoft Silverlight shills and MVPs with vested interests care about. The product is a classic example of 'Microsoft silo' development and tactical thinking: Over promise, Under deliver, and Deliver late.
The classic Microsoft approach meant we got a 'strategic' product launch that mainly consisted of blind panic and under-achievement, without even the basics of common sense, planning or even a basic consistent marketing vision statement ('Its a product specifically for the consumer market.... (beat)... but it's for business too') being put in place.
But when there are bills to be paid and, as one recruitment agency recently put it to me, "You're a Silverlight developer - and that market completely died four weeks ago. There's nothing out there!" what's a guy to do?! Windows Phone uses Silverlight.... kinda, and maybe there's Phone work available out there that's real as opposed to 'partner' work for Microsoft marketing?!
Windows Phone developers are, as one agent told me back in May, "rarer than rocking horse shit" and were able to command a ridiculously high daily rate IF THEY COULD SHOW THEY HAD PROVEN EXPERIENCE.
Five months on, and that agent's story has changed. "There's no interest at all at the moment. All the mobile work is ios and Android. The market for Windows Phone developers seems to have gone the same way as that for Silverlight: There is zero interest. Na-da. The market's dead!"
So why would I be considering moving from one dead end (Silverlight) to another (Windows Phone), and looking at putting yet more hours of my own unpaid time training up on Microsoft short-term fixes like Windows Phone 7 (we all know that a rewrite based on Windows RT is coming, right?!)? Well, like I said, bills need to be paid, Windows 8 and real Metro apps are more than a year away, and with a general absence of Windows Phone developers, Silverlight developers are apparently the next best thing if you are a company that's decided for some reason that they need to do Windows Phone development.
The contract I was asked to tender for was for a fleet delivery management company, and despite my concerns over the Windows Phone aspect, it had a few obvious advantages (although primarily one of being able to pay the bills!)
It offered the advantage of being able to work largely from home (a must, given that the client was in the middle of nowhere with an expensive taxi ride from the nearest station on top of long and expensive rail and tube journeys, and great for my new 'go to the gym and get more exercise' regimen!) It also offered the opportunity to work with shiny new stuff like DevExpress controls (I am so tired of trying to defend Telerik controls when other developers and the business get upset about how buggy and awful they are because the client just assumed they were the only choice).
The contract work also included development of a new desktop WinForms application in .NET 4 using LINQ, SQL Server 2008 and a simple ORM AutoMapper that I haven't worked with before too.
I saw this as essentially a chance to build up 'non-silverlight' expertise on a project that was going to be real, rather than some silly short-term vanity project for a company with more money than sense who were using Silverlight inappropriately for what the real business requirements were (which, sadly, has been the case for most of my Silverlight contract work). How could I resist?
Some alarm bells did go off at the start of the interview process to win the business though. The worst part of any contract negotation, and the common gripe of most self-employed developers, is having to deal with recruitment agencies to find the work. These agencies act as the interface between client and supplier but seem to do nothing but get in the way of a business they don't understand, whilst commanding a big fat percentage of earnings for the duration of the contract for having done little other than get in the way. In this instance, I hate that former clients get hassled for references before even the passing on of a CV to a potential client will take place, and I normally refuse to allow this, but in the current economic climate beggars can't be choosers.
This contacting of referees is not a good or even professional approach, and it risks the goodwill of people who get no direct benefit from being hassled. If it happens more than once, as it will do if agencies all insist they have to do it before even submitting a CV, they will typically turn around and refuse to help in future, but what can you do?! In this instance I agreed to bend my own rules, referees were contacted, and I was then awarded an interview with the agency itself before the CV could be submitted to the client.
This time around, the first interview in the contract negotiation process consisted of me travelling across London 'suited and booted' to brief an enthusiastic young recruitment agency consultant from another office than was actually dealing with the contract on what was new in Windows 8, but heh, at least I got a day out, right?! And, to be honest, I'm always impressed when an agency actually takes the time to meet a supplier and interview them before passing on their details to an end-client, even if it represents additional time and cost on my part.
When I got to interview with the client themselves they were friendly and enthusiastic. The sort of people I could easily work with and enjoy working with. They were going Windows Phone because... well they wanted to work with WCF Services because the existing code that the phone would be talking to used it, and so Windows Phone seemed like the sensible option. In trying to find out a little about the existing application (still about to go live after a year's work by contractors rewriting a very old application fraught with issues - no agile, frequent iteration, releases here!) the statement that interface-based development had been a mistake and a late change to use base classes instead, seemingly because of some problems with AutoMapper, set off the first alarm bell. Another was the otherwise knowledgeable technical lead's complete belief in domain driven development but confession that he'd never heard of the CQRS pattern.
The final little alarm bell was the fact that the company had won, and was now servicing, a major contract with a big household name recovery service which had been won based on the fact they already had a traffic management system in place. This was the same traffic management system that I was going to need to write from scratch as quickly as possible because the household name now wanted to see it. I found this a little worrying in the 'business ethics' department. But it does seem that's the way most businesses operate these days . Presumably I should have gone to the interview bragging of non-existent Windows Phone contracts and experience I'd got to ensure I got the business that was being offered!
So I've been buried in two big fat Windows Phone books (good stuff from Charles Petzold and Adam Nathan) as well as some excellent Windows Phone courses by Pluralsight (I can't recommend subscribing to their online training highly enough - it's a steal at the asking price). I've also been rushing to put together in my own time, and at my own cost, a crude prototype of the delivery system the company needed 'yesterday'. Hence no 'Daily Report' updates over the last week (I HAVE been collecting and reviewing Windows 8 -oriented links, so there will be a 'catch-up' daily report later in the week)
Last Friday morning I was sent the draft contract to start paid work on Monday, and I spent most of the day faffing around with all the usual requested paperwork, insurance, company formation documents, VAT registration etc before getting a call at 4.30pm on Friday requesting that the referees who'd been contacted by the agent now call the client directly to recommend me again, and that I prepare an urgent email explaining why my company really was the company to do the job.
It turns out that the agency hadn't had exclusive supply, as they'd been lead to believe, and that on Friday morning, after asking for the paperwork to be raised for my Monday start, the client had interviewed another supplier and now couldn't make up their mind who to go with.
I could write pages and pages on the 'business ethics' of the approach taken, and would defend the agency involved were it not for the fact that after making me jump through hoops on Friday afternoon and evening, there has been a deafening silence since. (Update: late Wednesday after getting hold of the agency rep who'd promised to call on Monday they're apparently not getting their calls returned by the end client so have nothing new to report).
Anyway, I digress with this talk of business ethics and agency handling. The point I wanted to make in this post is that I've had to revisit Windows Phone, and it's not been a bad time to do it with the release of Mango just a week or two ago (aka Windows 7.5, or if you're a developer using Visual Studio: Windows Phone Tools 7.1 - yup, Microsoft really can't organise a piss-up in a version naming brewery can they?!)
Windows 8 and the whole Metro look and feel comes from Windows Phone so it's been interesting to 'catch up' after initial interest in the marketing that kicked off early last year, but quickly evaporated once the reality of what Microsoft were doing set in around June last year.
Last night I attended the first Windows Phone User Group meeting I've attended since their inaugral meeting over a year ago. That meeting, co-incidentally, was what made me go out and upgrade my Apple iPhone 3 to an iPhone 4 the very next morning rather than wait for Windows Phone as it was hosted by Microsoft marketeers twisting the big vision of 'It's a consumer device' with additions like '... but it's for business too' and telling us all how open the new Microsoft was, whilst also telling us we couldn't tweet or blog about such bland 'secrets' as how long they were hoping to make the turnaround time in the App store, or what the demo phone (already posted all over the internet by Microsoft employees in the States) looked like!
As an interesting aside, I tweeted about the Microsoft 'secrecy' nonsense (I say 'nonsense' because I believe it's a deliberate marketing trick Microsoft use to make 'partners' feel 'special' - and it's really, really lame!) with a 'rolls eyes' comment. Remember that this was a so-called 'independent user group' inaugral meeting for which nobody had signed any non-disclosure statements. As a result of my sarcastic tweets about how 'open' the 'new Microsoft' were proving themselves to be, the UK's phone evangelist tweeted me next day, saying it sounded like we needed to talk and he'd be in London the next week: Could we meet? I said sure, but since I was about to launch a new video podcast, could we make the meet an interview on camera about Windows Phone? I think you can guess what the response was (answer: deafening silence and no meeting!)
One of the other things that had really put me off the Windows Phone at that initial user group meet were the user demo's of apps for the app store which Microsoft said would certainly get approved. Of the five applications demo'ed by their developers one (from a Microsoft partner) was very slick and professional, the others were like bad hobbyist apps from the late 70's - complete with a microcomputer-like user interface. What happened to the 'superior UX' that was the whole raison d'être of the new phone?
A large part of the problem of course was the lack of the crucial pivot and pan controls at the time (which eventually showed up long after the original Visual Studio Tools add-in for phone development, not very long before product launch). But the confirmation that simple Microsoft greed meant that these apps would get approved for the App Store just to be able to boast as large a number as possible of apps, regardless of quality or cost or consistency showed that the whole Windows Phone 'consistent UX' vision was now completely lost. The enthusiasm I had for the new OS at those first demo's in February/March last year (at last! something that isn't an Apple iPhone rip-off!) completely evaporated in minutes.
No vision, no consistent marketing message, no free phones for developers to work with (even for those of us who coughed up 3 grand to get to MIX on the promise of one) - Microsoft were taking the piss, and when you've been as burnt as I have by all the drag and drop marketing lies over the years, experience indicated it was most definitely time to walk away. I think Ballmer's own admission 18 months on that the phone sales have been much lower than expected, together with the low profits developers who rushed to get apps into the App Store have made because of its pitifully low take-up, shows who in the user group room that night was right, and who was wrong!
Last night's more informal meeting in the basement of a pub was far more encouraging, even though the main presenter was the same Microsoft evangelist who spoke at the inaugral meeting, and one got the impression that there really are still just less than a handful of people doing anything real with the phone with the evangelist on first name terms with all of them. It does look like Mango has provided the basics for what should have been there from day one, and the two apps demonstrated looked far more like real apps than the nonsense I'd been shown a year before. There was even talk of having some basic phones available for developers who wanted to develop for the phone but didn't have the cash to pay for a real device. It seems that after the huge failure of the phone over the last 18 months (despite all those shills and MVPs over-promoting it for all they're worth, together with some pretty good reviews from the genuinely independent media who really don't have any particular axe to grind) Microsoft appears to have at least lost the arrogance it displayed at that inaugral user group meeting with all its insistence about what could or couldn't be tweeted or blogged, and that can only be a good thing.
But the main message I took away from the meeting and my own research of available hardware the day before, was that Windows Phone hardware is still some way away from being ready for prime time so far as the general public are concerned (Nokia's phones announced today at Nokia World are claiming to change that - which I'll comment on in a moment) and I find it astonishing that only one piece of hardware available in the UK (the brick-like HTC Titan) actually has the gyroscope that was being much touted for future app usage at last night's meeting - a fact that is consistently avoided in any of the hardware marketing, spec sheets or Windows Phone product reviews I've seen.
More interestingly, in three separate conversations with different self-employed developers I heard the same story - of developers struggling to 'find a strategy as quickly as possible for exiting Microsoft development whilst still paying the bills with contract work that requires proven experience with a technology'. It seems I'm not alone in my position and long-term view of where Microsoft are headed!
This morning, with the keynote launch of the two-day Nokia World here in London, we got news of the two new Nokia Windows phones, already widely leaked last week. The shills would have us believe that these will (just like Mango was supposed to!) turn everything around for Windows Phone.
In all honesty, I don't know if the two new phones will help, although certainly the Nokia support after Dell and the Three network jumped ship, will help raise the profile. Certainly the top-of-the-range model, The Lumia 800 is the first Windows smartphone that even attempts to compete with the likes of Apple and Android hardware. And the marketing from Nokia has been superb - the sort of marketing that Microsoft should have had in place over a year ago. It's impressive that most of the main online stores and carriers, as well as Nokia themselves, have marketing material up and are taking pre-orders for the phone (due 16th November) within hours of the official announcement.
But will the Nokia name be enough? I actually like the phone O.S. - especially now that it's Silverlight 4 in its Mango form, rather than the hacked version of Silverlight 3 with some bits taken out, some bits from Silverlight 4 hacked in, and some new bits just for phone added in too, that it was in its original incarnation. But the hardware needs to be sexy if the O.S. is to have wide take-up, and while the new Lumia 800 certainly looks sexy (it should - it's a complete steal of the Apple iPod Nano!) it is fundamentally flawed in two ways: it has no front-facing camera (forget the poor quality typically associated with second camera's on a phone - yoof don't care about picture quality - they just want to take pictures of themselves and their mates for Facebook and be able to pre-viz and frame them correctly) and it has a pitiful 16GB memory (more like 12GB when you subtract what's used by the O.S.) with no expansion facilities at all. 12GB in a world where people want to carry around their music and video collections is woefully inadequate!
And none of the Nokia phones will be available in the States until some time next year (Europe effectively becomes a trial market for the real one in case the phones stiff!)
So, overall even after Nokia's big announcements Windows Phone remains a bit of a "Meh!" from me. Will I waste any more time on this 'stopgap to Windows RT' version of the phone O.S. as a result of what Nokia revealed today? Sadly not. And that's the big missed opportunity in my view.
And, yet again, it's an example of 'too little too late' with Microsoft running out of time with generation -1 products while their competition are already preparing generation+1 products.