Archive for the ‘Uncategorized’ Category

Microsoft Word and the (i4i) patent madness

September 16th, 2009 by Jason

By now you’ve probably heard how hitherto largely unknown i4i teamed up with some bottom feeding lowlife and successfully sued  Microsoft for patent infringement to the tune of USD 240 million.

If you read the patent in question, US patent number 5787449, you’ll see that the so-called invention was entirely obvious, consisting only of annotations pointing to positions in a character stream (as distinct from embedded within it).

Microsoft suggested some prior art, but nothing which knocked out the patent.

What i4i chose to call a ‘metacode’ sounds a lot like the markers described in 1986 in Data Structures in the Andrew Text Editor:

A marker is a data structure that refers to a portion of the text of a document; the portion starting at some character and extending for some length.

The people involved in the Text Encoding Initiative guidelines leading up to publication of their proposal 3 in 1994 (which is before the patent was filed) probably discussed and published relevant stuff as well – did anyone ask them? [Edit 18/9/09] Hmmm, Markup Reconsidered (presented in 1992) says:

A word should be said about so-called out-of-line markup, non-embedded structure that conforms to the syntactic requirements of a given markup standard

and references a 1992 document: David Barnard, Lou Burnard, Jean-Pierre Gaspart, Lynne Price, C.M. Sperberg-McQueen, and Nino Varile, “Notes on SGML Solutions to Markup Problems”, TEI MLW18, which I haven’t looked at.  And “Refining our Notion of What Text Really Is: The Problem of Overlapping Hierarchies” contains a wealth of historical references which probably contain stuff.

[Added 18/9/09] Most interestingly, Ted Nelson states in “Embedded Markup Considered Harmful” that Xanadu has used parallel markup since the 1960’s!  Unfortunately, he didn’t publish much about it (which limits its value as prior art); though Rick points out that Nelson disclosed some stuff in his 1992 book.

So the i4i patent should have been knocked out:

  • because it was obvious, and
  • because the USPTO and Microsoft should have found prior art.

In any case, the patent system should be reformed, so that, if you must have a patent system at all, and one in which software and algorithms are effectively patentable, such patents last for no more than say 4 years from the priority date.  Their patent would have expired in 1998 (the same year it was granted!).

In this case, what i4i patented has been independently thought of (ie invented) as part of one approach to the related problem of overlapping markup.  Independent invention should also be a defense (although that might not have helped Microsoft in this case)

A further thought: what if patentees were liable every time they described something as new if it could be shown that it wasn’t? That might give them pause for thought.

Plutext collaboration for Word: new features

March 2nd, 2009 by Jason

We’ve just published a new build of the Word Add-In, which among other things, supports replication between users of images and comments.

For a good while now, with Plutext you’ve been able to be in a Word document at the same time as your co-workers – provided all you were doing was working on tables and paragraphs (editing them, inserting, deleting or moving them around).

With this latest release, you can add images and Word comments, and have them replicate properly between Word 2007 users.

Here is a screencast of this in action:

Get the Flash Player to see this content.

If you want to play with this yourself, you can download our Word Add-In and give it a shot!

For username & password, please see here. The password is “tester”.

For detailed instructions, see this PDF, or this earlier screencast.

If you’d like to chat about your own Plutext installation, please contact us using this form.

Microsoft’s collaboration stuff any day now?

October 26th, 2008 by Jason

It’s Monday morning on October 27th as I write here in Australia.

Steve Balmer gave hints in 2 separate reports at the beginning of the month that they’ll be announcing their in-Office collaboration stuff this week.

The first report was in www.cio.co.uk

Ballmer:So we are embracing Software + Services, Cloud Computing as hard as anybody. By the time we finish our Professional Developers Conference this month, I think you’ll have to say that there is nobody out there with as wide a range of Cloud Computing services as Microsoft, including, dare I say it, Google …

CIO: Steve, I guess the $64,000 question from a lot of people’s point of view is, is there going to be an Office for the Web, something that really competes head on with Google Docs, Google Apps?

Ballmer: .. I think what people want is something as rich as Microsoft Office, something that you can ‘click and run’, if you are not at your own desk. Something that is compatible, document-wise with Microsoft Office and something that offers the kind of joint editing capabilities that is nice in Google Docs and Spreadsheets. Will Microsoft Office offer that? Yes! Standby for details in the next month.

CIO: So, in the backend of Microsoft R&D, are there people beavering away at versions of Word, PowerPoint, Excel, etc, that are purely web based? Or, is it always going to be this hybrid?

Ballmer: What does it mean to be purely Web based? Do we want them to be as only as powerful as ‘runs in a browser’? No. We want software that is more powerful than runs in a browser. Does that mean we will not have some neat stuff that does run in the browser? No.

