Category Archives: Microsoft

Dear Microsoft: Here’s How To Communicate with Developers

0) State what your technology is and what problem it’s trying to solve on the product’s web page. Use plain, practical language. Hint: “professional-quality business applications” does not mean anything.

1) Don’t use a video. Use words first, then use a video to convey, you know, visual concepts, if necessary.

2) If you use video, the video has to actually work. See:

We All Have Our Sacred Cows, Mr. Benioff

Link: Microsoft’s Future, Beyond Windows 7 and the PC – NYTimes.com

“[Microsoft is] trapped in their own psychosis that the world has to revolve around Windows on the PC,” says Marc Benioff, the C.E.O. of Salesforce.com, which competes against Microsoft in the business software market. “Until they stop doing that, they will drag their company into the gutter.”

Microllsoft

People have been talking over the weekend about the failed Microsoft/Yahoo takeover talks. As a Yahoo shareholder and former employee I’m disappointed that it’s going to be quite some time before we get our money out of that stock (note to self: in the future, always sell ESPP shares the day you leave). I empathize with my many pals who work for both companies — however you feel about the takeover, it sucks having to go to work every day under a cloud of uncertainty.

But as someone who has also made his living on the Microsoft platform for years, I feel like I’m in a position to think about what Microsoft — the company that has been desperately casting about for a cogent internet strategy since 1995 — might do next.

When I was at the Web 2.0 Expo week before last, I was talking to a guy who asked me what I thought of the show. I told him I was disappointed — there were a lot of companies who were working on “me-too” social networking products, and a lot of old school companies that really had no business being there (Disney, Oracle). But I didn’t see anything really exciting or disruptive. I told the guy that I had yet to see the next company that was going to put 100,000 people out of work. What I meant was that I didn’t see anything industry-changing.

The ultimate type of business disruption — and the one that is ultimately the most difficult to achieve — is to disrupt yourself. I’ve said for a while that one of the reasons why Microsoft has failed to build a compelling network of web properties is because they are afraid of disrupting themselves. If you want to make a great leap, you can’t serve two masters — and in Microsoft’s case, they’re serving both the Windows master and the Office master. It’s pretty obvious that this is the case when you pay attention to Microsoft’s words and deeds — calling your maps product “Windows Live Local” probably isn’t the most egregious example, but to me it’s a clear sign that whoever named this thing isn’t really thinking about kicking ass, they’re worried about not upending the status quo.

Well, sorry guys. The web will continue to be about upending the status quo for some time to come. You can either play it safe and be upended, or be the one doing the upending. For companies like Microsoft and Yahoo!, there’s really no middle ground.

At the same time, many people in the past few years have said that the “nuclear winter” atmosphere for technology IPOs can’t last forever, that there should be some alternative for web startups short of an IPO. Some people have referred to this as the “rollup” — one well-heeled company that would go around developing products, or acquiring companies as needed, much in the way that Cisco used to do.

Microsoft should create a company to do this. A new company — an independent subsidiary — not beholden to anyone in Redmond. This company would have the mandate to acquire and create great web properties that people actually want to use and that will make money. No one inside Microsoft would have day-to-day control or authority over this company (aside from the sort of high-level oversight that you’d expect from a board of directors).

The new company would have to be based in Silicon Valley. It would have to reward its employees with equity that actually means something. The company must have the freedom to use the best technology to create the best solutions — and if that means Linux, or whatever, so be it. The new company should be permitted to do whatever it takes to attract talented workers from wherever it needs to — including poaching employees from Microsoft itself, if that made sense.

The new company would have an opportunity to throw off all kinds of bad habits, not only those practiced by Microsoft, but by large and small internet companies everywhere. Experiment with new ways of selling software online (not just licensing, and not necessarily advertising-driven). Put in the effort to make everything you do accessible from any mobile phone on the day it’s launched. Support stuff like OpenID and give users the freedom to add and move their data around freely. Dare to release a new product each month (as my team did when we were at Yahoo) and let the marketing and PR people catch up with you if they can. Reinvent web email in a way that makes Gmail look like a childish joke. Dare to sell products that will sell 1 million copies at $20 each instead of products that will sell 1,000 copies at $2,000 each. Provide standard APIs and interoperate with competitors’ products — not just as a way to kill them, but in a way that serves the ultimate interests of users.

Because that’s really what this is about — realizing that your customer is not the IT manager of a medium-sized midwestern insurance company, but the 120 employees of that company. Forgetting the user in favor of the IT manager (or your competitors) is why most users hate most enterprise software; I assert that it’s also why a lot of people have been frustrated by Microsoft today.

A big part of this would also be staffing the right people into the right roles. Microsoft’s geographical location (i.e., far away) and its historic resistance to hiring senior people from the outside (i.e., people with experience running large internet properties) act like a giant anti-talent force field; the new company would not have that problem. People would want to work for this company for the same reasons they wanted to work for Microsoft in the 80s and 90s — to get amazing things done and to have an impact.

My intuition has always been that Microsoft should have created this company ten years ago, and that they might have actually done so if they weren’t in the middle of some fairly profound legal problems. But Microsoft should not let its antitrust problems of the past prevent it from doing this. Just because the federal government tried to break up Microsoft in the past does not mean that spinning out an independent web subsidiary is a bad idea today.

Creating a new and independent web product organization could finally put Microsoft on the map with respect to the internet. It would take a few years, but it sure as heck wouldn’t cost them $45 billion.

Update: In an interview yesterday, Bill Gates said that Microsoft won’t be pursuing any new acquisitions to make up for not closing the Yahoo deal. He also said “now at this point, Microsoft is focused on its independent strategy.” Wait a minute: Microsoft has a strategy? When did this happen?

“Microsoft could keep XP if customers want it”

Link: Microsoft could keep XP if customers want it: CEO

Setting aside the absurdity of the headline (last time I checked pretty much every company is in business to sell customers stuff they actually want), this would seem to be the strongest indication yet that Vista is becoming an evolutionary dead end, and that Microsoft will take another crack at this with the release of Windows 7. I don’t feel, as Gartner analysts recently stated, that “Windows is Collapsing” — after all, the Roman Empire took hundreds of years to collapse after it became moribund. But it’s clear to me that the part of the Windows franchise known as Vista is already finished.

If Windows 7 appears in 2009, as Bill Gates suggested, the OS franchise might be preserved and Microsoft might be able to end-of-life XP. But does anybody really expect that Microsoft will be able to deliver a new version of the operating system within a year? Didn’t think so. Microsoft will have to extend support for XP until Windows 7 is in its first service pack, probably in 2010 or later. (The operating system should be stable enough to plug into a space probe in time to send Roy Scheider to Jupiter.)

Back when Vista was first released, I was talking to a guy who worked in corporate strategy for one of the companies I’d done some work for. He said that they were projecting that 2009 would be the year when Vista would reach its tipping point, when more than 50% of IT managers would be either evaluating or deploying it. I told him that it would be 2009 before most IT managers would even start evaluating Vista. And now it seems that even that estimate was conservative — if Windows 7 goes into beta next year and it sucks even a little bit less than Vista, IT evaluations of Vista will be a waste of time and most corporate IT managers will just skip it.

Our home/office LAN, which at one point boasted as many as six Windows desktop and server machines, is now down to one dedicated Windows machine. (This machine runs Windows XP and will never not run Windows XP.) These days, that machine is used almost exclusively for gaming and media storage. Our laptops are all Macs now, and I’ve switched to an iMac (the best desktop machine I’ve ever owned) as my daily work machine in the home office. When I need to use Windows, it’s Windows Server 2003 running in a virtual machine on the Mac. I’m sure that our situation isn’t typical, but as a guy who built his career on Microsoft technology and is now spending the majority of his time on Linux and the Mac, it’s safe to say that I’m a bellwether at least.

Death to Developer Contests

Over on his blog Microsoft’s Dan Fernandez courageously decries the frequent use of developer contests to engage developers and increase momentum for platform adoption. He counted up the number of contests Microsoft is running at the moment: it’s 18. Eighteen different ways to win cash and prizes for doing stuff with various Microsoft products.

Dan thinks this is over the top and I totally agree. When I ran the evangelism team at eBay I resisted the urge to do developer contests for the reasons Dan points out, and when I ran the Yahoo program we didn’t do any; we were more concerned with giving back to the entire community by devoting our very limited time and resources to making new products happen for developers.

Contests are like steroids for platforms. They may pump you up in the short term, but they don’t actually grow the ecosystem. Contests don’t kick off interesting and useful conversations about your platform because they put your developers in competition with each other. More importantly, contests detract resources and focus from where they’re needed.

Throughout the history of American business, the worth of marketers has been measured by the size of the marketing budget (as opposed to the results they might bring to the business). But in a world in which no platform in history has ever provided good enough documentation or code examples for its developers, there’s no excuse to do a single contest.

Creating Facebook Apps Using ASP.NET at VSLive San Francisco

The VSLive conference is an excellent place to become familiar with the latest and greatest technologies for Microsoft platform development. I started speaking at VSLive in 1996 which makes it one of the oldest things I do on a regular basis besides eating/breathing/excreting. VSLive takes place in San Francisco March 30 through April 3.

I am extra excited this year because for the first time in a long time they’ve given me three talks to do, but more importantly, the talks are all on subjects that are fairly out there at least by this conference’s standards (the old management used to be extremely conservative about what you could and couldn’t give talks about). The conference has definitely found an independent editorial voice under its new management and as a result, the talks that I was sure would get laughed off the playground are actually getting accepted.

The Facebook talk was the most challenging to put together and promises to be the most fun. Facebook’s platform is a new, evolving and fairly unusual paradigm for application development — it has some of the elements of traditional web development with a few curve balls that make it feel almost like embedded systems development at times. And since Facebook’s support for PHP is sorta-okay and their support for other languages is not-terrific, things can go from bad to worse for .NET developers who want to create Facebook apps. (It’s surprising that Microsoft doesn’t do much to fill the gap here since they own 11% of Facebook now, but that shouldn’t stop an ambitious hacker from making good software, right?)

You may not want to go to the trouble of learning PHP just to create a Facebook app (although I’m actually doing just that), so I’ve put together some recipes that make it easier to navigate the landscape of Facebook application development in .NET, so that’ll be the focus of my first VSLive talk.

Bonus: If you haven’t registered yet, the good folks at the conference also gave me a promotion code that you can use to save $695 off a Gold Passport for the conference. Use the code SPMCM when you register to get the discount.

Nonsensical NY Times Story on MSFT/YHOO Integration

To hear the New York Times’ John Markoff and Matt Richtel describe it in their largely fact-free story on the technical integration that Yahoo! and Microsoft will need to do if the merger goes through, you’d think that a Yahoo-Microsoft integration will amount to a cleaning of the Aegean stables.

The writers did take the time to interview someone who did a Unix-to-Microsoft port of a web site after it was purchased by Microsoft, but that port was done eight years ago. And this wasn’t Microsoft’s 1998 Hotmail acquisition (which some people consider to be the gold standard for Microsoft cocking up an acquisition of a *nix-based web property).

So the question is, from a technical integration perspective, could things have possibly changed in the past eight to ten years?

Well, of course they have. The one guy with direct knowledge that Markoff and Richtel interviewed (who now works for O’Reilly and should really know better) was probably migrating from Solaris to some version of Windows NT. One could imagine that LAMP as we know it today was not in the picture. And there are a broad spectrum of software engineering best practices that were not in place back then which go unmentioned in the article.

So ultimately, the piece leaves out several key facts that almost completely scuttle their thesis:

  1. Microsoft has worked with Zend to make PHP run well on Windows Server. In my February 1 post on the merger, I theorized that Microsoft did the Zend deal specifically to make it easier for them to digest companies (like Yahoo!) that extensively utilize PHP. The Markoff/Richtel piece does not mention the Microsoft/Zend deal at all. It does mention that PHP’s inventor works for Yahoo, but it’s a fact that Zend contributes far more to the language today and this has been the case for many years. At any rate, a reader of the Markoff piece could come away with the impression that PHP doesn’t run on windows at all, which is totally bogus.
  2. The hellacious Unix-to-Windows migrations of the late 1990s often hinged on the ability to get Oracle running on Windows, which was a big challenge then and remains a challenge today. But Yahoo uses very little Oracle in its customer-facing properties; the big database in use there is MySQL, which runs quite well on Windows today. I wouldn’t guess that Microsoft would migrate MySQL-on-FreeBSD to MySQL-on-Windows, but they could do it as an intermediate step if they wanted to get a merged Yahoo! running on Windows. But there is no mention of databases at all in the Markoff piece.
  3. FreeBSD, while prevalent at Yahoo!, is not actually the operating system that most companies in Silicon Valley (or anywhere) use. I’ve heard more than one Yahoo! engineer state that the company’s choice of that operating system is a hindrance for a number of reasons. Migrating to Anything But FreeBSD (whether it’s Linux, Windows Server, or Solaris) will have several key benefits — not the least of which being the fact that very few recent college grads are learning FreeBSD today. Another implication for this is that when Yahoo! acquires a company, they acquire that company’s operating system choice as well (all the company’s recent acquisitions, including Flickr, run on Linux, not FreeBSD).
  4. Both Yahoo! and Microsoft have made extensive investments in XML web services, both inside and outside the firewall, which should ease technical integration somewhat. You may recall that XML web services were considered cutting-edge and exotic in 1999. There is no mention of web services in the Markoff piece.
  5. The Windows Server that Microsoft sells today is not the piece o’ crap that Windows NT circa 1999 was. Period. The fact that Microsoft’s server technologies no longer suck is key, but it’s not mentioned in the Markoff piece.
  6. Probably the most ill-informed assertion is that Yahoo! is totally open source or that Microsoft is totally proprietary — or that either of these things would matter on a technical integration level even if they were completely true. But let’s imagine for a moment that someone needed to hack at the kernel of Windows Server to perform some Yahoo!/Microsoft integration task (which seems far-fetched, but let’s just imagine). Are we really to think that getting access to that code would be a deal-killing problem?

