VisualAge for Java 1.0 – Let the Future Begin (1997)
tug.ca
tug.ca
I was lucky enough to play as small part as a college-age intern working at an Object Technology International [2] Lab in Sydney.
I soaked in the pair programming, watching the screen flash by. I read every book they gave me (e.g. The Toyota Way, this was before XP / Agile books existed). I was amazed they actually paid me to work on these problems. I was so proud to make contributions and still remember fondly the hand-drawn diagram of the architecture passed down like a relic through the team. I am still inspired by their passion and commitment to delivery.
I definitely would not be the person I am today without the career defining experience working for Adrian Cho [3] and Dave Thomas [4] during that time. Periods like that are rare in a career - grab them if you can!
1 - https://paulhammant.com/2017/09/01/smalltalk-envy/ 2 - https://en.wikipedia.org/wiki/Object_Technology_Internationa... 3 - https://www.adriancho.com/ 4 - https://www.davethomas.net/
I worked with Erich before Visual Age when he developed the Presentation Framework. He came up with a process identical to XP. When XP came out I realized that Erich and Kent Beck were friends.
Erich is so prolific that he doesn't remember everything he invented. He is also generous.
IBM buying and redirecting OTI to Java yielding eventually Eclipse at the same time boosted Java and pulled the rug from under Smalltalk.
IBM starting to hire Smalltalk programmers from universities and redirecting them to Java.
IBM providing networking stack parts to Java to interoperate in the banking industry.
It all happened over a relatively short period of time. Java was not just cheaper but thanks to IBM the tooling and networking - still way behind the combo of Smalltalk/Envy - was starting to be good enough.
Apparently something was wrong between ST usage at IBM and devs there.
Regardless of the other merits of modern ecosystems, in terms of purely visual layout of GUIs (WYSIWYG with drag & drop mouse interface IOW) I think:
- '90s/'00s Java IDEs > Modern Java IDEs
- Dreamweaver/Frontpage > Fast Refresh Cycle
- Visual Basic > Modern .NET
- Interface Builder > SwiftUI
It isn't flashy, but it is still there. Did a project on it in 2016. Not that long ago.
All of the popular 90s RAD design tools dealt with resizing as an afterthought, which made them obsolete in many cases and probably contributed negatively to the reputation of the whole class of software. Today's WYSISYG tools (I'd say as early as mid 2000s or even before) have certainly rectified these early mistakes, but I guess fashion moved on by then.
And there are such tools for Web development as well, however they are oriented for the target market that actually pays for such kind of tooling, for example https://www.outsystems.com/
As for Motif, there were third-party GUI builders, but Motif itself did not have one as standard that I know of (I developed on Motif on Solaris when working for Sun). The layout model for Motif is so easy that you don't need a GUI builder anyway. I've used may UI frameworks since then, and Motif is still the easiest one to use in my opinion.
For Motif I am aware of the one provided with Motif++, now gone from the Web, and the one provided by ICS (https://motif.ics.com/products).
I guess Solaris might have lacked one indeed, given NeXT's commercial.
https://www.youtube.com/watch?v=UGhfB-NICzg
Sun was never good at desktop software anyway, killed NeWS, Swing while powerful requires graphics programming knowledge to make cool UIs and then there was F3 (JavaFX 1.0), and the Java Desktop Framework Integration project went nowhere.
The author had an idea that while we laugh today, had a glimmer of truth - it was open source, and not Java itself, that ensured that "tycoons" didn't a have a stranglehold on the industry.
They certainly are listening to their customers who prefer “open” in some contexts. So in some ways they’re better behaved. And most excitement and activity in server side ecosystems tends to be open source.
But in terms of economic might, ie. revenue and equity, open source has been a weapon wielded by the tycoons to add to their might.
Linux is successful but the dominant vendor is owned by IBM. Canonical some day may also get scooped up.
Intel is finally feeling the pressure of custom chips and portable languages (it’s market cap is down to $230b), but Microsoft is nearing 2 trillion in market cap, Apple is 2.3 trillion, and Google/Amazon aren’t far behind either.
The result is that we arguably have more open and higher quality infrastructure than ever before. But the ultimate tycoons remain the same - with Google + Amazon being the new entrants.
The web, not open source, was a potential escape, but after a brief window were seeing that fall back as the walked garden app world takes over.
I mentioned in my earlier comment a "hand-drawn diagram of the architecture" - it was in fact a picture of the exact layout of this database including all the pointer blocks etc between the classes, methods, versions, etc.
One project I did was to convert that file format & pointer model to support larger database sizes of 16GB (IIRC). Fun exploring and updating that code. For testing I built a massive fake DB with random classes, methods, etc. The crazy thing was when that fake repo zipped down to almost nothing because it had so much repetition in the names!
VA for Java hid the idea of source files and gave a good illusion of a dynamic and “live” Smalltalk-like environment. Later moving to eclipse was the end of that illusion and any Smalltalk feel.
Added: we also had no problem with version control in Smalltalk or Java, both tool sets provided great team tools
Now I look at VS Code (Disclaimer: I haven't looked at the source code of Electron), and there doesn't seem to be much innovation visually. Most IDEs seem to follow the layout of websites - a left sidebar, a main section, and an optional right sidebar, with a footer.
Note: If someone here builds a different UI for IDEs, I will be an enthusiastic beta tester.
Behind the user interfaces, a lot of things have changed for the better. Integration with other tools in the DevOps pipeline, ability to test quickly, autocomplete tools that understand frameworks, technologies and even contexts - all that has happened behind the scenes.
The interface you're seeing is still alive and well in most Smalltalk environments. If you're on Windows, try Dolphin Smalltalk, which is now available for free.
Seems others didn't quite appreciate this "visual programming" as much and the idea died out.
https://twitter.com/alblue/status/1266322655604588544?s=20
I interviewed Mike Milinkovich about the VAJ->Eclipse transition in 2013:
https://www.infoq.com/interviews/Milinkovich-past-present-fu...
I think 32MB would have been about what a typical desktop would have come with in 1997, so yeah, it was a hog. I remember my manager buying extra memory for us and having us install it ourselves because he didn't want to wait for IT.
I have 32 GB now and IntelliJ still struggles to keep up...