Category Archives: microsoft

Windows Server 2008 is better than Vista, but why?

Mark Wilson asks:

It seems that, wherever you look, Windows Server 2008 is almost universally acclaimed. And rightly so – I believe that it is a fantastic operating system release (let’s face it, Windows Server 2003 and R2 were very good too) and is packed full of features that have the potential to add significant value to solutions.

So, tell me, why are the same journalists who think Windows Server 2008 is great, still berating Windows Vista – the client version of the same operating system codebase?

The short answer is that Server 2008 delivers new features that customers wanted, whereas Vista delivers new features that Microsoft thought its customers should want. However, it seems there may be more to it than that. Maybe Server 2008 really does perform better than Vista.

According to this post, Server 2008 performs 11-17% faster than Vista SP1, running a couple of benchmarks which test typical client applications. Christian Mohn concurs:

Windows Server 2008 performs better, even with the Aero features enabled, than Vista ever did on the same hardware. To me, this a bit strange, even if a lot of services are still disabled, as the codebase is pretty much the same as Vista.

though Mohn’s example is less scientific: he never ran Vista SP1, and also moved from 32-bit to 64-bit.

Server 2008 has a “Desktop Experience” feature, which installs things like Windows Media Player, Aero GUI effects, and other fluff that doesn’t belong on a server. My assumption had been that once you installed this, Server 2008 would perform in a similar manner to Vista. Apparently this is not the case.

It seems to me there are a few possibilities. One is that Microsoft isn’t being straight with us about this “same codebase” stuff. It would be interesting to analyze the core DLLs and work out which are the same, and which are different.

The second possibility is that there’s stuff in Vista which is not part of the core, nor part of the Desktop Experience, but which slugs performance. If so, it would be great to identify it and turn it off.

The third explanation is that the testers are wrong, and that performance is actually similar. For example, maybe Vista was running a background update or backup during tests. Background processes make it hard to conduct truly rigorous performance comparisons.

I’d like to see Mark Russinovich get his teeth into this. I’m also tempted to try the Server 2008 desktop experiment myself.

Visual C++ Feature Pack includes major MFC update

The Visual C++ 2008 Feature Pack is now available for download. It includes an update to MFC (Microsoft Foundation Classes), with classes for an Office Ribbon style interface (if you can live with the legal aspect) and other new GUI controls. There is also an implementation of  the TR1 (Technical Report 1) standard (PDF), an important update to the ISO 2003 C++ standard library.

Microsoft’s live maps upgrade is a downgrade in the UK – developers are fuming

Microsoft’s latest upgrade to Live Maps has some interesting new features, including more detailed 3D city views, labels in bird’s eye view, GeoRSS feeds, and more:

As always the changes visible in the user interface only scratch the surface of the dozens of improvements across the application tiers including Geocoding enhancements, browser compatibility (Safari and IE8), parsing improvements, reverse geocoding, printing improvements and tons more. We are also releasing an upgrade of our Map Control to version 6.1 for developers.

Unfortunately for UK developers, there’s another change. In December 2007 Microsoft acquired Multimap, and the latest update now redirects maps.live.com to Multimap, if your region settings are UK (or, possibly, elsewhere in Europe). You can see the difference if you force the region to US with an url argument: http://maps.live.com/?mkt=en-us.

The Multimap maps have fewer features and include advertising. For example, there is no 3D view in Multimap:

Here’s the real Live Maps version (note the extra features):

It looks like the photography is the same; but developers are not happy. Check out the comments to the announcement, for example:

I loved Live maps, but i’m off to Google maps if multimap doesn’t get removed and we go back to the nice clean good interface and all the features we’ve come to love.

Multimap is awful.

or

I never thought I’d have to say this, but for UK users Live Maps is now complete TRASH. Why on Earth did you replace Live Maps with Multimap??? Multimap uses technology that hasn’t changed for years, the maps are awful, the page is full of clutter, and it doesn’t even use smooth zooming – it just reloads the page every time you zoom in because it’s all static image based.

Add to that the fact that the road maps all use images scanned straight out of the PAPER atlas, not the sleek, computer-friendly road map style that Live Maps uses.

