Monthly Archives: October 2009

I set aside today for doing a Small Business Server 2008 installation. We had the new HP box, the new HP Small Business Server 2008 Premium pack, a stack of CALs. All legal, decent and honest.

Problem number one: the Microsoft-supplied Certificate of Authenticity has an unreadable product key. There is some kind of printing error; two of the letters are actually missing, and three more are partially obscured. It is, in other words, useless.

After making a number of calls, I’ve discovered that it is hard to get anyone to take an interest in an unreadable COA. The whole system is built on the theory that you get one COA with the product keys, and one only, and if you lose it, that is that. That said my supplier is helpful and I’m sure will sort it out, probably by treating the entire pack as faulty … of course that means a delay while a replacement is arranged. You would think there might be a database somewhere, where you can key in the serial number of the COA (which is fine) and read out the product keys; but apparently not.

In the meantime, I made a start by installing Server 2008 Standard (the 2nd server in SBS Premium) without a key, as a supposedly 60-day trial. The 60 days didn’t last long; it is already telling me I must activate “today”, probably because I fitted more RAM.

However, it did throw up another little issue. The HP version of SBS is meant to be locked to HP machines. That’s fine; I have an HP box, I have HP software. However, I want to install SBS as a virtual machine hosted on the 2nd server – a fully supported configuration. How can the BIOS-locked installation tell the difference between a virtual machine hosted on an HP box, and a virtual machine hosted on any other box?

The answer: it can’t. My perfectly legitimate installation throws up the error: This system is not supported platform [sic].

For this one, I have found a solution. What you do is to download the trial and install from that, entering your HP product key when requested (this one I do have).

I am not sure which is more silly, the fact that the legal media will not install, or the fact that the trial media bypasses it so easily.

All these are hassles which only the honest have to suffer.

I understand Microsoft’s need to protect its intellectual property; but frankly the user experience when encountering this kind of issue is appalling, and one soon tires of endless recorded messages that do not address your issue. It doesn’t help that Google searches bring back mostly information on piracy, or exhortations not to be a pirate.

Linux anyone?

Update: Here’s an interesting tech note from HP about a similar Hyper-V issue for HP-branded Server 2008. Looking on the SBS media, the exact files referenced there are not present, but there is one in the same location called HPActive.cmd which adds a registry entry to the host and does some funky licensing stuff. That said, it also seems to replace the product key which is odd. Could running this fix the issue? No promises, and at your own risk.

I have an Ubuntu server performing various important duties including serving music for Squeezebox. It was humming along with version 9.04 of Ubuntu and the latest Logitech Squeezeboxserver; but a new version of Ubuntu, 9.10 or Karmic Koala, was released today and I hastened to install it.

All went well – aside from a problem with Grub 2 which is related to my slightly unusual setup – except that Squeezebox Server failed after the upgrade completed. When I tried to use aptitude to correct the problem, I saw an error message:

The following packages have unmet dependencies.

squeezeboxserver: Depends: mysql-server-4.1 but it is not installable or

mysql-server-5.0 but it is not going to be installed

Frustrating, particularly as this thread indicates that squeezebox server runs fine with MySQL 5.1, which is installed.

I messed around trying to get apt-get to force the install but it would not play. I therefore downloaded the .deb directly and ran the following command:

dpkg –i –-force-all squeezeboxserver_7.4.1_all.deb

This tells dpkg to install the package come what may. It did so; and everything works fine.

Update: Andy Grundman tells me that the problem is fixed in Squeezebox Server 7.4.2, currently in beta.

“Never ask for permission, ask for forgiveness – that’s how we’ve done a lot of things in the Mono world,” said de Icaza, who also remarked that in the beginning “we thought it would be a walk in the park, we thought it would up and running in 6 months.” His motivation: “We think that .net is a fantastic development platform – we were envious when Microsoft came out with it.”

Eight years on and the Mono team is now around 35 people at Novell, plus 30-70 external contributors. “We don’t dictate the direction of mono, it’s mandated by the direction of the community,” says de Icaza. He talks about MonoDevelop, the Mono IDE, which is now licensed under LGPL allowing commercial plug-ins; about MonoTouch which lets you develop for Apple’s iPhone and “will expand towards Android”; and about XNATouch, a Mono game framework for iPhone.

The task of keeping up with Microsoft – insofar as Mono succeeds – has become easier thanks to open source. “In the last couple of years Microsoft has become very open-source friendly in some areas,” says de Icaza. “For example ASP.NET MVC, we don’t have to do anything, it just runs on our ASP.NET implementation.”

Someone asked about Mono’s plans for WPF, which is becoming more important on Windows, and this led to some intriguing comments on Moonlight/Silverlight and its future. “I think Silverlight has more potential than WPF has, because it runs on the Mac, it runs on Linux, it runs on Windows, and Silverlight is easier to learn than WPF is. We like the Silverlight model but we don’t like that it is limited to a sandbox on the browser,” he said.

“Moonlight can be used in two modes. One of them is moonlight in the plug-in, like you do with Microsoft, and you can out-of-browser if you want, but you are still restricted by the sandbox. We also offer the same graphical engine that we use for Silverlight [Moonlight] but with the .NET 4.0 APIs. You have full access to .NET 4.0 with the Silverlight UI. Isn’t that awesome?”

“WPF is interesting but a lot of work, and we don’t have the bandwidth and the resources. Our best possible option is to use Silverlight with the .NET 4.0 APIs. Our wish is to bring this expanded Silverlight to Windows and Mac OS. Maybe we’ll gently push Microsoft in that direction.”

One of his team is working on “the whole desktop rendered by Silverlight.”

In general I agree that Silverlight is more significant than WPF, particularly if Microsoft keeps up its current energetic level of development. I will be surprised if we don’t hear from Microsoft about an enhanced desktop Silverlight at the forthcoming PDC and Mix conferences.

There is another side to this though: if you can do your cross-platform .NET development in Microsoft Silverlight, do you still need Mono? Particularly if official ports to Linux start appearing?

Of course there is more to Mono than Moonlight. Running ASP.NET on Linux web servers is an attractive proposition, though historically its performance and reliability hasn’t matched that of Microsoft .NET – not surprising given its relatively small resources. Eight years on, and Mono has done more than just survived, yet has not quite tipped over into a platform popular enough to attract the level of contributions it needs.

When the city council of Los Angeles needed to replace its Novell email system, it looked at two main options. One was Microsoft Exchange, the other Google Apps; and Google won the deal.

There is one, fascinating, caveat. According to David Sarno at LA Times:

The contract was approved pending an amendment that would require Google to compensate the city in the event that the Google system was breached and city data exposed or stolen. No such clause existed in the contract.

Compensation sounds like something more substantial than the fee refund offered by a typical SLA (Service Level Agreement) – and this is about security, not interruption of service.

I would be intrigued to know whether Microsoft pitched a traditional on-premise solution (most likely); or whether it sought to do like-for-like with Google with a hosted Exchange offering.

It’s been a good month or so for Google Apps. I’ve heard of deals with Rentokil Initial (up to 35,000 users worldwide) and Jaguar Land Rover (15,000 worldwide). Deals like this put Google on the map for many more organisations.

Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period. You also benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.

The cost starts at $0.11 per hour for a small database instance (1.7GB RAM, 1 virtual core, 64-bit), increasing in stages as more power is required. The engagingly-titled “Quadruple Extra Large DB Instance” offers 68GB RMA and 8 virtual cores, at $3.10 per hour.

In addition, you pay for database storage at $0.10 per GB-month, $0.10 per 1 million I/O requests, $.10 per GB transferred in, and $0.17 per GB transferred out.

That’s a worrying collection of charges, but the usual logic applies: if you need a hefty database server for a defined period, say to cover a special event, this will work out more cost-effective than installing your own servers.

