Open XML versus ODF, Part II

Last Thursday, I posted a question about Open XML versus ODF, hoping someone could point me a a real, technical analysis of the strengths and weakness of the two formats. The one response I received, from Sam Hiser, pointed to an article entitled Interoperability: Will the Real Universal File Format please Stand Up? 

The article (and the other related articles in the same publication) was very interesting, well written, and raised some interesting points. Unfortunately, I do not agree that it constitutes a technical analysis of the two formats. There is a great deal of reference to features in OOXML which cannot be implemented by third parties without access to proprietary information from Microsoft, but there are few if any hard examples. The primary examples might be the inclusion of things like autoSpaceLikeWord95 and footnoteLayoutLikeWW8. I cannot see how Microsoft could avoid including items like this in order to support proper rendering of legacy documents. In fact, if Microsoft had not included backwards compatibility support in the specification, I could see them being equally criticized for it. As for implementing these features, this is only necessary if you want to render documents to look like old versions of Word.

Most of the commentary in these articles still comes down to “ODF is good because Microsoft is evil”.

In addition, there is a great deal of argument as to whether having more than one standard is a good thing or a bad thing. It is interesting to me that the open source community is extremely supportive of having alternatives, unless one of the alternatives comes from Microsoft.

So, I repeat my question (and clarify slightly): Does anyone know of an independent, unbiased analysis of these two document specifications?

Open XML versus ODF

I have been reading several articles and blog posts the last while on the approvel process for Open XML in various countries. These include Open XML – US V1 Committee Vote and IBM MotivationsMicrosoft guns Open XML onto ISO fast track, and Open XML Suffers a Setback on the Road to ISO Ratification . Setting aside the name-calling, accusations, insinuations and other vitriol which seems to pervade all discussion involving Microsoft and the open source world, I would like to better understand what the technical justification of ODF over Open XML might be (or vice versa). While I would not claim to be a technical expert in either format (though I know Open XML much better than ODF), the main arguments I have seen in favour of ODF are:

  1. It got here first
  2. It is not from Microsoft

I do not see either of these as useful arguments. Can anyone out there point me to real, meaningful, technical reasons why one is better than the other?

Innovation and Collaboration

Interesting post on consultaglobal called Innovation And Boundariless Design. I was really sucked in by the opening quote

“Innovation often arises out of crossing disciplines and combining technologies”.*

This is a battle I seem to have on a continuous basis – trying to convince people that innovation must be an interdisciplinary effort, and must involve people from almost every part of an organization, and outside the orgainzation. This is especially true if you are working towards wide open innovation of business processes, internal technologies, as well as new products. Good ideas and design input can (and must) come from everywhere.

Another aspect of this interdiscinplinary approach, and the cross pollination of ideas and technologies it encourages, leads to compounding of ideas in much the same way as one compounds interest – two innovative ideas combined together in a novel way lead to improved value much greater than either innovation on its own.

This (as well as the question of whether design for manufacturability comes before human factors, or vice versa) always reminds me of the old (?) idea of integrated product teams (I cannot recall where I first ran into this – whether it was in the telecom world or military projects). The fact remains that it is almost impossible to separate engineering, human factors, or any other aspects of design into entirely sequential steps – they must be integrated, collaborative, iterative activities.

As the referenced post points out, however, none of this matters unless the whole process brings value to some customer – it is not innovation if it does not bring value.

(*) Pushing the Boundaries of Design by Jessie Scanlon  

Fluffy Red Towels

Ok, so what do fluffy red towels have to do with software development, innovation, or usability? Let me tell you a little Monday morning story….

Last weekend I was swimming in the pool (which is exciting in itself, since a week earlier we were under a heavy snowfall warning!). When I got out of the pool, I grabbed one of the new towels my wife bought recently. I was thinking to myself “wow – these are really nice towels – nice colour, very fluffy, and very, very soft to touch.” I was impressed. After a few minutes of towelling off, I realized something was not quite right. I was not getting any less wet. Perhaps it had started to snow again? In reality, the towel just was not absorbing anything at all. It seemed to be like one of those shirts with the spill-resistant coating – a nice feature in a shirt, but not quite so nice in a towel. The towel, despite being very nice in appearance and superficially pleasant to use, failed to fulfill its single biggest functional requirement – you could not dry anything with it!

It occurred to me that this is a good metaphor for much of what goes on in product design – in software and elsewhere. Many products which do take into account usability and user experience, do so at the expense of functional design (yes, realize that there are even more products out there which implement functionality and ignore the user altogether). This brought home to me an important fact: as important as usability is, it does not mean squat if the product fails to fulfill its functional requirements.

The Future of the Tablet PC

