# Tuesday, 30 September 2003

PlugIns Let Users Add Functionality To Your NE

Plug-Ins: Let Users Add Functionality to Your .NET Applications with Macros and Plug-Ins. It's often easier and more efficient to extend an existing application that users are already familiar with and trained on than it is to develop one from scratch. You can build extensibility into your application by supporting features like plug-ins or macros, easily accomplished using the .NET Framework [MSDN Just Published]
#    Comments [0] |
# Sunday, 28 September 2003

Disapppointed of Radwinter

Oh how very disappointing. After I'd written a piece about how Chris Anderson had written that PDC demos would use production code, an item appeared in The Register - Microsoft celebrates Longhorn 'Gold Release' early.

Two sources are good enough for me (cue comment that if one source is good enough for HM Government....), brilliant, the PDC would be a real shocker of an event - "hi guys, you leave here with Longhorn, .NET 2 and SQL Server; go forth and write great code". 55,000 people have beta tested this code, its solid its ready for your users. The world media would be so shocked they wouldn't (at least for a few days) quite know how to react other than "MS Shock - Longhorn is in the shops, and it looks good too". And we all know that first impressions count in media stories. How wonderfully subversive it would ahve been, how unconventional - which after all is what PCs used to be about; stuff the MIS department, go get yourself a PC and get the reports/functionality done yourself on your PET/Apple/Superbrain (yes I once worked on a national bacon buying planning system for a large UK supermarket chain on a Commadore PET).

I know, impossible (Longhorn release, not the bacon buying - it worked), but for a moment it looked like it might be fun. Unfortunately, Chris Anderson has burst the bubble:

Let me clarify what I meant... Typically there are 4 kinds of demos... .... Obviously given that Longhorn has a while until it ships, we can't really demo using "gold" bits

Oh well, back to receiving bits you can't use for some indeterminate amount of time.

#    Comments [0] |
# Thursday, 25 September 2003

ping Sorry Userland Radio Failed Again

ping (sorry, userland radio failed again).
#    Comments [2] |

Try Having A Look AtnbspA Hrefhttpwwwmsdnmicrosoftcomeventspd

Try having a look at: PDC Buzz (aka The Buzz is on) [via Brad Abrams]

Those of a sensitive nature may like to prepare their sick bucket before clicking the link.

#    Comments [0] |
# Wednesday, 24 September 2003

Chris Anderson One Of The Architects On Avalon And One Of Microsofts Upc

Chris Anderson (one of the architects on Avalon and one of Microsoft's upcoming developer stars): "One of the coolest things about this PDC - almost all of the demos (including the keynotes!) will be using real production code..." [The Scobleizer Weblog]

Interesting, what's the definition of "real production code" here? Normally, I would suggest, that implies that is code that is shipping or damn near ready to ship - its not prototype, or alpha or beta, its code in production and in use.

So almost all the Longhorn demos are on real production code? This would imply Longhorn has gone gold - would be a shocker!

So almost all the Whidbey demos are on real production code? This would imply ASp.NET 2.0 etc etc have gone gold.

Perhaps, as usual, I have misunderstood the terminology or I am too old to understand the moderne?

#    Comments [0] |
# Sunday, 21 September 2003

Extreme XML Revamping T

Extreme XML: Revamping the RSS Bandit Application. Dare Obasanjo revisits his RSS Bandit C# application and improves on its previous design by using various XML features of the .NET Framework to build a rich .NET client application. [MSDN: .NET Framework and CLR]
#    Comments [0] |
# Saturday, 20 September 2003


Auto-complete text boxes.

There's a great new article up on Sitepoint describing a technique for adding auto-complete functionality to normal HTML text input fields using Javascript. The code uses a whole bunch of browser-specific code, but it has to thanks to the unconsistent ways in which different browsers handle text selection ranges. Unfortunately the article doesn't actually provide a demo of the code in action, so I've posted one here. It's a very nice effect. [Simon Willison's Weblog]

Neatly done.

#    Comments [0] |
# Thursday, 18 September 2003

Skyping Just Got Sk


Just got Skype.  Try Skyping me using the Skype button under my portrait.  There has been some problem finding people so Skype might be mostly hype.  It's VoIP technology might be up to snuff, but it sure is difficult finding anyone to talk to.  If situation doesn't change, it's being uninstalled after a few days.  Yipes!

[Don Park's Daily Habit]
#    Comments [0] |
# Wednesday, 17 September 2003


Software Patents from the Inside. There has been much lamentation and gnashing of teeth in recent times about the evils of software patents. There is wild controversy about whether the whole idea is fatally flawed—for example, Dave Winer has argued that software patents are bad economics and (in the U.S. context) constitutionally unsound. Further, there is a widely-held belief that the US PTO has been too uncritical, and insufficiently attuned to prior art, in issuing such patents. Here’s a confession: I currently have two software patents in the US PTO pipeline, and did some work on them last week. Herewith some narrative of what the process is like from the inside, with commentary on the broader issues... [ongoing]

Interesting article, worth a read.

I am struck by this:

Are Software Patents a Broken Idea? ... It felt much more rigorous than the way we go about inventing new technology in the software space...

and reminded of an old Morcombe and Wise sketch with Andre Previn in which Eric is supposedly playing some classical piece but plays Chopsticks - to a complaint from Mr Previn Eric replies "its all the right notes, but may be not in the right order".

I just don't see invention in the software space. Each new line of code I write could be considered an invention - rather too many US patents are really expressed by just a relatively few lines of code - and often they are an old tune just played in a different order. 

Yesterday I invented a way of turning floating point numbers into strings ('cos an OS routine was broken) without relying on floating point libraries (it was an invention to me) - should I (try to) patent it? Today I invented a way of passing licensing information around within a process space - should I patent it? Twaddle I should, both are built on other library code and both took about 5 minutes of thinking.

#    Comments [0] |
# Saturday, 13 September 2003

Ray Ozzie Describes Saving The Browser

Ray Ozzie describes Saving the browser

Interesting, and includes this loverly line:

I am quite embarassed to say that we frankly didn’t “get” what was so innovative about this newfangled “Web” thing, given the capabilities of what had already been built.

He wasn't the only one - I spent my early days of dealing with the web (1994/5) thinking "crikes this is primitive" - though that being primitive has largely what as led to its success; there're ain't much more openess than plain text commands whizzing around everywhere rather than difficult to unpick (proprietory) binary data structures, but I digress.

My problem with Mr Ozzie's contribution is that, IMHO, he does little more than demonstrate OLE:

In essence, the linked-to document we’re about to open has embedded CD records that describe 1) that an object is to be embedded into the page, 2) the class of object (in this case “EXCEL”), 3) the pointer to the object (in this case X:TEST.XLS”, which is a reference to a spreadsheet object that is potentially on a remote server computer represented by drive letter X., and 4) a parameter indicating whether or not this object should be immediately activated upon browsing, or whether the object needs to be double-clicked before activation.

The patent document describes that OLE/OpenDoc exist and that they are not prior-art for the patent (inability to work over the network). As I've said before - I don't see how this is so, and all Mr Ozzie's article does is say to me, yep, OLE/OpenDoc is what this patent is about. I don't understand the US patent system (soon to be in a European country near you - gawd help us).

#    Comments [0] |
# Friday, 12 September 2003

Good Grief Following On From My Bit About The Patent

Good grief, following on from my bit about the patent, I wandered around that amazing place the Internet. Products I haven't touched for years (they are no longer published) and yet there's a number of mentions. Honourable mention is awarded to Magpie for this:

....Syracuse were among a number of similar magazines which used Longman Logotron's Magpie browser which held sway in the days long before HTML....

Ahhh, the days before HTML when everyone thought multimedia was it. On usenet I found an announcement about Magpie and Genesis from 1993 and our support for Acorn Replay - the external application that played by video files.

#    Comments [0] |

A Demo Zeepe 7 Application Has Appeared Over In Zeepe Applications

A demo Zeepe 7 application has appeared over in Zeepe Applications:

Originally written for IE4 some years ago (about 1997/8), this games presents randomly generated sums for drill'n'skill excercises.

#    Comments [0] |

More On US Patent 5838906 Eolas IMHO The Patent Covers The Following The Automatic Invocation Of

More on US Patent 5,838,906 (Eolas)

IMHO, the patent covers the following:

  1. The 'automatic' invocation of an external interactive program in response to seeing some data stream within the 'source' document - not in some document 'attached' to the source document, but the original document.
  2. There must be external (to the original document) data for the external program to access.
  3. There can be communication between the host browser and the external program.
  4. The external program can contact, by some means, for whatever purpose, a process running on the (originating) server.

What is not covered.

  1. Invocation of non-interactive code (e.g. provision of utility functions with no interactive function).
  2. Automatic download and installation of the required code for the external program.
  3. Invocation of code that does not access the external data source. Applets etc that simply provide alternative forms, UI, visualisation from client side collected data are not covered. 
  4. Invoked code that cannot communicate with the invoking browser nor appear within the browser window.

I must admit that I don't understand how OLE/OpenDoc is not prior art - just saying 'make OLE/OpenDoc work on a network' doesn't appear much, if anything, of an invention, http is nothing more than a simple file system - but there we go, I don't understand the US patent system. Nor do I understand how client/server RPC is supposedly an invention in 1994.

There were multimedia apps in the UK in the early 1990s on RISCOS that did video playback in the window - one in particular (Genesis) was very text file based (it had text documents that refered to external data) and could have very simply supported (i.e. no changes to the underlying code) what Eolas claim assuming that Acorn/anyone had written a module (http:) that worked like other RISCOS filing systems (adfs:/scsifs:/netfs:/strangedevicenamefs:) - Genesis did whole file reads so this would have been a doddle. I wrote a different one called Magpie that did similar things but worked on a single file for the whole MM document, so supporting http: would have been a bit more difficult. The data was stored in a compressed binary format (computer stored text does not equal binary data - discuss). What's funny is I've been meaning for years to rewrite Magpie using HTML - I did some of the work a few years ago - but now I won't be able to because of this patent, just because HTML runs over http - perhaps if I write it in HTML but it won't access a server, just the local file system then it won't breach the patent....


#    Comments [0] |
# Wednesday, 10 September 2003

SMEs Dont Know

SMEs don't know, don't care about broadband. Why should they? [The Register]

And the transformation was? v. silly article.

#    Comments [0] |

A Hrefhttpwwwinfoworldcomcgibinredirectsourcerssampurlhttpw

Ellison sees new software pricing model. SAN FRANCISCO -- The model of pricing enterprise software on a per-processor basis should be replaced with a flat annual fee that allows businesses to use as much software as they want, Oracle Corp.'s chairman and chief executive officer Larry Ellison said Tuesday. [InfoWorld: Top News]

"Where I think we'll go is towards enterprise licensing. ... You pay an annual recurring fee and use as much software as you want, and I think that's a much more sensible model to use."

Oh good - we do use the word enterprise, though the standard license could also be considered an enterprise license. Yep, its a sensible model and has been for years.

#    Comments [0] |
# Tuesday, 09 September 2003

And Another Thank Goodness It Seems All The ISPs I Use Ooooh Yes Sir I Use More Than One ISPnbsp OK One Of Them Is For

And another thank goodness - it seems all the ISPs I use (ooooh, yes sir, I use more than one ISP - OK, one of them is for MeadCo....) are on .NET 1.1. Verrrryyyy interesting - it would seem that framework upgrade amongst ISPs is a little faster than one might expect. VS 2003 here I come, ready or not......
#    Comments [0] |
# Monday, 08 September 2003

Is Evil T

"Is Evil.." titles are evil. Too excellent articles on Object Oriented Design: Why extends is evil and Why getter and setter methods are evil. Ignore the inflammatory titles: the subheading of the second article, "Make your code more maintainable by avoiding accessors", is a much better indication of their content. I picked up some great tips on proper use of OOP from reading them. In particular, the section on CRC cards made something click which hadn't clicked when I looked at them earlier this year for my ill fated University software project.[Simon Willison's Weblog]

