Java, Macbook, Software, Swing

Outliners

I never really used an outliner before I got my MacBook, the Mac had a bundled copy of OmniOutliner. OmniOutliner is amazing and really blew me away. However as I’m not completely a Mac person I was looking for something that would work on more platforms. Being a Java type of guy I had a quick search of Sourceforge and Freshmeat and came up with JOE. Java Outline Editor, is a pretty nifty program that unfortunately does not seem to be being developed much at the moment. It is also oddly featured, it could be simple enough to be a single jar style application but instead the program has four or five jar dependencies for very marginal features. It’s Find/Replace and File Opener dialogs are customised and very highly featured. However the basic outline functionality is very simple.

Since it’s open source I’ve got it into Eclipse and started to hack it around abit. So far I’ve only been able to remove the XMLRPC and XP jar (as well as a couple of classes that have been replaced by Generics). The underlying model is not what I was expecting, nor is the actual implementation of the line rendering. I was also a bit surprised that the GUI elements are all built up from a XML file which was quite interesting. I was also a bit disappointed to find that JOE seems to smear preference directories in several places rather than just gathering them all under the User Home.

What I really want is a simple outliner that will work cross-platform and ideally will only be in one JAR. To that end I think the way ahead is to cut down JOE while also building from scratch a new small outliner in Java. That way, what I want will be a kind of meet-in-the-middle job.

The new outliner will be a way of understanding the Swing Event model (which I’m very hazy on) and a way to try and understand how the Application Model and the Swing components interact in a vaguely MVC way.

While looking at Outliners I also came across Jreepad which seems to be an excellent Java based replacement for my much loved JotNotes.

Standard
Software, Web Applications

Highrise

Highrise is the new product from 37signals. I use Tada List and that’s pretty good; Backpack is also good but a bit clunky to use and doesn’t generally wow people.

Highrise though is in a whole new league, on the face of it it is just a nifty web-based PIM that allows you to organise contact information. Useful and a slick as all 37Signals stuff is. However recently I started using it to keep track of the tasks and calls that I have to make as part of moving house. Suddenly the application isn’t just nifty it’s indispensable! Each note is properly dated and related to the contact information. It instantly answers the questions like: when did I call the broker about the mortgage? who do I need to follow up about income guarantees?

Another genius product!

Standard
Software

OggdropXPd

Thank you OggdropXPd for making something that shouldn’t be complicated (making a copy of FLAC originals to OGG copies for my player) something that really isn’t complicated. Your minimal program was a joy to use and just did exactly what I wanted.

Standard
Macbook, Software

NeoOffice Beta Patch 8

So I downloaded Patch 8 tonight and since I was critical in my last post on it I thought I would say that in fairness Patch 8 uses a lot of resources but it does actually put them to use. This revision felt much faster and more responsive. In fact I was able to use it happily for a good two hours without any issues apart from some funny focus business after a autosave and even that wasn’t really that annoying.

An Aqua OpenOffice is a great thing but so far this has been a bit of a back and forth experience, more so than I would expect for a Beta. This sometimes feels like more a “Nightly Build” affair.

Standard
Java, Macbook, Software

NeoOffice Beta Patch 6

I really enjoyed using NeoOffice Beta 3. It was fast and had the full OpenOffice functionality I know and love but in a nice OSX compatible wrapper. However after downloading and installing Patch 6 it seems that the application is current three steps back on the development cycle. The application is a horrible memory hog and seems to want to grab every resource on the machine it can. Despite this it is also extremely unresponsive to actions I would consider to be trivial such as cut and paste.

Of course I could get more memory for my MacBook: I deliberately underspec’d the machine due to Apple’s high memory prices but still 1Gb of memory for a word processor is excessive. It is easily the most demanding application I’m running at the moment.

Standard
Games, Software

DefCon

Introversion‘s new game was $10 (plus tax etc.) on Steam so I pre-ordered and waited for my files to be decrypted. First time I try and play the game, the authorisation fucks up and I’m stuck in an irritating demo mode. After some grinding of teeth and futile emails to Steam Support I read on Introversion’s forums that deleting a file called authkey allows Steam to take a second stab at authenticating the game.

Sure enough deleting the file does authorise me and I spend a pleasant half hour going through the tutorial. First impressions are good, the sound is completely fantastic, thoroughly atmospheric and I am going to have to find out who composed it. Game is retro graphics again but very atmospheric. The menu screen is a work of total genius.

I’m looking forward to longer but “null points” to either Steam or Introversion for their customer support. You have an issue that can be solved simply so why don’t you stick a notice on your forums and pre-empt some pissed off customers.

Standard
Software

US PDF – or the curse of the Letter

PDF is a fantastic format, its portable, readable, widely adopted and it is way too tightly linked to physical documents. Most American PDFs are produced on a Letter sized template, a paper-sized used exclusively in the US and which is both expensive and find to hard in the UK. Despite some good efforts by the Adobe people to try and get a Letter document to stretch to other formats the truth is that printing out a Letter document onto a A4 results in a less than satisfactory print that just looks weird. Trying to print a document to something like A5 for quick reading or to get a booklet version of the document is even worse.

