Saturday, 24 March 2012

Reboot (but first some parting shots ;-))

Reboot!, 24th March 2012

It's four months since my last post. Yikes!

My last post was (again!) another rant around the directions and poor decision-making Microsoft were demonstrating with the killing off of Silverlight. A killing which Microsoft and their army of MVP (or MVP-wannabe) shill supporters were still publicly denying. I would add at this stage that I've worked exclusively with Microsoft technologies for over 16 years, so my rants are not those of a confused newbie.

However, whilst taking continual flack for pointing out that 'Silverlight is dead' I was actually still drinking the Microsoft Kool-Aid. The Microsoft shills I've upset over the last couple of years may scoff at the idea of this, but I think the name of my 'reboot' company makes it clear I was still addicted. 'Fast and Fluid' was the winner of the 'keyword bingo' phrase most used at the Microsoft 'Build' Conference keynote which launched Windows 8. My subsequent launch of 'The Daily Report' highlighting and promoting the best new articles around the early preview release of Metro and Windows 8 show that like a drug addict looking for his next fix I was still hooked on the marketing drugs I was being given, even whilst publicly criticising them. My bad!

Once an addict, always an addict I guess, and Microsoft and their 'community' of 'rock star' supporters sure make it hard to break the addiction, or even stop for a minute to think and realise that 'actually, the Emporer's got no clothes', even when all the evidence around you is screaming 'He's completely naked'.

Simple maths showed the time and effort needed to research 'The Daily Report' was simply not worthwhile given the number of daily hits. Higher profile bloggers would Direct Message me congratulating me on the blog which was flattering, but never publicly doing the same or even revealing its existence (Jeremy Likness is probably the sole exception that proves the rule). Even with my thick skin I realised that my involvement in the whole 'Silverlight is dead and they're not telling you the truth' controversy meant I was suddenly the 'fart in the space suit' of Microsoft community - apparently a 'loose cannon' that couldn't be relied on to carry the 'correct' message.

So this blog quietly went dark while I concentrated on finding work that paid good money and resulted in less controversy and lower blood pressure instead!

Thankfully I found a new client that involved working with an interesting, worthwhile and 'real' project written in Silverlight after two years of tedious, vanity 'proof of concept' Silverlight applications for different organisations that should never have been written in Silverlight in the first place: projects that highlighted out-of-control IT departments squandering business money to play with shiny new toys instead of delivering what the business wanted and needed and was paying for. Projects that did nothing to make me feel good about the work I was doing. Things seemed to be back on track at last, but given the short-term nature of the work (the client quickly realised that they would be better off using a platform that had more 'reach' than Silverlight had) I quietly started re-evaluating my 16 years working exclusively with Microsoft tech. The problem is that although it's a great technology Silverlight is terrible at 'reach' even if it did start off life with promises that it would be "WPF/EVERYWHERE".

The WPF "Everywhere" marketing bullshit, at a time when one person was trying to make initial guesses at what it might be, is indicative of the problem I have with Microsoft. A problem that might politely be described as being somewhat flexible with regards to defining what the word 'truth' actually means. There have been countless other examples of this problem over the years, although I am continually surprised at how quickly people forget. Am I really the only living person who remembers all those Visual Interdev/Visual Studio keynote launches where Scott Guthrie or some other poor fool would get up and announce 'We have JavaScript debugging working in our new release' to great rounds of applause... only to have to announce the exact same thing the next release round... and again the release after it. Or the 'We've fixed the XAML designer in Visual Studio so it actually works' as a more modern variant of the pattern. The most obvious example of the problem of course is that decades old chestnut 'We now have proper W3C standard support in our browser' (check the HTML5 feature compatibility charts, people - it's not rocket science to see which browser is the WORST, even in its '12 months before public release shiny new tech preview' version!) These are just simple examples of the sort of 'truth' Microsoft is happy to put out in the lead up to product launches. Claims that unfortunately in today's world of social networking get amplified as fact a million times over in the circle-jerk that is sold as 'Microsoft community'. It's not like the lessons and evidence aren't there for anyone to find and reveal! But we live in a lazy 'follow the sheep and don't question anything' world, and it's easy to get hooked on the Microsoft Kool-Aid marketing drugs when the message is so loudly and often repeated on blogs and Twitter that it seems like the whole world is speaking with one true voice. Everyone's saying it, so it must be the truth, right?!

