Skip to main content

Microsoft Copies, then Patents Java Education Tool

Posted by cayhorstmann on January 28, 2007 at 9:34 AM PST

BlueJ is a tool for teaching OO programming in Java that is very well
regarded in the CS education community. Microsoft engineers who were
familiar with the BlueJ "workbench" added a similar feature to Visual
Studio, didn't give credit to the BlueJ inventors, and filed a patent
application. Not the way to win the hearts and minds of the education

What is BlueJ?

BlueJ is a tool for teaching students
about objects and classes. One of its key features is a "workbench" that
contains icons denoting objects. New objects can be placed on the
workbench by clicking on class icons. Methods are invoked by clicking on
the icons.

??? src="" />

Before I used BlueJ, my CS1 students kept asking "What is the
difference between an object and a class?" Now they no longer ask--they
know that classes are the factories for objects, and that objects
execute methods. They know it not because I told them but because they
experienced it. That makes a huge difference.

This functionality was first developed in BlueJ's predecessor Blue by
Dr. Michael Kölling in his 1994 Ph.D. thesis and described in href="">various published

What did Microsoft Do?

In 2005, Microsoft added an "object test bench" to Visual Studio--see
documentation or Dr.
Kölling's analysis
with side-by-side comparisons.

??? src="" />

Microsoft then href="">filed
a patent on this feature.

There is a question whether people inside the Visual Studio development
team were aware of BlueJ. I have met many Microsofties and Visual Studio
users who seem to think that Microsoft is the only source of innovation in
the universe—I once had a hard time convincing someone that
refactoring in the IDE was not invented by Microsoft but was present in
Eclipse years before Microsoft saw the light.

But the team that markets Visual Studio to educators is keenly aware of
the competitive landscape. I had many conversations at the annual ACM CS
education conference with Microsoft representatives about the various
products, and they were well informed and certainly knew BlueJ. They are
also relentless. I am a member of the College Board's development
committee for the AP Computer Science exam, and not a year goes by without
a request from Microsoft to the College Board to make the exam more
Microsoft-friendly. (Visual Studio doesn't handle Java 5, which is
currently used for the programming questions on the exam.)

Of course, Microsoft is a large company and the fact that one group
knew about BlueJ doesn't necessarily mean that the company committed fraud
by filing a patent without referencing it as prior art. But Microsoft is
also a fabulously wealthy company, and it would have been an easy matter
for them to do more research into prior art, had they chosen to pursue
this with the same relentlessness as dogging the College Board.

What Now?

Now the cat is out of the bag. It's even on Slashdot, where it
immediately href="">degenerated into
the usual rant on how the patent system sucks. I know it sucks, but to
me, that's not the point.

My point is this. Dr. Kölling is href="">very nervous that Microsoft
might shut down BlueJ. Unlike Microsoft, he and his university are not
fabulously wealthy, and even filing a simple objection with the patent
office is a hardship. Microsoft wants to play nice in the educational
community. Relentless but nice. To me, nice would mean that they apologize
to Dr. Kölling, belatedly give public credit to him, and withdraw the
patent application. I'll update this blog once they do that.

Update:According to this blog, Microsoft is doing just that. Over the weekend, they reviewed the situation, realized they made a mistake, decided to withdraw the application, and apologized to Dr. Kölling.

Related Topics >>