ZDNet UK – News – Eolas wants Microsoft to stop browser distribution

The software giant asked for the new trial, citing several factors, including the unusual proportions of the jury's judgment and the court's refusal to allow discussion of some prior art or similar technology that Microsoft believes predated the Eolas patent and should therefore invalidate it. Microsoft mentioned one piece of prior art in particular, the Viola browser, invented by Perry Pei-Yuan Wei, an artist, software engineer and then a student at the University of California at Berkeley. That browser dates back to 1991 and its plug-in capabilities to 1992, nearly two years before Eolas filed for its patent.

The game is heating up! As I said yesterday I wondered why OLE technology, Lotus Notes R3,and the Viola browser were not discussed in the trial. Now we know the answer! The court refused to allow discussion of some prior art or similar technology.

The Eolas patent as I read it is very broad so I doubt Microsoft's browser remedies will stop the legal process. Obviously Eolas wants the cash and a license agreement from Microsoft. If this process continues the browser and plugin remedies will mess up a lot of Internet users. In this case the software patent process is flawed and is doing more harm than good. I have yet to find anyone in the industry supporting the Eolas patent despite the fact that many people loath Microsoft. That fact alone tells you something about the validity of prior art claims!

Eolas and Prior Art

I got distracted after reading the “Saving the Browser” piece by Ray Ozzie. I ended doing a search on Eolas and prior art. One of the items I found was a Memorandum Opinion and Order by the judge. The judge concludes:

  1. An “executable application,” as used in the ’906 Patent, is any computer program code, that is not the operating system or a utility, that is launched to enable an end-user to directly interact with data.
  2. “Type Information” may include the name of an application associated with the object.
  3. “Utilized by said browser to identify and locate” means that the enumerated functions are performed by the browser. This is a fact-intensive inquiry.

The original patent applications were rejected several times for infringing on existing patents on invoking executables based on content and OLE technology. If I understand the paper correctly, the judge bases his conclusion on the facts that invoking executables is closely linked to the operating system and not system independent as envisioned in the Eolas patent.  The OLE patent was not pertinent because it had limited scope and functionality. It appears that the patent office in rejecting the original applications was looking for a much narrower patent than the one they eventually approved. So what happened?

IMHO, I believe the “heavy lifting” of invention was done by the folks who worked on OLE and the browser helper applications. I do not see any contribution made by Eolas to the invention process. I think that Lotus Notes R3 is pertinent prior art since there is a question of the functionality of OLE. The extension of the OLE concept to invoke an embedded application by the browser appears to be a trivial extension. As Perry Pei-Yuan Wei points out, the Viola browser demonstrated applications embedded on a web page a year prior to the patent application by Eolas. He also complained to the Eolas founder, Michael Doyle,  in 1994 about his prior art when Doyle announced he was going to patent this technology. It is interesting to note that Viola was not mentioned in the patent application or in the court case.

Saving the Browser

For my own interest, and for the record, I recently spent a little time pursuing my intuition that Lotus Notes R3 might be viable prior art relative to the patent in question. I am not an attorney, and I am surely not well versed in the nuances of the case, but it seems to me after initial investigation that there is indeed quite a bit of relevance.

Ray Ozzie makes a persuasive arguement that Lotus Notes R3 is a good example of prior art that was shipping before the patent application. I get the feeling that a lot of people felt this case would disappear because of an abundance of prior art. I guess I am confused why Microsoft let this thing go to court.

Missing drive letter for USB attached camera

I updated my computer about a week ago with a new 120 GB disk drive. I partitioned the drive into two partitions, one for a drive image of my boot partition and one for video files. I didn't realize that this would create a problem for my digital camera. I attached the camera via a USB connection and when I powered it on, it would use drive G and crank up XP's camera wizard. What I finally figured out was that since drive letters G & H were taken by the new drive, the USB software had re-assigned itself to the I drive which was being used by the network. I could see the network drive. It took me awhile but I found I could re-assign the drive letter in disk management if the camera was connected and powered on. A nice thing is that the USB connection remembers its drive assignment. To make things simpler in the future I reassigned my I drive to Y.

Jay Rosen: The Blog Transformation of Journalism.

     “The terms of authority are changing in American journalism,” Jay Rosen observed in a long conversation after the opening day of BloggerCon. 

     For more than a decade Jay Rosen has been a frustrated advocate of people-first, bottom-up “public journalism.”  The premise of his project (and his book, What Are Journalists For?) was that, as an act of civic conscience, major media might abandon the celebrity circus approach to covering, for example, presidential campaigns.  The idea was laughed at, left for dead after the 1996 season.  Yet Jay Rosen never quit, and the spirit burns bright on his blog, PressThink.  Today, strangely, he believes we're in sight of real public journalism–not as a matter of corporate or professional conscience but because: the tools of journalism are being democratized; the costs not just of blogging but of digital radio and television are suddenly minimal; “amateurs” from the Baghdad Blogger to Instapundit have shown a flair for the game; audiences seem to love the new entrants; and major media institutions are having their own independent crisis of confidence and credibility.  Jay Rosen's reading of the New York Times' internal review of the Jason Blair scandal was that “the Kremlin model doesn't work anymore,” either with staff or readers.  Change is in the wind.

     Here's the summary quote about The Blog Effect:

     “Blogs are undoing the system for generating authority and therefore credibility of news providers that's been accumulating for well over 100 years.  And the reason is that the mass audience is slowly, slowly disappearing.  And the one-to-many broadcasting model of communications–where I have the news and I send it out to everybody out there who's just waiting to get it–doesn't describe the world anymore.  And so people who have a better description of the world are picking up the tools of journalism and doing it.  It's small.  Its significance is not clear.  But it's a potentially transforming development… I like [it] when things get shaken up, and when people don't know what journalism is and they have to rediscover it.  So in that sense I'm very optimistic.”

     Jay Rosen, who runs the journalism program at New York University, has taken his lumps for his reformist vision in the past. His fresh hope is founded on something more than idealism.  Listen here.

