Corporate Applications vs. Browser Rapid Release Cycles

I write this post not as a web developer but instead as a user of corporate applications. The latest and greatest web applications are important and I fully encourage their adoption. Rapid browser releases have accelerated the use of these and for that I am grateful. It does have the side effect of causing heart ache with users of systems which cannot be upgraded as frequently (read: most of them).

The days of “Best viewed in Netscape” are still in my memory but probably not in the memory of young developers, maybe even in their mid-20s. Depending on your browser of choice, a web page may or may not work. Perhaps it would mostly work. Or if you were lucky, it would work perfectly in both IE and Netscape. Web development has improved and for most functions all web browsers will work. Thank you to all responsible parties for the evolution. Unfortunately, I have concerns around web applications which cannot be upgraded as frequently as many web applications can. Corporate web applications.

Yes. Corporate web applications mostly suck. But for millions of people in the world, they're a fact of life. In a day, I may run product configurations in one web application, submit PTO in another, and submit documents for review in a third. These may be bad examples since the latter two very much seem to require IE. But lets say they didn't. Lets also say I had to configure corporate infrastructure components. The examples given are just two random ones, but both are configured largely through a web interface. Both are potentially mission critical to your company and are treated with care. Changes are completed during specific “change windows” or risk reprimand. Mission critical infrastructure components are deliberately not bleeding edge as that lends to a stable environment. Whatever browser support a vendor releases a version with is what may be in place for years.

This mentality flies in the face of the rapid development world of the web. New feature? Push. Tweak to CSS? Push. Okay, maybe not as aggressive as I imply but it sure moves faster than corporate applications and infrastructure which are upgraded every two years. The result is a server or appliance running code which is a year old supporting, say, Firefox 21 and 22 and Internet Explorer 9, 10, and 11. Firefox releases a new major version approximately every six weeks. IE is slower but is releasing browsers at a more rapid pace than before. As I write this, Firefox 28 is running on my computer.

I've focused on just one or two applications. But what if you run an ERP system which is compatible with IE 8? A database administration front end compatible with IE 9 or 10. Appliance front ends compatible with Firefox 21 and 22. Firefox and Chrome auto-update (can be disabled) but then you're left with security vulnerabilities. A rat's nest of browser dependencies quickly appears and the user is stuck navigating it.

Admittedly, most applications do work with future versions. Moving to Firefox 28 when something is compatible with 27 typically doesn't break it. But I have certainly seen compatibility problems with a gap of more than a handful of versions. But a corporation requiring a stable environment cannot be upgrading code every time a new browser is released every three or six weeks. Furthermore, vendors aren't releasing updates when browsers are updated so there is nothing to even upgrade to.

Browser compatibility due to rapid release cycles is hardly the largest problem web developers and corporate IT has to deal with. However, it is a challenge of some size and one which is exacerbated by multiple browsers with frequent releases. I don't really have a solution but I think the answer lies in the middle. On one hand, a release every six weeks feels a bit much to me and generally unnecessary (my opinion). On the other hand, corporate IT is often overly stagnant and rigid (example: resistance to BYOD). Finally, the vendors would need an upgradable front-end patch method which upgrades only the web code and leaves the middle and back end application layers alone.

Web development and compatibility has improved greatly over the past decade. I fear the possibility of icons on corporate applications saying “Best viewed in Firefox 28, 29, and 30 and IE 10”.

Todo List Review

Remember the Milk has been my todo list service for 7 or 8 years. It defined what a todo list application needed to be with the minimum features being:

  • Check and uncheck tasks
  • Tags
  • Recurrence
  • Smart searches are very preferred
  • Quick entry
  • Priority

RTM does all these. That’s not to say each of these features are the optimum for my use but my workflow has developed around these features. A few features I would like:

  • Location based reminders (more on reminder accuracy in another post)
  • Task dependency
  • x-callback-url support

