OOops: Why* Isn’t Nearly Good Enough

* Et tu, LibreOffice

I have lived through a fair number of Year of the Linux Desktops, and consequently had the pleasure of using tolerating for years. In the light of recent news of the German Foreign Office migrating back to Windows XP from Linux, I thought of writing about one aspect this ‘interoperability’ that the German FO is crying about.

I never felt to be lacking in any respect compared to Microsoft Office 2003 when I was in high school (back in the day, Office 2007 wasn’t out yet). OOo satisfied my requirements without costing me a dime. In hindsight, that was only because on most occasions I was printing out hard copies of documents for submission, and didn’t often have to bother about whether a document that was displaying as I wanted on my PC would display the same way on another.

Now, in university, interoperability is a major headache for me. And yes, by ‘interoperability’ I mean the very narrow of definition of ‘whether document files work with Microsoft Office’. When working on project reports or some such, I often have to work on documents that have images, charts, tables formulas et al, i.e., fairly ‘complex’ formatting in as to how any element on the page is placed. More often than I like it, I find the formatting screwed up. Even for something as simple as taking a document to the library for printing, it has become second nature for me to export my ODF documents to PDF so that I have ‘assured’ formatting on library (Windows) machines.

Let me illustrate my points with a few examples. I am the studio director at the student TV station in my (exchange) university and I need to edit studio scripts every week that is sent to me by the production assistant, edited on her Office 2010 install. This is how it looks when opened in Microsoft Office 2010 Starter Edition on my netbook.

n.b. I cannot turn of Track Changes display in Office 2010 Starter Edition

When I open the same file in 3.3.0, out of that 15 page document only TWO pages are displayed. I am not kidding. It actually shows up as ‘Page 1 / 2’. I can understand this is an Office 2007/2010 .docx format document and support for this “isn’t as good yet“, but jeez, showing 2 pages out of 15 is a major screw-up, isn’t it! Let’s see what out of the pages it can read does OOo show.

This is with Track Changes turned off in OOo

On surface, it seems that OOo got most of the page displayed correctly, but a closer look will reveal page elements that are completely missing. The ‘SOVT’ icon is gone, so is the box with ‘S/I’, as well as adornments such as boxes around ‘ZOOM 5sec’. If I had to solely rely on OOo for my document needs, I wouldn’t have known these elements are missing. For me, this is a major problem as those are crucial directives that I need when directing the studio shoot.

Even if I concede that this problem may be because OpenXML file support isn’t as ‘complete’ yet in OOo, that doesn’t explain why it utterly messes up page display with older .doc files, like this example below.

With track changes turned off in OOo

Content from two consecutive pages was stacked on top of each other on one page along with previous edits even though show changes was turned off, rendering this file useless. Note that this file was created in Office 2007 and exported as .doc.

Okay, so maybe the whole problem is with Office 2007/2010 creating corrupted files which it itself can figure out, but not other software. Maybe the files that I was trying to open was ‘too complex’ (debatable). How about a simple document – a table with two columns with text in rows – created in a word processor not developed by Microsoft – say, Mac OS X’s bundled TextEdit – and exported as a .doc file. Like this file below.

This TextEdit-created file displays correctly in Microsoft Office 2007/2010 too. And here’s how the same file displays in OpenOffice 3.3.0.

It isn’t as if these are two isolated incidents where has failed me in being passably reliable, even for freeware software. I have lost track of the number of times when my documents/presentations have been messed up by OOo. Sometimes, opening a .docx file created and saved using fails to render correctly on the same system with the same install of OOo. Figure that. And while Microsoft may have a conflict of interest, Doug Mahugh makes a seemingly well-reasoned argument how certain aspects of ODF file rendering is broken among variants of OOo itself like IBM’s Lotus Symphony.