We think you’ll actually want the full power of Word, Excel and PowerPoint – and you’ll want to be able to get that simply. But, if you just happen to be in an Internet cafe kiosk and you want to do some light editing, perhaps we need to have a way to support you in that as well, inside the browser. ..

In another, in response to a question about Office Live, he said:

“Office Live has a few things left it needs to do. Number one, and probably most important, is to make sure that people using Office have greater ability to collaborate with one another. We have some of that today with [Office Live] Workspaces, as well as that we’ve got SharePoint; we can do more and some of those things will be better than the other alternatives.

Number two, is when we do Office Live, it has to be true to Office; you’ll need to be able to have full Office documents and programs and share them.

Number three, we have to make it so that – most people use Office most of the time from a single machine. But if you’re away from your desk, at a cafe, a kiosk or your school library, and you don’t have Office, you’ll want to be able to do something quickly; we have to make sure you can get it easily, stream it down, put it in a browser, something like that there… details coming in a few weeks.

I’m not going to write here what I think they are likely to announce.  More sensible to wait a little longer.  It will be interesting though to see what is available immediately, and how much is just vaporware.

Sun’s bug votes on steroids

March 18th, 2008 by Jason

I like programming in Java.  It is still a great way to write cross-platform code.  I’ve bet my business on it.

But sometimes, Sun is just too slow to fix bugs (or make the fixes available). And this is still their role, even when a user has a fix to contribute.

Take the following 2 which have bitten me this week:

  1. Preferences broken if you use org.apache.xalan.processor.TransformerFactoryImpl
  2. Printing on Ubuntu 7.10

Fixes haven’t become available for either of these yet on Java 6 (though the first has been closed  here and here)

Sun really needs to invest more in Java, to get all the outstanding bugs fixed, and the fixes out quickly.  (Yes, people who write and use open source expect fixes more quickly than most vendors can deliver them.  Life is much quicker in the open source world)

But as we know, Sun doesn’t make much money from it – directly at least.  And even though Sun is quite clear in their strategy to use Java to drive sales of their hardware, this lack of revenue shows – shows up as a lack of support.

So what about a logo people using Java can put on their websites, which communicates “I bought some Sun hardware to support Sun’s investment in Java” to other people who use Java.  This may make them consider buying some Sun gear as well, and proliferation of the logo would remind Sun that Java really is what butters their bread.

Maybe that needs to be  “to support Sun’s investment in Java on Linux” (or even on Linux x86_64) – since its not Windows that these bugs occur on.

Or how about a way for Sun to earn credits towards a Sun hardware purchase: “If Sun fixes this bug, it will earn them a notional half a purchase”.  Fix this one as well, and I’ll buy something.  A great little site for someone to write.

Yes, I know you can vote for a bug (the printing bug has 45 votes since 26 November 2007 – that’s a lot of votes, comparatively speaking – but still there is no indication of when a fix will be available).

But Sun is wildly optimistic in only giving people three votes, no matter how many bugs are causing them grief.

I’ve bought 3 servers, 2 workstations, and a laptop in the last 6 months or so, and none of these are from Sun.  But I would change my purchasing policies for some tangible indication that result in quicker bug fixes.  So my third idea in this little brainstorm – what about allocating special higher priority bug votes when  people buy Sun gear?

Office Online – not yet after all

March 12th, 2008 by Jason

Well, there were a few interesting announcements from Microsoft last week, but they didn’t include OaaS (Office as a Service), nor improved collaboration.

The three announcements:

  1. Office Live Workspace Beta is publicly available
  2. Sharepoint Online has been available to businesses with over 5000 employees; now it is available in beta to businesses with under 5000 (provided you are based in the US)
  3. Silverlight 2 Beta

Office Live Workspace doesn’t have real collaboration, yet. As ReadWriteWeb puts it:

Although Office Live Workspace allows for collaboration, it’s not real-time, online collaboration. Instead, if one user is editing a file, another will be informed the file is “checked out.” When they finish editing and save their changes the document is checked back in for other users to access.

The situation is similar in Sharepoint. As Bill Gates put it:

I have a Word document that if I open it up, you can see that I’ve been force [sic] versioning, check in/check out on my documents, so I could check out the document, make a change, and then come down and save those changes

Mr Gates explained that between these 2 products Microsoft intends to cover the whole market:

We want to scale [Sharepoint] all the way down, so that literally you don’t have to have an IT capability, and that’s where we get into what we’ve branded Live. So we’re working that one up through small customers. We want to work [Sharepoint] down and make sure there’s no gap in-between.

