Category Archives: windows

The psychic powers of the man from Mozilla

I spoke to Dean Hachamovitch, General Manager of the Internet Explorer team at Microsoft, and used some of his comments in a piece for Guardian Technology. I’m pondering putting the whole transcript online.

One of the topics was whether Internet Explorer will ever support ECMAScript 4.0 (aka JavaScript 2), which has been a contentious subject. For the sake of balance I also spoke to Mike Schroepfer, VP of engineering at Mozilla, who was also at Mix08. I told Schroepfer that I’d spoken to Hachamovitch and that he had said he could not commit to ES 4.0 when it was not yet finalized. Schroepfer then said:

…but what he didn’t say was, we’re actively working on it, we’re excited about it, we hope when it’s finished we will implement something in the future. He didn’t even go anywhere near that. He gave you a correct and politically astute answer.

Schroepfer was spot-on and I was impressed by his psychic powers, since he had not been present when I spoke to Hachamovitch. Microsoft has lots of experience in implementing languages with features similar to ES 4.0 and it seems to me that its reluctance to embrace it must be for strategic rather than technical reasons.

Technorati tags: , , , ,

Beck on Agile: it’s all about the team

Kent Beck is really a relationship consultant, or should that be counsellor? This is not a bad thing. Beck gave a keynote this morning here at Qcon and talked a bit about techie topics like frequent deployment (he claims that Flickr deploys every half an hour) and creating more tests more often, but the main focus of his talk is relationships within the development team and between the team and the business people (if they regard themselves as separate).

Beck says that the ubiquity of computing is changing the typical characteristics of a programmer. When only geeks had computers, programmers were inevitably geeky – and for whatever reason, that often meant something of a social misfit. Today everyone grows up with computers, which he says makes programming more accessible to non-geeks, who have better social skills.

Reflecting on this, I’m not quite convinced. Yes, everyone grows up with computers, but few have any inclination to understand how they work. A nation of car-drivers does not make a nation of engineers.

Still, that doesn’t affect his main point, which is that characteristics like trustworthiness, transparency, honesty, accountability, and the ability to get on well with others, are critical to successful development:

I focus on what developers can do to have better social skills and be better business partners.

In an aside on accountability, Beck makes a point about Windows and the “beginning of the end of the Microsoft monopoly.” He says that people are realising that they don’t have to put up with computers that are unreliable or require frequent restarts:

How many hours are spent worldwide waiting for Windows to restart, do the maths. Software needs to be effective and needs to work; increasingly there are alternatives.

Windows can work pretty well in the right circumstances; but it’s a fair point nonetheless. I recall the effort it took to set up a laptop recently. Microsoft’s fault, or third-party problems? Both; but the user doesn’t care whose fault it is, but only wants a better experience.

Incidentally, the team theme came up again when Peter Goodliffe spoke on good and bad application design. He observed that bad design is damaging to teams; uncertainty about what the code does or where new code should go stresses relationships, and working with a bad design damages morale. My reflection was that the team is primary, not the design. A bad team will never come up with a good design. A good team could still find itself working with a bad design though, so focus on design is never wasted.

Mix08 is all online

Microsoft has put the sessions from Mix08 online. You can stream them with Silverlight, or hit the download button to save them in WMV or MP4 (“for iPod”). The quality of the sessions I’ve attended or watched was uniformly high, so I recommend these if you have any interest in Microsoft’s web development plans. In particular, the sessions on IE8 and Silverlight deliver lots of new information.

Technorati tags: ,

Help! My app only works maximized

A built-in feature of Windows Forms applications is that the main window remembers its size and position. Normally this is an OK feature. If you had your app sized small and in the bottom left of the screen last time you used it, it opens at the same place next time.

Unfortunately, perhaps because of a bug somewhere in Windows or somewhere in Windows Forms, this can go wrong. What happens is that somehow your app saves negative position coordinates and in effect disappears. The application icon appears on the taskbar, but if you click on it the app still doesn’t appear. The workaround is to right-click the taskbar icon and choose Maximize. Then the app appears full-screen. However, you can’t resize a maximized app, and when you hit “Restore down”, your app disappears again.

One possibility is to figure out where the app writes its old position. Somewhere in the registry, or in an XML config file somewhere? You tell me. So here’s another workaround. Display the app normally, so you can’t see it but it isn’t actually minimized. At this point, the focus is on the app. Hit Alt+Spacebar to display the window menu. Because of some quirk in Windows, this seems to appear on the visible screen, even if the rest of the app does not. Now press M for “Move”, hold the left mouse button down, and drag the app to where you can see it. Sounds strange? Sure, but it worked for me. Thank goodness for keyboard shortcuts.

