Search This Blog

Showing posts with label Windows 8. Show all posts
Showing posts with label Windows 8. Show all posts

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

Eight features Windows 8 borrowed from Linux


Linux got there first, but does Windows do it better?

"Good artists borrow, great artists steal!" -- Pablo Picasso said it. So did T.S. Eliot. And, more recently, Steve Jobs. Let's face it: If something makes sense and succeeds, it gets imitated.
Though Windows 8 and Linux distributions differ greatly from each other in design, ideology and -- last but not least -- their primary audience, they're all built on the same basic principles of OS design so there's bound to be some overlap. And while Microsoft has long been accused of stealing from the open source community, according to some Linux fans, it's getting to the point where Microsoft simply appropriates good Linux features.
[ FREE DOWNLOAD: Windows 8 Deep Dive Report | Windows 8: The 10 biggest problems so far ]
I've been following the Windows 8 development very closely and noticed some hefty backlash on some of the features of Windows 8. This was especially true in some Linux/Windows forums and the Building 8 blog, where Sinofsky and friends write extensively about the new upcoming Windows iteration.
All this fingerpointing made me curious about where some of the best new-to-Windows features in Windows 8 really came from and how Microsoft put its own spin on them (or not).

1. File copy dialogue

In an effort to create more transparency, Microsoft implemented an improved copy, move, rename and delete dialog that doesn't just show the progress of each operation, but also a throughput graph and the ability to actually pause individual copy operations.
Oh, did that cause a firestorm in the open source community! Pretty much the same dialogue has been part of Linux's Dolphin and Nautilus file managers -- the file transfer dialogue also lets users pause operations and view multiple copy jobs in one window. We've even got the gimmicky bandwidth graph that appears once the user hits "More details".
The Microsoft twist: When there's a problem with a file operation, Windows 8 doesn't just stop the entire process but keeps these problems in the error queue. However, it's quite obvious that Microsoft took a good, hard look at the open source world here.
What neither Linux nor Windows 8 have is a queue feature. Of course, you could manually pause and resume individual copy operations, but that's not helping you on a massive copy job. Users of both Windows (see the comments on this post) and Linux have been waiting for this for quite a while.

2. ISO mounting

In Windows 8, Microsoft finally introduces mount ISO files. Once mounted, a new drive letter appears in Windows Explorer that represents the virtual CD/DVD ROM. And while it's a nice addition that lets users finally get rid of annoying third-party tools such as Daemon Tools, Power ISO or Virtual CloneDrive, both Linux and Mac have had this ability for quite a while.
The Microsoft twist: No Linux distro does ISO mounting as easily as Windows 8, as it requires some command line trickery (or, again, third-party tools). Thanks to all commenters for chipping in: Of course, easy ISO mounting is part of various Linux distributions – both via the GUI and command line.

3. Windows To Go

Windows To Go allows (enterprise) users to create a bootable Windows 8 environment on a USB 2.0/3.0 flash drive. It even supports unplugging the drive, which causes the OS to freeze momentarily until you plug the Windows To Go stick back in. Awesome.
The Microsoft twist: Obviously, such "live environments" have been around for quite a while in the Linux world, but their performance was never quite up to par with a natively running OS. Since Microsoft optimized their NTFS file system for such a scenario, Windows 8 runs fluently even on USB 2.0. Upon testing Windows To Go, I found that both boot and overall speed were far superior to any Linux live distribution I have ever tested.

 

4. The Metro UI

The basic idea for the Metro UI appeared in Media Center and Zune hardware more than 5 years ago. When you use the Metro UI for the first time, you'll see that it's a very unique way of working with a device. But Microsoft didn't pioneer the idea.
Various Linux distros, such as Ubuntu, and the GNOME desktop environment, have tried to overhaul the user interface to fit the "one UI to rule them all" approach before Microsoft did. There's no denying that updates to the UI of Linux, especially Ubuntu, were made specifically with tablets in mind. But even the most ardent Linux users admit that touch support could by no means be called anything other than half-baked.
The Microsoft twist: Microsoft is taking a very risky step in making the new Metro UI the default view of the new OS, but it's also much more comfortable to use either with touch or a pen.

5. Social integration

Linux distributions -- notably Ubuntu -- have, for a long time now, included social media integration by default. The "Me" menu, which first appeared in early alpha versions of Ubuntu 10.04, allows you to update your status to all your accounts and get important feeds directly to your desktop. And when Microsoft finally added its Tweet@Rama, Photo Picker and Socialite app to the developer preview, loyal Linux users again pointed out that this has been done before.
The Microsoft twist: No twist here. Microsoft was simply late to catch on to the trend.

6. Native support for USB 3.0

In their very first blog post, the Building 8 folks explained their new native USB 3.0 stack and, of course, that news was greeted with comments of the "Linux has been doing that for three years" variety.
The Microsoft twist: Move along. Nothing to see here. USB 3.0 devices work pretty well with Windows 7 already since hardware manufacturers provide their own drivers. Microsoft just finally implemented an industry standard.

7. Cloud integration

Both Windows 8 and Linux sport features that let you sync data with the cloud. In Ubuntu 11, the Ubuntu One service offers a free online backup service with 5 GB. If you want more storage space, there's always the option of purchasing an additional 20 GB for $2.99 a month.
The Microsoft twist: Windows 8 is going to tightly integrate with SkyDrive's 25 GB online storage, which is not just for photos or music, but also allows for hosting your user account (personal settings, backgrounds, some data...) for you to log in from anywhere.
Ubuntu, however, counters with their new Music Streaming service.

8. ReFS

The newly introduced ReFS (Resilient File System, codenamed Protogon) is Microsoft's next-generation file system. It will first debut in Windows Server 8, but client adoption is well underway.
The system itself is strikingly similar to ZFS (the Z File System) and the Linux-derived Btrfs (B-tree file system) as it also supports copy-on-write snapshots when coupled with Microsoft Storage Spaces. For further security, it also provides integrity checksums and B+ Trees. Also, the increased file/volume/directory sizes are also strikingly similar to Btrfs.
The Microsoft twist: Let's just say that Microsoft didn't do anything from scratch. While I did not dive deep into the file system drivers, I suspect that Microsoft looked very hard at some of the principles that worked years ago in both ZFS and then Btrfs and got the "inspiration" to develop something very similar.

Stealing or innovating?

While I won't deny that Microsoft has "borrowed" many ideas from the open source world, overall they're trying to find their own game in Windows 8.