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.
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?
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?
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.
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.
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.
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?
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 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).
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! ;-)
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.
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.
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. :)
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 :)
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.
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.
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 :)
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.
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?".
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.