Throughout this blog post, I have mentioned as the errant document suite, but the new Document Foundation’s ‘LibreOffice’ fork isn’t any better. A few weeks ago, I was working on a presentation that I needed to send for a job interview. I created it in OpenOffice 3.3.0 one day (saved as ODP) and picked up work the next day on a new install of LibreOffice 3.3.1. (The Document Foundation advises users to remove OOo before doing a LibreOffice install.) I saved a PPT and a PDF version of the file in addition to the native ODP file (my usual routine) after I was finished. I opened the file Microsoft PowerPoint 2010 Viewer to check before sending it off, and got an error message telling me that the file was corrupted. Perplexed, I tried opening the file again in LibreOffice only to find that LibreOffice couldn’t open it. What’s more, when I tried to open the ODP file for the same, LibreOffice couldn’t read that either! The only way I got out of this pickle was because I had an old version of the ODP file saved in my Dropbox account. (Thanks, Dropbox, for maintaining copies of deleted files forever!)

A quick browse through the bug tracker for both and LibreOffice shows a sizeable number of bugs that affect a (significant?) subset of users with document display. In most cases it seems there’s a problem with a particular file or that it cannot be consistently reproduced across a number of systems. But it’s precisely this uncertainty that I dislike – and I think I speak for a lot of OOo/LO users when I say this. I hate having to always export a PDF version so that I can email to friends (for one, they can’t edit it) because I can never be sure enough that it’ll display exactly the same if I send a .doc/.odt file. I hate constantly having to dual-boot into Windows just to edit a document, like I often have to do.

Going back to the German Foreign Office’s decision to switch to Windows, I can empathise how poor word processing / spreadsheet support can be a show-stopper for a major government division since is the only document editing suite that comes anywhere close to functional on Linux. (Don’t kid yourself. Abiword and Gnumeric don’t count.) And yet, there is indignation among the FOSS community calling the reason for switching ‘implausible’ and much vitriol thrown in the form of users-are-stupid / Windows-is-bloatware ad hominem attacks.

Part of the problem I think has its roots in hacker-developers writing software for the masses. Anecdotal evidence suggests that hacker-developers often aren’t heavy users of document suites, so maybe they don’t really feel the pinch in a way general users do. There are usability bugs such as this (in OOo) that have been around for seven years with no resolution. They maybe be perfectly happy typing out documents in LaTeX on vim so their definition of what’s a show-stopper differs very much from a lay user’s definition of show-stopper.

LibreOffice has a well-defined release criteria to define what type of bugs can be considered to be ‘release blockers’, and while in their books document rendering compatibility is a not a ‘major’ issue, for a lay user it is. I understand that releases cannot be delayed forever and if releases are held off forever till everything is polished to perfection then nothing will ever come out. The rationale is that what’s crucial to one subset of users may not as be important for a second subset of users. My feeling is that Joel Spolsky gets it bang on target when he says:

A lot of software developers are seduced by the old “80/20” rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies. Unfortunately, it’s never the same 20%. Everybody uses a different set of features.

I don’t know whether I belong to a minority that requires solid table rendering support while most others get along fine without it, but it could be that the bugs or missing features turn people off from using the software in the first place. Because I know that OOo/LO handles formatting incorrectly and sometimes straight up eats data, I keep a dual boot install of Windows 7 just so that I can edit documents in Office 2010 Starter. I put up with it, but how many other users would you expect to?

Therein lies the core problem for and its soon-to-be-prevalent fork LibreOffice: as long as there’s the slightest hint of doubt on how well it interoperates with the dominant Office ecosystem, they will never be the preferred choice for business/enterprise or even personal-use scenarios. It will always remain a “…but yeah we can save some money as long as we can live with some unreadable documents”. Actually, that goes for competitors like Google Docs too that have similar compatibility issues. I would never consider using Google’s Chrome OS as all that Google Docs can handle are simple formatted documents. Setting expectations right should also be taken into consideration; if the LibreOffice install that corrupted my presentation was a beta or an RC, then I’d have been more cautious, expected certain things to not work. But it wasn’t – 3.3.1 was a final release. What’s the rush to release a final version instead of longer beta testing periods?

The FOSS community on the whole needs to listen to voices who are coming forward to say, “Look, this doesn’t work for us.” like on this Slashdot thread. Admitting the fact that there are areas in which features are lacking is the first step towards making progress rather than making remarks that can be considered callous or snide by new adopters. What need to do is deal with even minor annoyances like Canonical did with its 100 Papercuts project. (I applaud Canonical for caring about users and taking steps such as this to improve usability overall.) It’s encouraging that LibreOffice is already taking a step in this direction.

