What Happened to the “My Account” Link on my iGoogle Page?

Mon 11 Feb 2008

A few days ago, I noticed the the "My Account" link was missing from the top of my iGoogle page. This is how I (and I'm guessing most other people) get to all my Google services. Why would they take it away?!?

I mentioned this to a co-worker and he figured out that it shows up when you go to the Classic view, but why are they punishing iGoogle users? Hopefully they'll put it back soon. I'm getting tired of switching back and forth between my iGoogle page and Classic view. :(

Filed Under: Web, Google | 4 Comments 

Working Around IUI Click Interception to Allow for Native iPhone Functionality

Sat 09 Feb 2008

For those of you who haven't checked it out yet, the IUI is a great library created by Joe Hewitt (the same guy who brought us Firebug) for creating iPhone-like web applications. Overall, I love how easy it is to create screens, transition between screens, submit forms via AJAX and much more. However, while working on my first iPhone-targeted web project, I came across an issue.

There a few special hrefs that can be used to launch iPhone functionality such as the Google Maps application (using an href that begins with "http://maps.google.com") or prompting the user with a dialog box that allows them to dial the linked phone number (using an href that begins with "tel:"). Since the IUI intercepts the click event on links and prevents their default behavior, it ends up overriding this functionality.

While I was searching the web for a workaround, I found a few sites that said that the IUI code had to be modified in order to make these special hrefs work, but they didn't say exactly how. So, here's my solution:

For all links that launch iPhone functionality that you don't want the IUI to override, assign them a type of "iphone" like this:

<a href="tel:9043430030" type="iphone">Click to dial the number</a>

Then modify iui.js. I'm showing the whole block of code, so you can see the changes in context, but the only changes necessary are to lines 174 and 175. I'm using version 0.13 in the example below, so your line numbers may be different depending on the IUI version.

  1. addEventListener("click", function(event)
  2. {
  3. var link = findParent(event.target, "a");
  4. if (link)
  5. {
  6. function unselect() { link.removeAttribute("selected"); }
  7.  
  8. if (link.href && link.hash && link.hash != "#")
  9. {
  10. link.setAttribute("selected", "true");
  11. iui.showPage($(link.hash.substr(1)));
  12. setTimeout(unselect, 500);
  13. }
  14. else if (link == $("backButton"))
  15. history.back();
  16. else if (link.getAttribute("type") == "submit")
  17. submitForm(findParent(link, "form"));
  18. else if (link.getAttribute("type") == "cancel")
  19. cancelDialog(findParent(link, "form"));
  20. else if (link.getAttribute("type") == "iphone")
  21. return;
  22. else if (link.target == "_replace")
  23. {
  24. link.setAttribute("selected", "progress");
  25. iui.showPageByHref(link.href, null, null, link, unselect);
  26. }
  27. else if (!link.target)
  28. {
  29. link.setAttribute("selected", "progress");
  30. iui.showPageByHref(link.href, null, null, null, unselect);
  31. }
  32. else
  33. return;
  34.  
  35. event.preventDefault();
  36. }
  37. }, true);

New Theme!

Tue 05 Feb 2008

Well, if you're a frequent (or even infrequent) visitor to my blog, you'll notice that I've changed up the theme quite a bit. I was never really completely happy with the old one, and did quite a bit of searching to find one I liked better, but could never find one that really jumped out at me. So, after much procrastination, I finally decided to buckle down and create a theme of my own. I'm much more happy with this one - it's cleaner, more readable, and not as cluttered as the old one.

Hopefully, I'll have the time (and motivation) to work on it more over the next few weeks. There are still a few things that I want to do with it before I call it done. I'm planning on adding an "About" page, fine tuning the code to ensure W3C standards compliance, and possibly making the panoramic image above into a slideshow.

I've tested the new theme in FF 2/Mac, Safari 3/Mac, and IE6/Win, and there were no glaring issues. I'll be testing in IE7 tomorrow, but I don't anticipate any major issues. If you happen so see anything crazy going on, please let me know by leaving a comment on this post.

Thanks!