I have been reading a number of recent posts/articles/announcements regarding the future (and past) or Tablet PCs, including Don’t look now, but Tablet PCs are on the rise, Sorry Geeks: Tablet PCs Still Can’t Beat Regular Pen & Paper, and Dell Confirms Plans to Enter Tablet PC Market. Before I comment on some of this stuff, I want to make a few things clear about myself and my attitude about pen-based computing:

  1. I love the idea of pen-based computing. The Tablet PC fulfills a vision I have had since the late 80s of the way I would like to work with a computer (I still have the sketches I made of it back in 87).
  2. Working with a pen requires (sometimes significant) changes to the way you work. Trying to use the exact same approach as with your laptop or desktop will only frustrate you. For example, I would never try to input a Word document in Tablet mode, using the TIP. I can type much more quickly than that.
  3. I do not believe that the pen-based approach is desirable for all computing needs. There are a lot of applications for which a keyboard is the only way to go. There are others which could benefit from a better approach than a keyboard, but a pen is not it.
  4. I do not believe that pen-based technology (especially the OS and the application software) is mature. There are a lot of features I would like to see in software to make the pen-based experience complete.

Reading many people’s opinions on the tablet, I am frequently baffled. They claim to have constant problems inking, and with handwriting recognition. I have been using a tablet pretty much since the first models came out. My first was Compaq TC1000. I now have a Motion LE 1600. I am looking forward to my next one. I started with Windows XP Tablet PC Edition in 2003, and now use Windows Vista. I have never had any significant problems inking, or with handwriting recognition. I will admit that I had to get used to the mechanics of writing on the screen. While I keep hoping for better integration of the pen and tablet form into the OS, the basics are there. Also, one of the posts mentioned problems inking on a touch screen UMPC – I have wondered about that myself. Being left-handed, I drag my hand across everything I write – I wonder how that would affect my ability to use a touch screen device.

I also notice that some posts say something like “Office 2007 was designed from top to bottom with tablet users in mind”. Huh? One of my big complaints against Microsoft’s support of the Tablet PC is that Office is essentially ignorant of the Tablet. Yes, I can ink overtop of Word, Excel, PowerPoint, and other Office documents. But this ink is “dumb” – Office really knows nothing about it. The ink is not attached to the contents in any meaningful way. And there is no way to work with these annotations. In addition, there is no support for gestures in Office for editing documents. Other than OneNote, none of the Office applications even recognize that some Table users are left-handed, and leave the scroll bar inconveniently located on the right. How can Microsoft expect other software developers to support the Tablet form factor when they do not ever support it in their flagship product?

I still firmly believe that the greatest barrier to the Tablet PC’s success (actually, I believe it already is successful) is marketing, not technology. From the very beginning, the Tablet PC has had an extremely low profile outside of the tech community. There has been almost no push in the consumer market – in fact, almost all of the marketing has presented the Tablet as a niche product in a couple of primary verticals (like health care). Even now, some 5 years after the initial release, I still get looks of astonishment from people who see my LE1600. For an industry driven by hype, the Tablet PC has been one of the most under-hyped products I can remember.

Also consider marketing to the developer community. The SDK for the Tablet PC is at best arcane. There has been a significant lack of high-level tool support. And developer documentation has been limited. The success of any computing platform is driven by third-party products. You do not win at this game by making things more difficult than necessary for your developer community.

All of this aside, I remain a firm believer in the viability of a pen-based platform. Its biggest enemy might be a marketing plan of limited vision. The announcement by Dell that they are releasing a tablet model is a very good sign. So, what would I do to improve the future? Here are a few thoughts:

  • Create a strong, aggressive marketing plan to let people know what the Tablet is, and what it can do.
  • Push the tablet hard in the general market, not just in verticals.
  • Court the developer community. Create better development tools.
  • Help subsidize the hardware costs until the penetration becomes high enough to get economies of scale to kick in.

It is easy to bash a new technology or a new approach because it is different from your comfortable way of working. It is easy to bash it just because it is generally safer to do so. It is tougher to stand up and sell people on a new idea. If Microsoft is not going to sell people on the Tablet PC vision, who will?

Playing to the critics

This is a follow-on post to my earlier discussion of New Product Ideas – How hard can it be?. In that post I talked a bit about what I consider to be the “fundamental” questions in coming up with a new business idea:

  1. What do you want to be (multinational, micro-ISV, etc.)?
  2. What domain do you want to work in (horizontal apps, specific vertical, specific technology, etc.)?

I also promised to discuss, in a later post, what do once you have figured out these two simple questions. Sorry it has taken so long to get back to this.

Getting Ideas

So now you know what kind of a business you want to build, and you have an idea of the space you want to be in. Where do you go from here? A quick Google found several hits with suggestions for generating new product ideas. Here are a few (I am not endorsing any of them – they are just a few from the first page of hits ):