When Microsoft eventually gets around to offering real collaboration, there is no reason for either of those 2 products to do it differently (unless they wish to upsell people to Sharepoint).  So its more a question of which one gets real collaboration first; Sharepoint customers are probably more deserving, but Office Live Workspace customers might make good guinea pigs.

“Microsoft Office Live Workspace is being offered free of charge. .. The company expects to release the final public version of Office Live Workspace later in the year.”

That’s not to say that real collaboration will necessarily be free, though it might be.

For hosted Sharepoint (Microsoft Online Services), the licensing model:

New customers and customers without Microsoft Software Assurance can purchase Microsoft Online Services as a per-user subscription. Existing customers with Software Assurance on their Microsoft Client Access Licenses can purchase a user subscription at a discount, enabling them to maximize their existing Microsoft software investments. Customers with a subscription have rights to both Microsoft Online Services and to access on-premises server software, giving them the ability to blend Web-based services with on-premises software.

So when will the collaboration offering happen?

Venture Beat says that “with Microsoft still raking in so much money from traditional software, [full-on war with Google Apps is] still at least a couple years away”.  Mary Jo tells us Microsoft will fill in the blanks around its Live services strategy at its Professional Developers Conference in October.

Which brings me to the Silverlight 2 beta.  I’m inclined to think Microsoft will offer real collaboration as soon as they’ve got a suitable client (ie not before Silverlight 2 has been through its beta cycle).  The TextGlow docx viewer sets high expectations as to how this might perform.

Alfresco issues – update

January 31st, 2008 by Jason

It looks like most (hopefully even all) of the weird behaviour I have been experiencing with Alfresco’s JCR API disappear if I explicitly wrap the actions performed in each session in a transaction using getRetryingTransactionHelper().

According to Alfresco’s wiki, an implicit transaction should take care of this for you.  Well, some 4 days of pain tells me it doesn’t!

“View Page Source” from within Word 2007

December 17th, 2007 by Jason

When developing software which uses WordprocessingML, you often need to look at the XML.

Wouter’s Package Explorer is a great way to do this, particularly if you want to look at an existing file.

Wouldn’t it be great (well, at least a little bit useful), if you could look at the WordML for a document from within Word? Then you could quickly see the WordML produced when you do something in Word (format some text, create a table, add a comment etc).

ActiveDocument.WordOpenXML provides the OpenXML corresponding to the document. plutext-client-word2007 uses this extensively in C#.

Anyway, we can also use it in VB from within Word to open that in an Internet Explorer window, syntax highlighted and with collapsible sections (similar to IE’s default stylesheet for XML documents).

The result:

word2007-viewpagesource.png

The very straightforward code to do this can be cut/pasted from here -use the “download in other formats” links at the bottom of the page. In Word, from the Developer menu > Visual Basic is used to access Word 2007’s Visual Basic IDE. You can then just paste the code into a new module. Create or open a document, then run the VB. That’s all there is to it.

I specifically chose to do it using VB and not VSTO, so you don’t need Visual Studio installed to get this running.

Also I cobbled this code together quickly, and I know it can be improved. If you’d like me to incorporate your improvements, please feel free to send them in!

Running a community – lessons from jaxb.dev.java.net

December 12th, 2007 by Jason

As described in my last post, we’re experimenting with using JAXB to unmarshall/marshall docx documents.

The specification is thorough, and the reference implementation (v2.1.5) seems to work well.

Unfortunately, the same can’t be said of jaxb.dev.java.net.

Given that one of my hats is to develop a community around the plutext projects, I’m trying to be aware of what helps or hinders this process.

So in the spirit of constructive criticism (I’d really like to see momentum grow around JAXB-RI), here are some observations:

  1. there are at least two places to go to for discussion (the mailing lists, and the   Metro and JAXB forum).  Where should you post? Which is going to get the better response? Why two options? In this case, the forum seems more active.
  2. its much harder than it needs to be to get the source code. There is no anonymous CVS (or SVN) access.  You need to be registered, and to have applied for the Observer role.  Then the instructions omit the cvs login step.  Eventually it worked, but in the meantime, it took a bit of digging to find a link to the zipped up sources.  There are outdated blog entries to disregard along the way.
  3. once you do have the source code, and given that JDK 1.6 introduced JAXB 2.0 in rt.jar, there should be prominent instructions for using 2.1 in Eclipse (ie use JDK 1.5)
  4. I couldn’t find JAXB 2.1.5 in Maven repositories. Again, outdated blog entries.
  5. the website is pretty slow

Now, none of these problems will stop the determined user. But I’m sure their cumulative effect is to make many others give up.

For those like me who try to get a quick sense of how active a project is by looking at the volume of traffic on the mailing list or forum before making any further commitment, problem #1 above amounts to bad marketing if nothing else.

This is a pity, because as I said, JAXB 2.1.5 is good stuff.