Show HN: I made a better interface for Google Tasks and I can't go back (gtasker.com)

122 points by cmikec ↗ HN
I recently decided to try out Google Tasks as my only task management system, and while I find some things about the interface great, it really isn't suited for someone like me who has multiple lists with lots of elements on each.

So, I whipped this together real fast and I can't imagine using Google Tasks without it anymore.

I realized you might want it too, so I put it on the web.

Enjoy :)

58 comments

[ 4.8 ms ] story [ 114 ms ] thread
I recently decided to try out Google Tasks as my only task management system, and while I find some things about the interface great, it really isn't suited for someone like me who has multiple lists with lots of elements on each.

So, I whipped this together real fast and I can't imagine using Google Tasks without it anymore.

I realized you might want it too, so I put it on the web.

Enjoy :)

It needed a better interface.
Yeah, I really thought so. The old one was just too cramped and constraining. Of course, 99% of the code for the UI here is actually still their code, I just put what I'd like to think is a better wrapper around it :)
(comment deleted)
On one hand, its just a wrapper, so no big deal.

On the OTHER hand, this is awesome. Props!

It's cuz I got mad wrappin' skillz.

. . .

Thanks :)

I've been doing this with iGoogle for a few years but this is cleaner. Good job.
question, how did you grab the session and display tasks without authenticating through OAuth or whatever method google provides? Granted I'm logged into gmail but I'm somewhat goosed since it seems your third party domain can pull private data from my account without my explicit permission?
Good question. It's actually just an illusion. My page simply instructs your computer to connect to Google's servers, and then "wraps" the responses from Google at the page level into frames. I literally cannot see anything at all that you send to Google or receive from Google. In fact, this entire app is 100% client-side, so it never communicates with my server except to download the initial code (ok, fine, and favicon).

There was an old trick years ago where mischievous webmasters would "wrap" a file:// URL in their web page to make it look like their page had access to all the files on your computer. Again, it's just a wrapper. No data is transmitted to or from the server about what's in the wrapper.

It's a handful of iframes going here: https://mail.google.com/tasks/ig , nothing more.

I'll stick to https://mail.google.com/tasks/canvas though this is quite nice. I wish it could remember the lists I had visible, but I realize why it can't :)

To the maker: nice idea! It makes me ponder over what other sites this could be done to... though this is a particularly perfect fit!

Thanks. And yeah, I really wish it could remember the lists. I'm hoping that someone will know an undocumented parameter we can pass to http://mail.google.com/tasks/ig to select a list. Anyone?
I snooped around a bit and it seems that you can do it by POSTing a JSON parameter to that URL, although I'm not sure if it includes a nonce.
I just figured it out! Now, in Chrome and FF4 it remembers the lists you select. I'm really excited about this...enjoy! :)
Very nice, that makes it a lot more useful :) I may even switch from Canvas view. Hopefully others see this!

Mind if I ask how? I see the URLs are list-specific now, but I don't know how you set it up to be so.

Hey Groxx how did you find about the /canvas link? I could find no reference on Google that would have direct me to it in the first place! Very curious how you knew about it. Thanks for it btw as I never knew it existed.
I found out about it via the Better Google Tasks Chrome extension. Probably never would've seen it otherwise.
This is fantastic. Since you're really just framing google code, I take it that there is no way that you can inject code into the frames and enhance them somehow?
It's not possible in traditional browsers, given the way browser security is set up these days. I've done exactly the thing you're talking about though with AIR and my own versions of webkit. So, the effect you desire is possible if you're willing to use a separate executable on your machine. Kinda loses part of the charm for me though, since one of the main reasons I moved to Google Tasks is so that I could do more from my browser.
Agreed - If I wanted a desktop application, there are plenty of better alternatives. The nice thing about google tasks is that it's there in the browser. And it's tied to your google account, which I have open anyway.

Still - Nice idea. I'll use this for the next couple of days and let you know if I find it usable in the longer run.

Please do, and if you have any suggestions I'd love to hear them.
i'm genuinely wondering how they managed to break something this simple in Opera.
To a rendering engine, this isn't any simpler or more complex than any other page. The reason we see this bug is probably that something in the page takes a code path that is taken very seldom, and thus has not been discovered before.

I'm not saying it's ok to have this bug, just that it doesn't really make sense to come up with a small testcase and say "How can you break something so simple?".

I reported a bug, by the way.

Agreed. Most pages don't dynamically create framesets in window.onhashchange. Nevertheless, it clearly should work in Opera and they need to fix it.

I typically don't test in Opera but I was curious about this one so I fired it up. Seems like the initial page load doesn't work, but if you change the hash (or the settings, same thing), it actually will render properly after that.

At some point, if I feel like it, I will write an ugly workaround just for Opera based on this principle. So far 1.81% of visitors from HN are using Opera, FWIW.

In chrome I get a redirect-loop warning... (being logged in in gmail at the same time)
Odd, I'm unable to reproduce. What version/OS? Just out of curiosity, what happens if you try it in incognito mode? Is anyone else experiencing this?
I'm getting this too. Chromimum 8.0. I'm on Ubuntu 10.10.
Cool. No easy access to an Ubuntu box right now and it's late...I will check in to this when I get a chance. In the meantime, I would be interested to hear:

- Is anyone on Chrome/Ubuntu not having this problem? - For those who are having this problem, any more information would be greatly appreciated. - In my own testing, Chrome on OSX and Windows works fine. Has anyone had this problem on either OSX or Windows running Chrome, or in another browser on any platform really?

Thanks!

Chrome 11.0.686.0. Ubuntu 10.10. No issues here.
Chrome 10.0.648.114 beta on Ubuntu 9.10, works fine.
Me too. I'm on XP SP3 with Chrome 10.0.648.119 beta.
Ubuntu 10.10, Chromium 9.beta. When I log out from gmail and login through your front end I get the same problem. Incognito mode gives me a "you don't have cookies enabled" message from google.
I get this too using Chrome on OS X 10.5. In Incognito mode it shows Google Accounts login pages in each pane.
I got this as well in Fedora 14 + Chrome 9.0.597.98

The easy solution is to turn off "block all 3rd party cookies"

I'm releasing something similar soon. This is really helpful :)
This is a great idea. A simple interface for my TODO's. However I do not think iframing Google Tasks is the best idea, why not just create something similar your own?

Since you are iframing it I get this bug: http://i.imgur.com/H7Ytb.png I want three list respectivly "Done", "Today" and "Someday". However as I change one, the others change too.

I'm running Chrome 11 dev

In order to get multiple lists working, you'll need to go down to the lower-right corner of each frame and select a different list to be shown in each frame. Otherwise you are just using the same list in different frames.

I'm totally with you that this UI/UX is not ideal. If Google exposed more of a Web API we could do more.

There are plenty of good web-based todo lists, what I wanted specifically was to beef up Google Tasks.

However, now that you mention it, there may not be a good multi-paned todo app out there. Someone should make it. Maybe me, maybe you! ;-)

I made https://zetabee.com/text (which many HN users currently use) to provide a similar nested-list interface with keyboard shortcuts, copy-paste across lists, and easy read-only sharing. Before that I made http://untodos.com with 'now', 'soon', and 'whenever' lists but ZetaBee Text is a superset of untodos features so I don't use untodos anymore myself.

I haven't made a "done" feature yet because I haven't found a good way to implement it for tasks at arbitrary depths. Check out the demo: https://zetabee.com/text/demo (save is disabled for demo).

Hi cmikec, is you the author of the site?

Google does not seem to provide any API for Gtask(1), which system did you use? scraping? By time seeking a way to integrate Gtask in my app.

(1) The famous issue 987 http://code.google.com/p/gdata-issues/issues/detail?id=987

Hi, yes, I'm the author. See this reply of mine to another comment: http://news.ycombinator.com/item?id=2278963

To answer your question directly, I am not using an API and I am not scraping anything, I'm just framing Google's pages in a way that I found useful and productive.

Very cool and an improvement, but I still find Google Tasks too limited. I'll stick with http://todoist.com
Click on our website:

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

Website wholesale various fashion shoes, such as Nike, Jordan, prada, also includes the jeans, shirt, bags, hats and decoration. Personality manufacturing execution systems (Mes) clothing, Grab an eye bag coat + tide bag

Air jordan(1-24)shoes $30

Handbags(Coach l v f e n d i d&g) $35

Tshirts (Polo ,ed hardy,lacoste) $15

Jean(True Religion,ed hardy,coogi) $30

Sunglasses(Oakey,coach,gucci,A r m a i n i) $15

New era cap $12

Bikini (Ed hardy,polo) $20

accept paypal and free shipping

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

╭══════════════╮ http://simurl.com/voblec ╰══════════════╯

He uses frames to pull in tasks. That elementary part of HTML that's been in the spec for some time. I was shocked when loading up comments and I saw many people aghast at how he could have access to their tasks, especially when it's obvious to anyone with a basic knowledge of HTML that the site is using frames.
(comment deleted)
I don't get it.
huh? Its not like your tasks info is passing through his server. Seriously, is this a breach of etiquette?
First thing I thought was "frames" when I saw this site. Pretty obvious really.
GTasker is awesome! Now, combine GTasker with WorkFlowy (i.e., 3 panes of WorkFlowy) and I will pay money to use it!
what's different... perhaps more than a URL would be useful?
very cool, thanks! I was using wunderlist until I switched to android, I still feel a need to build a native desktop app for some reason, but this works.
This is such a simple, elegant solution. Good job. This really makes my life easier. Thanks!
This is great! Simple, Straight forward and easy to use. A nice compliment to the the desktop utility (HTML5) at http://workola.com. I'll add this link to my desktop.
Just added a killer feature many people were asking for that I wasn't sure was possible given the iframe approach. In the latest Chrome and Firefox 4 (but apparently not Firefox 3.6), gtasker.com now saves your selections for which lists appear in each cell. Set up your dashboard once, use it forever. :)
Since this is your most recent reply:

How did you manage it? I see some of the info, but I haven't picked apart the code yet. This makes it massively more useful, I think you may have a convert :)

I know this is a more reputable community than the typical site, but I would be wary of clicking through these links in non-incognito/private mode... it's amazing how trusting people are.