Tim Anderson’s ITWriting

Tech writing blog

August 10th, 2008

Microsoft Silverlight: 10 reasons to love it, 10 reasons to hate it

A year or so a go I wrote a post called Adobe AIR: 10 reasons to love it, 10 reasons to hate it. Here’s the same kind of list for Microsoft’s Silverlight, based on the forthcoming Silverlight 2.0 rather than the current version. The items are not in any kind of order; they also reflect my interest in application development rather than design. It is not a definitive list, so there are many more points you could make – by all means comment – and it will be interesting to have another look a year from now when the real thing has been out for a while.

This Silverlight developer chart is available in full on Brad Abrams’ blog here, or in Joe Stegman’s Deep Zoom version here.

The pros…

1. The Silverlight plug-in means developers can target a single, consistent runtime for browser-based applications, rather than dealing with the complexity of multiple browsers in different versions. You also get video and multimedia effects that are hard or impossible with pure HTML and JavaScript; though Adobe’s Flash has the same advantages.

2. Execute .NET code without deploying the .NET runtime. Of course, the Silverlight plug-in does include a cut-down .NET runtime, but instead of dealing with a large download and the complexities of the Windows installer, the user has a small download of about 4MB, all handled within the browser. In my experience so far, installation is smooth and easy.

3. Performance is promising. Silverlight comes out well in this prime number calculator, thanks no doubt to JIT compilation to native code, though it may not compare so well for rendering graphics.

4. Support for Mono (Moonlight) means there will be an official open source implementation of Silverlight, mitigating the proprietary aspect.

5. Silverlight interprets XAML directly, whereas Adobe’s XML GUI language, MXML, gets converted to SWF at compile time. In fact, XAML pages are included as resources in the compiled .XAP binary used for deploying Silverlight applications. A .XAP file is just a ZIP with a different extension. This also means that search engines can potentially index text within a Silverlight application, just as they can with Flash.

6. Third-party component vendors are already well on with Silverlight add-ons. For example, Infragistics, ComponentOne and DevExpress.

7. Take your .NET code cross-platform. With Macs popping up everywhere, the ability to migrate VB or C# code to a cross-platform, browser-based Silverlight client will be increasingly useful. Clearly this only applies to existing .NET developers: I guess this is the main market for Silverlight, but it is a large one. The same applies to the next point:

8. Uses Visual Studio. Microsoft’s IDE is a mature and well-liked development environment; and since it is also the tool for ASP.NET, you can use it for server-side code as well as for the Silverlight client. For those who don’t get on with Visual Studio, the Silverlight SDK also supports command-line compilation.

9. Choose your language. Support for multiple languages has been part of .NET since its beginning, and having the .NET runtime in Silverlight 2.0 means you can code your client-side logic in C#, Visual Basic, or thanks to the DLR (Dynamic Language Runtime) Iron Ruby or Iron Python.

10. Isolated storage gives Silverlight applications local file access, but only in a protected location specific to the application, providing a relatively secure way to get this benefit.

The cons…

1. If Apple won’t even allow Flash on the iPhone, what chance is there for Silverlight?

2. Silverlight is late to the game. Flash is mature, well trusted and ubiquitous; Silverlight only comes out of beta in the Autumn (we hope) in the version we care about – the one that includes the .NET runtime - and will still lack support on mobile devices, even Windows Mobile, though this is promised at some unspecified later date.

3. The design tools are Expression Blend and Expression Design – but who uses them? The design world uses Adobe PhotoShop.

4. While having solution compatibility between Expression Blend and Visual Studio sounds good, it’s actually a hassle having to use two separate tools, especially when there are niggling incompatibilities, as in the current beta.

5. No support for the popular H.264 video codec. Instead hi-def video for Silverlight must be in VC-1, which is less common.

6. It’s another effort to promote proprietary technology rather than open standards.

7. Yes Linux will be supported via Moonlight, but when? It seems likely that the Linux implementation will always lag behind the Windows and Mac releases.

8. Silverlight supports SOAP web services, or REST provided you don’t use PUT or DELETE, but doesn’t have an optimized binary protocol like Adobe’s AMF (ActionScript Message Format), which likely means slower performance in some scenarios.

9. Silverlight is a browser-only solution, whereas Flash can be deployed for the desktop using AIR (Adobe Integrated Runtime). Having said that, yes I have seen this.

10. You have to develop on Windows. This is particularly a problem for the Expression design tools, since designers have a disproportionately high number of Macs.

August 7th, 2008

SQL Server 2008 is done

Microsoft has announced that SQL Server 2008 is released to manufacturing – ie. the bits are done, even if you can’t buy it yet. MSDN subscribers can download it now.