Oh thank goodness. I've never really understood why int get_myProperty() is supposedly any better than public int myProperty. The accessor encapsulates nothing, it was supposed to be OK and good because inlining reduces to a direct value access  - but any change in the value declaration has the same effect with or without the accessor function. I feel better about my code <G> (shhhhhh, I was grateful when someone explained that goto: was acceptable on occasion as well - having been lambasted for its use and going through silly hoops to get rid of it).

Like everything in life really - things can be bad for you if not used in moderation.

#    Comments [0] |

Server Application Unavailable Issue On Windows XP And ASPNET Version 10 If ASPNET Has Suddenly S

Server Application Unavailable Issue on Windows XP and ASP.NET Version 1.0.

If ASP.NET has suddenly stopped working, then this is why. (You installed, probably faithfully accepting Windows Update recommendations, a patch. The patch was installed sometime after Aug 20. I don't know if I have the patch 'cos its not listed in add/remove but the workaround given by MS works).

Moral: If something stops working, search the net with Google first - dont search the MSDN DVDs first.

Moral: If something stops working, don't blame yourself first.

#    Comments [0] |
# Friday, 05 September 2003

A Hrefhttpmsdnmicrosoftcomlibrarydefaultaspurllibraryenusdnhc

Hardcore Visual Studio: Deploying ASP.NET Applications Built on Different Framework Versions. In this article from Hardcore Visual Studio .NET, Zhanbo Sun discusses the requirements for side-by-side configuration and development with ASP.NET. [MSDN: ASP.NET]

I don't get this, it seems to be implying that if I install VS.NET 2003 then I cannot target .NET 1.0. Since my web hosting provider is still on .NET 1.0 and I having no way of forcing an upgrade to .NET 1.1 then, if I want to develop ASP.NET applications I am stuck with VS .NET 2002 - its a crazy, crazy world. Perhaps I am supposed to install VS.NET 2002 and 2003 side by side - its a a crazy world that assumes we have infinite disk space.

#    Comments [0] |
# Tuesday, 02 September 2003

Announcing Microsoftcom Web

Announcing Microsoft.com Web Services. The Microsoft.com Web Service will enable you to integrate information and services from MSDN, Technet, other Microsoft.com sites, and Microsoft Support. Future releases will build on this architecture to provide access to a broader variety of Microsoft content and services. [MSDN Just Published]
#    Comments [0] |
# Monday, 01 September 2003

US Patent 5,838,906

W3C Opens Public Discussion Forum on US Patent 5,838,906 and Eolas v. Microsoft.

Hmmm, tricky one this. The patent appears to have been filed in 1994 with sample code illustrating modification of the NCSA Mosaic browser, the patent specifically illustrates the introduction of the EMBED tag (without trawling through the back archives, the EMBED tag was probably not part of the W3C specs at this time). A fundamental question with this patent is can you patent the introduction of any tag that does something "new", or is the patent logically invalid because the processing of all tags is logically the same; the parser encounters a tag a calls the relevant code via the relevant interfaces to render or otherwise process the contents of the tag. Many operating systems support the concept of dynamically loadable code modules (e.g. Windows DLL), in writing a browser one might reasonably implement the processing of each and every tag in different loadable modules; the 'wiring' of the correct module to load may be hard coded or may be determined from the tag contents.

This patent seems to claim: The present invention provides a method for running embedded program objects in a computer network environment. The particular module to load is determined via a mime type attribute on the tag. So, is the fundamental claim the ability to load different code dependent upon the attributes of the tag - this would imply that the script tag with a language attribute is also in violation of the patent (but the patent seems to include interaction with the user as a requirement, does script interact)? It would seem that this is the fundamental claim, otherwise, since all content is rendered via computer code, and dynamically loadable modules for tags are a reasonable architectural decision, all browser tags are covered by the patent, or at the least all extension tags are covered by the patent which blows XHTML, XFORMS etc etc out of the water.

Or look at the patent another way - it specifically talks about  program objects and further executable application. One reading might be that dynamically loadable modules that reside in the same process space (ActiveX controls) escape the patent but that dynamically loadable modules residing in a separate process space do not (Java applets, .NET based controls etc). The title of the patent is "Distributed hypermedia method for automatically invoking external application..." - all depends upon what you mean by external.

Another interesting part of the patent is this:

Other existing approaches to embedding interactive program objects in documents include the Object Linking and Embedding (OLE) facility in Microsoft Windows, by Microsoft Corp., and OpenDoc, by Apple Computer, Inc. At least one shortcoming of these approaches is that neither is capable of allowing a user to access embedded interactive program objects in distributed hypermedia documents over networks.

This is interesting because it states OLE can't do what they are claiming for an invention (otherwise it would be prior art) and yet ActiveX controls were once named OLEControls (!), OLE is merely a set of (COM) interfaces and the whole of IE is built on COM interfaces. MS defined a whole bunch of new OLE interfaces to do this - to make life easier - its an interesting question as to whether the OLE interfaces that existed in 1994 could have had code added (without changing the interface) to enable say Word to work over HTTP (i.e. treat http as a file system).  What is the definition of hypermedia they are relying upon? What do they mean 'over networks'?

If we fall back on the patent claims that the EMBED and similar tags (e.g. OBJECT) that dynamically determine user interaction code to execute are covered by the patent then the route round would seem to be an alternative mechanism for determining the code to execute and that this is sufficiently novel or has prior art that it could either itself be patented or is prior to 1994 so escapes the Eolas patent. It is unclear whether the css behavior attribute is covered by the patent - it is one step removed from the tag attribute, does that count as clear water. Something that has been going on for years and years and years is customisation of application behaviour by some sort of parameter file - one could introduce a new meta tag or some such that contains parameters such as when you see this type of tag do this - coupled with namespaces this would seem to be clear water (one could argue that an external css file is a parameter file, so the behavior attribute is OK). Applications that host the web browser control and inform it that when such and such a namespace is seen on a tag, call me would also seem to be clear of the patent (e.g. Zeepe).


#    Comments [0] |