The former should be relatively self-explanatory. A reminder when I have an item due which is specific to a location. The latter is a little more nuanced. Maybe I created a task called “Paint bathroom” but I need paint and other typical supplies. I could create a task which says “Buy paint and paint supplies” which is a dependency for the paint bathroom task. The secondary task only shows up when the primary task is completed. Even better, a task which has multiple parent tasks it depends on.

Anyways, Remember the Milk has been a very trusty friend. It reminds me to clean the house, pay bills, do tasks at work, and even call people on their birthday or other significant anniversaries (positive or otherwise). According to RTM, I have completed 4,019 tasks which averages to a little more than 500 a year or 10 a week. RTM does a fantastic job of keeping me organized but it’s getting a little long in the tooth. Here are the new features added in 2013:

  • Stripe support for Pro Accounts
  • Redesigned app for Android
  • Blackberry 10 support
  • Integration with Evernote reminders
  • Note linking with Evernote

Not a bad year but nothing which interests me. Other applications are coming out or improving. Because of this, I’m suffering from a bit of “Grass is greener” syndrome. Time to evaluate some options.

Wunderlist

Wunderlist is a popular application and placed 2nd with Lifehacker’s 2012 “Five Best To-Do List Managers” article only surpassed by the now purchased by Yahoo, Astrid.

The web interface is relatively attractive. While everything is going to the “flat” look, Wunderlist continues to have wood grain backgrounds. Take that Jony Ive.

Second impression is the lack of quick task entry. “Take pill repeating every night at 9:30” is what I entered and that was the task. None of it was parsed for context. Looks like I’ve been spoiled by Fantastical.

However, Wunderlist has a lot of nice features associated with an individual task. Due dates and reminders are distinct values. The former seems to be when it is active while the latter is when you should be nagged. Subtasks are also supported, although not in the format I envisioned. Subtasks are less of a dependency and more of a way to categorize “projects”. I created a “Take pill” task with a sub task of “Brush teeth”. When I click “Take pill” it completes both the parent and subtask. Not how I would like to see it executed, but would come in handy plenty of times. Notes and file attachments are supported. File attachments aren’t a huge requirement but notes are important to me. Often I’ll have a “Schedule plumber” type task with the plumber’s phone number as the note.

The recurrence feature is there but not overly powerful. I don’t always need the “Repeat every x” pattern. Instead, I prefer to use “Repeat every other Monday” (aka. 14 days) or “Repeat first and third Friday of the month”. Periodically I’ll need to do a recurring task regardless if the task has been completed. To me, the term “repeat” means to create the task x days after completion date.

Wunderlist’s iPhone interface closely matches the web interface with navigation modified for touch interfaces. Web uses a three pane view: List View, Tasks, Task Details. On the web all three can be available at once. iPhone allows swipe gestures between the three panes. Familiarity with one interface will migrate to the other interface.

Smart lists also seem absent. While I don’t often use smart lists for tasks which couldn’t be done with built-in lists, I like the optional flexibility. Tags and location based notifications don’t make an appearance with Wunderlist, at least as far as I can tell.

Wunderlist comes with some good features but falls short everywhere else. It’s a todo list application I’ll keep an eye on but don’t expect it to take the place of RTM anytime soon.

Pros:
* Visually crisp interface
* Free for many features
* Subtasks, notes, and attachments
* Separate values for due dates and reminders
* Seems nice for group tasks. Note, I didn’t test this feature. $50/yr.

Cons:
* Input methods lack natural language processing
* Rigid recurrence rules
* Apparently lacks location based notification
* No tags

Todoist

Todoist’s web site seemed pretty creative until I saw the Any.do front page. Which came first? It doesn’t matter.

I heard about Todoist a few weeks ago when they redesigned their application and fee structure. Their web interface is quite clean and many of my requirements are supported. While Wunderlist uses wood grain backgrounds, Todoist subscribes to the “flat” look. All sans-serif fonts with stark colors if not shades of grey. A bit dull in my book, but it’s what the kids are doing nowadays.

