Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Google Tasks API Released (code.google.com)
121 points by nikosdimopoulos on May 11, 2011 | hide | past | favorite | 39 comments


Why are so many people using Google tasks ? Give alternatives like Workflowy a chance? Evernote works much better than GTasks even if it's not designed for it.


Hey, let's not downvote tejaswiy, it's a fair question.

I can expertly tell you that people use Google Tasks because of very low friction to entry. If you are using Gmail, starting to use Google Tasks is a one-click process.

Friction is paramount to adoption of, well, pretty much anything!


Google tasks is integrated into Google apps gmail. That's why I use it. Marking an email as "todo" is great, and sufficient for my needs


It is simple and minimalist. Keyboard shortcut in Gmail to create a task out of an email. Tasks with dates show up on Google Calendar.


Didn't know about the Calendar. That's pretty cool.


> Evernote works much better than GTasks even if it's not designed for it.

What? Can you indent a task to anther in Evernote and when checking the parent task, check all of child tasks?


Bummer. I've been enjoying my competition-free life for the last 18 month since I've launched my iPhone app GeeTasks, but this was not meant to last, it seems.


Wow, you made GeeTasks? Thanks for the killer app man, better than all the rest in the AppStore by far imo. I love the offline feature and the quick and easy sync.

My only gripe with it is the icon/logo of the app. A little garishly and too-brightly colored. Amazing app otherwise.


Yes I did. The sync took a lot of work, and I am glad that people appreciate it (many do). :) The icon needs to change, I agree. I am planning to run a 99-design contest and then have users (such as you) vote on the best option.

The poll will be announced within the app itself, so just keep installing the updates and you will not miss it.


Interesting you mentioned that the sync took a lot of work. Would love to know how you did it and some pointers. A writeup or a blog post perhaps?


The general problem of sync is just too large for a comment, a blog post, or even a research paper. One who wants to pursue this route should buckle up and start here: http://www.ysaito.com/survey.pdf

If you tell me your specific problem I might be able to help. Shoot me an email via support page on geetasks.com

If your problem is specific to Google Tasks API I will not help you. Sorry, business is business. :)


Great response, and I think you're right.

But I wonder... lets say you show how to solve some problems with Google Tasks, you get a higher page rank, and people with a problem with Google Tasks arrive at your page... where you incidentally note problems that your solution solves better than Google Tasks (which will be true, since they are mass market and general, and you can be happy with a smaller, more specific niche).

When your competitor has made larger market share than you, this can work. It can be help that is applicable to every product, even advising where your competitor is a better solution.

But I guess this mightn't work for a developer API, if they want the platform with the largest install base.

disclaimer: I'm not seriously suggesting this - just thinking aloud.


That kind of post can only attract a small number of developers, and developers are not my target users. The only thing I can get from it is SEO juice, but I have better ways of getting that.


Thanks for the link to the paper, turns out to be both an interesting and useful read.


Just wanted to take a minute to thank you for that app. It's been tremendously useful for me for a year or so now.


You're welcome!

I'm delighted to find (so far) two happy users on hacker news and it brightens up my day. It rains so heavily today in Seattle that I need all the brightening I can get. :)


No chance you could integrate with this API?


Oh I will! So will many others, and thus will end my unfair advantage - being brave enough and tenacious enough to uncover undocumented API by sniffing the wire. It is important to have unfair advantage in business, so much so that I wouldn't start a business without one such advantage.

To be fair (he-he) I now have a new unfair advantage - a significant number of happy active users. I hope they will help me to stand out.


Just lie like every other iOS developer does and make your description something like this:

#1 GOOGLE TASKS APP IN THE APP STORE

NO ONE COMES CLOSE TO BEING AS AWESOME AS US

OBAMA HIMSELF USES THIS APP AND HE LOVES IT!

Don't forget to litter the description with emoji stars and thumbs up and whatnot.


The APIs are restful, client libraries are provided for .NET, PHP, Python, Ruby and Java.

https://code.google.com/apis/tasks/libraries.html


