Category Archives: microsoft

Farewell to Ensemble Studios and thanks for Age of Empires

Saw this sad note on the Ensemble Studios site today:

Ensemble Studios created the Age of Empires series of games; I’ve played these since the first release and had a huge amount of fun. Some of the best times have been with multiplayer with friends and family on a home network. The games combine strategic interest and challenge with rich graphics, which of course have evolved remarkably in line with increasingly powerful PC graphics cards.

If anyone from Ensemble reads this – thank you.

We can still enjoy playing the games but the studio is a victim of Microsoft’s cost-cutting. This particular closure was announced in September 2008, though the closure was delayed to enabled the completion of Halo Wars. While I have no idea what the spreadsheets say, I’m surprised to see Microsoft wielding the axe in this area of its business. We’ve recently been reading how video games are surpassing music and video in turnover and that they are relatively resilient in a recession since they are for evenings in rather than nights out. High quality PC games have a spinoff benefit for Microsoft by making Windows a more attractive platform.

The recently announced closure of Aces Studio, responsible for Flight Simulator and the ESP simulation platform, seems even more short-sighted. As James Governor observes, virtual worlds and simulation have huge business potential and environmental benefit.

Crispygamer.com has an extended Ensemble tribute.

PS on a happier note, Ensemble’s Bruce Shelley noted in his last blog entry (which seems to have gone offline):

There are at least two new studios being formed by ES employees and I expect both to do very well. There were a lot of outstanding game developers here and it will be interesting to see how and what they do, both individually and as new groups, in the years ahead.

Visual Studio 2008 as a JavaScript editor

I’ve been doing some work on JavaScript editors recently, and was impressed by Microsoft’s Visual Studio in this respect. Here’s my post on the subject. By the way, even the free Express edition works fine for this; and you don’t need to use ASP.NET. You do need to use Internet Explorer of course; that’s another story.

Gears of War certificate expiry a reminder to developers: always timestamp signed code

Users of the PC version of Gears of War have been unable to run the game since yesterday (29th January 2009). If they try, they get a message:

You cannot run the game with modified executable code

Joe Graf from Epic has acknowledged the problem:

We have been notified of the issue and are working with Microsoft to get it resolved. Sorry for any problems related to this. I’ll post more once we have a resolution.

The workaround is to set back your system clock. An ugly solution. Of course, some users went through the agony of full Windows reinstalls in an effort to get playing again.

So what happened? This looks to me like a code-signing problem, not a DRM problem as such, though the motivation for it may have been to protect against piracy. Code signing is a technique for verifying both the publisher of an executable, and that it has not tampered with. When you sign code, for example using the signwizard utility in the Windows SDK, you have to select a certificate with which to sign, and then you have an option to apply a timestamp. The wizard doesn’t mention it, but the consequences of not applying a timestamp are severe:

Microsoft Authenticode allows you to timestamp your signed code. Timestamping ensures that code will not expire when the certificate expires because the browser validates the timestamp. The timestamping service is provided courtesy of VeriSign. If you use the timestamping service when signing code, a hash of your code is sent to VeriSign’s server to record a timestamp for your code. A user’s software can distinguish between code signed with an expired certificate that should not be trusted and code that was signed with a Certificate that was valid at the time the code was signed but which has subsequently expired … If you do not use the timestamping option during the signing, you must re-sign your code and re-send it out to your customers.

Unfortunately, there is no timestamping for Netscape Object Signing and JavaSoft Certificates. Therefore you need to re-sign your code with a new certificate after the old certificate expires.

I don’t know if this is the exact reason for the problems with Gears of War, and I’m surprised that the game refuses to run, as opposed to issuing a warning, but this could be where the anti-piracy measures kick in. Epic’s programmers may have assumed that the only reason the certificate would be invalid is if the code had been modified.

I blogged about a similar problem in February 2006, when a Java certificate expired causing APC’s PowerChute software (a utility for an uninterruptible power supply) to fail. That one caused servers to run slow or refuse to boot.

As far as I know, there is no way of telling whether other not-yet-expired certificates are sitting on our PCs waiting to cause havoc one morning. If there are some examples, I hope it does not affect software running, say, Air Traffic Control systems or nuclear power stations.

If you are a Windows developer, the message is: always timestamp when signing your code.

Hands On with Office Live Workspace beta

I was asked today: how can I share documents with a remote worker? This is a two-person business. There are a zillion and one solutions these days, but all have downsides.

Set up a server and VPN: fine when it works, but what to do when it fails? Backup? Maintenance and patching?

