VGtdApi - .Net library for Vitalist
Some months ago, I wrote that I was going to give up Vitalist and write a GTD application of my own. While that application is still being worked on (but moved to .Net, instead of PHP), I’ve become extremely attached to my Vitalist account. Yes, Vitalist is a little more expensive than other sites, but I haven’t found a UI half as good as Vitalist. It’s simple, it’s fast, and it closely matches the GTD methods. It’s great, and it’s worth the $5 a month I spend.
I thought it would be nice to be able to pull my data into other applications. So, I wrote up a quick and dirty .Net library for interfacing with the Vitalist API. If you pass it your Vitalist API key, it will pull down your data and fill collections of easy-to-use objects for your programming pleasure. Below are some quick examples of how it can be used.
Here is loading data:
VGtdApi.MyVitalist myVitalist = new VGtdApi.MyVitalist();
myVitalist.ApiKey = “[YOUR VITALIST API]”;
myVitalist.LoadData();
Here is adding an item:
VGtdApi.Item item = new VGtdApi.Item();
item.Body = “testapi”;
item.DueDate = System.DateTime.Now;
item.Priority = VGtdApi.Item.PriorityOption.High;
item.ListId = VGtdApi.Item.ListIdOption.Waiting;
myVitalist.Items.Add(item);
myVitalist.Save();
And here is making a change to an existing item:
myVitalist.Items[0].Body = “testapi 1234″;
myVitalist.Save();
I think this API could be a great head-start to anybody who wants to write a .Net application that uses Vitalist data.
HOWEVER
There’s a basic fact about this API that there is no getting around: An API for a service can only be as good as the service itself. And frankly, there are a lot of things that can’t be done with the Vitalist API. Here are my biggest problems right now:
1.) When you get your data, you have to download everything. Now, there is a filter that lets you break things apart by major sections (Inbox, Waiting, etc.), but that’s it. If you want to get what’s due today, you have to download every item in your account. Even completed items! I don’t think this is a very efficient way of pulling data, especially for people who have lots of Vitalist data. As you use the system more and more, each download is just going to get bigger and slower. I don’t know of another way around it, though.
2.) You can only see projects, contacts, and contexts that are attached to items. The XML format of the download is basically just a list of items, so if something is not attached to an item it won’t be included in the export.
3.) You are very limited in what you can add. I documented what limitations I found in the project. My memory may be off, but I think you can just create the name, due date, priority, context(s), and the type of item. That’s all. Projects and contacts can’t be touched.
4.) You are very limited in what you can update. Again, I documented what limitations I found in the project. The biggest limitation is the fact that the API won’t let you set a complete date. This means that you can see your items, but if you want to mark them as complete you have to log in to the website. That was a huge disappointment to find after a few hours of development.
According to the Vitalist API page, the Vitalist API is in its first version and is subject to change. If it does, the VGtdApi could stop working. And if Vitalist updates some of the missing features in their API, this API could suddenly work better than it does today without any code changes! I hope this project might be a small example of what Vitalist could offer.
You can download the VGtdApi project below. Anybody is free to use it, but I put an Attribution Assurance license on it. Have fun!
Tags: [vgtdapi, vitalist]Comments
Goodbye, Vitalist
For the past few weeks I’ve been telling everybody I know about the benefits of GTD and my favorite GTD application, Vitalist. I’ve seen a big improvement in my productivity and (most importantly) my stress levels. Now that I’ve organized much of my personal and professional life into todo’s in Vitalist projects, the “Ok, what am I forgetting to do right now” question doesn’t enter my mind. I owe thanks to David Allen for creating a method like GTD that makes it so easy to organize my life, and I owe a HUGE thanks to the people at Vitalist for creating what I think is the best GTD software application. To be honest, most of what I know is what I’ve learned from using Vitalist.
So, it is with sadness that I have to stop my Vitalist crusade. Today, it was announced on the Vitalist blog that the free service they offer would be downgraded. You can still use it for free, but you will be limited to 5 projects and 5 contexts. For $5 a month you can get that limit moved up to 25 projects contexts, and for $10 a month you can have unlimited projects.
Personally, with the way I use Vitalist I would have to get the $10 service. The projects are everything for me. I use projects to distinguish different goals I have. For example, I have a “Maintain my home” project with a “Handle finances” sub-project and a “Clean the house” sub-project. I have an overall “Work” project and many sub-projects to keep different clients separate. And I have a “New Home” project with sub-projects like “Purchase home,” “Furnish new home,” “Move in to house,” and “Close old lease.” I then assign all of the todos in my life to one of those projects. It’s so simple, but it has made living my life so much easier. And this is just the project aspect of GTD! I won’t get into contexts and how they allow me to organize everything even further.
If I have to start thinking about how many contexts and projects I have remaining in my account, I’ll lose some of the mind-clearing benefits the GTD is supposed to give me. I simply don’t want to waste brain-cycles thinking about such things.
Don’t get me wrong, I think the Vitalist software is great and they are perfectly within their rights to charge people for their services. However, I’d prefer to purchase a product like Vitalist instead of pay for it as a service. Ten dollars is not much a month, but over a year or two it adds up. Maybe I’m cheap, but I’d prefer to pay a one-time amount and not have to think about small drip coming out of my bank account. Once I find a better GTD service I’ll pack up my todo list and move.
But how am I going to find an online application that works as great as Vitalist when none exist? Well, I’ve decided that I’m going to create one. I know AJAX, DHTML effects, and Javascript, and I build websites for a living. Normally it is hard for me to find the motivation to give up my free time to code when I already code most of my day, but seeing how great GTD and Vitalist are is enough motivation to get me to do it. My program won’t have the services I don’t use, such as the RSS feed, files, etc., but it will have the basic services with the same Google-type of layout. And it will have some features that I want but don’t get with Vitalist, like sharing with other users.
Until I get my own application to replace Vitalist finished, I’ll probably pay the $10. That will give me even more motivation!
This won’t be something that competes with Vitalist, and I’ll probably just keep it to myself and only offer it to friends and family. Or maybe not, I don’t know. I tried writing a software-developer’s blog with a project I tried earlier this year but I lost interest in the project. I already know that this one project will be different. We’ll see.
Tags: [gtd, vitalist]