Make Windows Server’s Licencing Virtualizable

I’ve been doing a lot of work lately on behalf of clients who are looking to deploy applications to virtual data centers. When I first started working as a technology consultant in the ’90s, it was a given that if you wanted to have a web application, you had to buy a bunch of servers and rent out a cabinet in a data center somewhere. Now the notion of spending all that money on hardware that will go obsolete in a few years seems like insanity most of the time (particularly when the size of the audience for your application is completely unknown). When I first started a hosted web service in 1999 people judged us by how many servers my company owned. Now when I tell them “we don’t own any servers at all” they nod knowingly.

It’s great that we have more cost-efficient virtualization options today than we had ten years ago. Unfortunately, though, virtualization is a disruptive technology, which means that there are incumbents (including hardware and software vendors) who are digging in rather than adapting their technology and business models to the new realities of the marketplace. If the economy of 2008 dictates that IT managers put more emphasis on cost-containment as they did in the recession of the early 1990s, the pressure to do more with virtualization will only increase.

Microsoft in particular is far behind the curve on virtualization — maybe not with respect to its own virtualization products, but with respect to its one-CPU/one-license business model for its software products and operating systems. Rather than seeing virtualization as an opportunity to charge a lucrative toll for dialtone computing, Microsoft’s first response was to make their license terms more restrictive (by preventing users from deploying Windows Vista to desktop virtual machines unless they pay for the bloated, expensive version). I know that they’ve relaxed this restriction for Vista in the last year, but that doesn’t matter to me since Vista will not likely touch any computer I own for at least a year or two, if ever. (When I do my own development work today or do .NET demos at VSLive, I run Windows Server 2003 in a virtual machine under Parallels on my Mac.)

But the desktop is neither here nor there. I’m more concerned about the way that Microsoft is missing the boat with respect to server licensing. They are getting their butts kicked by LAMP, particularly here in Silicon Valley, but also internationally, and their poor virtualization story is a big reason for this.

We’re currently working on an out-of-band innovation project for one of the world’s largest companies. The company went with us specifically they wanted an outsider’s perspective on what they wanted to do — but also because they didn’t want to deal with a bunch of bureaucracy and institutional hurdles to shipping the application.

We could have written the application in .NET (which I am a world-renowned expert with) or in PHP (which I am just now coming up to speed on). Paying for Windows Server licenses would not have been an issue for this client. So given that, you’d think that that free operating system would be at a huge disadvantage (particularly since the developer who’s going to write this application is operating outside of his area of expertise).

But we came to the conclusion that it would be more efficacious to write and deploy the application using Ubuntu and LAMP mainly because the story with Windows virtualization is so totally ridiculous. After looking around, it does not appear that there is a product out there that supports Windows Server on a virtualized basis in a manner similar to Amazon EC2 (giving us the ability to spin up many instances of a cloned server configuration quickly) or Slicehost (which also provides virtual hosting based on several different Linux operating system configurations at low cost — less than EC2, actually — and can spin up a new server instance within a minute or two).