Still, it’s early days in LibreOffice’s existence. The reason the project forked from was a culmination of a long festering resentment of how the development was proceeding and there were often political reasons why changes were not contributed back to OOo (Go-oo, etc). I hope that under new leadership and new supporters such as Canonical and Novell, LibreOffice develops into a much more mature offering.

Until then, I can only pray that I can read/write files without a hitch.

Personal Reflections Technology

OSSCamp Delhi 2009

OSSCamp logoOSSCamp Delhi was held at NSIT Dwarka on 5-6 September 2009. OSSCamp is an unconference on open source software, technologies, and ideologies, one of the largest events related to open source in India. Even as I was travelling by Delhi Metro to NSIT Dwarka on the morning of the first day of the event, I met a guy from NSIT who was going for the same. (He figured I might be heading there too since I was wearing the ILUG-D t-shirt.) Met Kinshul Sunil outside NSIT’s administration building; he works as a community manager at a company called OSSCube, which is in the field of open source software development / training / support. Kinshuk oversees a lot of the organizational details of the event and even with this being a community-driven event a lot of credit must be given to him for managing the event so well. Was handed a name tag; designed by Yadu Rajiv. (Yeah, I know it looks like a name tag for a Rage Against The Machine concert, but they probably don’t use name tags.) Also met other people at the start of the day – Mohak Prince, Sachin Khosla, Ankur Sethi, Apoorv Khatreja, Udit Agarwal, Triveni Yadav, Sanchit Gulati, Anshu Verma.

OSSCamp ID tags, designed by Yadu Rajiv
OSSCamp ID tags, designed by Yadu Rajiv

By 10-10.30am (of day 1) we had quite a respectable crowd of 142 people (I kid you not) assembled in the NSIT Delhi auditorium. The event kicked off with Kinshuk giving a short introduction to OSSCamp. Lalit then urged audience members to give jadoo ki jhappi [which made Lalit (in?)famous] to each other and we had a small-scale free hugs campaign going on for a while (only a handful of the audience participated). The talks started in earnest then. I won’t be going into the details of the talks since they have already been live-blogged on the NSIT CSI society blog – check it out for a short summary of sessions held (a few held at the end of day 2 are missing).

33. (Day 2) OSSCamp Banner

During the sessions, what Mohak Prince and I noticed was  that every speaker mentioned licencing, but didn’t go further into nitty-gritties. We had quite a few first-timers to open source this time who seemed thoroughly confused by this talk of licenses, so we both decided to give a session on Creative Commons licenses. Unfortunately, NSIT administration hadn’t given us permission to set up a WiFi network, and their own WiFi network had been shut-down ever since Ankit Fadia had scared the living daylights out of NSIT faculty, post 26/11 Mumbai attacks. We both were trying to find a presentation to aid our talk so we borrowed a laptop with a Reliance data card from someone and searched out a suitable presentation. We scheduled the session post-lunch.

Me, at OSSCamp. Damn, those chickenpox scars just won't go away.
Me, at OSSCamp. Damn, those chickenpox scars just won't go away.

Lunch took a long time to arrive. It was ordered from some big dhaba (oxymoronic term, I know) called Apni Rasoi or something which is apparently quite popular in Dwarka. Post-lunch the number of attendees reduced drastically, so I decided to postpone the Creative Commons session to day 2. Clearly, there is some such thing as a ‘free lunch’ at least at an unconference on open source – and that was what some seemed to have come for. Although I wouldn’t blame them entirely for wanting to leave, since some of the talks in the morning had nothing to do with open source. On of the highlights of the day was a video conference with Bryan House of Acquia on the future of Drupal 7, but could not be carried through because of low bandwidth issues (we had to switch to text chat and then eventually call it off). What else would you expect on a Reliance data card? After a session on indie game development by Yadu Rajiv, we wrapped up for the day.