[lydon News]

EdCone.com

Weblogs bring Second Amendment logic to the First Amendment. The Second Amendment means everyone gets to have a gun. The First Amendment means everyone gets to say what they want to say. But a limiting factor on freedom of speech has been that the tools of mass communication have been unavailable to most individuals. Some people are more equal than others. Now push-button publishing onto the Web means everyone gets to have a printing press and a distribution network. Weblogs won't undo professional media, any more than personal gun ownership has undone the military. But many Second Amendment advocates believe an armed citizenry provides a check on the government. Arming people with weblogs certainly provides a check on corporate media and the government. If the pen is mightier than the sword, this could be a very positive development.

Ed provides an interesting comparision to the First and Second Amendments but I think he overstates the importance of gun ownership as a check on the government and weblogs as a check on corporate media and the government. Weblogs are just one of several  tools provided by the internet. Separately these tools have little effect corporate media and government policy. It is the combination of these tools that have become a very effective check on corporate media and the government.

Sunbelt Software – Windows 2000 SP4 Anecdotal Problems

First, thanks to all of you that took the time to describe the different problems you encountered. You know who you are. Second, do not see this as an attempt to knock SP4 and tell you to not deploy it. This SP has hundreds of important security fixes, so it is important. The main thing I am emphasizing is that you need to TEST, TEST, and TEST in a non-production environment FIRST.

Here is a nice summary of problems encountered by some users with SP4. In addition to these potential problems, I had a problem with my zip drive.

A better way of entering dates

A better way of entering dates.

The CreativityGoblin dropped in on me today, and as a result I've been tackling the challenge of entering dates in to a web application. In the past, I've used DHTML calendar widgets for this purpose (my favourite is Mishoo's highly configurable, standards compliant JS Calendar) but while widgets like this have a great deal of “wow” factor I'm not convinced that they are the best entry mechanism when it comes to raw user speed. Today's experiment was partially inspired by PHP's strtotime function, which accepts a string in a wide variety of formats and converts it in to a time.

I wanted the same thing but in Javascript, as interfaces like this are best carried out on the client without needing a round trip to the server to check any entered data. Here's a demo of what I came up with (javascript code here). It accepts a number of different input formats and converts them to a standardised mm/dd/yyyy (American style dates because it's for use in an American piece of software) when you move the focus away from the box. Importantly, the date is shown in two places: in the input box itself and in “Mon Oct 06 2003” format as text below the date entry field. This second display serves two purposes. Firstly, by displaying the date in an unambiguous format mistakes are easier to spot (especially important considering the American date format used in the main input). Secondly, it provides a useful place to display error messages should the script fail to parse some input.

The Javascript itself was quite fun to write, and uses a number of interesting idioms I've picked up over the past year. It adds a 'filter' method to Javascript's Array class to better support functional programming (in fact I use it to match partially entered month and weekday names) and an 'indexOf' method identical to the one provided by the String class. The majority of the work is done by a data structure called dateParsePatterns, which defines a set of pairs of regular expressions and handler functions. The regular expressions match a n input style and extract any useful information; the handler functions then create a Date object from the extracted information and return it to the caller.

Finally, the code uses an error handling technique I picked up on Ward's Wiki called the SamuraiPrinciple, which states you should either complete your contract and return a valid result, or throw an exception. This is used by the handlers and the main date parsing function itself, with thrown exceptions only caught by the magicDate function attached directly to the onblur event of the input box.

There are still quite a few improvements that could be made to the code: more input styles (easily added by extending the main data structure), better planned functions and maybe a clean up to move more of the code out of the root Javascript namespace. For the moment though it serves my purpose just fine.

[Simon Willison's Weblog]

This is a nice piece of coding by Simon and a nice article with some good code links. Mishoo is the primary developer of htmlarea. Speakling of htmlarea, the latest development version can include a spell checker.

Traveling through East Ohio

Today I took my son to his hockey games in Huntington, WV. It should of have been a two and a half hour ride but I missed my turn. By the time I realized that I had passed it, I was too far down the rode to turn back. I found a shorter alternate route but we were late. I did get to see a lot more of East Ohio than I planned on. The leaves in the trees have just changed their colors. It was almost picturesque if I could just get over being late for my son's hockey game. I found the road on the way back. The road was smaller than I expected.