Mix08: Rich Internet the Microsoft way

I’ve just registered here at Microsoft’s Mix08 conference in Las Vegas. I’ve heard a lot from Adobe recently, with Adobe AIR just launched, so this is a great opportunity to get Microsoft’s angle on the Rich Internet Application concept. Silverlight 2.0 will be prominent, as will Internet Explorer 8. I asked a developer on the plane what he likes about Silverlight compared to Flash. He told me that it is much easier to create Silverlight content dynamically at runtime, thanks to XAML. Silverlight renders XAML, whereas Flex compiles MXML – a significant difference.

In the Mix “Sandbox” lounge I got my first glimpse of Microsoft surface, which looks compelling. I hope to have  a better play later.

This evening O’Reilly is launching a new book by Christian Lenz called Essential Silverlight 2 Up-to-date. It is a new concept from O’Reilly, using a kind of ring binder (not actually a ring, but you know the kind of thing). The book which I saw is 50% blank pages; but the idea is that you will be able to receive or download additional pages and insert them into the book to keep it up-to-date. Not a new concept, but still an interesting attempt to address the problem of technical books quickly becoming out-of-date. It is particularly suitable for Silverlight 2.0 which is not done yet. At the same time, I can imagine this being a considerable hassle, and pages bound like this don’t turn quite as easily. I hope to review the book in due course.

It turns out that the Venetian Hotel and Casino, where Mix takes place, is a Microsoft customer. How do I know? Well, many of the rooms sport screens over the door advertising various hotel attractions, and I spotted one that has a distinctive Microsoft flavour.

Which goes to show that wherever you are in the world, you are never more than 12 screens from a Windows error message.

If you’re at Mix and would like to chat, by all means get in touch.

Microsoft’s Vista Capable campaign: where it all went wrong

A series of remarkable internal emails have been made public as a result of the class action lawsuit against Microsoft for its “Vista capable” marketing campaign in the second half of 2006. In essence, the claim is that many of these PCs were not really Vista-compatible, because they could only run Vista Basic, and not Vista’s distinctive Aero graphics.

This is not just about eye candy. See Microsoft’s Greg Schechter’s explanation of Vista’s Desktop Window Manager, part of Aero:

The primary takeaway for desktop composition:  the way an application gets pixels on the screen has fundamentally changed.

It’s fair to say that missing out on Aero means missing out on a core feature of Vista.

Todd Bishop’s Microsoft blog has more details on the case, including a large PDF document showing internal correspondence from Microsoft and its partners, giving insight into how the Vista Capable campaign evolved.

The problem was that Microsoft allowed machines to carry the “Vista Capable” sticker even if they were not able to run Aero. An email from Microsoft’s Ken Goetsch:

We have removed the technical requirement that a Windows Vista Capable PC contains a Graphics Processor Unit (GPU) that supports the Windows Display Driver Model (WDDM), formerly known as the Longhorn Display Driver Model.

Other correspondence in the PDF shows that many at Microsoft were uneasy with this decision; however it was apparently done to help out Intel. Here’s an internal email from John Kalkman, dated February 26 2007::

In the end, we lowered the requirement to help Intel make their quarterly earnings so they could continue to sell motherboards with 915 graphics embedded. This in turn did two things: 1. Decreased focus of OEMs planning and shipping higher-end graphics for Vista ready programs and 2. Reduced the focus by IHVs to ready great WHQL qualified graphics drivers. We can see this today with Intel’s inability to ship a compelling full featured 945 graphics driver for Windows Vista.

Later he says:

It was a mistake on our part to change the original graphics requirements. This created confusion in the industry on how important the aspect of visual computing would play as a feature set to new Windows Vista upgraders.

Now I know why I have over two hundred comments to my January 2007 post, Vista display driver takes a break. My laptop, a Toshiba Portege M400, has the 945 chipset. I bought it specifically to run Vista, towards the end of 2006; and yes, it has a “Windows Vista Capable” sticker. The early Vista graphics drivers were indeed faulty, though in my case a February 2007 update pretty much fixed the problems. I was lucky it did not have a 915 chipset.

How did all this mess come about? The heart of the problem seems to be the infamous Vista reset in 2004, when a ton of work on Longhorn was scrapped, and work resumed based on the Windows 2003 codebase. This was almost certainly a good decision (or the least-bad one possible); but the consequence was that Vista was very late. Another reason was the huge effort put into Windows XP SP2; and the reason for that was the number of desperate security problems in Windows XP.

So Vista was late, and in consequence was rushed. In addition, PC sales were sagging because XP was old and people were waiting for Vista (or switching to Macs), so Intel had overstock. All the pieces were now in place for a Vista-capable sticker whose meaning was not what most people would expect.

Embarrassing for Microsoft. It is better to be transparent even with bad news like, “Your PC will never run Vista properly”, rather than fudge the issue. The episode also illustrates one of the downsides of working with multiple hardware partners, rather than keeping both hardware and software in-house as Apple does.

Technorati tags: , ,

Silverlight steals the show at Microsoft’s UK Heroes launch

I attended Microsoft’s “Heroes Happen Here” launch in London yesterday, which overlapped the US launch presented by CEO Steve Ballmer. The launch is for Visual Studio 2008, Windows Server 2008, and SQL Server 2008, though these products are in varying degrees of readiness.

The event was marred by excessive reliance on buzzwords like “Dynamic IT” – someone should tell Microsoft that phrases like this, or “People Ready” which was used for the Vista launch, have no meaning. Dr Andrew Hopkirk from UK’s National Computing Centre enthused about the general benefits of virtualization, which led to a comical moment later. I asked one of Hopkirk’s colleagues what the NCC thought about Microsoft’s Hyper-V or other virtualization technologies. “Oh, we haven’t evaluated it,” he said. “Most people use VMware and they love it”.

I hate to be disloyal, but the US event which was relayed by satellite, and which hardly any of the UK journalists watched, was more up my street. Ballmer didn’t shout too much, and I liked the drilldowns into specific features of the three products.

Still, after several dry presentations the UK event brightened up when Paul Curtis from EasyJet, a UK budget airline, showed us a proof-of-concept Silverlight application which the company plans to implement on its web site towards the end of this year. We saw an attractive Rich Internet Application which was a mash-up of flight routes and fares, Microsoft Virtual Earth, and reviews from TripAdvisor. Here’s a blurry snap of how you might book a hotel in Barcelona. It’s a compelling visual UI which of course reminded me of similar things I’ve seen implemented with Adobe’s Flash and Flex. Behind the scenes the app will use Server 2008, IIS 7.0, and a SQL Server 2008 Data Warehouse, so this is the perfect case study.

I wanted to ask Curtis whether he was happy with Silverlight’s cross-platform capabilities, and why he was using Silverlight in preference to Flash. However, his bio states that he is a member of the Windows Live Special Interest Group and on the Microsoft Architect Council, so I suspect the answer would be, “it’s what we know.” It does support my impression that despite the rise of Flash, there is still a place for Silverlight within the large Microsoft platform community.

Finally, there was brief mention of high take-up for Microsoft Softgrid, which is described as “application virtualization”. I’ve made this the subject of a separate post.

PS: I met blogger Mark Wilson at the event; he has a more detailed write-up.

Trolltech says Qt for Windows CE coming in May

Trolltech has announced Windows CE support in the 4.4 release of Qt, its cross-platform development framework. A pre-release is already available. Qt already supports desktop Windows, Linux, and Mac OS X, so this plugs a significant gap. Features include SVG (Scalable Vector Graphics) and OpenGL. It’s good to see this going ahead  despite Nokia’s acquisition of Trolltech, which is set to be completed in the second quarter of 2008. Nokia is committed to a couple of rival embedded operating systems, Linux and Symbian.

What about Qt for Symbian then? There are hints that it will happen. Then again, perhaps Nokia will increase its focus on Linux?

Technorati tags: , , ,

Fixing Windows Media Player after a system upgrade

A while back I upgraded my motherboard. Windows Media Player seemed fine – in fact, it works quite a bit better with the faster CPU – until today, when it started crashing shortly after starting. The faulting module was Indiv01.key.

The solution is in this thread. On Vista, what you have to do is to delete the contents of the folder C:\ProgramData\Microsoft\Windows\DRM (not the folder itself). Note that this folder is invisible by default. In Explorer – Folder Options – View, you have to check Show hidden files and folders, and uncheck Hide protected operating system files.

Observe the caveat:

Note that anything recorded on the old system that is DRM protected will not be playable after this procedure.

I recall doing something similar to get BBC iPlayer (download version) working.

This is all to do with tying DRM to hardware. You are not meant to copy a protected file to another PC and still be able to play it. There used to be a method for backing up and restoring your licenses, but it seems to have gone in Vista. From online help:

This version of the Player does not permit you to back up your media usage rights. However, depending upon where your protected files came from, you might be able to restore your rights over the Internet. For more information, see the question in this topic about how to restore your media usage rights.

