Stuff Michael Meeks is doing

This is my (in)activity log. You might like to visit Collabora Productivity a subsidiary of Collabora focusing on LibreOffice support and services for whom I work. Also if you have the time to read this sort of stuff you could enlighten yourself by going to Unraveling Wittgenstein's net or if you are feeling objectionable perhaps here. Failing that, there are all manner of interesting things to read on the LibreOffice Planet news feed.

Older items: 2023: ( J F M A M J ), 2022: ( J F M A M J J A S O N D ), 2021, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, legacy html


Microsoft Office 14 for Web

It seems that MS are entering the hosted Office space with Office Live, Q&A, Video (hover over the downloads link). Here are some of my initial thoughts, at least crystallising my dislike of some of the 'cloud' computing hype.
Architecture
This appears to involve putting a full-blown instance of MS Office on the server, per user - this is (presumably) one of the reasons they are on a vast server farm building spree: and who can blame them - running at least one full copy of office on the server per user is going to be incredibly expensive.

This at least lets them expose the full feature set of MS Office, and makes it something I'd want to use - the down side being things like those Excel no more limits features mean a casual user can swallow gigabytes of server RAM fairly trivially:

Total amount of PC memory that Excel can use
Old Limit: 1GB
New Limit: Maximum allowed by Windows
I hope that works out well for whomever happened to get dropped into sharing the same server as the heavy spreadsheet user.

What about the web technologies ? - apparently this is not Silverlight only, though there seems to be an acknowledgement that if you want a version that performs well, you will need that, otherwise (reading between the lines) I suspect it's a lot of bitmaps, lag and server side rendering.

The exact technology mix doesn't seem to be public yet, but the MS Office code-base is mythically large and twisty. Having said that they seem to have a Model/View separation clean-up underway, unless the live collaboration is some grisly hack. I strongly suspect, where claims of perfect visual fidelity (6:05 into the video) are made, that this is a StarPortal model, or perhaps even more basic - with EMF+ or even an RDP-like protocol being used with a -very- thin client, ie. a model akin to Ulteo's embedded-Java/VNC style setup.

Of course, this type of architecture is really great for getting apps onto the web fast, and sharing that code-base with the fat client, but ultimately can never allow dis-connected operation. Then again, for large complex applications I've never believed the "re-write everything in JavaScript with Gears" mantra (after all, we've not yet finished the re-write of everything into Java yet), and it seems (to me) an expensively lame solution to the simpler deployment problems the web is supposed to solve.

Normal Web problems
This of course ties into the problem of payment - sure, in this world people can save money by buying some trivial piece of hardware, and running just Firefox on it; but sadly - unless money can be made simply by competing to give things away faster than Google, or by advertisements: someone has to pay for 10k new machines per month, and worse the electricity to run them. Is there some corresponding, functioning micro-payment / metering scheme to make a business model fly here ? and how does the transition to that work ?

Then of course, service level agreements tend to be an issue - particularly in the presence of the known pathological resource sharing problems. Of course, service wise - there needs to be some really good sand-boxing to isolate everyone from the next MS Office binary filter vulnerability, and no doubt there remain many of them to be discovered.

To overcome some of these problems, and the potential confidentiality / compliance issues people can run this on their own Sharepoint server(s), then, if you're not careful this begins to look like some of the lamer desktop 'virtualisation' solutions that essentially are just an exercise in PC movement: all the PCs move into the data-centre: but you have just as many of them, perhaps at greater expense, but at least they sit somewhere else. Still - that should make hardware manufacturers salivate I guess.

Of course, in the browser world, as I understand it, there are a host of evil problems with missing open standards and ergonomics around interacting with local devices, and exposing those back to the server: USB keys, printers, printer-quirks-and-settings, 3D acceleration etc. Perhaps many of these can be overcome with Silverlight, but no doubt eventually deploying and updating increasingly complex fat-client technologies starts to eat into the 'reduced deployment' rational for all this work in the first place. It reminds me of our old XMS system (written in Java), that only worked (or was certified / supported) with Java 1.2.3.4-5.6, and only on Windows, and only in IE, such that everyone had to use Citix to access it on a Windows cluster in Provo.

