Showing posts with label Vista. Show all posts
Showing posts with label Vista. Show all posts

Thursday, August 30, 2007

Again, missing the point on Vista

Larry Dignan, in his blog over on ZDNet, is continuing to miss the point on what's really wrong with Vista.

Microsoft's announcement that it is preparing a Vista Service Pack 1 beta in two weeks is curious on many levels. Although Microsoft delivers improvements via service packs I can't help but consider Vista SP1 a do-over.

He goes on to explain that most of what's supposedly coming in SP1 should already have been in the base OS, and that it's fundamentally "an indictment of Vista 1.0".

I can't complain about a new service pack for Vista (though I could certainly complain about the fact that it's about six months later than it should have been). And like everyone else, I really do wish that Vista was more stable out of the box, and had fewer compatibility issues.

But the real problem with Vista isn't its mediocre stability or its broken compatibility with so many different devices and software packages. It's that as a user, you don't get enough in return for the underlying changes that broke compatibility and that decreased stability. All things considered, taking the good with the bad, Vista is arguably better than XP. But it's not enough better to make it interesting. It's mildly better. It has a couple of really stupid features, and half a dozen fairly nice ones.

But note carefully: it took the world's largest software company, and some thousand of the world's best developers, five years to release a slightly improved version of Microsoft's most important product.

That's as clear a signal of an impending "inflection point" as I've seen in my career. I'm not entirely clear yet on what it means, but there's no doubt that it means something big. The times, they are a changin'.

Monday, August 20, 2007

Whining about Vista

Over on ZDNet, Ed Bott has posted a defense of Vista that amounts to damnation by faint praise. He rightly points out that XP had roughly the same problems in its introduction that Vista is having right now: not enough drivers, buggy third-party drivers, minimal support-by-Google-query. I think he's missing the point, though. Vista was supposed to be better than XP, and as an operating system, it's nothing short of disappointing.

There are two things I actually like about Vista: integrated desktop search, and reasonably cool photo management. XP doesn't come out of the box with either of them, but MSN Desktop Search is a reasonable substitute for the former, and Picasa is a pretty good substitute for the latter. On the whole, I do prefer Vista to XP. But not much. A little. I suppose. So if Vista is a mildly improved OS, why did we have to wait five frigging years for it? Yes, I know that they rewrote the whole thing underneath. I'm very pleased. But it doesn't actually help me in any interesting way.

Like I said in an earlier post, MS needs to be careful. There's a real opportunity here for Linux here – and given the recent popularity of everything Apple, an even bigger opportunity for OSX.

And I'll be damned if my brother doesn't think the same thing. Scary, that.