This leaves a few questions for Microsoft to consider:

  • Why does a DRM problem break Windows Media Player even when playing non-DRM content?
  • Why does a DRM problem cause Windows Media Player to crash, rather than reporting a DRM problem?
  • Why does the user have to uncheck a box in Explorer options that says “Recommended” and warns you that you may make your computer inoperable, in order to fix a common problem? I mean “Hide protected operating system files”?
  • Is it acceptable to say, “you might be able to restore your rights”, when a user could in theory have thousands of pounds invested in DRM-protected content?

Fortunately I don’t have any DRM-protected content that I am aware of.

Everything is fine now.

How long should it take to set up a laptop?

So you need a new laptop. Ignoring those irritating voices that say you should go Apple, you select a value-for-money offering from one of the big names like Toshiba or HP, hit the buy button at Ebuyer or the like, and a day or so later a van is at the door and you have your shiny new laptop. You slit the tape, pull the thing out of the box, plug it in and turn it on. How long should it take before you are happily typing away in Word or enjoying a DVD?

The answer I guess is as short a time as possible. In principle, I don’t see why it should take more than 5 or 10 minutes. The manufacturer has pre-installed the operating system and can ensure that all the right drivers are in place.

Here’s what actually happened when I did this for a friend yesterday. Toshiba Satellite Pro A200 with Vista Business. Not a bad machine, great value. We also had a key to activate Office 2007, which came pre-installed as part of Microsoft’s Office Ready scheme.

I started mid-morning. Turned on. It takes ages before it lets you in. I lost count of the reboots. There is some sort of partitioning dance, then when Vista itself starts up it goes through an optimisation process, then various Toshiba and third-party utilities install themselves, sometimes requiring a reboot. I broke for lunch.

After lunch I connected to the Internet. Vista immediately set about downloading updates. Needed reboots, naturally. Then I ran the Office Activation Wizard. Microsoft’s Office-Ready program is great marketing, but fairly annoying, because typically you don’t want to purchase all of it. In our case we had purchased Office Small Business, but not Access. In consequence, you end up with an installation that is partially a trial version, even though you have paid. I’ve heard of this scenario actually preventing a machine from passing “Genuine Office Validation” when trying to download updates from Microsoft. Not a good way to treat customers. The solution is to uninstall the bits of Office you are not actually buying.

At this point I could have declared “job done”, but I knew that it wasn’t. I applied Vista SP1, which takes ages. I applied Office 2007 SP1, which is fairly quick. I removed a few things that I knew would not be needed, like Outlook’s Business Contact Manager.

I uninstalled Toshiba’s ConfigFree utility. This is a thing that is meant to “simplify” managing wireless (and wired) networks. It hijacks Vista’s perfectly good built-in wireless configuration utility. Now, it is possible that ConfigFree genuinely offers some added value, but even if it does this kind of thing is still a nuisance. First, because people like myself know how the Windows version works, and are disinclined to learn the foibles of an unnecessary replacement. Second, because the official item will be maintained and updated through Windows update, rather than at the whim of Toshiba (or whomever).

If you are really unlucky, the supplier of your wireless card, or wireless router, or your ISP, will persuade you to install yet more network configuration software. Once two or three of these guys are fighting to manage and diagnose your wireless connection, you have little chance of connecting successfully to anything.

There there is anti-virus to think about. Personally I reckon the practice of installing trial versions of Norton’s anti-virus suite (or similar) is a disgrace. It makes for a lousy user experience because the first thing you see after enduring setup is a nag screen assuring you that your new computer is insecure. It is a disgrace because if you accept the trial but don’t pay up, you end up with an out-of-date anti-virus utility, which leaves you vulnerable. Let’s not forget that basic anti-virus software is available for free from AVG and a few others – if Toshiba really cared about the security of its customers, it would pre-install that. I have zero confidence in anti-virus software anyway, but this is not the place.

Result overall: three to four hours spent on something that should take a few minutes.

I have a good understanding of the commercial, technical and political reasons for these hassles, and I don’t regard Toshiba as the worst offender. Nevertheless, Microsoft and its partners have failed to tackle the problem effectively, and this is a factor behind Apple’s resurgence. Frankly, Ubuntu and other Linux distros are more fun to install, though with Linux you inevitably end up Googling to solve one or more strange issues so overall it is no better for the non-technical user.

Recently I’ve been working with Windows Server 2008, which is a delight by comparison. The concept is simple: pre-install the bare bones, and make all the features optional. So Microsoft can do it. Why can’t consumer Windows work the same way? Install a clean, fast, basic version of Windows, and then let the user decide what else they require?