What is OmniFocus?

Part of building TodoMove (now not live) means I need to integrate as many task management systems as I can; unfortunately OmniFocus doesn't provide an API so this has been troublesome, hence this blog post.