bluej-logo BlueJ
Search the BlueJ site

about BlueJ
help & Info


Microsoft goes BlueJ


by Michael Kölling, 22 May 2005

Recently, I came across Dan Fernandez' blog (Visual C# Product Manager, according to the blog header), where he introduces a "new Visual Studio 2005 feature": the Object Bench! Sounds interesting, I thought. And what I read is nothing short of amazing! What was the great revelation, you may ask? Here it is: Microsoft are learning!

They have finally managed to copy BlueJ - and it has taken them only six years!

So I googled around a bit more, and found that the Object Test Bench is discussed at various places, and the Visual Studio crowd are getting excited. It's variously a "Cool New VS 2005 Feature", "another gem", or simply "pretty slick".

But is it a copy? Or have the Visual Studio engineers meditated in a dark corner and come up with similar ideas, either because they are smart or the ideas are so obvious? Does it matter?

There is no proof either way, of course. But you can make up your own mind.

I have put some screenshots on this page that let you compare. Note, I do not have Visual Studio (I don't even have Windows, for that matter). The screenshots are all copies from various pages on the net. I've taken them from here, here, here and here. All the info is taken from Microsoft's own web pages or those of their employees. I have made an honest attempt to be accurate in repeating what they describe.

The walk-through

In Visual Studio, you can now create an object by right-clicking on a class. This presents a dialog that lets you enter the instance name. In BlueJ, you can create an object by right-clicking on a class. This presents a dialog that lets you enter the instance name.

Here is what the dialogs look like in VS and BlueJ (Fig 1):

Fig 1a: Visual Studio: Object creation

Fig 1b: BlueJ: Object creation

After hitting OK, an object icon is shown on the Object Bench. Okay, I admit: there is a difference: In BlueJ, we call it Object Bench, in VS, they call it Object Test Bench... Here is what it looks like (Fig 2):

Fig 2a: Visual Studio: Object Test Bench

Fig 2b: BlueJ: Object Bench

I always knew it: objects have rounded corners! But how round exactly?

Next, we can right-click the object, and we get a menu that allows us to invoke methods (Fig 3):

Fig 3a: Visual Studio: Method menu

Fig 3b: BlueJ: Method menu

After we select a method from the menu, a dialog pops up that prompts us to enter parameters. Here is what it looks like for a string parameter (Fig 4).

Fig 4a: Visual Studio: Method call dialog

Fig 4b: BlueJ: Method call dialog

Here is another example of a parameter dialog, this time with two int parameters (Fig 5):

Fig 5a: Visual Studio: Method call dialog

Fig 5b: BlueJ: Method call dialog

For each of the parameter entry fields, Visual Studio has a drop-down menu that offers previous entries so you don't have to re-type them. So does BlueJ (Fig 6).

Fig 6a: Visual Studio: Parameter pull-down

Fig 6b: BlueJ: Parameter pull-down

If the method has no parameters, Visual Studio shows the following dialog. BlueJ doesn't. The dialog does not let you enter anything (I wonder what the 'Help' tells you...). Why is it there? I don't know. By functionality, it's another of those "Are you sure you want to do this?" dialogs (Fig 7). Just to make sure you don't accidentally call a method and, emm, accidentally find out whether your dog can swim... Now, that would be a disaster.

Fig 7: Visual Studio: Method call without parameter


And lastly, if the method returns a result, a method result dialog is shown. The functionality behind BlueJ's 'Get' button it transformed to a checkbox in VS (Fig 8).

Fig 8a: Visual Studio: Method result

Fig 8b: BlueJ: Method result

Is this interesting? I think so. It is interesting for different reasons for BlueJ users and Visual Studio users.

For BlueJ users, it is interesting to know that there might be a migration path after growing up with BlueJ. Should you ever feel the urge to use Visual Studio, it's comforting to know that you can now do what you're used to do.

For Visual Studio users it might be interesting to know that there is life outside Microsoft. Already, the blogs are buzzing about this "Great New Microsoft Innovation". (Did you notice, by the way, how Microsoft have managed to change the term in all the relevant discussions from "invention" to "innovation"? Very clever. Copying someone else's idea is not an invention, but it is innovation. Microsoft: the innovation company...)

So have they copied us? I don't know. It could all be a great coincidence. And what if they have? Is it illegal? No, it isn't. We don't have software patents. (We don't want to have software patents - we don't believe in them.) Is it unethical - I don't know. It's business, and business sometimes is.

Do I care? I don't care that they copied BlueJ - good on them, and good luck to them. But I care about attribution.

I work at a university, and I strongly believe in honest attribution of sources. Microsoft does not have a good track record on this. So I decided to post these screenshots here so that people can at least see and make up there own minds.

One final remark: this page seems to suggest that this new feature will be omitted from Visual Studio Express - exactly the VS version that is aimed at students! Why? Don't ask me. I don't know. -- Oh well, they can't get everything right at first try...

Michael Kölling,
Canterbury, 22 May 2005

PS: I don't have blog software running (and I'm not in the mood of setting this up), so I have no mechanism for feedback. However, if you feel like you want to add your opinion to this page, send me a mail, (marked with "Comment for BlueJ/VS web page") and I promise to add everything I get to the bottom of the page.



I despise them... I really do.

As you say, there is nothing illegal in what they have done but it is just so cheap to not acknowledge the source.

It wouldn't surprise me if a full student version appeared which was an exact clone of BlueJ and Microsoft end up using their muscle to ensure that their version becomes the defacto educational tool used in schools and colleges - inspite of their version costing $100 per copy and BlueJ being free - if there is the faintest whiff of a profit there, they will do it in a flash.

I despise them.

Darren Wilkinson, 23 May 2005, 20:45 BDT

I, also, despise Microsoft mostly for their ability to "innovate" while ignoring the inherent problems of a monopolized audience which spends it's time coping, and coping and coping.... with mediocre, at best, MS products. It is refreshing that Microsoft has "innovated" a mature, robust, feature rich, useful product, finally! Oh, wait, you have already done that! And, by the way, I credit your approach to 'Object thinking' with having enlightened not just a few of us old time, mainframe, structured programmers.

That being said, I am more than incidentally concerned with your not having patent protection on BlueJ. This sets you up for a possible legal battle with Microsoft, and we know who wins those battles, for product infringement on THEIR patented software. I'm not an attorney, nor do I 'play one on TV', but I live (cope) with spouse, sons, daughters, sisters, brother in law, etc who dabble in all sorts of Legal Specialties. You might make a few inquires just to be informed.


KJ Buba, HMHS, Louisville, KY, 25 May 2005 15:24 BDT

This looks like a duck, and smells like a duck, and seems to quack like a duck... Therefore...

If they have or haven't is no longer an issue. What should concern you is what if Microsoft patents this "innovation", where would that leave you and the wonderful BlueJ project? Food for thought.

DH Allingham, Ottawa, Ontario, Canada, 26 May 2005 16:34 BDT

Hi Michael,

the fact that students and teachers all over the world know the true source of such an "innovation" is not enough... It doesn't protect BlueJ, nor you and your colleagues, from Microsoft's legal tactics. I entirely agree with those who are concerned about what Microsoft can do about it in the near future. Please be careful.

Best regards,

Cristina, Sao Paulo, Brazil, 28 May 2005 3:16 BDT

I do not say English, but in this in case that I go to strengthen itself. This already is part of the history of the Microsoft... and they are conservatives...

Thiago Alves Goulart, Brazil, 30 May 2005 17:47 BDT

I echo the fears expressed by others that, lacking patent or copyright protection, you may find yourself overwhelmed by lawsuits from Microsoft, who seem completely willing to patent other people's inventions and steal them away. It is heartbreaking to see that happen. Possibly, the years of documentation already published on your and your colleagues' development of this fine tool will stand you in good stead. Should you find yourselves needing witnesses in support of your position, I'm sure you can call on a number of us - who, delighted to discover an object-oriented way to teach object-oriented programming, have made the switch and don't want any commercial giant swiping this great teaching tool! Thank you for your dedication and vision.

Tina Norris Fields, Rapid City, Michigan, USA, 31 May 2005 20:44 BDT

Just a short comment on the patent issue: I don't think we need to be worried about Microsoft possibly taking out a patent on this interaction style. Patent law defines a concept called "prior art", which invalidates any patent application. Prior art means that if an idea or technique was published before the patent application, then a patent cannot be granted. This is clearly the case here.

I also do not believe that there will be any legal action. We have certainly no intention to start any, and I seriously doubt that Microsoft can have any interest in it either.

This is also not about stopping anyone from doing this - not even Microsoft. (Not that we could if we tried, anyway.) There have been several initiatives before to replicate BlueJ functionality, more or less similar (such as jotazul, bluEclipse, C#IDE, E-BOB). However, they acknowledge the source of their ideas. (Or at least did at some stage, in the case of C#IDE.) We have no problem with that.

So what is this all about then? Maybe I just had to get this off my chest. I thought it was funny when I read in a blog of one of the Microsoft engineers who worked on the implementation of this feature (quote): "Hope you enjoy working with OTB as much as we have enjoyed designing/developing/testing it for you!"

The issue of Microsoft using muscle to push their tool into education in preference over others is a real possibility, though. That is quite obviously the plan - it is the goal for a commercial company to do what they can to get their products out there.

So, what can or should we do about it? Well, I believe there is only one possible answer: We just continue to build the better product, and we see people voting with their feet.

Michael Kölling, Canterbury, England, 5 June 2005 9:47 BDT

I have been using BlueJ since 2001 ver 1.3 and have been regularly using the newer versions. I have been receiving information from you about the newer versions on my Yahoo mail account. Thank you for writing this outstanding piece of software.

The software is excellent for learning and teaching Object Oriented concepts. Thousands of people have used this software with me and found it very nice and useful. Java becomes a breeze with BlueJ.

Microsoft must do what is right and just.

We are appreciative of the original MSDOS program and its office suite but what it is dong now is not correct. Many people at Microsoft must be aware of BlueJ. It has been around for a fairly long time. If they are not aware, please make them aware that your software has been around for 6 years.

You must write a letter to Microsoft, build a blog, build groups, post this information on news sites and do what ever is necessary. I am not as tech savvy as you are but I feel very strongly about this. Please let me know if I can do some thing.

You must stand up for what is right and just. Each one of us has to decide what is right and stand firm for what is true and just.

I am sure a lot of people will support you.

May all the Gods, people and powers be with you,

Nirupma Kapoor, 4 June 2005 13:00 BDT


Microsoft often did this trick, to show they're offering their clients new features while they just copied them from somewhere; another example is the XML format for their documents.

I don't mind software designers/developers to use ideas of others, rather I find it a good way to improve. That's also why I'm completely against software patents. But I can't stand it when, for example, Microsoft tries to sell its customers something as if it were new without ackowledging someone else's work.

Go on with your good job!

Francesco Russo, 9 June 2005 07:55 BDT


I've commented here:

All the best


Tim Anderson, 14 June 2005 21:44 BDT

heard about this from the following blog:

Sorry to hear about it. I suppose that you could feel honored that they 'aquired' your ideas and design, but that does not account for anything in the real world. They are such hypocrites that it continues to amaze me.

Don't count on 'prior art' as saving anything. MS has been able to push patents through although there has been prior art in other tools and systems often enough, sure the techies may know this but no one else does. They get it and the others then have to fight them.

I would just hate to see it happen, and wish you the best of luck.

Thomas Boshell, 21 June 2005 14:21 BDT

Hi Michael,

I was in your class when you teaching java at monash a few years ago. I learnt java pretty much exclusively using bluej and found it to be an excellent IDE. I had a bit of a laugh when i read this article because i had noticed the same thing. When vs 2005 came out(i program in c# these days) i remember everyone talking about the object test bench and i thought to my self i remember doing that in bluej quite a few years ago. I didn't realise how similar the interface was though, wow. I'd say whoever designed that must have been working pretty closely from what bluej was doing, obviously the interfaces will be similar because they are doing the same thing but they are almost identical.


James Cole, 27 Feb 2007






Discussion Group



For notificaton of new releases, subscribe to: BlueJ-announce

Bug Parade
View or submit bugs
maintained by
Michael Kölling
supported by Oracle logo