It’s a shame, as I’d been meaning to blog about how impressive Live maps and Virtual Earth looked in some of the demos as Mix08. That said, Microsoft can fix this easily by removing the redirect.

This is an integration issue. If Microsoft-Yahoo becomes a reality, I wonder what other such issues will cause developers to fret?

Thanks to Ian Blackburn for the link.

UPDATE: Live Maps is back. As of yesterday, Multimap is no longer being used even in the UK. Looks like Microsoft listened; I’m impressed.

Microsoft discusses next-gen MSDN … on Facebook

According to this blog post, Microsoft is setting up a buzz group on Facebook to discuss the next generation of its online documentation for developers, the MSDN (Microsoft Developer Network) Library:

We have put a facebook group together to aggregate together the folks who want to work with us to provide feedback, usability and ideas for the next generation of the MSDN Library. We call this project Library 3.0 and we will be organizing events and presentations from this group to bring us together on the project. My goal is build quorum of members over the next months with kickoff’s in late May for the first events.

It’s an interesting place to hold the discussion. Yes, Microsoft has a small stake in Facebook; but it also runs a vast network of technical communities and is doing great business with its Sharepoint collaboration platform. So why use Facebook?

Of course, two key areas that need improving in MSDN are collaboration and search, so you could argue that choosing a third-party platform for collaborating on MSDN itself is significant.

Then again, it’s probably more to do with internal red tape. What’s easier: getting corporate agreement on some new developer relations initiative and setting up the infrastructure, or just sticking a new group on Facebook?

If you are interested, the group is here. Currently it has no content or discussion whatsoever. Not a good start; but there’s time…

Technorati tags: , ,

JBuilder 2008 and Vista’s Program Compatibility Assistant

One of Vista’s annoyances is this dialog, which you may see shortly after installing an application:

As you can see, I got this after installing CodeGear’s new JBuilder. The reason it annoys me is that it doesn’t tell you what “compatibility settings” it has applied. In this case, even if you go to JBuilder.exe in Explorer and view its properties, you will find all the compatibility options unchecked. So what has it done?

Of course I clicked “What settings are applied”. Here’s what it says:

As you can see, this still does not tell you what settings are applied. By the way, Group Policy enables you to disable the Program Compatibility Assistant completely, but does not show the settings for individual applications.

I ran the registry editor, and found this entry:

It looks like the Persisted key tells Vista which applications have already had settings applied, while the Layers key tells Vista what settings to apply. ELEVATECREATEPROCESS lets the application create child processes which require admin rights, though they still raise a UAC prompt.

I also found this Microsoft article which does a good job of explaining how the Compatibility Assistant works. It appears that JBuilder 2008 tries to run something which requires administrator permissions, but does not use the  correct Vista technique for doing so. I soon found out what it is:

It’s running regedit, and exporting some keys that appear to relate to Mozilla’s Gecko Runtime project, for embedding a browser in an application. Unfortunately it does this (twice) every time it runs, which is unlikely to be necessary. You would have thought there would be a better way to use these registry entries, than exporting a temporary file.

Conclusions? None really; I just wanted to know what this annoying wizard does. A couple of observations though. First, it’s careless of CodeGear to let JBuilder 2008 out like this. It just looks bad, to have your app identified as an old one that needs compatibility help.

Second, if you read Microsoft’s article you’ll notice that among other things Vista “instruments” the CreateProcess API call in order to make this work. There must be a performance impact. I guess Microsoft will say it is a small one; but I guess it also makes its little contribution to Vista’s overall performance issues.

Microsoft: OOXML has won approval as an ISO/IEC standard

According to Microsoft’s press release, and a document in unofficial circulation, Microsoft’s Open Office XML, an XML format for Microsoft Office, has been approved as an ISO standard.

It’s been an ugly process. That said, I suspect the spec has been significantly improved by all the attention it has received. The spat has exposed the money and politics behind standardization processes. This seems to be a theme of late: see also Blu-Ray vs HD-DVD, and even the Java Community Process.

I welcome standardization, but dislike the way both sides have put their standards wars ahead of the convenience of users.

Technorati tags: , , ,

Help! We’re running a VB3 app and we’ve lost the code

I write a programming column for Personal Computer World. A reader contacted me with a problem. He had an application which he knew was written in Visual Basic 3, but for which he did not have the source code. He now wanted to adapt it to run on Windows Mobile.

VB 3.0 came out in 1993, a mere 15 years ago but an eternity in Internet time. It was hugely popular, partly because it included the JET database engine, the same one as used by Microsoft Access. Both professionals and keen amateurs used it to create little (and not so little) business apps. VB 3.0 is 16-bit, and although these apps may still run OK on Windows XP or Vista 32-bit, though perhaps with a few cosmetic glitches, they will not run on 64-bit Windows, which has no 16-bit emulation layer.

Not many organizations are moving to 64-bit desktops just yet, though they may well do so in a couple of years, but there is still a problem if you need to adapt or port the code.

I thought this would make a fun case study so I wrote it up in the May 2008 column. I tracked down the VB3 decompiler put out some years back by Hans-Peter Diettrich, also known as Dodi. He gave me a demo version to distribute to readers. The app in question turned out to be very simple, and decompiled easily. I then imported the project into VB 6 (because later versions won’t look at VB3 apps), and finally pulled the VB6 conversion into Visual Studio 2008. Once I’d fixed up the Windows version, I created a new Compact Framework solution into which I copied code from the desktop project. Much of the code made it all the way from the VB3 original to the Compact Framework, and ran fine on my IPAQ Pocket PC.

Working with decompiled code is a bit like solving a crossword puzzle. Variable names are mangled so you have to work out what they are for. It won’t be a quick and easy process except in the simplest of cases.

The incident makes me wonder: how many business-critical apps with lost source are out there? Someone posted a cartoon recently which I can’t now track down, but it was a graveside scene. One mourner says to another, “I’m sorry to ask at a time like this, but did he say anything about source code?”

How hard can it be to play an AVI file?

It depends. I saw Matt Mullenweg’s post about new features in WordPress 2.5. He’s included a video in several formats, and since the embedded Flash version didn’t want to play (maybe bandwidth issues), I downloaded the AVI and double-clicked. Windows Media Player tried to play it, said it was acquiring the codec, and then played only the audio. This is what I got when I looked at properties:

Did Mullenweg include restrictive DRM on his promo for the next WordPress? Unlikely. I right-clicked and chose to open in QuickTime. QuickTime said I needed some new components to play the file, and directed me here – but without telling me which of the 10 downloads on offer might fix the problem.

I right-clicked again and chose VLC. Perfect playback. But I was intrigued. I looked at the Stream and Media info in VLC and found that the video codec was TSCC. I looked this up and found it here. It is the TechSmith screen recording codec. I downloaded and installed the TSCC codec (ignoring Vista’s insistence that it “did not install correctly”) and now the file plays fine in both WMP and QuickTime.

Still, I have a couple of questions. If TSCC is a reasonably well-known codec, how come these players are not smart enough to direct users to the right download, or at least display the name of the codec to make it a little easier to find?

Second, why does WMP think media usage rights are missing? More Windows DRM madness.

Note: the problem with AVI is that it is just a way of bundling audio and video into one file. There are many possible formats for the internal streams, so just because one AVI file plays OK, it doesn’t mean that another will. Hassles like this are one of the reasons Flash video is so popular.

Small Business Server 2008: no ISA Server, no built-in tape backup

I have caught up a little with what is coming in Small Business Server 2008, code-named Cougar. Short version: Microsoft is focusing on ease of use but omitting some of the features that made previous versions attractive. This will be an upgrade headache if you used those features.

The new version is 64-bit only and includes Exchange Server 2007, Sharepoint Services 3.0 and WSUS (Windows Server Update Services) 3.0 as standard. Go Premium to get SQL Server 2008 and a license for a second server (which can be 32-bit).

Program Manager Sean Daniel says in an interview (video) that the install is easier than before, and that wizards are scenario-based rather than task-based. I think this means that more decisions are taken for you. However, two changes have caused some consternation.