Google Docs: A great solution, but what if you want to work with real Word and Excel documents? Excel in particular is hard to replace if you use it in earnest (big sheets, many calculations).

Netdocuments: This looks promising, though I haven’t tried it.

Subversion: This is what I use (with TortoiseSVN), but it’s terribly techie.

Live Mesh: Brilliant concept; automatic offline copies; just save documents to a shared folder and you’re done. One hesitation is that I’ve known the Mesh client to crash mysteriously. It’s a beta. And how secure are your Mesh documents from prying eyes?

What about Office Live Workspace? This is a form of hosted SharePoint and in theory it’s ideal – except, perhaps, that you have to keep a local copy of documents just in case the service goes down. You can store “over 1000 documents” online for free. I took a quick look. Signed up. Some sort of Live client needed. Client also needed a Vista update. Vista update installed and wanted a reboot. Live client declared it was already installed and setup closed. Rebooted. Back to Live Workspace. Live Client starts to install again, this time succeeds. Try to save from Word 2007, Live ID password prompt pops up numerous times. Word wants a further add-in. Second reboot. Something like that, anyway; the usual Windows merry-go-round.

Still, eventually I appear to have all the pieces in place. I type a new document in Word and click the Office button. I now have a new option, Save to Office Live:

Cool. I click Sign in to Office Live Workspace beta. Prompt comes up:

One of my problems is that I refuse to check “Sign me in automatically”. I don’t like it; I consider it more secure to sign in and out of services as I need them. There’s also a problem if you have more than one Live ID. Unfortunately some services deliver a poor user experience if you don’t sign in automatically, and I suspect Live Workspace is one of them. Anyway, I sign-in and wait 10-15 seconds. Then I get this dialog:

I hit Save. Mistake: I get this dialog:

OK, my error was not to select a folder within the workspace. Easy mistake to make though, and the error message could be better. I double-click Documents and retry. I get this progress bar:

Takes a few seconds, and I’m done.

Once your document is online, it is accessible over the web with an neat in-browser preview:

The toolbar has some handy options including versions and sharing:

I love it; but have two reservations. First, the painful setup, sometimes slow performance, and occasional strange errors, like the fact that Office Live sometimes decides my IE7, fully patched browser is not up to scratch:

If I recommend this to my contact, what’s the chance that I’ll get a call concerning some odd behaviour or failure with the Live client, or the Office Live add-in, or Internet Explorer, and end up (as so often) troubleshooting Windows instead of getting on with work?

Second, I’m concerned about availability in a business context. If a customer calls you, and you need to see a document, what if Live Workspace (or Google Docs,  or any online service) is temporarily unavailable? You give that lame excuse, “We’re having computer problems, can you call back?”; or else keep offline copies – but if you keep offline copies, getting the workflow right becomes difficult. I notice that Netdocuments has a Local Document Server option which may fix this. SharePoint solves this to some extent with Outlook lists, but I’m not convinced that these work well enough with large document libraries, and I don’t know if Live Workspace offers them.

That is the beauty of seamless online/offline solutions like Live Mesh, or indeed Subversion, or some future Google Docs with Gears doing the offline stuff.

Finally, why is Microsoft offering both Live Mesh and Live Workspace? Different teams I guess; but it makes a confusing offering overall.

More RSS madness from Microsoft – this time it’s Live Mail

Once upon a time I was enthusiastic about the “common feed list” in Windows. I thought there was all sorts of potential for sharing and synchronizing content across the network. When it was introduced, Microsoft called it the Windows RSS Platform, though it gets installed as part of IE7.

What’s curious is that even Microsoft doesn’t seem to use the platform in the way it was (presumably) intended. I opened up Windows Live Mail 2009 today (I use it only occasionally as a newsgroup reader), and was puzzled to see 6724 unread feed items.

What’s going on? Well, I use the IE7 feed list and access it either in IE7 or in my own home-brew reader, which uses the COM API to the common feed list.

Windows Live Mail had grabbed the list of feeds and made its own copy of all the data. Am I sure? Yes, first because of this suspicious option in Live Mail:

“When deleting a feed here, also delete it from your Internet Explorer feed list” – implying synchronization, not a common database. Note also the jargon; the Live Mail folk clearly think of this as a feature of IE, not a feature of Windows.

I also took a look in:

C:\Users\USERNAME\AppData\Local\Microsoft\Windows Live Mail\Your Feeds\

and there is was, a copy of all the entries in X-MimeOLE format. The real common feed list, by contrast, is stored in:

C:\Users\USERNAME\AppData\Local\Microsoft\Feeds

It is not quite as bad as it first appears. When I chose to sync the feeds in Live Mail, the unread items synchronized with those in IE7. I am also hopeful that the data is only retrieved from the Internet once. though it is hard to be sure. A quick experiment suggests that if you delete a feed in IE7, it stays in Live Mail, though it no longer updates (one or other of these facts could be a bug). If you delete a feed in Live Mail it is deleted from IE7 unless, presumably, the box in the dialog above is checked.

The Outlook team made a similar error, but worse, because the feeds end up messing up your Exchange mailbox as well.

So why doesn’t Live Mail simply present a view of the common feed list, like my home-brew reader? Well, maybe the API is not robust or fast enough. The solution then is to fix the common feed list, not to do all this error-prone synchronization.

The whole thing would make more sense if the feed list was synchronized with the cloud, so that I could also read my feeds on the Web, in the style of Google Reader. Despite the name, Live Mail seems thoroughly bound to the desktop. It is simply an update to Outlook Express.

Microsoft showing Silverlight 3 at Mix09

Looks like Mix09 (March 18-20) is the stage where Microsoft will reveal details of Silverlight 3 (is it really 3 already?). On the session list is:

What’s new in Silverlight 3 (Joe Stegman)

What’s new in Silverlight 3 media (Larry Olson)

Deep Dive into Silverlight graphics – come hear about the Silverlight 3 rendering pipeline (Seema Ramchandani, Marshall Agnew)

Technorati tags: , ,

Microsoft Expression Web causes PHP error

I ran into a strange and surprising PHP error today. I’m working on a little PHP application which has a login page. The login script calls session_start() to start or resume a PHP session. It was working OK so I decided to decorate the page a little (I was working in Eclipse). I like to try a variety of tools, so I ran up Microsoft’s Expression Web, added an image, then re-ran the script to see how it looked.

The answer was not good, because I now had an error:

Warning: session_start(): Cannot send session cookie – headers already sent

I puzzled over this for some time. The error was in line 0 of my login page. I couldn’t see anything that was different from before, except the static image that meant nothing to PHP.

Eventually I worked it out. Eclipse (running on Windows) created the PHP files using ANSI. On saving, Expression Web silently changed them to UTF-8. That in itself was no bad thing – it’s usually a better choice – though I reckon it should ask. The bigger problem was that Expression also added a BOM (byte order mark) to the beginning of the file. This is actually optional for UTF-8, and most non-Windows editors do not add it. It happens to flummox PHP, which interprets them who-knows-how and sends some output to the browser, preventing session_start from working.

This is particularly painful to debug since most editors do not display the BOM; they simply use it to confirm the character set in use. So you can have file A which works, and file B which does not, and they are character-by-character identical.

One way to see and remove the BOM is to open it with Edit.com, which does not understand it at all:

I guess both Expression and PHP could do better here. The bit that puzzles me is that I can’t be the first to run into this. Doesn’t Microsoft know that its UTF-8 BOM breaks PHP files, at least on the two versions I tried (XAMPP on Windows and PHP 5.2.1 on Linux)? I can’t even see a preference in Expression that would prevent it being written. And if you remove it, and then re-edit in Expression, it carefully writes it back. Unlike Adobe’s Dreamweaver, which leaves well alone.

PS if you want to know all about BOMs, see here.

Update: See comments – apparently this was fixed in Expression Web 2.0. Tina Clarke discusses the problem here.

Office Ribbon in Silverlight – amazing stuff from divelements SandRibbon

I blinked when I tried the live demo of SandRibbon for Silverlight, from divelements. It looks remarkably like Office 2007:

The control is in beta, and promises:

All the commonly-used functionality of the Office 2007 UI is made available for you to use with this product, and most of the less common functionality too. Customers who have used SandRibbon for WPF will find the API familiar. The visual constructs used are compatible with all other Silverlight controls, both built-in and third-party.

The company already has a sandcontrol control for WPF. However, the Silverlight control shows how well you can replicate the look and feel of a desktop application in a cross-platform browser application. Now, put this together with the automatic online/offline synch in Live Mesh, and you could have a version of Office with seamless online and offline support. Microsoft may deliver something like this in the web versions of Office 14, though it is going to have one eye on its lucrative desktop sales and I doubt whether it will really exploit what is now possible.

DRM-protected epub a good buy?

Someone considering a Sony Reader from Waterstones (a UK bookseller) asked me what I thought.

I haven’t tried the Sony Reader yet – it would be an interesting thing to review and I’ve heard good reports of its usability and readability. The snag for me would be that I’m already device-laden when out and about, and the last thing I want is yet another one. In principle, I’d rather use a multifunctional device – the iPhone is apparently good for reading, or maybe a laptop or netbook. Battery life is an issue on laptops, but I can usually plug in on the train now.

But I digress. What about the content, is an epub from Waterstones a good buy? I took at look at the site. Waterstones has done a deal with Sony and gives the impression that you must buy a Reader (£224) in order to purchase and read its ebooks, though as far as I can tell you can read them on a PC or Mac without buying a Reader. The help page is a model of unclarity. It presumes I already have a Reader. Then it says I have to install Adobe Digital Editions and sign up for an Adobe ID. It seems rather convoluted, that to buy a book from WaterStones and read it on a Sony I have to sign up with Adobe.

It is all about DRM of course. I took at a look at Adobe Digital Editions. This is the software for reading an epub protected with DRM delivered by Adobe Content Server 4, which I presume is what Waterstones is using. I installed it and saw dialogs just like the ones I remember from the failed Microsoft Reader and its lit format:

I can “activate” up to six devices on which to read my ebooks. A few other things caught my eye. System requirements show Windows and Mac but not Linux. The faq says Digital Editions does not connect behind ISA server – that would hit me, as I use ISA, the Microsoft firewall – and explains bad scenarios. For example, if you don’t authorize your computer, maybe because you don’t want to give your personal details to Adobe, the books are locked forever to that one computer. I presume you couldn’t even transfer them to a Sony Reader.

Surprisingly, the faq says that the only supported device is Sony Reader PRS-505, though it adds:

Adobe is actively working to support other platforms and devices. Further developments will be announced when available.

No iPhone (Stanza). No Amazon Kindle. Won’t work on my Windows Mobile devices, or any phone as far as I can tell.

The reader itself worked fine. I downloaded a free book from Feedbooks and added it to the library – no DRM, phew.

As for Watersones ebooks, right now, there are several things to dislike. First, if I’m going to buy an ebook, I do want to be able to read it across all my devices – a specialist reader has its place, but other mobile devices are also important. I wouldn’t consider it without that. Second, the DRM is a nuisance. Third, the prices strike me as too high. For example, I can buy John Le Carre’s A Most Wanted Man for £13.99, which Waterstones tells me is a discount of £5.70 from the list price of £18.99. However, the same book is on offer in hardback for £12.50. So I am paying a premium to get the ebook.

Software books definitely have advantages. They are weightless, green, searchable, you can vary the type size. However they have disadvantages too. You need a device to read them; you can’t sell them on; you have no physical backup; there is no smart cover; and you don’t get the sensual pleasure of turning over crisp new pages. Further, the publisher is saving manufacturing cost, and the retailer is saving storage and carriage costs: shouldn’t those savings be passed on?

These factors, combined with the DRM nuisance and the format wars, would make me cautious about investing in Waterstones ebooks at the moment.

There is a political aspect to all this. Amazon is expected to launch Kindle in the UK at some point. It needs wireless support for direct content download, which may be holding it up. However, UK publishers seem solidly behind epub and Sony/Adobe. The Bookseller observes:

There may be a collective strategy about this: no-one—least of all Penguin, HarperCollins, Hachette, Macmillan or Random House—wants to see Amazon in possession of the dominant e-book device, and by consequence become the only e-book retailer.

Of course the publishers can support multiple formats. My guess is that Amazon will be a significant player with Kindle, even though it is late arriving.

Technorati tags: , , , ,

Microsoft Small Business Server 2008 too expensive for hardware, market

When Microsoft introduced Small Business Server 2008, it upped the price of the base package and reduced the cost of client access licenses.

That’s OK for the, umm, larger small business; but it’s made the product expensive for those tiny setups who only need 5 or 10 CALs.

RIght now, ebuyer.com is offering SBS 2008 Standard for 835.49+VAT and an OEM version for £535.55+VAT.

By contrast, you can get the old SBS 2003 Standard OEM for £275.90+VAT.

Suitable servers on the other hand are now at rock-bottom prices. If you are lucky you can pick up an HP ML110 for around £200+VAT (try Amazon). Of course you have to add some RAM and probably a second hard drive for RAID, but neither is particularly expensive.

The 2003 edition was better value. This has also made Linux more attractive for those with the skills to look after it, and businesses that are not saddled with Windows-only software that has to run on the server.

Technorati tags: , , ,