Tasks API: Getting organized…

Google Tasks helps many of us to remember all those things that keep us busy. Towards the end of last year we asked our users what they wanted to see improved with Google Tasks and an overwhelming request was for the ability to access tasks from anywhere — be it on the move, on the desktop, or through their favorite Web apps.

Today, we’re checking off a big to-do from our list and are inviting you to try out the new Google Tasks API. Using the Google Tasks API, developers can — for the very first time — create rich applications which integrate directly with Google Tasks.

The Google Tasks API provides developers with a powerful set of API endpoints for retrieving and modifying Google Tasks content and metadata. It offers a simple, RESTful interface and supports all basic operations required to query, manage and sync a user’s tasks and task lists. The API uses JSON for data representation and works with multiple authentication mechanisms including OAuth 2.0.

Plain HTTP using JSON Using Google API Client Library for Java
POST /tasks/v1/lists/
/tasks
Content-Type: application/json
...
{ title: "Publish blog post" }
Task task = new Task();
task.setTitle("Publish
    blog post");
client.tasks.insert(
    "list-ID",
    task).execute();

Client libraries are provided for several major programming environments and should help you get up and running quickly.

The API is available in Labs and can be activated for your project through the API Console. Get started today by trying the Tasks API yourself using the API Explorer and taking a look at the documentation.


If you want to see the API in action check out the Google Tasks Chrome Extension. If you are at Google I/O we invite you to come along and hear the Google Tasks team talk about the new API today.

We thank the early adopters that have worked with us and built their own Google Tasks integrations over the last weeks. We’d like to highlight a few of them:

  • Producteev is a task management platform that lets teams and individuals access their to-dos from a lot of different locations (web, mobile, email, calendars…). You will now have all your Producteev’s tasks available in Google Tasks and vice versa!
  • Mavenlink‘s project collaboration suite allows you to communicate, share files, track time, invoice, and make or receive payments in one place. With its Google Tasks integration, your Mavenlink project tasks & Google Tasks always stay in sync.
  • Manymoon is the top installed social task and project management app in the Google Apps Marketplace and makes it simple to get work done online with co-workers, partners, and customers. Manymoon’s users can now create and view tasks with Gmail and Google Calendar through Google Tasks.
  • Zoho offers a suite of online business, collaboration and productivity applications for small businesses. So far they have integrated Zoho CRM & Zoho Projects with the Tasks API.

TYPO3’s Huge Summer Success

After having participated in Google Summer of Code for the second time, TYPO3 is now looking back at a truly successful summer where five students worked on projects for TYPO3 4.x, FLOW3, and TYPO3 5.0. Now that the summer has come to an end, we would like to give you an overview of the achievements our students made this summer.

Enhanced Usability for the List Module
Nuwan‘s proposal for the project included ideas to introduce collapsing and expanding tables in the list module by using AJAX, introducing modal dialogs for detailed information instead of the currently used pop-up windows, in-place editing, drag & drop sorting, and a quick search feature. At the end of the summer Nuwan completed all the tasks except the quick search, but added dynamic selection of columns to display on top of the planned feature set. Being completely new to TYPO3 Nuwan first struggled with current documentation, missing tutorials, and getting into TYPO3 development in general. Thanks to the help by his mentors, Thomas and Tobias, he got moving in the right direction. The feature is available as an extension and Nuwan is looking forward to finishing the missing features and providing more extensions for the core.

Generic i18n and l10n strategy for FLOW3 and TYPO3 v5
Karol reports that Google Summer of Code was a great experience, as it made him learn many new things and improved his programming skills. Looking back to his initial proposal he completed most of the tasks. Some details changed during implementation while others became harder than expected and again other tasks turned out to be easier. For more details you can take a look at Karol’s weekly reports. As it looks now, Karol will also stay around with the FLOW3 project, taking further care of his project. All of Karol’s code has been integrated into FLOW3.

Enhanced Media Content Element with oEmbed
Aishwarya was not able to reach all of the goals for the enhanced media content element, but the finished ones are quite nice. It now supports oEmbed, which allows you to use a video’s page URL like YouTube URLs to embed the video on a page, whereas before you needed to know the exact URL of the video file itself. For such videos the media content element will now also fetch preview thumbnails where possible. The feature is integrated in TYPO3 core and will ship with version 4.5 in January 2011.

Modular Community System
Pascal managed to create a community extension based on extbase and fluid. As he had experience with the new MVC framework for extension development he found it quite easy. Most of the basic features for a community system are implemented. However, to eventually make everything work we need to wait for two issues in extbase to be fixed. The extension is available at http://forge.typo3.org/projects/show/extension-community.

Private Resource Handling for FLOW3 / TYPO3 5.0
Andreas and his mentor Robert discussed implementing a solution for content security in general, as resources in FLOW3 are represented by persisted “Resource” objects. They came to the conclusion to first implement a solution for generic security policies for persistable objects. Andreas found a solution to automatically rewrite queries by using FLOW3’s AOP mechanism so that now there is no need to explicitly write security constraints for queries to the persistence layer anymore. The publishing process is also intercepted using AOP and their publishing path is being extended by a security component to eventually protect private resources from unauthorized access. The publishing feature was finished for the FLOW3 release at T3CON10 in Frankfurt.

Looking back at what has been achieved by the students and having won new contributors for the TYPO3 project we see this year’s Google Summer of Code as a huge success for TYPO3 and its community. Students come for the code, then stay for the fun and the great community. All the students passed the final evaluation, so congrats to all of them! We’d also like to express thanks to the mentors who helped the students to find their way into TYPO3 and offering a guiding hand.

By Ingo Renner, TYPO3 Google Summer of Code Mentor

Cross posted from the TYPO3 blog