Category Archives: microsoft

Microsoft Office is ludicrously expensive

What’s a reasonable price for Microsoft Office? An impossible question, of course. It’s mostly decent software (with the exception of Outlook 2007 and its disgraceful performance problems). It has its foibles, but is the best office suite in my opinion; and given the importance of office software to most of us, having the best is arguably worth it almost irrespective of price. No doubt gazillions of investment has gone into Office; but then again, gazillions have been sold.

In reality, Microsoft practices variable pricing. Just like travel companies, it aims to charge what the market will bear at any level. It also ensures that influencers – like software developers, partners or indeed journalists – get it for next to nothing. For example, registered Microsoft partners can get the Action Pack with mountains of software, including Exchange 2007 and 10 licenses for Microsoft Office Enterprise 2007, restricted to “internal-use software for internal business purposes, application development and testing”. The cost varies around the world: in the UK it is £199.00 plus VAT. A bargain.

Home users get a break too. I’ll quote prices from ebuyer.com, a UK retailer with generally keen prices. Office Home and Student 2007 comes with 3 licences for £64.59 plus VAT – that’s just £21.53 each before tax. Now let’s ride the escalator. Business prices start with Office Basic 2007 (just Excel, Word and Outlook) OEM edition. £96.09. OEM means you are only meant to buy it with a new PC, and the license is only valid for the PC on which it is installed; it dies with the PC. Office Small Business 2007 OEM is perhaps reasonable at £122.70 plus VAT – you get Excel, Powerpoint, Publisher, Word and Outlook.

How about an upgrade package? Office Standard 2007 Upgrade (no Access) is £175.41 plus VAT. Getting pricey; but then again Office Standard 2007 complete package (legal in any scenario) is £269.01. You want Access too? Your best unrestricted deal is Office Ultimate 2007 – Access, Excel, InfoPath, Powerpoint, Publisher, Word, Outlook, OneNote, Groove – at £314.39 plus VAT.

Curiously that costs less than what the customer probably asks for – Office Professional 2007 – Access, Excel, Powerpoint, Publisher, Word, Outlook but no OneNote or Groove, which comes in at an eye-watering £397.50 plus VAT.

Ah, but you should get a site license or even Software Assurance. Believe me, it is not much less – unless you are a megacorp or government department and negotiate a special deal.

Just to put this into context, I can get a basic PC with Linux for just £119.14 plus VAT – pic below in case you don’t believe me – and an HP office-ready PC with XP Pro for £204.24 plus VAT.

If Office were specialist software with a niche market, I could understand the high prices. But this is commodity software; everyone uses it. In what universe it is worth £397.50 – and I’m sure you could pay more if you worked at it – more then three times the price of a PC which (after adding Windows) would happily run it?

You’d be an idiot to pay that, of course. Except – what choice do you have? If you accept the terms of Microsoft’s strange OEM license, which means that the software is not applicable to an existing PC – and that of the Home and Student license which forbids “commercial use” – then you are stuck with prices from £269.01 and up. Though given the popularity of the OEM editions I suspect that many people take a liberal attitude, or consider that they are “refurbishing” their PCs (which is allowed).

What this means is that the most conscientious or financially careless buyers are paying a price which strikes me as unreasonable. I can understand Microsoft’s reluctance to change this situation; but in time it will have no choice.

Technorati tags: ,

WCF Sessions with Silverlight and Flex

I wanted to adapt my Silverlight CRUD sample (which I also ported to Adobe Flex) to fix a glaring weakness, which is that any user can amend any entry.

I decided to add some logic that allows editing or deleting of only those rows created during the current session. The idea is that a user can amend the entry just made, but not touch any of the others.

WCF has its own session management but this is not supported by the BasicHttpBinding which is required by Silverlight.

Fortunately you can use ASP.NET sessions instead. This means setting your WCF web service for ASP.NET compatibility:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

Then you can write code using the HttpContext.Current.Session object.

This depends on cookies being enabled on the client. In my simple case it worked fine, in both Silverlight and Flex. In a real app you would probably want to use HTTPS.

I’d post the sample but unfortunately my Windows web space doesn’t support WCF.

Technorati tags: , , ,

Testing a web service with IIS 7 on Vista

Not long ago I created a simple CRUD example using Silverlight 2.0 beta 2. I used Visual Studio 2008 and the ASP.NET Development Server. I wanted to test the same WCF web service with a different client (more on that soon), so I decided to deploy it to the instance of IIS 7.0 which comes with Windows Vista. I created a new web site on a different port than the default.

