I’m a big fan of Kinkless GTD, or better yet, I was a big fan. Recently I got my invitation for the alpha program for the newest kid on the GTD tools block, OmniFocus, and now I don’t look back anymore.

After the last release of Kinkless, about a year ago, things got awfully quiet. I used Kinkless, because it integrated nicely with one of my favourite tools on the Mac, OmniOutliner, and because it was the best GTD implementation back then.

I’ve been using the OmniFocus Alpha version for almost four weeks now, and I’m quite happy I didn’t switch to another tool beforehand. Basically it’s the perfect combination of OmniOutliner’s advantages and the slickness of Kinkless, but without the explicit synchronisation. Kinkless consists of a couple of AppleScripts and basically needs to be run every now and then to fully work. That can get rather annoying, and when looking back, it took some of the easiness out of GTD.

OmniFocus to the rescue. Now everything happens when you tick off a task, create a new one, change dates, and so on.

The workflow is pretty simple. You have several ways to get new things into the system, into your inbox. There’s a QuickSilver action, a separate dialog to enter new tasks and the application itself. Creating, editing, navigating and solving tasks is done in the familiar style of OmniOutliner. It’s inheritance is recognisable in several places. And that’s the goodie about OmniFocus. If you already use OmniOutliner, you’ll find your way around immediately.

It’s a neat and simple tool, and that’s what I like about it, especially compared to feature-bloated tools like iGTD. The latter is an amazing piece of work, but I’m missing the focus on just the tasks which OmniFocus is built on. When it comes out, I’ll be one of their first customers for sure.

It’s finally easy to complete projects without them lurking around any longer, task disappear as soon as you completed them, you can filter your tasks, have folders, sub-projects, parallel-running tasks, and much more. I haven’t tried every aspect of OmniFocus, but the first impression is a very good and promising one.

Though it’s still labelled as an alpha, it works pretty well. It hasn’t crashed on me yet. Even if it would have, the crashes would be fixed pretty fast, I reckon, considering the number of builds that are available. The team cranks out four to five new builds every day, fixing bugs and adding new features. Of course, there are some issues on my personal list, but I’ll rather drop them an email than posting them here.

If you don't know what OmniFocus is about, Ethan Schoonover created an introduction movie about it.

Tags: productivity

Every day a load of new start-ups appears on the scene. Every day is full of announcements of new Web-2.0-like tools, platforms, and whatnot. Every day another start-up gets new funding, sometimes in ridiculous amounts. TechCrunch is full of news like that. And every day I ask myself: Haven’t I seen all this before? Before the new millennium millions, if not billions of investor and stock money went down the drain with the crash of the first wave of web start-ups. Venture capitalists invested without questioning business plans, if such a thing even existed. Personally I crashed rather soft. I was still a student, and I found a new job without any problems. I switched from new economy to old economy for a while.

But what about this new wave? What’s so different about it that big buckets of money are once again poured into sometimes questionable ideas which may or may not bring any money? What distinguishes today’s start-ups from the ones back then is the user. Without users, the content and therefore value they create, most of these start-ups aren’t worth a penny. But are some of them really worth pouring millions of dollars in them without an obvious business concept? Think about YouTube, Last.fm or the blatant German Facebook-copy StudiVZ. All of them have only one value: their users. But what can you do with that? Throw ads at them might be the obvious answer, but is that really something in the long run? A community is a brittle construct. Change something they're used to, even if it is going to help you get more money out of it, and they'll run in flocks.

I’m not sure in which direction this is going to go, but I have a weird gut feeling about the recent fundings. New start-ups also tend to look for people like they used to back then, by offering shares and working on something “new”. Even cheap labour isn’t easy to find these days, and yet a lot of start-ups pour their money into cheap and inexperienced development teams, near-shore or off-shore, only to realize later on that they screwed up and lost a big load of money. Not only does this hurt the developer market, the danger of the bursting Web 2.0 bubble will cause a lot more pain. Once again armies of unemployed web developers may find themselves walking down the street with “Will code AJAX for food” signs. I'm not very excited about that thought. Nowadays I'd crash a lot harder than back in the day.

Is that what we want? I’m thinking no. All that funding is ridiculous. I wholeheartedly agree that new ideas should have the opportunity to get out in the open, but why not start with a smaller amount? Some of the newer start-ups seem to have missed the bursting of the first web bubble which is not a bad thing, but there's always something to learn from the past. I love bringing ideas to life, but if they exist only for the purpose of getting you a nice sum of money, where's the fun in that? Hopefully they won’t witness the second bubble going up in smoke. I know I'd rather not see it happen again.

Tags: web

For a current gig I had to set up a Java web project from scratch. The set-up isn't that unusual: * Spring 1.2 (yes, it's rather old, but the project uses a portlet framework which used to work with Spring 1.1, and I don't want to make the big jump just yet, the upgrade to Spring 1.2 went just fine though) * Hibernate 3.2 (hence the upgrade to Spring 1.2) * Tomcat 4.1.38 (again, the framework, and it's a very stable version)

What amazed me was the time I needed to set up the project and to get the first code running, including access to the database, mapping a simple class, deployment, deployment descriptors, the whole bunch. Although I used the skeleton of an existing project in a tidied-up version it took me a day until I had all the pieces together, including a 27 MB download just to get the MySQL JDBC connector (whose JAR file is smaller than 500 kB by the way). Granted, it's been a while since I set up my last project, but half a year isn't that long, so I'm not a total newbie at these things.

Here are the basic steps: * Set up a project * Collect the libraries - Downloads from several locations * Create a build file - I had one already from the existing project which just needed some cleaning up. It's an Ant file. "You could just use Maven" i hear you say. Yes I could, but therefore I'd have to get to know Maven which would cost even more time. * Create a Spring configuration - Again I could base this on the existing one, Hibernate needed some polishing * Write mapping files * Create deployment descriptors * Start writing code * Create the database * Deploy the project * Run Tomcat

Now, compare that to this: * gem install rails --include-depdencies * rails my_app * Create the database * Edit database.yml * Write a migration * Write code * Run script/server - No deployment descriptors needed

I didn't have to leave the command line once to do all these things. And if I need new libraries, gem install or script/plugin install are my friends.

It took me almost a day to get everything up and running in the Java project. It usually takes me five minutes to crank out the first features with Rails.

I'm left wondering why things ever got so complicated in the Java world. Things get even worse and more complicated if I'd want to set up a test environment. Are these things so much part of Java web development now that nobody's bothered by complicated set-ups or do people have their own project skeletons which include everything needed similar to the skeleton that Rails generates?

Tags: java, rails