You can also install MySQL or other database servers on general-purpose Amazon EC2 instances, but this pre-built solution looks attractive.

Microsoft started its cloud database initiative with a preview of SQL Server Data Services, offering a limited database API more like Amazon SimpleDB. Then Microsoft decided to offer full SQL Server on its Azure cloud. However, Azure is still a Community Tech Preview, and during the interim period Amazon has come up with its own fully relational solution.

This means that Microsoft is making it easy for .NET developers to support Windows 7 in WPF applications. However it is not extending the same love to developers using Windows Forms, the older GUI framework. That said, there is always the Windows API Code Pack which covers many Windows 7 features including the taskbar and jump lists, or you can do your own COM and native code interop. No doubt with a bit of effort all the features can be be integrated into a Windows Forms application.

Still, there’s no doubt that Microsoft is now steering us towards WPF rather than Windows Forms for new desktop development. About time, you may say, considering that WPF first arrived in 2006. While that’s true, there have been good reasons to be cautious about adoption. WPF apps use more resources than Windows Forms applications, require the .NET Framework 3.0 or higher, and for a long time were talked down even by Microsoft as unsuitable for line of business applications.

That tune has now changed, though when you consider the large numbers of existing Windows Forms applications, and the fact that developers contemplating radical revisions or new projects may well be looking at web or rich internet clients, WPF is still something of a hard sell.

On the other hand, the improvements Guthrie describes are significant, not only for Windows 7 features, but also key areas like cached composition for graphics, which can greatly improve performance, and a new text rendering API.

It’s also worth noting that Windows Forms was never a great framework. It wraps the old Windows GUI API which makes resizable layouts and scaling for different display resolutions difficult, as well as lacking all the multimedia and effects goodness in WPF. Another factor is that WPF is designer friendly, with its own Expression Blend design tool. Windows Forms has nothing like that.

WPF has a family connection to Silverlight, which was originally called WPF Everywhere. Microsoft’s idea is that we code in WPF for the desktop, and transition to Silverlight for applications that require broad reach. So far though, mass migration to WPF has not happened, and Silverlight has an independent life as a platform for browser-hosted .NET applications that work cross-platform. Developers have many other choices for broad reach applications, including HTML and JavaScript, Java, and Adobe Flash.

Is it possible that broad adoption for Windows 7 could see renewed interest in WPF and Windows development? I think it will happen to a limited degree, but will not really disrupt the underlying trend towards web and cross-platform.

In order to facilitate interoperability and enable customers and vendors to access the data in .pst files on a variety of platforms, we will be releasing documentation for the .pst file format. This will allow developers to read, create, and interoperate with the data in .pst files in server and client scenarios using the programming language and platform of their choice.

The initials .pst stand, I believe, for “Personal store”. This is the format used by standalone Outlook, for users without Exchange. You can also have Exchange deliver email to a .pst, though more normally Exchange mail is stored in an .ost (“Offline store”) which replicates the mailbox on the server. The .pst format is still used for archiving in this scenario. I’m not sure how different .pst and .ost are internally, or whether Microsoft intends to document both.

Any move towards open formats is welcome, though I’m not sure how important this one is; further, Outlook is frail enough as it is, so I’m nervous about third-party software modifying a .pst and perhaps getting it slightly wrong and causing problems. Programmatic access to Outlook data has long been available, via the ancient MAPI or via Outlook’s COM API.

In just slightly related news, my help post on the error message Cannot open the Outlook window is the most viewed post on this site this month and the fourth most viewed last month; it has 129 comments.

I suspect most users would prefer a faster and more robust Outlook over and above a published file format; unlike Office document formats, a .pst is not generally shared with others.