Nothing worked. Reason: although I have installed .NET 3.5 SP1 beta and Vista SP1 – which should do this automatically – the IIS 7 mime types and  handler mappings were not configured for Silverlight and WCF. How to fix the mime type is here and the handler mappings, here.

The web service still didn’t work. I got:

A first chance exception of type ‘System.ServiceModel.ProtocolException’ occurred in System.ServiceModel.dll.

I changed the debug options to break on all managed exceptions, and got this further detail:

The remote server returned an unexpected response: (404) Not Found.

Problem: Silverlight is looking for a cross-domain policy file.  The reason was that at this point I was still running the Silverlight app from the ASP.NET Development server, and it considered IIS to be on a separate domain. The 404 error does not make this obvious; but a quick Google for Silverlight 404 shows that this is a common problem.

Silverlight is designed to support cross-domain policy files in either Microsoft’s format (clientaccesspolicy.xml) or Adobe’s format (crossdomain.xml). If the service is just for Silverlight, use Microsoft’s format; otherwise I suggest adding both.

Nearly there; but I still had to fix SQL Server authentication. I normally use Windows authentication, and if you are using the ASP.NET Development server this just works. Move to IIS though, and it does not work unless you set up ASP.NET impersonation, or create a SQL Server login for the account under which the application pool is running. Oddly, when I tried the app without fixing the SQL Server login I still got a 404 exception; I’m not sure why.

Incidentally, I noticed that if you configure ASP.NET impersonation for a web site, the username and password gets written to web.config in plain text (bad). If you configure the application pool to run under a different account, the password is encrypted in applicationHost.config (better). In the end I decided to use good old SQL Server authentication.

One last tip: when debugging a web service, put the following attribute on the class which implements your ServiceContract:

[ServiceBehavior(IncludeExceptionDetailInFaults = true)]

Otherwise you get generic fault messages that don’t help much with debugging. Remove it though for release builds.

Once I’d fixed the SQL server login, everything was fine.

Why I can’t use Microsoft Live Search for real work

I’ve complained before about the quality of Microsoft’s Live Search vs Google; but today’s example seemed too good an illustration not to mention.

I needed to update Windows XP to SP3. In particular, I wanted what Microsoft calls the “network” download; that is, the entire service pack, not the launcher app that initiates a piecemeal download tailored to the specific machine.

I pulled up Live Search and entered “windows xp sp3 download”.

To my surprise, Live Search offered me only third party download sites in its first page of results. Actually, that’s not strictly true. At number 8 is the download for “Windows XP SP3 RC2 Refresh” (obsolete); and at number 10 the general home page for XP downloads:

Find popular Windows XP downloads, including PowerToys, trial software, tools and utilities

I tried Google. Same search. The official network download is in first place. The official piecemeal download is second.

I know: you can argue that this is just an isolated search, and that some other search might show Google in an equally bad light. However, I find this constantly: Google gets me much better results. Further, this case is particularly telling, since a third-party download site is not what you want when patching Windows. Quite likely those other sites do point you to the correct official download eventually; but getting Microsoft downloads from Microsoft’s site is safer.

I am not surprised Microsoft has a tiny share of the search market; and I don’t believe this is simply because of Google’s clever marketing.

Update PS: The above screen grab still matches what I get today. However, users in different countries may get different results; from the comments below I suspect that US users get better results in this instance. Maybe Live Search is worse in the UK than in the US; I’d be interested to know.

Technorati tags: , ,

Lively attack on Microsoft’s poor marketing – from within

Microsoft employee Kirk Allen Evans has a go at Microsoft’s marketing efforts:

I am so completely and utterly sick, as an employee and a Microsoft shareholder, of seeing empty spending on crap like "People_Ready".  Remember the completely ridiculous Office Dinosaur spots?  C’mon, marketing, grow a pair… let’s see some results.  No, I don’t want to see a retort ad making fun of the "I’m a Mac, I’m a PC" goons.  That ship has long since sailed.  Let’s see what all that Microsoft money and some of the smartest people in the world can come up with.

He’s right. So are the comments to his post, observing that marketing isn’t the only problem, or even the core problem.

Still, Vista is now actually better than its reputation. That’s a marketing issue.

Technorati tags: , ,

The messy world of the Web 2.0 user interface

Verity Stob’s Web 2.0 app diagram is worth a look.

So is it back to plain old HTML+forms then? That won’t do either; your app will look a decade old, and offline will never work.

This is why the current RIA wars are fascinating – particularly since Apple seems averse to runtimes like Flash, Java or Silverlight on its iPhone.

Which leaves what? JavaScript, hélas.

What’s new in Subversion 1.5

The team behind the open source SCM (Software Configuration Management) tool Subversion released version 1.50 last month. Karl Fogel, president of the Subversion Corporation, says:

Measuring by new features alone, Subversion 1.5 is our biggest release since version 1.0 became available in February 2004.

I am a contented Subversion user, so took a look at the changes. Top of the list is “merge tracking”, though it is described as “foundational” which means that although the basic support is there, there is performance and feature work which remains to be done. From the user’s perspective, the difference is that branching and merging is just easier than before, as explained by Ben Sussman:

Notice how I never had to type a single revision number in my example: Subversion 1.5 knows when the branch was created, which changes need to be synced from branch to trunk, and which changes need to be merged back into the trunk when I’m done. It’s all magic now. This is how it should have been in the first place.

Other changes include sparse checkouts (when you only want to grab a small part of a repository), and changelists, a client feature which lets you tag a set of files under a changelist name and work on them as a group. There are also improvements aimed at making Subversion better suited to large-scale deployments using multiple servers. Subversion is still a centralized rather than a distributed SCM system, but 1.5 is better suited for use in a distributed manner. No doubt the Subversion team is aware of the increasing interest in Git, a distributed system. There are also numerous bug-fixes and performance tweaks. The changes are described here.

I want to move to Subversion 1.5 but it is not that easy. Compatibility is good, in that older clients work with 1.5 servers and vice versa, the main proviso being that you cannot mix several versions of the Subversion client with the same working copy. That is not likely to be a problem for most users.

The difficulty I encountered is that mainstream Linux distributions still have older versions of Subversion in their stable repositories. Ubuntu, for example, has version 1.4.4. My most-used Subversion repositories are on a Debian server, which also has an old version. I don’t want to switch the server to sid, Debian’s development distribution, and mixing packages is often problematic. I could do a manual installation I guess; but instead I will be patient.

I did install 1.50 on Windows, for an intranet repository. I used the Collabnet download. All I needed to do was to inform the installer of the location of my existing repository, and then copy a few lines from the old Apache 2.0 configuration file to the new Apache 2.2 configuration file. Everything works fine. I also updated TortoiseSVN on the Windows clients.

One of the advantages of Subversion (or any SCM) repositories over synched folders like those in Microsoft’s Live Mesh or Apple’s MobileMe (as I understand it) is that you get version history. I regard this as a key feature. The problem with synchronization is that you might overwrite a good copy with a bad one. It is easy to do; it might be caused by user error, or a bug in your word processor, or a failing hard drive. Automatic synch (un)helpfully replicates the bad copy all over. Versioning means you can just rollback to the good one.

Pretty permalinks improve stats reporting

Last month I reconfigured this blog to use WordPress pretty permalinks. I didn’t rush to do this because I don’t mind the default, where the post is identified by a numeric url argument. The new permalinks do look nicer though, and some claim they help search engines, though I haven’t noticed any impact on traffic. The old links still work as well, so nothing got broken.

One advantage of the new arrangement is that awstats does a better job of reporting page views. I can now easily see which posts are the most read. I thought that might be the newer posts, but it is not. The two posts most read last month, by some margin, are both on why Outlook 2007 is slow. The next is one on trouble installing Adobe CS3. Clearly, these are very common frustrations; users hit Google and these posts have a high ranking for these particular subjects.

I value these stats. They tell me (as if I did not already know) that Microsoft has a significant problem with Outlook 2007 performance; and that Adobe needs to work on its installer for Creative Suite. Web 2.0 is great for product feedback.

Microsoft fixes Xbox 360 license transfer

Microsoft has finally fixed a long-standing irritation with the Xbox 360: the inability to transfer licenses for purchased games from one console to another. The new license transfer tool lets you consolidate all your download purchases to a specific Xbox 360, even if some were downloaded onto a console that no longer works or was sold on.

I’m personally grateful as I ran into exactly this problem and had an argument with support about it.

There’s a wider point here. If I buy virtual property, like software, music or an ebook, it makes sense to record that ownership in the cloud so that there is no need to keep backups and it cannot really be stolen (other than by hacking the online account, I guess).

Technorati tags: , ,