Like any of the applications evaluated, there are keyboard shortcuts. ‘a’ or ‘A’ should add tasks but doesn’t seem to be working for me under Firefox. No big deal. ‘q’ brings up a “quick entry” dialog which allows for easy navigation using the keyboard. Labels can be assigned which is something I need and use every time I create a task in RTM.

While we’re talking about shortcuts, there don’t seem to be any keyboard shortcuts for mouselessly (I created this word) manipulating my task list.

Todoist uses gamification to assist in accomplishing tasks. Creating and completing tasks gives points which correlate to ranks. I’m currently a “Beginner” with 1408 points. I use Todoist only for a few tasks so it’s not hard to climb the rank ladder apparently. Overdue tasks hurt your s core. I hit “Intermediate” at 2500 points. Here we come!

Recurrence is good but not great. My reminder for taking out recycling and garbage should happen every Monday. “every Monday” isn’t syntax Todoist understands. Instead, I had to use “every 7 days starting Monday” to accomplish the same task. Less intuitive. Damn you Fantastical for your superior natural language input.

Todoist’s iPhone app is pretty good. Similar to Wunderlist, the UI matches the web site. A handy feature is the ability to do drag and drop date assignments. Say I have a task for “Clean living room” due on Wednesday. Perhaps I’m out of town on Wednesday but want to do it Tuesday so I arrive to a cleaner house. A simple drag and drop to Tuesday changes the due date. Quite slick. I’m skeptical how this feature works with recurrence though.

Filters is their version of a smart list but only available in Todoist Premium.

Todoist Premium is available for $29 a year and provides:

  • Ability to use all clients
  • Reminders
  • Notes and files attachments
  • Improved labeling
  • Custom filters
  • Unlimited and automatic sync
  • Automatic backup
  • Task search
  • iCal integration

I haven’t purchased Premium so I can’t test all the functions but it does offer quite a bit for the money.

Todoist also has native clients. Really, they’re front-ends for the web interface but support quick entry from any application with a simple keyboard shortcut. Certainly a nice to have.

Todoist seems to be my main competitor to RTM. The interface feels a bit sparse at times but no big deal there. The power seems to be there. Oddly enough, my biggest concern with Todoist is longevity. RTM has been around for a very long time and despite some stagnation, doesn’t appear to be going anywhere (knock on wood). Todoist stands a little bit above many todo applications on features; I just become concerned it will be purchased by Google (a company I’m moving away from where possible).

Pros:
* Filters (aka. smart lists)
* Decent recurrence language

Cons:
* Impossible for me to use all my features in the free version. $30/yr for the full, which I would have no problem paying
* Input methods lack natural language processing
* Only decent recurrence rules
* Lacks location based notification

Remember the Milk

For my purposes, this is the one to beat. I’ve been using RTM since 2007 or 2008 and it has served me very well. RTM is one of those tools which isn’t all that complex at first but can be manipulated to be very powerful. Check out the Tips & Tricks Tuesdays on the blog for an idea of what people use RTM for.

RTM offers tags, lists, location settings, task sharing (which I don’t use), time estimates, and smart lists. It also has text input which isn’t quite natural language input, it does allow for fast input. For example Develop voice SOW tomorrow !2 #work #sow =30m will create a new task with a due date of tomorrow, added to my work list, with the tag of SOW, medium priority, and an estimated 30 minutes assigned.

Keyboard shortcuts are widely available if that’s your fancy too. Sometimes the web browsers are a little quirky but it works well enough I try to avoid the mouse when navigating the web interface.

RTM is $25 a year for their pro account. Pro enables beta features and unlimited syncing for mobile applications. Without pro enabled, only one sync is allowed per day.

Pros:
* The todo service I developed my workflow around, so it does much of what I need.
* Probably not a target for a Google buy-and-kill (no, I’m not at all bitter)

Cons:
* Seemingly a lack of frequent development.
* No live location services.
* No x-callback-url support.
* No subtasks or task dependencies.

Conclusion

For now I will stick with RTM, especially because I am only 3 months into my annual subscription. Todoist will be one I keep an eye on when it comes time for renewal.