In 1996, a company called Marimba was still a start-up Java-based technology company. They created a user interface builder called Bongo.
After a few years Marimba open-sourced the product under the name of "FreeBongo". This open source initiative existed for a few years and then 'died' due to a lack of community activity and hardly any users left.
Still, Bongo could have been a lively and widely-spread tool nowadays, as it had the potential to outperform Swing as a good user interface solution. The rest of this article gives more bacground.
For more background information, check: Bongo in-depth.
Java applications are platform independent: they can run provided you have a Java VM for your platform. In the first couple of years of Java's existence the following was true: if you ran the application on different platforms, the user interface of the Java application would have a different look and feel on each platform. Furthermore, developing Java user interfaces often requires a visual tool to do this, which can tie you into some code generation feature of that tool.
These issues were addressed by Bongo. First I will shortly introduce Bongo. Then we will look at the differentiators of Bongo. Then we will dive into various details of the Bongo runtime, and finally where it currently stands.
This whitepaper gives a quick overview of Bongo, it does not go into very much detail. If that is what you are looking for, refer to the "Bongo from the inside" whitepaper at the JAVA gazette.
Bongo was created by a company called Marimba, a Silicon Valley Java startup in 1996. It was originally aimed to be a tool for creating small applications that could be downloaded over the internet. As this turned out to be impossible using the current Java technology at that time, Marimba started developing a completely different technology called Castanet.
By that time Bongo had already become a very interesting user interface library along with a visual builder. The runtime of Bongo consisted of a few Java packages with something called Widgets. Widgets were the user interface components of Bongo, like buttons and text boxes. The visual builder was also called Bongo and allowed a simple drag-and-drop approach towards building the user interface, using the widgets from the runtime.
Bongo made a big impact initially, and won the "tool of the year" award of "JDJ" in 1996. What made Bongo so special was the following:
For more details on these differentiators, and to find out about other features and differentiators of Bongo, please refer to the "Bongo from the inside" whitepaper at the JAVA gazette.
A year after Bongo won the award, Netscape released IFC (the Internet Foundation Classes). It was almost a copy of Bongo's functionality, but re-designed. This created a division in the Java UI front, and did not do much good (especially since IFC was no longer supported after one year).
Marimba did not see Bongo as core business, which is why after two releases of Bongo (1.0 and 1.1) development by Marimba stopped. Instead, Marimba gave Bongo to the public, making it an open source project called FreeBongo.
After that the FreeBongo project produced one new release of Bongo (1.2), with API enhancements. It still uses an old event model, and does not incorporate the MVC (model-view-controller) paradigm, which are necessary further enhancements. Until those are not added, Bongo will most likely not be able to attract many new developers.
So Bongo had the potential to revolutionize Java user interface development. However, with the SWT which Eclipse uses and Swing around, building a community around FreeBongo would be a big challenge, which nobody is probably going to pick up.