For any e-publisher who wants to sell to customers outside the US please provide an A4 version of your product!

And PDF software providers, please stop putting so much effort into locking a PDF into a read-only format and start looking at a rendering that is independent of the paper size.

Standard
Java, Software

Eclipse Type Handling

One of the nicest features of Eclipse is it’s tools for searching through a large complex project. Even if you don’t use Eclipse as your main IDE it is worth loading your code into Eclipse so that when you are asked the inevitable questions about what a particular piece of code does (or more often and harder to answer still, which piece of code does what) you can dive right in and let Eclipse guide to the answer.

Eclipse 3.2 turbo charges the existing functionality as far as I am concerned. It already had a powerful regular expression matching but this improved now with a split list of likely matches coming before a broader list. It is also incredibly fast, even for a huge legacy application. As far as I’m concerned Eclipse is the number one Java source browser around at the moment.

Standard
Software, Work

Good enough never is

In my recent job I have come across an attitude of “good enough” more than once from various people. It’s never one I have subscribed to or agree with. I have a healthy agreement with the idea that perfection is the enemy of action but that is a different argument. Better something than nothing but once you have something more than nothing I don’t see the point in giving up and doing nothing more.

In fact I don’t understand the mentality that leads to the idea of good enough. There is a touch of the fatalistic about it, that we shouldn’t try and expect more than what has been achieved so far. Then again this could also be a variation of Panglossian pessimism: in this imperfect world we have the best imperfect solution we can hope for.

Personally I’m rarely satisfied with my work and the urge to revisit it and improve it is one of the attractions of permanent employment rather than contract work. Sometimes the revisitation is to fix issues of time and resource constraint during the initial work. Other times it is to revisit old work in the light of new experiences, to transfer the lessons of work done well to earlier projects. Sometimes it is just pure dissatisfaction, the knowledge that something could be better than it is. I always like to build in huge margins of performance and capacity (in fact some of my recent software has perhaps a 200 to 300% margin) which some people might criticise as being over-engineered however the important thing is that if you had a choice of a margin of 30% or 100% for the same budget, which would you choose? Ambition is what drives the search for that additional 70% and people who believe in “good enough” don’t have the ambition to find that little bit extra from their work.

My views are formed by my experience with SMS billing where no-one really foresaw or predicted the phenomenal growth in texting and text services. It took us all by surprise and if the software had a margin of 100% excess then it could be used in a quarter with exponentially more needed for the next quarter.

I think it is worth approaching every project as if it has the potential for being a huge success. I don’t think every project should be budgeted as if it might be a huge success because 90% of ideas never pan out quite the way anyone hopes (WAP is a good example of this). If you don’t think a project might result in a big success then there is a question about why you are doing it in the first place. If you, the implementer, don’t believe in a project then why the hell would else believe in it?

Even if you design for success you should always be prepared to return to a project and make improvements. My favourite example are web-based applications. Every time I come to a web application project it seems that the technology involved has evolved and all manner of new solutions to previously difficult problems are now available. What took weeks of effort in the past is now part of some standard library or tool, the weeks of effort can now be spent on getting way beyond the basics of the app and providing some reason why your application is going to stand out from the rest. I always enjoy ripping out some half-hearted custom solution to a problem that was written in-house with a standard piece of technology. For me change is progress and progress requires change.

Ultimately in business software you have to provide your own impetus for change and innovation or your competitors will. Someone will come and eat your lunch if you give them the chance. Perhaps that my problem with “good enough” is that it smacks of the fatal complacency that leads to losing contracts, losing jobs to cheaper labour countries and ultimately losing the lead in innovation and ideas.

Standard
Macbook, Software, Web Applications

MacBook Word Processing Part Two

Well now, hold the line, since writing my last post Writely finally opened for registrations again, NeoOffice posted Beta 2 and I also decided to give Mariner Write a go.

So then, first impressions? Well first of all NeoOffice Beta 2 is a big jump up. Performance is much better and the whole thing looks a lot slicker while retaining the great OpenOffice functionality I know and love. This is such an improvement that I am not sure I need to use something lighter like AbiWord.

Writely is something I have been waiting a long time to use as I only heard of it after the Google buyout when they closed registrations. So does it live up to such long held expectations? Well the short answer is yes in that I am not disappointed by it in the least at the moment. Naturally as a web-based word processor it has its strengths and limitations. I certainly like being able to snatch a moment at work to write something up and not have the hassle of working with a USB drive or anything similar. I haven’t tried the ODT export yet but if it works as advertised then the integration with OpenOffice is going to be a big win for me as it will allow me to mix the applications while keeping the data consistent.

So far Write just isn’t getting a look in although I did download the Mariner MacJournal software at the same time and that looks quite good.

Standard