I’ve been exercising the new beta 2 of Visual 2010. It is hard to encapsulate in a few words because this is a simply huge release. OK, so I did download the Ultimate version; but the changes at every level seem greater than in Visual Studio 2008. One of the reasons is that this is the first full update to the .NET Framework since version 2.0 in late 2005. Versions 3.0 and 3.5 extended 2.0 but did not replace it. Another factor is that Visual Studio 2010 has a new editor built with Windows Presentation Foundation, and has a different look and feel than its predecessor. In addition, there is a new language, Visual F#, though I don’t hear much buzz about it; I think elevating IronRuby or IronPython to this status would have attracted more interest – but they are dynamic languages, whereas Visual F# is a functional language.

When you are assessing Visual Studio you are in part assessing Microsoft’s platform, and as that platform has sprawled, so too has the tool. It is now so large that it is difficult to have in-depth knowledge of the entire thing. I also notice this when speaking to Microsoft folk about the product.

After that, you might be ready to look at new stuff in specific languages: including the dynamic keyword in C#, implicit line continuation in VB, lambda expressions in VC++, the concurrency runtime, and the arrival of Visual F#.

But isn’t this the era of cloud computing? That’s another part of the problem; the Windows-oriented tools seem less important if you are immersed in the latest cloud news. That said, don’t forget Windows Azure, though I was disappointed to find that the Windows Azure Tools for Visual Studio are a separate download, and not done yet.

I’m impressed that Microsoft seems to be pulling all this together successfully; it is a significant integration task. And as ever I’d be interested in what developers think – was the new code editor really necessary? Is Microsoft addressing the right areas? Has Microsoft done enough to support new Windows 7 features? And is performance OK in this version (it was a problem in beta 1)?

Adobe and Salesforce.com have announced Flash Builder for Force.com, a special version of Flash Builder that lets you create Flex applications that interact with Force.com web services. The preview will be available for download today from developerforce.

I asked Dave Gruber from Adobe and Eric Stahl from salesforce.com what is really new here, since force.com has always exposed a SOAP web service API, and Flash Builder has the ability to import WSDL service descriptions in order to call them. In addition, a Force.com Toolkit for Adobe AIR and Flex has been available for some time.

Gruber explained that there is now a “custom interface to the Force API” that reduces the amount of code you have to write to wrap these services. In addition – and this may be more significant – some parts of LiveCycle Data Services have been integrated into the Force.com platform, including the data synchronisation piece. The illustration above shows an AIR application with a Sync tab, and this is the kind of online/offline application that should now be easier to build.

“We have a lot of customers asking us for that desktop connected, disconnected scenario. We want to give people a great set of tools for building those kind of apps,” says Stahl.

According to Gruber, Flex developers who want to take advantage of the new framework will have to purchase Flash Builder for Force.com even if they already have Adobe Flash Builder. “It’s a unique offering, this is not going to be built into the standard Flash Builder product”, he told me.

Salesforce.com has toolkits for many client platforms, but offering a custom IDE for Flex demonstrates a significant partnership. “Adobe is clearly the leader in rich internet applications, it’s a synergistic relationship,” says Stahl.

A quick glance tells you that Windows suffered a sharp decline, though Microsoft says this is because it has deferred $1.47 billion of Windows 7 upgrade revenue, and that adding this back would reduce the decline to 4% year on year.

Note that even with the deferral, Windows is highly profitable.

The star here is server and tools, growing in the downturn and delivering strongly increased profits. I doubt tools counts for much of this; I’m guessing it reflects the positive reception for Server 2008.

Online is as dismal as ever. Clearly the Live properties are still not performing. Presuming Azure is in this category, it’s possible that this will start to turn this round; that is more likely I guess than an improvement in the fortunes of existing products such as Bing.

Office strikes me as pretty good bearing in mind the weak economy and that Microsoft is now talking about Office 2010. Entertainment and devices ticking along but nothing special.

I’m guessing Windows 7 will deliver Microsoft a great next quarter no matter what; but when if ever will it be profitable online?

Disclaimer: I am not a financial analyst, and hold no shares in companies about which I write. Please do not misconstrue this as investment advice; I know nothing about the subject.