Win32 for the Web ?
If my guess is correct: that this is some very thin RDP-like layer to a fat client on a server - and indeed for eg. VBA macros, Excel analytics plugins etc. to work well this is basically necessary (since they can use any part of the Win32 API) then life is interesting. It would suggest a possibility to extend the life of the Win32 APIs to become a 'web' application framework: if so, surely ~all windows desktop apps can be "Webbed" in a similar way. If my guess is not correct, then at least some degree of embarrassing retraction wrt. the functionality available in the web version will be due soon, and/or some wholesale feature axing for Office 14.
Cross Platform
Does this mean Microsoft is finally shipping Office for GNU/Linux ? lets see how it performs there, I guess this is at least better than nothing for the last few percent scared of the GNU/Linux desktop and OpenOffice, and it'll be interesting to see if MS bothers sustaining their increasingly creaky Mac version: apparently the Web version on Mac will be more feature complete, albeit less 'beautiful'.

Summary
This is a smartish move by Microsoft. It will make, thanks to Miguel's prescience, MS Office available on the GNU/Linux desktop. However it will cost Microsoft a fortune in server hardware and electricity, and there are formidable problems around metering and managing the live service, particularly against a leaner, simpler free (beer) rival in Google. Of course, as soon as the half of computer users with laptops go dis-connected, or catch a flight (when can we expect high-bandwidth, low latency transatlantic internet services ? or even ubiquitous in-seat power ?) - they will have to use OpenOffice anyway, oh, and their portable hardware will need to be beefy enough to be capable of running that, so - why not author it there in the first place ?

This is a problem for Free software - traditionally it has been hard to fund even simple and lightweight shared services (eg. freenode) - never mind server computing on this scale. This is an architecture only giants can play with, as such there is much hope that it will come horribly and expensively un-stuck. It is yet more of a problem as RMS has pointed out because people have no control over their software - they surrender all their freedoms (if it is even implemented with Free software) to some all-knowing hosted provider.

A great Free-software response in my view is to work on adding collaboration features using existing protocols, I'm a fan of bootstrapping from existing IM services with Telepathy tubes; and sticking with the fat clients. That keeps your data local, and shares it only transiently with people you trust, and it also requires little-to-no server load, just bandwidth. We should also keep adding features that (so far) are not going to work well in the 2D fat-web space: eg. get some more sexy 3D transitions going, and better native Mac integration.

Finally - poor ideas don't die, they come back to haunt us; the idea that there would be a few large powerful computers with lots of terminals is a perennial, and goes in cycles. In the past it has foundered on the rocks of Moore's law - it turned out to be cheaper, easier and more reliable to put almost all the software, data, and processing on the local device. Enabling dis-connected operation will still mandate beefy thick clients. I'm optimistic that the trend will continue - eventually even for Mobile devices, last time I looked Google develops and deploys some fat clients.

I look forward to trying the tech. preview at the beginning of next year to corroborate my suspicions, or the final product in Office 14 in 2010 ?.


My content in this blog and associated images / data under images/ and data/ directories are (usually) created by me and (unless obviously labelled otherwise) are licensed under the public domain, and/or if that doesn't float your boat a CC0 license. I encourage linking back (of course) to help people decide for themselves, in context, in the battle for ideas, and I love fixes / improvements / corrections by private mail.

In case it's not painfully obvious: the reflections reflected here are my own; mine, all mine ! and don't reflect the views of Collabora, SUSE, Novell, The Document Foundation, Spaghetti Hurlers (International), or anyone else. It's also important to realise that I'm not in on the Swedish Conspiracy. Occasionally people ask for formal photos for conferences or fun.

Michael Meeks (michael.meeks@collabora.com)

Made with Pyblosxom