Day 2 started off late as it was a Sunday. (I was stopped at a Metro checkpoint for carrying a ‘walkie talkie charger’.) When I arrived at the venue at around 10.15am there were just a handful of people – almost all of them speakers who were schedule to give presentations that day. By 11am though the crowd has swelled in number to around 90 people; quite respectable for second day of an event. We had people from Adobe too to give presentations on Flex and BlazeDS – open source software released by Adobe (!!!) – and those were some of the best designed presentations by far. Students in the audience were given free (as in beer, not speech) licensed versions of Flex Builder. I think it’s a good start by companies such as Microsoft and Adobe to take some initiatives in interacting with the open source community and we shouldn’t be too cynical about it.

Aftermath of a working lunch at OSSCamp
Aftermath of a working lunch at OSSCamp

Lunch was better on day 2 as we had pizza from Domino’s. While placing the order we had also asked them to provide ketchup sachets. The lazy asses thought “Why bother buying so many ketchup sachets when we can ‘solve’ the problem in one go by providing a 2-litre ketchup sachet”. I didn’t even know that they made 2-litre ketchup sachets! Hilarity ensued, or rather, didn’t since we sent that back. We had a working lunch with presentations continuing while the audience wolfed down pizzas.

Mohak had to give an exam that day, so I proceeded with the talk on Creative Commons licenses on my own. The presentations I used were made by other people and released under a Creative Commons license; you can view / download Creative Commons Spectrum of Rights here (courtesy Neeru Paharia) and What is Creative Commons here (courtesy Creative Commons Australia; I used the latter to show an overview of various CC licenses). I initially planned a short session of 15-20 minutes only, but the audience was quite interested in the topic and a ‘doubt-clearing’ session on the basics of Creative Commons licensing meant that my session stretched on quite a bit longer. I was happy to note that at least some people were interested in licensing or using Creative Commons licensed works.

Speaking on Creative Commons licenses. Photo courtesy Sachin Khosla. Low quality pic because it was shot using a cellphone.
Speaking on Creative Commons licenses. Photo courtesy Sachin Khosla. Low quality pic because it was shot using a cellphone.

One of the most charming things about an unconference is the ‘two-feet rule’: if you don’t like a talk, use your two feet and walk out of the room any time you want. At any given time, you’ll find at least a few people hanging out at the nearest cafeteria having a chat on pretty much everything under the sun. Had a quite a bit of that at this OSSCamp too. Must say that I enjoy this informal interactions a lot! Mohak had also joined us by this time after finishing his exam and joined in on these informal chat sessions.

Bryan House’s video conference had been shifted to day 2 but eventually had to be cancelled again due to low bandwith issues. I had another session towards the end of day 2 – a quiz on open source. Mohak Prince, a community volunteer for Mozilla pitched in with Mozilla merchandise (laptop stickers, tattoos, badges); Shayon Pal from Linux For You pitched in with a few copies of LFY magazine; Sachin Khosla pledged a .in domain giveaway courtesy Digimantra. And thus, we had goodies to give away as prizes for every answer. Some got the prizes out of sheer guesswork, some got them because they knew the answer; mostly though it was because they Google-searched the answers. :p Anyway, it’s an unconference so we didn’t mind. Click here to download OSSCamp Delhi 2009 Open Source Quiz presentation that I gave at the event.

Soon, it was time to pack up. I still had one Linux For You magazine which hadn’t been given away to anyone in the quiz, so we decided to make it a ‘give-away’, literally. Here’s a video of me as Santa Claus, minus the beard and the ho-ho-ho ‘giving away’ an LFY issue.

[yahoo 15421776]

Linux For You mag give-away at OSSCamp Delhi 2009

We had a customary group photo session after that. As I browse through these pictures on my laptop (I will be uploading the full set of pictures soon; currently my Internet connection is down and I’m posting this via GPRS), I feel a bit sad about the fact that this will be last unconference that I will be attending in India for a while. Over the past one year, I’ve made such good friends and got to know some great people through the string of such events that I have attended. The amount of enthusiasm that community members at these events show is simply amazing. I shall certainly miss the buzzing energy of upcoming unconferences!

PS – Click here to read my tweets from OSSCamp 2009.