This is the product that was “launched” back in February; it’s been a long delay but I get the impression that the SQL team likes to wait until its release really is ready.

SQL Server 2008 is more like a suite of products than a single product now. It has a large range of editions from Compact to Enterprise, and product areas like Analysis Services and Reporting Services are distinct from the core engine.

The pieces that interest me most are the spatial data types, sparse columns, FILESTREAM data type, and the various object-relational layers including LINQ, Entity Framework, ADO.NET Data Services, and the ongoing work with SQL Server Data Services (which is far from done yet).

DBAs will likely have a very different view of what is important, as will Business Intelligence specialists.

SQL Server has prospered by being cheaper than than the likes of Oracle and DB2, and by integrating smoothly with Windows and Active Directory. I wonder if it will feel pressure from even more cost-effective open source offerings like MySQL, as they become more Enterprise-ready?

August 6th, 2008

Sorry Beeb – I’m uninstalling your Olympic monkey

Tried the BBC’s AIR application for the Olympics.

It has three skins – yes, they are all that bad.

Adobe is doing well in getting AIR apps out there; but I’m still not seeing many that are worth installing.

Technorati tags: , ,
August 6th, 2008

Office 2007 ODF support: my guess is it will be good

More details are emerging about the ODF converter which will be in Office 2007 SP2, set for release next year. Doug Mahugh’s post outlines the architecture and explains how the converter will deal with compatibility issues.

I want to highlight the section that describes how the converter is implemented:

Word, Excel and PowerPoint have a Model-View-Controller design. The in-memory representation of the document, or Model, is designed to facilitate document revision and display functions and includes concepts which are never saved to the file, such as the insertion point and the selection.

The persistence code converts this in-memory representation to and from some sort of the disk file based representation. Office 2007 already had code to support a number of angle-brackety persistence formats including HTML and OOXML. When we built in support for ODF, we added it in that area of our code.

That suggests deep integration, and a converter that has good chances of working smoothly and quickly – unlike the clunky open source translator which Microsoft sponsored, which is based on XSLT.

Users also have the option of Sun’s plug-in, which is based on Open Office code.

It seems that Microsoft is aiming to make Office 2007 a good ODF citizen. Will that impede adoption of Microsoft’s own OOXML format? Well, I guess OOXML will still be the default, and will have the best support for Office-specific features. Another thing to bear in mind is that OOXML was designed with Office specifically in mind. Potentially troublesome creatures like very large Excel spreadsheets may well perform best with OOXML. Another point is that Microsoft’s server products, where they exploit XML documents, are likely to work best with OOXML. In other words, there are likely to be advantages in OOXML within enterprises that use Microsoft’s platform.

Still, strong support for ODF by default in Office will be a significant boost for the OASIS format. Microsoft is protecting its very profitable Office sales against the risk of being dropped for lack of ODF compatibility.

Technorati tags: , , , ,
August 5th, 2008

Innovative multi-user Windows XP system may breach Microsoft license

I was asked to review an unusual system which lets multiple users run concurrent sessions on Windows XP. MiniFrame’s SoftXPand lets up to 8 users plug mice, keyboards and displays directly into a Windows PC, each with their own desktop. It makes a bit of a tangle of USB expanders and cables, but it’s wildly efficient, and unlike conventional thin clients it enables applications to use hardware accelerated graphics. Schools which thought they only had the budget for a single PC are able to support six users. News like this travels fast, and it has apparently been adopted by 20% of primary schools in Derbyshire, where the main UK distributor is based. My review for IT Pro is here.

But surely the EULA for Windows XP doesn’t allow that kind of use? By default XP won’t allow more than one session, though there are registry hacks which enable it. I asked Microsoft, which gave me a comment from Michala Wardell, head of licensing and anti-piracy, Microsoft UK:

According to Microsoft’s license agreement, each added work station represents a new way of interacting with the software. As such, using hardware and software to effectively extend a single license to cover multiple users is a clear violation of this agreement. We urge customers to stay clear of this as they run the risk of non-compliance.

MiniFrame’s CEO Eli Segal says this is all about new licensing models:

MiniFrame has not been approached by either Michala Wardell or by any other Microsoft representative. We are therefore obviously not working with them on any licensing issues, as being claimed by Michala Wardell. MiniFrame has a very clear third party licensing policy: each EULA (End User Licensing Agreement) of any third party software provider should be respected by users, and with no exception to Microsoft. Virtualization has become mainstream, and I’m sure that licensing issues are being considered by all industry players, as well as by Microsoft, trying to shape a new model of licensing (EULA).