None of these hosting options really work with Windows because of Windows’ licensing model.

What would Windows support for an EC2-style virtualization product look like? Microsoft would provide a preconfigured machine image of Windows Server for use on EC2. Users would be able to spin up one or more instances of the server in less than a minute (no waiting for 40 minutes for the operating system to copy its files onto the virtual machine and no running Windows Update five times with a reboot each time). Just providing something like that would be a huge benefit in and of itself.

But — and this is the important part — you’d be able to pay for your operating system license by the minute instead of by the CPU. If you do the math on this (a $400 license for the web server edition of the Windows Server OS, divided by 8,760 hours in a year, factoring in the expected period of amortization for an operating system product which is three to five years), it should be possible for Microsoft to offer a bare-bones utility computing edition of Windows Server through Amazon EC2 for no more than one or two cents an hour. If users wanted other stuff (like a version of SQL Server that doesn’t artificially throttle the amount of memory you can utilize), you could pay another few cents per hour. (Or you could just run MySQL which works quite well on Windows.)

I should reiterate that this is not a matter of “your operating system costs money” versus “their operating system costs nothing”. Businesses are always willing to pay more when the value is there. This is really a matter of who is more of a pain in the ass to do business with. Or not do business with, as the case may be.

Update: Read/Write Web suggested that Microsoft is at work on their own utility computing initiative, called Red Dog. I have high hopes, but my expectation is that it will be similar to Microsoft’s other online offerings — 80% of the feature set that people need combined with enough franchise-protecting restrictions that it won’t be a serious threat to EC2. It would be much easier to buy in to the whole thing if Microsoft just found a way to virtualize their software licensing and left the hosting to others.

More Thoughts on YHOO/MSFT

  1. Zend and Microsoft have done a lot of work in the last year to make PHP run well on Windows. I never understood why Microsoft devoted resources to that, but now it is clear: it’s going to make technical integration between the two organizations go much more smoothly.
  2. This will hopefully be the death knell of the awful “Windows Live” branding for consumer web stuff.
  3. Maybe now somebody will release a .NET OpenID 2.0 library that actually works.
  4. Big losers here from a tech supplier perspective: FreeBSD and MySQL.
  5. Another potential big loser is Adobe; having a gigantic global audience will help with adoption of Microsoft’s various Adobe-killing initiatives like Silverlight, which would never otherwise have penetrated the consumer web without a large built-in audience like Yahoo’s.

Yahoo’s Last Chapter

My wife (who, like me, used to work for Yahoo!) rolled her eyes this morning when I told her about the Microsoft offer. We used to excitedly hear rumors of this kind of thing every three to six months but they were only rumors. Now it’s the real deal, and I have to say, I’m excited (and not just because of the 48% bump in YHOO this morning on the news).

I think this is a good thing for both companies. It will be a good thing for most of the people within Yahoo! who are left after the two businesses combine, although one would be naive to think that a lot of people aren’t going to lose their jobs because of this. But we knew that there was going to be a big restructuring anyway; my sense is that the Microsoft-led post-acquisition restructuring may cut deeper but may wind up with a better, more focused organization in the long term. My guess is that the Jerry Yang restructuring was going to nip and tuck at underperforming sales and marketing people; I assume that the Steve Ballmer reorganization will take aim at underperforming managers, too.

I think there are things in each companies’ DNA that the other company lacks. Microsoft was always skittish about having a meaningful physical presence in Silicon Valley and they are utterly clueless about how to do consumer Internet; that could end here with the stroke of a pen. For its part, Yahoo always paid lip service to transforming itself into a platform but could never devote the resources to making it happen.

Anytime the Microsoft rumor started up around Yahoo!, you’d hear embittered griping by people (mostly engineers who had been with the company for more than a few years) who’d say they’d never in a million years go to work for the evil Microsoft. They now have the chance to put their money where their mouth is, but I suspect that the people who haven’t left already will stick around for a while. It’s really not worth quitting your job because someone is trying to separate you from your beloved FreeBSD.

Update: Over breakfast we were wondering whether another prospective suitor might step in to bid against Microsoft. Google probably wouldn’t for a couple reasons, not the least of which being that they may have just sunk $4.6 billion into wireless spectrum. On his blog, Fred Wilson theorizes maybe News Corp. but probably not, and since there’s a credit crunch on, he doesn’t see anyone else stepping up.