8 ms·
Google Tasks API Released
- evangineer 15y agoThe APIs are restful, client libraries are provided for .NET, PHP, Python, Ruby and Java. https://code.google.com/apis/tasks/libraries.html https://code.google.com/apis/tasks/libraries.html
- doublerebel 15y agoTook 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.
- steve_b 15y agoTaskforce does collaborative tasks really well. It's already integrated tightly into gmail. Soon I think they'll have gcal integration and phone apps.
- DenisM 15y agoBummer. 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.
- shii 15y agoWow, 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.
- DenisM 15y agoYes 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.
- flashgordon 15y agoInteresting 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?
- DenisM 15y agoThe 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 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. :)
- Renaud 15y agoThanks for the link to the paper, turns out to be both an interesting and useful read.
- 6ren 15y agoGreat 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.
- shade 15y agoJust wanted to take a minute to thank you for that app. It's been tremendously useful for me for a year or so now.
- DenisM 15y agoYou'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. :)
- dinedal 15y agoNo chance you could integrate with this API?
- DenisM 15y agoOh 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.
- RyanKearney 15y agoJust 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.
- eddieplan9 15y agoThis is so overdue. Good to finally have it.
- Roritharr 15y agoHow did the android apps that are in the market get my task lists without the api?
- tectonic 15y agoMavenlink.com just rolled out task integration using the Google Tasks API and it was pretty straight forward to build.
- cfarmstrong 15y agoHere is an example of it in action: http://www.mavenlink.com/community/tutorials/134-google-tasks-api-integration http://www.mavenlink.com/community/tutorials/134-google-task...
- tejaswiy 15y agoWhy 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.
- DenisM 15y agoHey, 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!
- jfoucher 15y agoGoogle 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
- est 15y ago> 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?
- abraham 15y agoIt is simple and minimalist. Keyboard shortcut in Gmail to create a task out of an email. Tasks with dates show up on Google Calendar.
- tejaswiy 15y agoDidn't know about the Calendar. That's pretty cool.
- tybris 15y agoThis is the first thing from Google I/O that has me truly excited.
- orofino 15y agoAnyone working on a command line client? I suppose I should get to it.
- DenisM 15y agoWhat's your scenario?
- rocco 15y agoFinally, after 2 year: http://code.google.com/p/gdata-issues/issues/detail?id=987 http://code.google.com/p/gdata-issues/issues/detail?id=987
- arc_of_descent 15y agoBeen 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.
- dorian-graph 15y agoIt 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.
- dabeeeenster 15y agoPLEASE someone make a Notational Velocity equivalent for GTasks. I would pay for that.
- 25thhour 15y ago+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.
- gregschlom 15y agoAnyone 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.
- gregschlom 15y agoNevermind, I found the answer. It looks like a self-balancing binary search tree. http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree http://en.wikipedia.org/wiki/Self-balancing_binary_search_tr...
- 6ren 15y agoThat 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.
- gregschlom 15y agoBecause 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.
- 6ren 15y agoThanks. 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
- 6ren 15y agoWhat do you think of JSON for documenting data structures in this project? http://code.google.com/apis/tasks/v1/using.html 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.