Three years ago I sparked outrage in a pub conversation following a user group meeting when I said that the phrase 'user group' was now a meaningless term that described a strategic alliance between Microsoft and a partner company, usually one wanting special favours and thinking it would get them by taking on the burden of organising a promotional group, pre-announcing its formation, rather than genuine users getting together to try and improve products, raise awareness and feedback common sense. I was told I was being 'paranoid' and 'hysterical' in suggesting that such user groups were not as altruistic as they should be. The disappearance of so many Microsoft-oriented London user groups over the last 18 months simply because Microsoft cut off its funding shows that my 'hysterical' warnings that these were not real, sustainable user groups or genuine communities but instead a strategic controlling of 'community' by Microsoft prove my point I think!

But people forget the history lessons, and Microsoft seem happy for them to do so. It enables them to keep repeating the mistakes of the past, which until now they have been able to get away with because their monopoly position and the abundant supply of gullible new recruits ready to fall for it hook, line and sinker has enabled them to do so. The trouble is that in the era of the iPhone and the tablet (aka the iPad) those gullible new recruits are not growing at the same rate they used to. Microsoft fell behind quite some time ago, and each new decision they make seems to put them further and further behind in the desperate rush to play 'catch up' with a competitor who seems to outpace them at every turn.

One high profile blogger pointed out at the end of last year that I seemed 'bitter' where Microsoft and the way it had 'shat on' its Silverlight developers were concerned (sorry for the language, but there really is no other way to describe what they did, using lies and obfuscation every step of the way: from pretending Chief Technical Architect and Silverlight champion Ray Ozzie had simply moved division when they knew he'd left, to suggesting Bob Muglia had spoken out of turn when he told a journalist about the Silverlight 'change of emphasis', to promising to reveal what the future of Silverlight was at Build (and then refusing to do so). The blogger had a point - but in my defence, it's hard not to be bitter when you've spent so much unpaid time and effort based on Microsoft lies about their 'strategic' direction, only to continually have them refuse to come clean about their real intent long after it's been publicly exposed. How many useless, broken, rushed-to-market, world-of-pain 'shiny new toy' technologies do you have to endure, repeating this endless unpaid learning curve cycle, before you realise you're being screwed and working untold hours for free just to help Microsoft sell stuff that's just not fit for purpose?! In my case, with 16 years of Microsoft experience behind me, far too many. And I've really got nobody to blame but myself for believing shills and self-aggrandising charlatans calling themselves 'community leaders' instead of trusting to gut instinct based on experience and the available facts. In one sense I suppose I should be grateful for the 'Silverlight is not dead' bullshit and the mess that is Windows 8 that helped me realise the depth of my self-delusion, or I might still be stuck in the same exasperating version of 'Microsoft Groundhog Day' that signifies burn-out and continual disappointment as the reality vs hype gulf of unbelievably mediocre products gets continually re-exposed.

Another high profile MVP said on a couple of occasions last year that he didn't understand why I didn't just abandon Microsoft as I clearly hated them so much. Apparently at the age of 54 switching a 16 year career of experience in Microsoft-centric enterprise development and finding gainful employment elsewhere should be as simple as writing on my CV 'I've got no real world experience in xxxx, but I've been playing with it in my spare time and want to switch away from Microsoft so please pay me enough to pay all my bills'. Yeah, right! I mean I know Microsoft MVPs have ther own reality distortion fields, but come on! It's my own fault of course - if only I was prepared to compromise and sell my soul to earn my 30 pieces of silver living as a Microsoft 'partner' working on showcase 'demo' nonsense for new shiny toys every few months, instead of trying to earn a living doing real work in the real world for real clients paying considerable sums of money, life would obviously be so much easier!

All the 'hater' and 'whiner' name-calling I've received for pointing out quite obvious lies ('Silverlight is not dead', 'We've been working on Windows 8 and Metro for three years', 'Silverlight is installed on 60% of all internet-connected devices', 'Windows Phone 7 is selling well', 'Windows 8 is awesome') would be mildly amusing if the shills doing the name-calling weren't being so utterly hypocritical. How many of those Silverlight MVPs so strongly insisting 'Silverlight is not dead' 6 months ago have done anything other than write fresh blog posts, training and conference talks on Silverlight's main 'rival' HTML5 technologies? I can count those still blogging on Silverlight, the sole subject for their output for the previous two years before the 'Silverlight is dead' furour went public, on the finger of one.... finger (Thanks for keeping the faith Jeremy!) But heh, Silverlight's not dead. No, honestly. Come back. It's not dead. Really! Trust me on this (whispers: can I have my MVP renewal and any other goodies you've got now, Microsoft?)

An apology of some sort from those 'community leaders' who've so wilfully denied the facts and led 'community' down a blind alley of wasted expense and pain should surely be in order? But no, they keep schtum, hoping that nobody will notice that the 'haters' and 'whiners' insisting Silverlight was being killed off were right all along. After all, people remember who were the 'whiners' and 'haters' more than they remember what it was they were hating or whining about, or who subsequently was proved to be right or wrong! And there's plenty more pieces of silver to be made by travelling along with the Microsoft marketing gravy train - at least until it runs totally dry. Walk this way folks, we've got Windows 8 and Metro to be promoted and there's lots of new gravy to go round!

Let me be quite clear on this: Windows 8 is an immature world of pain. More importantly, it's a schizophrenic mess of an operating system that makes Vista look like a shining beacon of light and end users will hate it as they get endlessly thrown around from 'Metro' mode to 'desktop' mode and back again. It's a Frankenstein's monster of an operating system. The rush to cannibalise iOS and compete with the iPad whilst still carrying Windows users forwards has over-ridden common sense, so more fool you if you're wasting hours and hours of unpaid time helping Microsoft sell their 'new' rushed-to-market and incomplete Windows 8 and underlying Windows RT API as if it were in any way ready for prime time. Good luck with all those missing APIs and the 'everything's asynchronous' world that means everything you wrote and which is 'easily converted' (if you've got hours, days, weeks of free time to spare) works completely differently from the way it used to work. This mug's played this game one time too often, and the toys may be pretty in the same way a turd with varnish on looks shiny, and the marketing drug may be addictive, but deep-down we all know how this mess will end up. Expect Windows 9 to be 'rushed' out in 18 months to 2 years time to magically 'fix the problems' and prove 'totally awesome' and a 'Google/Apple/Adobe -beater'. It's all so tedious and predictable, based on past performance!