The first is that tape backup is no longer built in. The new backup system only supports external USB or FireWire drives. I’m not sure about backup over the network; it would be silly to omit this, but who knows? It is based on differential backup, which means you can backup in 10 minutes and do it every hour if you like.

Microsoft says this is because external drives are cheaper than tapes, and that most SBS users have moved to hard drive backup in any case. This is true unless you have a lot of tapes. However, tape advocates point out that tapes are more robust in transit and safer for archiving. Personally I’ve had problems with the cheapest bus-powered external drives, mainly because of the power being inadequate, but I’d hope that up-to-date hardware fixes this. If you still love tape, the solution is to buy a third-party tape backup system.

The other big omission is ISA Server, Microsoft’s firewall and proxy server. This is a bigger deal. ISA is a complex but sophisticated product that requires two network cards to be installed. If you can work out how to administer it, it provides extra security in conjunction with an external firewall, and numerous features for publishing internal servers and services. Why has it been dropped? Daniel makes a curious comment in this Q&A:

I am as disappointed as you with this. Certain circumstances with the changes in Longhorn server left us without firewall solution in our standard product. We attempted to move ISA into the standard product, but legal issues prevented this. There was nothing we could do.

Legal issues? This is a Microsoft product bundled with a Microsoft product. I wonder if he means internal politics?

In particular, note that there is a new multi-server bundle called Windows Essential Business Server 2008, which does include ISA.

So what do you do if you have a full-works, dual-NIC SBS 2003 box and want to upgrade? There’s no in-place upgrade, because this is 32-bit to 64-bit; and the disappearance of ISA means you have to rethink your network architecture, or upgrade to the aforementioned EBS.

Two things disappoint me here. One is that Microsoft is pushing small businesses towards multiple servers, in SBS Premium or EBS. Although this has administrative advantages, it’s not very green, it’s losing the essence of what SBS was about, and seems out of tune with the more general industry move towards fewer servers and virtualization.

The second disappointment is that Microsoft seems to be pretty much ignoring the cloud. I may be wrong: the blurb says “Integration with Microsoft Office Live Services Small Business”, though I’m not sure what this amounts to. Personally I reckon the cloud is the future for the niche that SBS fills. I’d design SBS Next as a local cache for cloud services.

Windows 7 rumoured to have new UI framework with Ribbon and Jewel

Not sure what to make of this. A number of sites are reporting on a Microsoft job posting which includes the following text:

Come lead the effort to update the Windows 7 platform with the latest advancements in User Interface design. Bring the Ribbon, Jewel, and other new UI concepts to the Windows platform … Our mission is to enable the next generation of user interface development on the Windows platform. We will be determining the new Windows user interface guidelines and building a platform that supports it. We’ll eliminate much of the drudgery of Win32 UI development and enable rich, graphical, animated user interface by using markup based UI and a small, high performance, native code runtime … The UI Platform Team is looking for a senior technical leader to help drive the design and implementation of the new UI framework.

The posting appears to have been pulled, which means I can’t verify that it ever existed. Still, it’s thought-provoking. The “Jewel”, by the way, is the big button at top left of Office 2007 apps – the one you have to click when in search of the File menu.

I get on OK with the ribbon in Office 2007, but it has annoyances. For example, in Excel, why is Insert Cells and Rows on the Home ribbon but not on the Insert ribbon? I tolerate it because of the Quick Access Toolbar which lets me group the commands I often use but can’t find easily.

Even so, there’s no harm in making the ribbon a first-class citizen in Windows. But what about this new “markup based UI” and “small, high performance, native code runtime”? It is hard to believe that Microsoft would abandon WPF, which is already a markup-based UI. Might this be a new WPF runtime that does not require .NET? This may seem plausible if you recall that early versions of Longhorn attempted to use .NET for the core Windows UI, a mistaken decision that was a factor in the infamous reset, and thus indirectly caused Vista to be delivered both late and unready.

It still makes little sense. Microsoft already has a small, high-performance, alternative WPF runtime: Silverlight. Why build another one? Further, Windows needs simplification, not new frameworks. It also seems late in the day to be contemplating the “design and implementation” of a new UI framework. Perhaps it is just an early April Fool; or maybe plans are further along than the posting implies.

Technorati tags: , , , ,