Oh, and on a side note: my Pocket PC phone successfully synchronizes with my Vista desktop about 10% of the time. It's probably because all the relevant software is written by different companies that never talk to each other. (Hint #1: it's all written by Microsoft.) Or because it's a 1.0 release and MS hasn't had a chance to get everything figured out. (Hint #2: MS released the first version of ActiveSync eight years ago.) Or because Microsoft doesn't have enough resources to troubleshoot these sorts of problems. (Hint #3: MS has ~$50 billion in cash reserves.) Or because this isn't a very popular configuration. (Hint #4: Almost every professional I know has a Windows CE-based phone.)

Sigh.

Thursday, August 9, 2007

Open Vistas

I've been using Vista as my primary OS, and Office 2007 as my primary productivity suite, for over a year now. My initial take, after a month or so of exposure to the betas, was that MS had made a fairly serious strategic mistake with both of them. Over a year later, that first impression has settled into a firm conclusion.

I will say, there are things to like about both platforms. Vista's Aero interface has some nice eye candy. I like the built-in search, and its photo and multimedia organizing capabilities. Outlook 2007 has some nice UI tweaks. Word 2007's blog integration isn't perfect, but it's the best alternative to composing it all in HTML that I've found.

But these are minor pleasantries, and they come with some serious annoyances. Apart from being buggy, which is kinda expected, they both have significant performance problems. The graphing engine in Office 2007 makes some nice looking charts, but it's astonishingly slow. Chart-heavy spreadsheets that would refresh sub-second in Excel 2003 take 10-15 seconds to refresh in Excel 2007. Even after I've figured out where everything sits, I still hate the new ribbon interface. I'm a heavy keyboard user, and although you can still do most things through the keyboard, Office 2007 requires more keystrokes, and significant pauses between those keystrokes. I've got a dual proc, dual core Xeon desktop, and it still takes so long to refresh the ribbon on each keystroke that I could swear MS put the delays in on purpose.

With regard to Vista: I can't say enough how much I hate User Account Control. Yes, of course, I can turn it off – and I would, in a second, except that our software has to run well on Vista with the default settings. And of course, tons of software that I need to run still doesn't work right with Vista. It was only a couple days ago that I finally got my hands on a version of Cisco's VPN client that worked consistently. Zango's network team had to completely redo our wireless infrastructure to allow Vista laptops to connect. My PolyCom video-conferencing software still doesn't work right.

The biggest problem with Vista, though, is simply that it's underwhelming. From a user's perspective, there's a little bit to like about it, but nothing that makes it interesting or revolutionary. It's light years away from what MS originally promised. I've got it running here at work, but I can't figure out why I would spend the money to upgrade my home desktop.

I'm hearing pretty much the same thing from lots of different sources. I do know a few people who like the new ribbon interface – God help them. But I don't know anybody who's excited about Vista. I don't know anybody's who's purchased it, and trust me, I know lots of geeks of the must-have-it variety. Friends I've known for years, friends who upgrade automatically to the latest beta/service pack of anything, are still running XP. If this sample set is any indication, Vista inspires nothing so much as apathy. Nor does anybody seem to care about the next version of Windows. Why should we, if the delta between XP and Vista (three steps forward, two steps back) is any indication of what awaits us?

And here's where Microsoft's missteps might cost them. I've actually started getting interested in Linux. I've got Ubuntu running on a second desktop in my office, and when I replace my current home desktop, I'm planning to switch my old machine over to Linux as well. I've even been wondering about whether Macs might be any better. I'm not ready to make the switch yet, but you'd have to know me to understand just how revolutionary it is for me to be getting tired of Microsoft software.

It's worth nothing that I still don't think Linux is quite ready for mainstream use, even compared to Vista. Open Office is OK, but Evolution can't replace Outlook. (For starters: if it knows that an email has been deleted, why the **** does it still list for browsing? And why does it hang every time I try to delete an email from Exchange?) But the thing is, Linux doesn't have to be that good. For most purposes, honestly, it just has to be good enough to run FireFox and a mature version of Google Gears. With those two, and the services that Google already offers, I could get 90% of my daily work done, as easy or easier than with Vista.

And Microsoft definitely needs to be worried about that. I'm not switching, not yet. But the fact that one of their most loyal customers is thinking through what it would take to make that switch should make Microsoft very nervous indeed.

Monday, June 11, 2007

Release!

We've released!

Or at least, we've started to. When you've got millions of people installing your software each month (I'm not exaggerating), you take it slow. We've got good QA, and we've had an extended beta on this thing, but you still run into problems in the wild that you just can't encounter anywhere else. So we start off slow. We'll start by releasing it to a small subset of our Zango installs, let it run for a couple days, analyze the numbers, listen to customer feedback, and make sure that everything looks good. If there aren't any red flags, we'll release it to the rest of our new Zango installs; wait a while; analyze; and then start upgrading our existing audience, again starting small. And once we're finished with that: then we start over with our next brand (Hotbar), and rinse and repeat until they're all done. The process will probably take two months.

And of course, by that time, we hope to be well into coding 10.1. Now if I can just keep the feature set down to a 90-day dev cycle . . .

Sunday, June 10, 2007

Release?

Later this afternoon (Tel Aviv time), we're having our official go/no-go meeting for our 10.0 client, the first step in our unified branding strategy, and our first with Vista support. We thought we were going to release last week, but a couple show-stopper bugs reared their heads at the last minute. It only took a day to fix them, but then we had to run all our regression tests again; and then we hit the weekend. Uggh. With any luck, our QA folks won't have found any more P1 bugs over the weekend, and we'll be able to start releasing it. Probably nobody else is as excited about this as I am, but after seven months, I'm very excited (or at least relieved) to see it shipping at last. More when I know more.

Wednesday, June 6, 2007

Vista Support

Supporting Vista has been a pain in the royal ass.

Version 10.0 of Zango's toolbar and advertising client is due out next week.  Our dev teams in Bellevue, Montreal and Tel Aviv have been working on this release since last November, and by far the biggest headache in the entire dev schedule has been supporting Vista.  These days, Vista users make up about 5% of the folks coming to Zango.com.  That's not a huge number, but because we can't support them, it doesn't take a math genius to figure out that we're leaving money on the table.  So we're rushing to get them support as quick as humanly possible.

 Now, of course, we've all known that Vista was coming for a long time, and if you cared to make the argument that, really, we should have been ready back in January when Vista shipped, I'd have to agree with you.  There are three main reasons why it's taken us this long.

  1. We got started too late.  At some level, this was intentional: from last June through November, our client dev team was focused like a laser on integrating the different Hotbar and Zango product offerings in a way that would actually make us some money – and I'm proud to say that we succeeded nobly.  But it left us rather behind on our roadmap.
  2. It was harder than we thought.  Nobody on our team had ever supported Vista before, so nobody had the slightest clue how difficult it would be.  (Is it bigger than a bread box?)  It shouldn't be any big surprise to learn that our estimates were fairly optimistic.  Back in November, we thought we had a reasonable chance of rolling this thing out in February or March.
  3. We threw too much in.  We couldn't quite stand the thought of waiting four months without any user-oriented features, so we decided to add the ability to cross-promote content across our brands.  That may have been the right call, but it added another two months to a project that was already larger than it should have been. 

So why has Vista support been such a pain?  The biggest problems, and the most headaches, have resulted from the new security model. In Vista, each process gets launched with either a "High", "Medium" or "Low" level of protection.  By default, unless you turn off User Account Control, all processes are launched at the "Medium" level of protection.  But because IE has been subject to any number of severe security holes over the years, and because Microsoft apparently doesn't think that will go away anytime soon, IE (by default) will run in "Protected Mode" for any URL from the Internet zone.  Microsoft has a fairly detailed discussion of Protected Mode here.

Here's just one example of why this is such a pain.  Long ago we architected our search assistant to run in its own process.  This master process (ZangoSA.exe) communicates with a DLL loaded in IE, and periodically uses the IE COM interface to launch ads in new instances of the browser, sized and positioned correctly.   The problem is that on Vista, ZangoSA.exe runs – and necessarily runs – at a medium integrity level. And because IE's Web Browser object is an activate-as-activator object, the browsers ZangoSA.exe creates with CoCreateInstance() also run at medium integrity. When a browser created this way navigates, and figures out that it should be running in Protected Mode (but it isn't), it hands the navigation operation to an instance of IE that is running in Protected Mode – creating such an instance if one doesn't already exist. At this point control over the navigating browser is lost.  No, honestly, this is how it "works".

Fine, we thought: we'll just create the browser in Protected Mode to begin with, there will be no need for the aforementioned bait-and-switch, and the problem will be solved. Well after scouring the posts on MSDN and working with Microsoft we discovered that starting IE in Protected Mode via CoCreateInstance() isn't possible today. You can start IE running as a low integrity process this way, but IE running with low integrity and IE running in Protected Mode are not the same thing: even a low integrity instance of IE does the bait-and-switch to an instance in Protected Mode.

Suffice to say, the good folks at Microsoft hadn't precisely thought this one through.  Sigh. (I recently wrote about the dangers of feeling self-righteous.  All that applies here.) They swear that it'll get fixed in the next release of IE – an assurance which isn't as helpful as you might think.  We came up with a workaround eventually (IELaunchURL()), but it's ugly, shows a nasty flash of IE before resizing it, and in general doesn't behave like we'd want.  We'll keep looking for a better solution, but we're going with this one for right now.

So: I was able to explain the above in about three paragraphs.  But figuring this out – and figuring out that there wasn't any solution down this path – took the better part of a month.  And when you add in all the other security issues (typically, bizarre IE dialog boxes offered up in strange situations, sometimes reproducible, sometimes not), and all the code that suddenly crashes under Vista that never crashed before, or breaks due to the new security model . . . and that's at least two months out of our seven month project.

A part of me understands why Microsoft made the changes that it made in Vista.  But a heads up to anyone else out there: supporting Vista isn't like moving from Windows 2000 to Windows XP.  This is a new OS, from the ground up, and the fact that it uses what looks on the surface like the same API shouldn't fool you.  Vista represents a change at least as substantial as when MS moved from Windows 3.1 to Windows NT, and you should expect a similar level of compatibility issues.

The good news is that we're now at release candidate status.  Unless we find something else substantial over the weekend, we'll be releasing next week.