Took long enough, there are already so many competing task managers with more features on the market. Will we see collaborative task lists? I'd like to see them in the same way that Google Calendars are sharable, that would be the killer feature.

Honestly the GTasks app for Android (which was written before the API) is the only reason I use GTasks.


Taskforce does collaborative tasks really well. It's already integrated tightly into gmail. Soon I think they'll have gcal integration and phone apps.



Anyone knows what's the name of the algorithm / strategy that they use to allocate tasks position numbers?

I've created a new list and added 4 tasks a, b, c and d, and later added a2 after a.

Here's what they are doing:

		Position:
	a	01111111111111111111111111111111	
	b	10111111111111111111111111111111	
	c	11011111111111111111111111111111	
	d	11100111111111111111111111111111
	a2	10011111111111111111111111111111	
So it seems a clever way of allocating the position numbers without having to change them all everytime a task is moved, but I'd love to read more about it.


Nevermind, I found the answer. It looks like a self-balancing binary search tree.

http://en.wikipedia.org/wiki/Self-balancing_binary_search_tr...


That is clever, it's like a binary version of the old BASIC convention of numbering lines 10, 20, 30 etc, to leave space in case you want to add lines in between.

But why number them at all - why not just use the order in the list as the ordering? I haven't studied their API, so there may be a good reason.


Because the 'order in the list' usually is the creation order of the items. If you want to change the tasks order, you need to save the position numbers in the database.

This is not specific to Google tasks. If you tried to display a list of items that your users could reorder, you'd run into the same problem.


Thanks. You could also recreate the list with the new ordering; or record the changes in list order and replay them on server (e.g. insert the 5th one after the 2nd one), perhaps even reducing it to the simplest change if the user played around with the order a lot.

But I guess for RDB (and other DB?), the "physical" order isn't meant to be used as a "logical" order, and it might not even be reliable - so you need some other ordering mechanism, like position numbers. Also, not good if anything in the system depends on that physical ordering.

\not a DB programmer


What do you think of JSON for documenting data structures in this project? http://code.google.com/apis/tasks/v1/using.html (scroll down for the "Protocol" sections; there are about 10)

They're using JSON to describe sets of possible JSON instances, using conventions of "..." to represent other items in a list; and italics to represent variables (though not always: example text such as "My Task" is used for some variables).

Perhaps a shell-style convention, like $taskListID and ${My Task} would be clearer? It's going outside the JSON syntax, but so is "..." - and obviously extra-linguistic constructs help alert the reader that it isn't part of the instance syntax (like italics).

I've looked at some "JSON schema" proposals, but they take the same meta-approach as XML Schema, which somehow seems even worse applied to JSON.

Regarding the actual format, they the kind attribute (kind="tasks#taskList") like a class. Since it defines the type of the message, maybe it would be clearer if it were distinguished in some way (like XML tags: <tasks#taskList> - invalid, I know).

disclaimer: I don't mean to rag on these guys - their focus is Google Tasks, not a schema for JSON. It's just that it's very well documented, and so it's a clear example of using JSON as a schema. This issue will become more important over time.


This is the first thing from Google I/O that has me truly excited.


It being in my GMail account is handy. Like, if I sync my x@gmail.com depending on the software I'm using all my contacts, calendars, tasks, etc are synced.

I do feel like a whore of the 'tasks' world going from one solution to another. Recently, it was teuxdeux > todoist > thinkery (My current 'lover'). I wish someone could combine them all -- that's actually a 'sometime in the future' personal project of mine.


This is so overdue. Good to finally have it.


PLEASE someone make a Notational Velocity equivalent for GTasks. I would pay for that.


+1 I use NV like a boss every day. Syncing with Dropbox/Simplenote is by far the best note taking workflow I've ever used. Zero barrier to fast fluid input.

Which is probably why I love TaskPaper for GTD. Plain text but with smart data-detection.


Been looking for something like this. Any way I can store metadata about the tasks. Or rather more data. Say I would like a "budget" field for a task.


Mavenlink.com just rolled out task integration using the Google Tasks API and it was pretty straight forward to build.



Anyone working on a command line client? I suppose I should get to it.


What's your scenario?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: