Applications in Java
My opinion of Java as a platform for developing GUI applications has generally been that it results in slow, clunky, ugly software that is a pain to install, feels unresponsive and fails to behave in the way I expect a GUI to behave. I based this on my experience with Java applets (ugh) and Mediasurface, a content management system I had to struggle with for two years working for a dot-bomb in London.
I’ve just had my mind opinion reversed by spaces and Java Web Start. Spaces is a PIM of sorts, but stands apart from the rest in that it introduces the concepts of “spaces”, which are abstract entities that group related content together. Content comes in the form of contacts, email, notes, tasks, a calendar and RSS feeds. It’s an interesting concept and the implementation is excellent for an alpha release.
While spaces is interesting, it’s not quite good enough for me to switch to it over Evolution. What it has done is shown me that a Java application can be fast, good looking and every bit as usable as a native application. It uses Java’s look-and-feel functionality to adapt to the system it is running on, which I had seen in action once or twice before but never really took seriously until now. The author claims that write once run anywhere is no longer a myth, and backs it up with a screenshot of spaces running on OS/2.
Installation was handled by Java Web Start, which is a technology I’ve completely ignored before now. It’s very smart—essentially, it integrates with your browser (via a mime-type association) to allow execution and installation of applications with a single click on a link. Spaces weighs in at 2.5MB, so on broadband it took about a minute for it to download. It showed me a certificate, asked for permission to access my hard drive and loaded up the application. Now that it’s installed I can execute it through the Java Web Start icon on my desktop (with an option to add a direct shortcut to the start menu—yup, I’m using Windows XP at the moment). It’s very slick.
I’m sorely tempted to give Java another go.
More recent articles
- Weeknotes: Parquet in Datasette Lite, various talks, more LLM hacking - 4th June 2023
- It's infuriatingly hard to understand how closed models train on their input - 4th June 2023
- ChatGPT should include inline tips - 30th May 2023
- Lawyer cites fake cases invented by ChatGPT, judge is not amused - 27th May 2023
- llm, ttok and strip-tags - CLI tools for working with ChatGPT and other LLMs - 18th May 2023
- Delimiters won't save you from prompt injection - 11th May 2023
- Weeknotes: sqlite-utils 3.31, download-esm, Python in a sandbox - 10th May 2023
- Leaked Google document: "We Have No Moat, And Neither Does OpenAI" - 4th May 2023
- Midjourney 5.1 - 4th May 2023
- Prompt injection explained, with video, slides, and a transcript - 2nd May 2023