There are a few random thoughts that I have on the subject. A big one to me is the fact that you cannot spend all of your time “playing to the critics” (hence the title of this post). In the software world, playing to the critics means, among other things, trying to do what the analysts and marketing gurus and other “experts” say you should. I am not saying you should not read and absorb as much as you can from these sources, and indeed from any source you can. However, the ideas ultimately have to come from you – they cannot be analysed into existence, and you can wait for someone else to tell you what to do.

So where do ideas come from? Well, getting ideas is like anything else. It takes practice, and the more you practice doing it, the easier it gets. Here are a few of the approaches I use:

  • Keep a notebook for ideas (I know, everyone suggests this). I personally use my Tablet PC for this, using a combination of OneNote and Mindjet. I like this because I typically have my Tablet with me all the time, and it allows me to capture ideas I get anytime and anywhere – in meetings, seminars, anywhere.
  • Set aside time for brainstorming. Whether it is daily or weekly or whatever, it is good to set aside time brainstorm. It will be hard at first, but it gets easier with time. I will admit that sometimes this is my best approach for getting ideas. Other times, ideas come at me so fast using the first method that I do not really need to set aside time for this. I try to anyway.
  • Read as much as you can. Learn new things as much as you can. Read anything. Read web sites. Read blogs. Read books. Read magazines. Read things in your area of expertise. Read things in other areas (I find many of my most novel ideas come from “cross-over” concepts that I pick up). Read, read, read, read.

Ultimately, these are approaches that work for me. You will have to find ways that work for you. Back before my Tablet PC, I used to keep several flipchart pads on the wall of my office. I would fill these with ideas, tear off the pages and tape them up all over my walls.

An important thing to remember is not to filter or judge your ideas at the same time you are generating them. Just collect them. Also remember, the best way to get good ideas is to get LOTS of ideas.

Evaluating Ideas

Speaking of this, how do you know which ideas are good ones, and which ones are, well, not?

I try to set aside a regular time every week or two to look through my accumulated ideas. When evaluating my ideas, I look at several things.

Firstly, I filter out the ideas that are just plain stupid. This is hard to do sometimes, because I do not generally like to admit to myself that I have stupid ideas. But I do! Lots of them. Sometimes I look back on ideas I came up with randomly in meetings a couple of weeks earlier, and I really have no idea what I was thinking. Do not dismiss things too easily, though, because sometimes what seems like a crazy idea just seems crazy because it is for something really original. I never throw ideas away – and sometimes ideas on the crazy list come back to life.

Secondly, I compare ideas against the “what I want to be” questions. This allows me to eliminate ideas that are just completely out of scope for what I am trying to do. Some ideas are great ideas, but just do not fit the scope of what I am trying to do. Again, I never throw them away. Maybe next year, I will have changed my mind on what I want to be. Or maybe I will come up with a way to change the scope of the idea and make it fit.

Finally, I am left with a list with a list of ideas which are not obviously crazy, and which seem to fit the model of what I want to do. What next? Well, some time back I posted on here about exactly that. It all comes back to NABC:

  • Does the idea fulfill a real need?
  • Do I have a credible approach?
  • What is the benefit versus cost of the idea?
  • Who are the competitors? What are the competing approaches?

Personally, I still find this the hardest part of the problem. Right now, the approach I use is to transfer all the “surviving” ideas to a spreadsheet, with columns for each of NABC. I start by quickly going through and filling out what I already know for each idea. For some, I understand what need I want to fill. For others, I have come up with a really great approach to filling a not very well defined need (hey – I AM a techie afterall!). This is just a way of capturing what I already know, so it does not take very long. Then I go back and try to complete the need for all of the ideas. This is always enlightening – it still surprises me how hard it is to succinctly express the need fulfilled by an idea, even when I think I know it.

Ultimately, at this stage, I am trying to identify those ideas for which I CANNOT have some answer to the four questions. This filters out a good chunk of ideas at this stage – many seemingly good ideas do not pass this gate.

So what next? Well, the ideas which survive this initial analysis are worth taking a deeper look at. And that will have to wait for another post – hey, it is 1 in the morning!

A Quick Update

I have been unable to post the last couple of weeks as I have been tied up with a bunch of stuff for work (don’t you hate it when work gets in the way of blogging?). Anyway, I have a couple of posts which I have been working on which I hope to post this weekend – one is a followup to my previous post New Product Ideas – How hard can it be?, and will talk about some thoughts I have on actually generating and selecting new product ideas. The other is just some ramblings I have on Bubble 2.0 – questioning whether we (the tech world) and the whole “Web 2.0” community are blowing another bubble, complete with silly valuations, ridiculous buyouts, and not much real business sense. I have not finished writing it yet, so I do not know what my conclusion will be – you will find out when I do (or the other way around).