Skip to content

flajann2/crystalball

Repository files navigation

Crystalball, Patented Java UI, 1999

Patent

http://www.google.com/patents/US6628304

Modules

I am reworking this code to work with Java Modules, under Java 11. So this branch will remain seperate from the main branch, which will remain a “historical artifact”.

To Run (to be updated)

  • Fork this code
  • cd to the root of this project.
  • Compile it with ant bubble
  • Run it with

    ./demo_bubble

  • A Swing window should appear, with the heirarchial Bubble interface and a “bird’s eye” view in the lower left corner.
  • Click any bubble – even in the bird’s eye view – and see what happens.

Where do we go from here?

This branch will remain my “plaything”, where I might do some enhancements on this code as I see fit. No promises. One thing I might do is re-write this in Kotlin!

History

This code is largely unaltered from when I wrote this back in 1999. I sold the patent for this code to Cisco Systems, which was issued in 2003. The bird’s eye view was Bainbridge’s only contribution. David is a great guy and Software Engineer working at Cisco at the time.

Even a small contribution means that contributor must be listed on the patent by patent law. Quite literally, as I was demoing this to him in my cubicle (remember those?), he suggested it and I spent 30 minutes or so implementing it.

Around 2007 or so, Cisco used my patent in a counter-suit against another large network company who was being used on another patent infringement. I was paid a large amount of money to be the expert consultant on my patent, and thus “enjoyed” a brief foray into the world of patent law and overly-paid lawyers in high-rise buildings, such as the one at 60 State Stret in Boston.

The lawyers had little interest in the math and algorithms this code embraces. Instead, they paid far more attention to THE COMMENTS in my code, and made big huey over specific wordings on things completely trivial. Ugh. Lawyers.

I “forgot” about this little invention because it is no longer impressive in today’s mobile app and HTML5/D3/Qt world. But I didn’t want it to lapse into complete obscurity, so I “dug it up” and put it here as open source.

Legal Whatever

Feel free, if you like, to use this code as you see fit. Download it, multilate it, print it up on spocket-fed paper and use it as toilet paper. I don’t care.

If you are a small guy like I am, Cisco is not likely to notice. If you are a large firm swimming in the same shark-infested warters as Cisco, you might want to be careful here, as Cisco’s lawyers and hired guns have the awesome power to become your living nightmare.

It is my impression that after 15 years patents expire and the IP becomes “public domain”, but I am NOT a lawyer, nor do I appreciate the even more complicated issues and rammafications of International patent law.

Personal views on Software Patents and other Ramblings

This might come as a surprise to you, but I am actually against software patents. So why do I have this one, you say? Simple. Money. And I was happy to make the many thousands selling this to Cisco and being an “expert witness” for the same. Also, as an Autodidact, this represents a major “accomplishment” and “milestone” in my past, especially since I have no “degree”. No one cares about degrees all that much in my field, anyway. What they care about is if you can DO THE JOB. Funny, that.

From what I’ve been seeing, the “big sharks” misuse patents anyway, using them as “weapons” to beat up on each other. Lawyers get fat, the winning corps make more money, and little guys get crushed if they get caught up in the fracas. I am all for innovation and the FREEDOM to use it, regardless of any “prior art” Scheiße. And now that I have experienced and been a part of the patent wars, I am even more so.

Fortunately, the chances little guys will be impacted is minimal. Today’s world of GUIs and UI/UX has gone to a entirely new level that was only a dream 16 years ago. If I were doing this interface today, I’d do it differently, and for mobiles and the web using HTML5 and Javascript with one or more frameworks. The animation would be much more fluid and not as rigid as this 20-year-old relic is.

Releases

No releases published

Packages

No packages published

Languages