Archive

Archive for February, 2010

The Plan to Develop a ToodleDo Desktop Application

February 23rd, 2010 Peter Mangiafico 9 comments

I’ve been thinking about writing a ToodleDo Desktop Application ever since I switched to the online service as my primary means of task management.  Before ToodleDo I had been using OmniFocus and before that I had been using a Sony Clie Palm Pilot (which was great, by the way).  Now I use an iPhone and a Mac, and I just never got to liking OmniFocus.  I am not sure why, but I really tend to think in ‘day centric’ approaches as opposed to ‘project centric’, and the ToodleDo ‘hotlist’ just seemed to work for me.

As all ToodleDo users know, having your data with you in any web browser is great, and the iPhone app is also pretty nice.  The sync mechanism is perfect and fast.  But working with the website day in and day out is a hassle, and once you disconnect from the Internet, you can’t do anything on your computer (the iPhone app continues to operate offline).  The missing link is a ToodleDo desktop application that caches your tasks and then syncs with the server when a connection is available.  The user interface of a native desktop app could also be more user friendly and faster than the web version and various tie-ins to the operating system become possible (like notifications, dock icons, and so on).

So I looked around and was surprised to find no options, or very few options.  I turned up:

  • A now defunct script to synchronize OmniFocus with ToodleDo – worked ok, but was slow and the two apps don’t have the same fields, so some data was ‘lost in translation’.  Plus Omnifocus costs $80! (yes I bought it myself when I started using it, along with the $20 iPhone app…)
  • A Windows only desktop app called TaskAngel that is in beta – seems to work ok, but has a bit of a clunky UI
  • Some talk of a script to sync The Hit List with Toodledo – although I suspect the same ‘lost in translation’ will occur, as would solutions that sync to Outlook, and other desktop apps

I started a survey to see if there was any interest in a ToodleDo only desktop app and was not surprised to find a lot of folks like me.  To date, there have been about 160 responses, with the breakdown between Mac and Windows users almost split equally (Windows has a slight edge).  This presents a small problem: developing for both platforms can be pretty costly unless you use a cross-platform development tool.

For the past couple of months I have been investigating development options, with a high priority given to rapid development on multiple platforms.  The choices I’ve found are:

  1. Write native apps for each platform using .Net/C# for Windows and Cocoa/Objective-C for Mac.  This produces the best final results with totally native applications for each platform, but is the most costly and time consuming option.  I’ve developed extensively for Windows, but would be relatively new to Cocoa. Bonus: tools are free on the Mac, and I’ve already got Visual Studio for Windows.
  2. Use a web-based cross-platform offline tool, such as Adobe Air or Microsoft Silverlight.  This produces a desktop application that runs on both platforms.  I’ve used Air applications before and the UI just never looks right to me on *either* platform.  It reminds me of desktop Java applications from the early 2000s – all the UI elements just seem out of place and wrong.  Bonus: still thinking of one.
  3. Use a cross-platform development toolkit, such as WXWidgets or QT, along with a nice language such as Ruby.  This produces native desktop applications with the right widgets, but it can be time consuming to lay out the UI with a visual editor, plus you don’t get an IDE with debugger.  Bonus: Ruby – great language!
  4. Use RealBasic (now Real Studio) – a cross platform visual basic like language with a nice visual UI editor.  This is similar to #3, except laying out the UI would be faster.  Granted, I have to use the RealBasic language instead of Ruby, but I’ve used both before.  Bonus: quick compile to Windows and Mac and a vibrant community.

In the end, I am opting for Real Studio, even though I didn’t own the development tools and had to buy them, and they are proprietary (unlike some of the options in #3, which are open source).

Anyway, the first step is done – I’ve selected the tools, and even done some very basic prototyping.  Now, I’ve just to find the time to code in between my other projects: working on the Encyclopedia of Life project, with NASA on education and outreach, and fatherhood.

Stay tuned for future developments as I begin working in earnest on V1 of the ToodleDo Desktop Application.

Categories: Technology Tags: