

Show HN: I made a better interface for Google Tasks and I can't go back - cmikec
http://www.gtasker.com/
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.<p>So, I whipped this together real fast and I can't imagine using Google Tasks without it anymore.<p>I realized you might want it too, so I put it on the web.<p>Enjoy :)
======
jasonlotito
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.

~~~
matt2224
First thing I thought was "frames" when I saw this site. Pretty obvious
really.

------
ebtalley
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?

~~~
Groxx
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!

~~~
cmikec
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?

~~~
cmikec
I just figured it out! Now, in Chrome and FF4 it remembers the lists you
select. I'm really excited about this...enjoy! :)

~~~
Groxx
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.

------
route66
In chrome I get a redirect-loop warning... (being logged in in gmail at the
same time)

~~~
cmikec
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?

~~~
terminus
I'm getting this too. Chromimum 8.0. I'm on Ubuntu 10.10.

~~~
cmikec
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!

~~~
eustatius
Working great here - Chromium 11, Ubuntu Lucid (10.04?)

I might actually start using this along with
<http://en.wikipedia.org/wiki/Getting_Things_Done>, rather than paper lists.
We'll see...!

------
lordlarm
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

~~~
chime
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).

------
ricefield
On one hand, its just a wrapper, so no big deal.

On the OTHER hand, this is awesome. Props!

~~~
cmikec
It's cuz I got mad wrappin' skillz.

. . .

Thanks :)

------
troels
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?

~~~
cmikec
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.

~~~
troels
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.

~~~
cmikec
Please do, and if you have any suggestions I'd love to hear them.

------
rocco
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>

~~~
cmikec
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.

------
cmikec
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. :)

~~~
Groxx
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 :)

------
Sym3tri
To any other potential task hackers, currently there is no API, but google
announced they are building one soon.

[http://gmailblog.blogspot.com/2011/01/top-tasks-for-
google-t...](http://gmailblog.blogspot.com/2011/01/top-tasks-for-google-
tasks.html)

------
writeclick
This is such a simple, elegant solution. Good job. This really makes my life
easier. Thanks!

------
workola
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.

------
wuster
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.

------
duck
Very cool and an improvement, but I still find Google Tasks too limited. I'll
stick with <http://todoist.com>

------
rman666
GTasker is awesome! Now, combine GTasker with WorkFlowy (i.e., 3 panes of
WorkFlowy) and I will pay money to use it!

------
robotron
It needed a better interface.

~~~
cmikec
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 :)

------
BasDirks
I'm releasing something similar soon. This is really helpful :)

------
wilzy
what's different... perhaps more than a URL would be useful?

------
seltzered
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.

------
skrebbel
i'm genuinely wondering how they managed to break something this simple in
Opera.

~~~
bajsejohannes
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.

~~~
cmikec
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.

------
x0ner
I love you.

------
tkahn6
I've been doing this with iGoogle for a few years but this is cleaner. Good
job.

