Search This Blog

Monday, February 13, 2012

12 Things Microsoft should do in 2012

Disclaimer — I’m a former Microsoft employee, was hired as the first Silverlight evangelist, and have worked on many technologies from the Web Platform, Windows Azure, ASP.NET, Silverlight (of course) and Windows 8. This is not intended as an ex-employee to axe grind (like too many before me have done), but as a love letter to a great company, with great products, that, in some cases has lost its way. I’ve worked with Microsoft technology for many years, and hope to do so for many more. So many of my career successes have come from the simplicity and power that Microsoft have given to developers. I sense that that mojo is drifting away at an accelerated rate, and it pains me to say so.
I was inspired to write this post by reading Business Insider’s 12 predictions for 2012 (http://www.businessinsider.com/12-industry-predictions-for-2012-2011-12), and was saddened to see Microsoft mentioned only in passing (with relation to Nokia), and Windows 8 not mentioned at all!
So without further ado, here’s my 12 things Microsoft should do in 2012

Windows Phone – Give your developers even more love.

You want more developers to use your platform, you need more apps, as apps drive sales of more phones. So lower the barrier of entry. The iPhone developers ‘fee’ for one year is $99. For that I can put apps into the iPhone app store and reach a far larger audience than I can with Windows phone. The Windows phone developers ‘fee’ for one year is….$99. Why should a developer pay the same to get into the much smaller Windows app store as they do to get into the much larger iOS one? Amazon have recognized this, and are waiving the fee for Kindle Fire developers for the first year in order to spur entry into their app store. Why shouldn’t Windows Phone go one better, and remove it completely, or change it to a post-paid model? [i.e. 'You will earn 70% of your app store sales after the first $100 each year']

Windows Phone – Make developer devices available

One of the straws that made me want to leave Microsoft was when they announced that all employees would get free Windows Mobile 7 devices. When reality dawned, it was that all employees could sign up for an expensive 2 year plan with AT&T, and get their devices reimbursed. Great press hit on the free device wasn’t backed up by reality. I didn’t take advantage of the offer because I didn’t want to get locked into a long and expensive contract. I have a contract-free Android, and a contract-free iPhone 4S that I use for development and testing. So, how about going one better Mr Microsoft, and making contract-free Windows Phone 7.x (or 8.x) devices available at a (much) lower cost than the Android or iPhone ones, and lumping in the app-store ‘fee’ membership as part of the cost? That way you can get more phones in the hands of more developers.

You can’t advertise your way to beating the competition – fuel your growth in a more innovative way

After seeing expensive campaigns for Windows Phone (reportedly $500m — half a billion dollars!) and Bing (same article mentions $100m back in 2009, so it’s likely at least double that now), without enough growth or penetration for either product being able to justify that cost, I would ask Microsoft in 2012 to stop throwing good money after bad. $500m would likely have put ‘free’ unlocked developer phones into the hands of 1-2 million developers. Put a few strings on them, such as needing to get apps into the app store in order to get the ‘full’ benefit, and you’d overnight, have a developer ecosystem that blows Apple’s or Google’s out of the water. Combined with the best-of-breed tools (Visual Studio/Silverlight >> Eclipse/Java & XCode/Objective-C), and you could have a huge wave of success. Instead, we have $500m spent on glitzy parties, and TV adverts that get feedback like this. After all this Windows Phone sales went from ‘very small to very small‘ in the words of Steve Ballmer. There are far better ways to spend $500m to gather attention and grow the platform…

Do you know just how great the Zune music service is? Get it on iOS and Android before it’s too late.

I’ve been a Zune subscriber since (almost) the beginning. It’s great to pay $10 a month and have all the music I can eat at my fingertips. Since I left MS and started using Android and iOS more heavily, carrying a device of each, I stopped carrying my Zune. So I cancelled my Zune subscription and went Spotify, just like many other folks. Have you used the Spotify client? It sucks. Big time. Microsoft — think of all the millions of iOS and Android users that could use your service, and think of all those $10 a month coming in from them? Change the name to something else (sorry, but the Zune *brand* has failed), and launch it to compete with Spotify on these platforms. So you lose a distinguishing factor for Windows Phones, but you gain a much bigger market for revenue from your service…

Sustaining a brand is as important as launching it. Make this your mantra for 2012 and beyond.

When I was first working for Microsoft, I expressed as an issue for developers outside the Redmond Bubble. I called it ‘Shiny new toy syndrome’. It was a problem in that Microsoft every few months would release a new way of doing the same thing, or that they’d suddenly drop something that they’d been pushing hard, and move in a new direction. Think data access from JET Engine, to OLEDb, to DAO, ADO, EF, ODBC yadda yadda yadda. Each of these technologies did the same thing — give programmers the ability to access data, but MS would release each one with a huge fanfare, with evangelists, trainers etc. all teaching folks how to do it. In the end, developers would get sick of it, and the meme would be ‘Just show me how to use data’.
This goes beyond developer APIs of course. When Microsoft starts up something new, it’s done with full steam ahead gusto (Silverlight as a prime example), but once it’s launched, and once it’s successful, sustaining it doesn’t seem to be a priority. Hello IIS. Hello Zune. Hello *. Heck, I just read an article that MS may be stepping away from the ‘decision engine’ branding for Bing that it spent goodness knows how many dollars to get out there…

HTML5 isn’t a standard. You should remember this, and you should be the thought leader around this.

HTML5 is not a standard, and likely won’t be for at least another 10 years! Stop following the HTML5 bandwagon. It won’t make you cool. Yes, use it. Yes, make sure that your products are the best at rendering it, in-browser, out-of-browser, and on the phone. But to throw aside all that has gone before (client development, WPF, Silverlight etc. etc.) to embrace something that isn’t a standard, whilst acting like it is, is not very smart. (Yes, we’re back to shiny new toy syndrome here)
Instead, capitalize on the wave of enthusiasm, and capitalize your large share of the desktop market (remember most Chrome and FF users still use Windows!) to show some thought leadership in this area. Teach developers what they can and CAN NOT do efficiently with HTML5/JavaScript. Show them the options. Don’t throw the baby out with the bathwater. You’re just accelerating your demise that way.
Stop reacting. Start leading.

Azure isn’t a marketable entity – stop wasting time, effort and $ marketing it. Instead simplify pricing and development, and get the techies aboard.

The people who make the dollar decisions about IT infrastructure really don’t care about advertising or marketing (*). Hanging banners in SeaTac airport (and goodness knows where else) is not going to grow Azure penetration. Getting developers up to speed on Azure, and getting them using it is paramount. To that end, simplifying the process, and simplifying the pricing. How about giving us one fee instead of the smorgasbord of proprietary terms (what does ‘extra small instance’ really mean?).  How about an offering to developers that is ‘Free for XGb throughput and 1 database’, ‘$10 for YGb Throughput’, ‘$20 for ZGb Throughput’ etc. The number of computing instances needed is typically directly proportional to the througput is it not?
Then, once the app is developed, hosted, tested, and working, if one needs to upgrade to more ‘elastic’ pricing and terms, they can do so. Right now, despite recent simplification, it’s still too obfuscated.
(*) In my experience, they talk with all vendors, and then ask their technical staff to evaluate the best looking ones. The overworked technical staff will do some simple pilots, and usually go with the ones that they already know best. Thus, if they could be onramped to Azure more quickly than they can be onramped to the competition, you will improve the likelihood of them recommending Azure. All the obfuscation negates that. I like to see myself as a Microsoft ‘expert’ (at least in their technology), and I just don’t have the time to wade through the alphabet soup. Sorry. [Disclaimer, I see ScottGu (hi Scott!) has been working on a transformation here...I'll check it out]

Windows 8 – It’s about the consumer.

I was at //Build/ in September where Microsoft gave away the first Windows 8 devices to the lucky developers in attendance. I got to play with one. It’s very nice. But.
But after a little while, I realized that there’s no way I’d ever ditch my iPad to use this. It gets hot. The fans start whirring. In fact, it was just a PC without a keyboard. And it costs more than an iPad. Would I be the only one to think that? I doubt it. Sure this was just a preview device…so I’m hoping that the stuff you show off at CES will be better.
So, in order to win the consumer, when you launch Windows 8, launch it with a spectrum of devices that will compete, on the low end with the Kindle Fire (nice, but flawed, but the flaws are forgivable at this price point), the iPad (gold standard, let’s face it), and the best laptops (IMHO, the MacBook Air).
You won’t win by just launching a PC with a new skin. To the modern iPad-savvy market, this will look like Lipstick on a Pig. You only get one chance at this. Don’t fail.

Windows 8 – It’s about the developer.

Much has been written about Windows 8, the emergence of the HTML5/JavaScript/WWA platform, and the demise of the .NET/WPF/Silverlight one. Much of it is true, but not all. The important thing that Microsoft should take from this is the negativity from the developer community around how they’ve handled communicating Windows 8 to *them*. Sure, giving out free devices at //Build/ was nice, but that was to only a few thousand folks.
If you want Windows 8 to work in the tablet space, you should be romancing the developer, not pissing them off. And way too many are pissed off. Sorry. This should be a huge priority in 2012. Don’t let internal politics mess this up.

The Web is still out there, don’t let it whither.

With the emergence of new trends, cloud, mobile etc., many folks, including Microsoft appear to have forgotten about the good old WWW. They (we) started making great strides in reaching Web developers again with WebMatrix, and the ecosystem around it. For 2012, don’t like WebMatrix and the Web Platform be last years Shiny New Toy. I know a lot of the folks involved have moved to Azure, so my call to Microsoft for 2012 includes reminding them not to forget the non-Cloud web.

Hire the right people, and build up their skills

This is mostly an internal one. And it may come across as a gripe (sorry), but Microsoft have a huge problem, internally, with turning great technical people into low grade administrators. It was my #1 frustration when I worked there, and one of the primary reasons for me to leave. You see, when you are an FTE there, you succeed by getting as much done as possible. Getting stuff done means delivering results. You can deliver more results by getting other people to do stuff for you. On the surface, this sounds good. But in reality, it’s much different. Getting other people to do stuff for you generally boils down into 2 things.
1. Get $ to get vendors to do the work for you
2. Become a stakeholder in as many projects as possible.
The problem with (1) then becomes that vendors do all the ‘real’ work, and the FTE folks managing the vendors often don’t understand how it’s done, because they’re too busy recursing on (1) and getting more $ for more vendors. I’ve seen way too many issues where there was (for example) a problem with a Microsoft web site, which could not be fixed because the budget to pay for that vendor was exhausted, and we ‘might’ get more budget to get the issue fixed in the next quarter etc. We were effectively held at ransom, by vendors, stopping us from doing what we needed to do. Ugh
.

netNavi.tv

1 comment:

  1. I am overwhelmed by your post with such a nice topic. Usually I visit your blogs and get updated through the information you include but today’s blog would be the most appreciable. Well done! fallout 4 immortal mode

    ReplyDelete