I’m no lawyer so I’m just passing the comments on - they are also quoted in full in the review – though when I saw the system I was surprised that it used Windows XP and not Windows Server. Further, it is not really virtualization, it is much more like running multiple remote desktop sessions, but without the remote bit. MiniFrame even has an article explaining why SoftXPand is not a virtual machine.

Still, I hope Microsoft doesn’t try and squash it out of existence. In the right context the system saves power and long-term there is less hardware to scrap, both issues of increasing importance. This is not the moment for Microsoft to insist that an organization replaces one PC with six, or to disappoint all those primary school kids.

August 4th, 2008

It’s not just free software that has poor usability

Jack Schofield at The Guardian links to Matthew Paul Thomas’ post on Why Free Software has poor usability.

For most of his points you could drop the free from his title.

Thomas makes the point about most programmers not being good designers:

Some programmers are also great designers, but most aren’t. Programming and human interface design are separate skills, and people good at both are rare. So it’s important for software to have dedicated designers.

True; but software can be over-designed too – I guess this happens more in the commercial world. Sometimes usability is sacrificed for the sake of good looks.

Mega-budgets don’t always help. How did Office 2007 get through its usability testing, when there is no indication that you have to click on the “Office button” to access essential features like New, Save As and Print? What about Outlook 2007, with one of the world’s most obscure and difficult UIs? Opening another user’s mailbox – how many clicks is that, and how would you possibly find it without being told?

Good code is hard; good design is harder.

July 25th, 2008

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: ,
July 14th, 2008

The sad story of the LG Viewty – case study in Web 2.0 failure

The LG Viewty (KU990) is a decent camera phone which came out last year in the wake of the first iPhone; yes it is me-too product but it has a few advantages over Apple’s product, like an 5 MP camera.

The trouble is, there are niggles, some minor, some major – like video recordings losing sound. A little over six months on, and users are posting messages like this:

I have to admit that I hate this phone. I have had mine six months now and I have regretted it for some time. It’s unresponsive, the camera is poor most of the time, it’s really awkward to use. It’s very slow at taking photos. It can’t hold a signal. The battery life is getting poor. It won’t handle many music file types very well. It feels like a Beta phone. The support from LG is non existent. I’m so disappointed. I look at apple, and yes, people did have to fork out for their phones, but look at the level of support and development they’re getting - new stuff is being added all of the time. It almost feels like they built this phone as a test for some of the features to go into other products.
The best thing about this phone is the video, and I love that part of it. I have some real magic moments captured and I’m grateful. But that is it.
I speak for myself, but I will never get another LG phone, period. As soon as I can get bought out of my contract the better.

It is a big change in mood from when the Viewty was released. This huge thread on the What Mobile forum has the story. Early adopters loved it – except for a few niggles which they hoped and expected would be fixed by a firmware update.

There has been no firmware update. Presumably all the software folk at LG have moved on to the next shiny device. Viewty users feel abandoned.

This seems like a good case study about not getting Web 2.0. Ironically LG made an effort to exploit social networking when the Viewty was launched. LG contacted bloggers and and offered phones for review; I reviewed it here. There is an official LG UK Blog – which sadly is pure marketing fluff and has done nothing to engage with the community over the issues which have been raised. There is an official Viewty website that has lots of Flash multimedia but little substance.

Yesterday I wrote about purchase decisions that begin with a Google search. Mobile phones are a good example. Anyone who does their Web homework will be put off the Viewty; and indeed deterred from newer LG models because the same thing will likely happen again. Network effects work both ways; even those who do not live on the Web will be influenced by opinion-formers who do.

It seems to me that a relatively small investment in communication and post-release software update and support would yield significant improvement in sales.

Technorati tags: , ,
July 3rd, 2008

Have you found an AIR app you actually use yet?

Today I downloaded the BBC’s new Adobe AIR application, BBC Live.

This installs as a system tray app on Windows. It’s a beta. Nice little app; but it’s competing against my existing RSS reader which is subscribed to the BBC news feed. The AIR app is much prettier, has images, and lets you customise the feed easily. However, the RSS reader deals with lots of feeds; and I can’t imagine running a separate application for every one. The advantages of the BBC app are rather small compared to the convenience of using a single application for multiple news sources.

Lifehacker recently published a list of the top ten apps worth installing Adobe AIR for. The list had a contrary affect on me, since there is nothing there that I find really compelling. I tried the eBay Desktop app, for example, but much prefer visiting the web site.

So … personally, I’m still waiting for an AIR app to love. But I’d be interested to know what others are running and finding useful.

Technorati tags: , , ,
July 2nd, 2008

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.