Next week I'm going to a Microsoft TechDays event promoting Windows 8! You're probably thinking "WTF? After all you've just written?" Unfortunately, the reality of day-to-day business means the bills get paid by pretending that sometimes shit is not TOO far away from gold (heck, they're the same sort of colour, kinda!), or at the very least be up-to-speed on what the marketing messages being dished out are. But the reality is that three years too late I'm trying to jump onto other gravy trains - trains where there's real demand and attempts at achieving real quality especially in the user experience department, and real conviction instead of endless, mindless shill fabrication and twisting of facts. Hopefully they're not gravy trains that require endless unpaid hours trying to get just the most basic stuff doing what it's supposed to do. Fingers crossed, and maybe I'm deluding myself, but the initial signs are good!

So this blog is being rebooted as of today, and it's going to see a change of direction. I'm NOT going to be blogging about Windows 8 because, quite frankly, none of my clients seem to care about it and none of them appear to believe the hype that Microsoft are putting out. While shills keep talking about Enterprise 'still being on XP' and 'always slow to adapt new technologies', my Enterprise clients have been working with iPads and iPhones and rushing into new technology at a far quicker pace than used to be the case four or five years ago. They see no future in a weaker, copycat 'jam tomorrow' product over better products that have been in the marketplace for a few years, especially one that's so obviously been rushed to market as a too-late knee-jerk reaction to a competitor's success.

I AM going to be blogging about learning new technologies. My early tentative steps with HTML5, CSS3, jQuery and JavaScript technologies have been a real eye-opener (they've moved on - a LOT since I last worked with them) and got me excited about programming again, in a way I haven't been for years. Finally!

My first experiments with Objective C and iOS programming have got me even more excited. Talking to other developers who've made the switch from .NET to iOS all I hear is 'I wish I'd done this earlier.' Admittedly it's early days, and it's like going back to school again. But I feel more positive about my career and the industry I work in than I have since I left the mainframe environment 20 years ago (where the word 'legacy' was used to refer to technologies that were DECADES old, not WEEKS old as tends to be the case with anything Microsoft). If you're still not convinced, ask yourself this question: what other company could pat itself on the back and brag over and over again about the death of one of its own products, the way Microsoft has with Internet Explorer 6?!

I'll be using this blog to document my steps and learning experience as I branch out. I can't promise it will be in-depth or deeply technical at this early stage. But I can promise that it will be honest and independent, to the point of being positively brutal if it needs to be. When was the last time you could say that about ANYTHING written by a Microsoft MVP blogger? Enough said!

So. In summary (finally!) welcome to the reboot! It's time to put all the negativity around Microsoft behind me and move on to fresh pastures. For those who started following this blog because of an interest in Windows 8 and Metro: I hope you stick along with me for the ride. There's a world of exciting opportunities out there, and they don't all involve having to park your brain at the door and simply swallow whatever marketing crap you're being given by Microsoft and its shills! I hope you'll stick around.

Reboot!, 24th March 2012


  1. There is only so much jerking around one can take. Microsoft has been going greenfield for the last 10 years, at incredible cost to developers and enterprises, and guess what it still hasn't struck gold. And I doubt WinRT is 'it'.

    Personally, I am following the same path towards platform neutrality. Good luck.

    1. Thanks. I speak to a lot of developers following the same path. We need an equivalent to "Alcoholics Anonymous" but oriented to ex-Microsoft developers so we can learn from each other's experiences, LOL.

    2. If we're talking about platform neutrality as HTML5 and CSS3 (and their future) the we can't avoid delivery stack behind them... I suppose it's not easy to be platform independent. Maybe with Java but I wouldn't go that path because for all I know it's a leaving dead just because of Google mainly (and banks).

      But apart from that if we want HTML5 applications we must decide on a backend platform... And that makes it platform dependent, doesn't it?

    3. Robert, kinda (and sorry for this late reply - been crazy on the work front recently and only just spotted this), and I guess I should more clearly differentiate between server-side techs and client-side techs. Personally I'm still "hooked on the Kool-Aid" on the server side because that's where the jobs are but one couldn't help but notice that the vast majority of Scott Guthrie's Azure reboot keynote (Meet Azure - yesterday) covered open source and involved using a Mac as much as a PC then I guess the writing's on the wall even on the server side too. Time for me to order a book on node.js and get to grips with that maybe?

  2. Hello,
    As a student in Computer Science I've had the chance to learn a few programming languages (between different courses and different internships i've had), I worked on apps on the blackberry market, appstore and windows phone marketplace.
    Though I don't have any thoughts about the "lies" and all the hatred towards microsoft, because we live in different worlds and I have never been that close to Microsoft.
    But there are a lot of positive sides and positive points, things Microsoft do a lot better then the rest, here's a few:
    * taking care of students, through the MSP program, organizing the imagine cup, all microsoft products for free so you can learn for free like MSDNA (I'm sure it benefits them too makes them have more microsoft evangelists graduating from university but still its a big plus for us)
    Try getting adobe products for free as a student; two words impossible unless you like being on the dark side, but as a developer you respect other developers and hate doing that;)
    * Products wiz, you've got to admit; the developing experience is far better on windows phone then any other platform including ios ( even though i started with other platforms before) ; just the templating notion is a great plus, on windows phone/ silverlight , everything is templatable so you have a control you want to edit, just give it another style/ template and bam its ready, try changing the "On/Off" text of the UISwitch, you have to rewrite the whole control. and not talking about the disadvantages obj C has by not having evolved like other programming languages like java and C# (please no metadatas ?)
    So even though they were late with the windows phone, their different UI and development wiz I think they have a chance.
    * Windows 8: I don't know yet I haven't made my mind i've tried the consumer preview and wasn't that convinced (a good thing is Microsoft is open to suggestions and feedback compared to other companies :) )
    I'm not going to continue because I feel like i'll just be another N sheep repeating marketing stuff, but all I've said comes from what i noticed as a student.
    But one thing is for sure, never to lean on 1 technology! Yes I prefer Microsoft technologies sometimes over others but I'll never stop learning other stuff.
    So looking forward to your new articles.

    1. Microsoft's student program is good, as is their BizSpark programme for start-up businesses. But it needs to be because the competition is free and stays free. Take a look at how much you'll have to pay when those 'student' prices expire and you're already committed or hooked. It's not a totally altruistic move and you might get a shock (eg Microsoft announced increases of 20% in their Volume licensing prices, effective from July just last month!)

  3. I have to say that I think you are spot on, especially, with regard to Windows 8. We've got a Windows 8 tablet device in the office and it just feels all wrong (even in a tablet format). The Metro UI is unappealing to look at (although I'm sure with a little practice works well on a phone - just as it took me a little while to get used to my iPhone and then Android phones). I'm so glad you said it was like another Vista disaster. I thought I was the only one thinking this. Actually, I think it would be worse than Vista because of its dual personality nature and I have no plans to upgrade to Windows 8 any time soon.

    I have to admit that I've been feeling more and more that Microsoft is not for me, personally. I'll admit they have some fantastic things (I think that LINQ is brilliant and Entity Framework has become more useful as time goes on - it took a while, but it's getting there).

    I added that "personally" on in the last paragraph because, like you, Microsoft technology pays the bills. However from a personal stand point I'll probably be playing less and less with MS technology in my spare time. I've been looking at the likes of coffeescript and other web based technologies. My laptop is now dual boot (Ubuntu/Windows 7) and I've very quickly got to the point that Ubuntu is my default operating system. I'm planning on looking at Android development too.

    I'm not as keen on iOS, but that's simply from a consumer point of view. I've not looked at it from a development perspective.

    I only go to Windows for a small number of things such as MS Office (LibreOffice is just not good enough at the moment - I'm sure it has all the functionality I need, it just doesn't do a good job of exposing it) and for when I actually need to use Visual Studio or SQL Server. I've already started to think about making Linux my default OS and just run windows in a VM for the few times I am likely to need it as time progresses.

    You might also be interested to note that the way we ran DDD Scotland events has produced many non-MS specific sessions. Yes, we are still heavily MS oriented (simply because of the history behind DDD) but increasingly people have been submitting technology neutral (or specifically non-MS based talks) and they've been voted in. I'm very democracy centred with DDD Scotland and it has been an interesting journey. I think being more diverse has been of particular benefits too - People are more likely to see that there are other things out there. Basically, I've tried to be as inclusive as possible and not shut anybody out (yet, I still got emails from folks criticising the MS focus - I guess I couldn't win!)

  4. Hi Colin, I assumed DDD had died after Plip 'cashed in' and joined Microsoft. Good to hear it has life outside the South West and London. There's so much good 'non-Microsoft' community stuff going (at least in London) that I actually think DDD needs to stay focused on Microsoft because there's nowhere else for those devs to go. The 'user groups' have pretty much gone (good that NxtGen is still going strong, but it's fee-based) and there's little being done to support Microsoft devs. It's all adding to the 'mass exodus' effect and nobody at Microsoft seems to care or even be worried. Agree with you about LINQ, but not Entity Framework (a classic Microsoft 'strategic' product rushed to market too early and without long term planning or thought).

  5. this is fresh ian!, i've been developing successfully on the microsoft stack for about 12 years, having fun on the enterprise development circle, until quite recently, around the time MVC started trending; its just like, hard work to stir up that critical level of motivation, just when something was about to be regarded as mature, some nasty hand pressed the reset button, made effective by an engineered viral hype, hammered into state through community architecture by community architects. It's the naked emperor yet again miming fine garments
    i feel your thread, i could go on about the real cost of remaining marketable, its motivation that suffers a reality check, market demands for oxymoronic skill sets against good old computer science in the business space


Comments may take some time to appear as all comments are moderated to avoid spam.