« March 2007 | Main

April 2007 Archives

April 1, 2007

Recover the Mini Project - Part II - Formula One Tracks & News - Status Update

According to my "Iteration 3 TODO list" for my Formula One Tracks & News Mini-Project, I figured out a couple of days ago, how to "Highlight and focus the next racetrack + focus GMap InfoWindow" (see my blog post "Formula One Tracks & News - Working on Iteration 3 - Calculate Dates with JavaScript"). That was part one out of three ;)

Therefore I decided yesterday to start working on part two out of the three: "Add "zoom in to racetrack level" function to race track InfoWindow" (see TODO list).

After visiting some tutorials and "googeling" I added a whole bunch of zoom functions to my race track info windows.

F1TracksNews_I3_ZoomFunctions.jpg

Last but not least I will start working - after we finished our MapYourBuddies Team Project - on the last feature: ""Connect" Tracks list and Google Map". (see TODO list). I guess, this shouldn't be to difficult.

So far the update from my Formula One Tracks & News Mini-Project
-Joern

Zoom Zoom Zoom - also for MapYourBuddies ;)

After I added a whole bunch of zoom functions to my my Formula One Tracks & News Mini-Project, I started yesterday - after I finished my Mini-Project - to integrate these zoom functions also to our MapYourBuddies Team Project.

And o' wonder: I looks pretty similar ;)

MapYourBuddies_I3_ZoomZoomZoom.jpg

I think this is a pretty neat feature ...a live demo will follow on Wednesday ;)

-Joern

MapYourBuddies - And the big Logout Challenge ;)

You know already from our Iteration 2 Presentation that we planned to improve the logout process of our MapYourBuddies application (You mentioned this also in your Iteration 2 Reviews)

After Thomas was not very successful - see "Logout procedure and its problems" - with his work on the "Logout Challenge", I started working yesterday evening on a "workaround" for this issue.

What I tried was the following:

  • Click on "Logout" link opens the "Welcome" page in the same (main) window and an onclick function opens a popup window
  • A timer is set to close the window after 2 seconds
  • Within the popup window the logout.html submits the "facebook POST request with the necessary parameters" immediately
  • The http://www.facebook.com/logout.php is loaded in this popup window
  • The popup window SHOULD be closed and the focus should go back to the welcome page (in the main window)

Here is the "Logout" link Code: (the index.html is our welcome page)

<a href="../index.html" onclick="popUp(
'../php/logout.html')">Logout</a>

The popUp() function looks like this:

function popUp(URL)
{
logoutvar = window.open(URL, "tobeclosed", "toolbar=0");
window.setTimeout("doit()", 2000);
window.focus();
}

The logout.html contains basically this

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>Bye</title></head>
<body>
<form action="http://www.facebook.com/logout.php"
method="POST" name="logio">
<input type=hidden name=confirm value="1">
</form>
<script type="text/javascript"
language="JavaScript">document.logio.submit()</script>
</body>
</html>

And the doit() function should just close this window (after this 2 seconds)

function doit()
{
window.logoutvar.close();
}

The issue with this solution is, that the doit() function doesn't work and the "logoutvar" window (that poped up) never closes.

Is that maybe because the content/domain of this window changed (from logout.html to http://www.facebook.com/logout.php) ?

Does anybody has an idea why the window doesn't close?


Finally I saw this morning, that Jeffery responded (Thanks for that, Jeff!!!) to Tom's blog post and proposed another solution. Unfortunately the example that Jeffery posted doesn't work in my browsers (WIN XP; IE 7.0 & FF 2.0.0.3). But either Thomas or I will investigate and further explore this idea in the next couple of days.

Proposals are always welcome ;)
-Joern

Tiny Addition to the Big Facebook Logout Challenge ;)

Yesterday evening I did also a bit of research before I started to build the workaround mentioned here.

Maybe as background information, - why the Facebook logout is such a big challenge - this is EVERYTHING, what Facebook provides in their current documentation:

"Logout Procedure
To enable a user to logout of Facebook, POST to http://www.facebook.com/logout.php, with the parameter "confirm" set to 1."

While I researched, I found some other guys (in the Facebook Developers Discussions), who also struggle with the logout ;)

Topic: Logout Procedure and Topic: Log-out

(You need to be signed in to facebook to access this posts.)

This just as a tiny addition to the other posts ;)
-Joern


April 2, 2007

The Big Facebook Logout Challenge is SOLVED with a Workaround for the Workaround ;)

First, thank all of you, who tried to help us finding a solution for our "Big Facebook Logout Challenge". Here I may mention especially Chidambaram's Posts 1, 2, 3 and also Jeff's in general good idea.

Second, maybe some words how we came to this "Big Facebook Logout Challenge". Basically we wanted to have a logout link, where the user can exit the MapYourBuddies application and also signs the user off from Facebook. See also my posts "MapYourBuddies - And the big Logout Challenge ;)" and "Tiny Addition to the Big Facebook Logout Challenge ;)" and Tom's Post.

The major issue we faced was that this is the way that Facebook offers to sign off a user:

"To enable a user to logout of Facebook, POST to http://www.facebook.com/logout.php, with the parameter "confirm" set to 1."

As a result of this, when we just link to this page, the log off works, but then the user sticks with the logout/login page from Facebook.com and there is no way for the user to come back to our MapYourBuddies application. And this is what we wanted to avoid.

The most elegant way would obviously be, when we could have added a parameter to the logout url (like "http://www.facebook.com/logout.php?next=welcome.html") that brings the user back to a specified page. BUT that is with the current API not possible.

The Workaround for the Workaround ;)

Due to this limitation of the API we had to build the first workaround. We now use the "logout" link to load the "Welcome" page. With an "onclick" event for this link we open a new "pop up window" and within this window we submitted the "Facebook logout form" automatically via a JavaScript:

<script type="text/javascript" language="JavaScript">
document.logoutform.submit();
</script>

So far so good. But now we had the problem that we had this open "pop up window" with the logout/login page from Facebook.com. And because we do not have an influence about the Facebook page, we were not able to close this window, after the Facebook page was loaded.

Therefore I build the second workaround: Instead of loading the logout/login page from Facebook.com complete into the "pop up window", we now load a frameset and display a "Good Bye" page (that also closes the window after 10 seconds) and the logout/login page from Facebook.com is loaded in an separate and HIDDEN frameset ;)

<frameset rows="*,0">
<frame src="logoutPage.html" name="Counter">
<frame src="facebookLogout.html" name="Formular">
</frameset>

Basically now the Facebook logout works and we have a neat "Good Bye" page that now closes the "pop up window" and displays with a JavaScript Countdown when the window will be closed automatically. But the user may close the window just by clicking the provided link at the bottom of the logout page.

MapYourBuddies_I3_LogoutWindow.jpg

Now, we also fixed this Challenge. And Thanks again for all your input!
On Wednesday we will present this new feature in our weekly presentation.
-Joern

MapYourBuddies - IE6 fix and a tiny and neat feature added ;)

After "The Big Facebook Logout Challenge was solved", I worked on a little bug fix for the Internet Explorer Version 6. Since I added the DIV-Boxes into the Info Windows the Info Window was displayed in the IE6 far to width. Now I set the DIV-Box width just to a fixed value.

Also I recognized on the laptop from my girlfriend (who has millions of friends in Facebook) that our page is loaded but - based on the huge number of friends that needs to be loaded from Facebook- the friends list remains empty for a whole while (around 7 to 10 seconds) until the friends begin to appear.

Therefore I added a temporary "Loading ..." text node that I remove, after all friends are loaded.

var friendslist = document.getElementById("friendslist"); var LoadNode = document.getElementById("FLloading"); friendslist.removeChild(LoadNode);

MapYourBuddies_I3_LoadingNode.jpg

Like always, more in the weekly presentation ;)
-Joern

April 3, 2007

MapYourBuddies - Buddies without usable hometown location in Facebook (and no marker on the map) are now highlighted

A while ago, I already worked on the issue - that was also mentioned in your Iteration 2 Reviews - to process friends depending on the geocoding result. So that we highlight friends that doesn't have stored his/her hometown location in Facebook (in an appropriate way e. g. only "MI, USA" or not at all).

How I already expected, I had to completely rewrite and integrate the "create Friends List" function.

But after hours of recoding it is working now. Here the example from the demo account.

MapYourBuddies_I3_DemoAccountFLhighlighted.jpg

Does anybody know, why these cities in the demo account cannot be geocoded???
Ask me in the weekly progress presentation tomorrow and I will explain it ;)

Also we will demonstrate this functionality with our real Facebook account in the weekly progress presentation, tomorrow. (Where you can really see what some friends have written into their hometown location - sometimes it is just unbelievable -)

Anyway, a "problem" I faced was that the friends list is now "sorted" in that way, how the friends come back from geocoding - and this is each time different - (And not longer in the Facebook xml order). Thomas experienced this challenge already for the marker creation process. This is because - how Thomas already found out -

"The showAddress function must somehow run asynchronous and independently after called"

But at the end of the day, all friends are now displayed in the list. Friends with marker on the map are "clickable" and friends without appropriate hometown location are not "clickable" but are still in the list.

And for iteration 3 we won't manipulate the order of the friends in the list; Maybe in iteration 5 ;)

So far for now,
-Joern

MapYourBuddies - Next & hopfully Final Steps

After I got the "friends highlighting function" working, now there are the following things to do, to complete all our requirements for iteration 3:

  • Merge/Add Andre's Amazon functionality into the master file set.
  • Improve the CSS layout of the Amazon Gift Recommendation Info Tab
  • Build a new Demo Account that integrates the Amazon Gift Recommendation Info Tab
  • Update and Finalize Welcome page
  • Update/Extent Resource Diagram with the Amazon API
  • Final Testing
  • Publication & upload to web space - maybe registration to programmableweb.com

@Bud: I know, you mentioned a couple of days ago, that you maybe could provide a web server, where we can upload our project. Could you give us an update on that?

So, that's the plan - let's start working on it ;)
-Joern

April 4, 2007

MapYourBuddies - Iteration 3 - All Features Included - Test it!

After a loooong coding night yesterday and working today, I

  • Merged/Added Andre's Amazon functionality into the master file set.
  • Improved the CSS layout of the Amazon Gift Recommendation Info Tab
  • Build a new Demo Account that integrates all the new features from Iteration 3
  • Updated and Finalized the Welcome page
  • Updated/Extended the Resource Diagram with the Amazon API

While final testing, we found a tiny bug. When a friend has a string stored in the music information where amazon finds a movie, the the response xml structure is different and therefore we get a error message (and you can not open the Info Window of this individual friend. All other friends are still working correct.) Maybe - depending on the available time in the next two weeks - we will fix this tiny bug.

The open steps are now to try to upload the project to a webspace and to publish it (on programmableweb.com, etc.)

You can access the Iteration 3 Version of MapYourBuddies here .

MapYourBuddies_I3_DemoPageI3.jpg


Enjoy MapYourBuddies!
-Joern

April 5, 2007

Google "My Maps" ;) ... Just AMAZING

Hi all,

today I went to http://maps.google.com/ to figure out, where Menlo Innovations LLC (for the site visit next Friday) is located.

After the page was loaded, I recognized that there is something new ... a "tab" called "My Maps New!" ... I started to play around with that and wow, NOW IT IS POSSIBLE TO SAVE YOUR FAVORITE PLACES STRAIGHT IN GOOGLE MAPS (when you are signed in with your Google account).

Here is what you can do (to enlarge the image, just click the image):

GoogleMyMaps476.jpg

Additionally I found these interesting Blog Posts:

"New Google Maps feature: "My Maps" (Build your own maps mashup)"

"Google has just released a new Google Maps feature called "My Maps" which will allows users to easily create a Google Maps mashup with a few clicks, right from Google Maps! You can reach My Maps by visiting http://maps.google.com then look for the new "My Maps" tab on the left side. My Maps is being launched for Google Maps in the US, UK, Canada, France, Italy, Germany, Spain, Netherlands, Japan and Australia."

"My Maps has an easy to use interface that will allow you to:

  • Annotate points on a Google Map with text, photos, or YouTube/Google Videos (even HTML for further customization)
  • Draw lines and shapes to show routes and regions
  • View maps created in My Maps on Google Earth
  • Search for businesses on Google Maps and add them to My Maps"

and some more detailed information here "Google My Maps Mania!".

Just try it, it's amazing: http://maps.google.com/

It seems like that the “MyFavoritePlaces” team had the same idea ;)

-Joern

April 6, 2007

Formula One Tracks & News - Iteration 3 - Last TODO done ;)

According to my TODO list for my Formula One Tracks & News Mini-Project, I have now completed all open tasks. Yesterday evening I implemented the "connection" between the Track List and the Google Map markers.

Basically now you can click one track in the list and than the Google Map will move and focus the according marker on the map and open the Info Window with the details of this track.

F1TracksNews_I3_GMapListConnection.jpg

Now I will optimize the CSS a little bit (one little bug in IE 6) and then my mini-project is completed :-)

So far the update,
-Joern

April 7, 2007

Formula One Tracks & News - Iteration 3 - Final Version

Yesterday I recognized while final testing, that the IE6 has a little Bug with the bubble width.

This was the the problem in IE version 6: (In IE 7 and FF 2.0.0.3 the bubble was perfect)

F1TracksNews_I3_IE6_Bug.jpg

Finally I fixed this with a little CSS update (I just removed the "width: 100%;" attribute from the outer div box).

And based on Andre's very good tip about the "Multiple IE's" software (Amazing!!!), I tested my Formula One Tracks & News Mini Project now in FF 2.0.0.3, IE 7, IE 6 and IE 5.5.

So, now, feel free to access my Individual Mini-Project "Formula One Tracks & News" here and test it. Your feedback is always welcome!

@Bud: I didn't post a link yet, because the project was in a "release development folder" (different versions) and I first had to move it to it's current location ... but here we go ;)

So far the update and probably the last post concerning my Mini-Project "Formula One Tracks & News"
-Joern

April 8, 2007

Mini-Project into the www.emuonline.edu-Drop Box?

After I finished my Formula One Tracks & News Mini-Project, I was trying to upload it to the www.emuonline.edu-Drop Box. Unfortunately there is no "Part 3" Drop box yet.

@Bud, could you please create this "Part 3" Drop Box?

Thank you,
-Joern

April 9, 2007

Formula One Tracks & News - Tiny "Loading" Addition ;)

After I added last week the nice "Loading..." feature to our MapYourBuddies project, I thought, this would also be a neat feature in my "Formula One Tracks & News Mini-Project". So here we go:

F1TracksNews_I3_Loading.jpg

Since I really finished my Mini-Project, here are the 3 major new features in my iteration 3 (in comparison to iteration 2):

  • "Connected" Tracks list and Google Map
  • Highlighted and focused the next racetrack + focused GMap InfoWindow
  • Added "zoom in to racetrack level" function to race track InfoWindow

OK, so far the last update for my Formula One Tracks & News Mini-Project
-Joern

April 10, 2007

RE: "DOM - Document Object Modeling - Help" (Milot's Blog)

Concerning Milot's question:

"I know that the requirement for mini project 3 is to incorporate DOM methods. My question is, not why and how; but what do I need to use the DOM for?"

Maybe my "Formula One Tracks & News Mini-Project" could help you to understand the usage of DOM as I have incorporated a couple of DOM methods.

For example my main page Source Code contains a "Loading ..." image in the RSS News Box (see source code)

<div id="trackslist" class="trackslist"> <p id="FLloading" style="text-align: center"><br /> <img src="images/waiting.gif" alt="Please Wait" border=0> <br /><br />Loading... Please Wait</p> </div>

What I am doing, after the RSS news XML file is available in the request/response object, I replace this <div> tag with a new "constructed" one (that then contains the RSS News).
More details also here.

I "construct" the new div tag (then with the RSS News) in this createrssfeed.js file and finally replace the old with the new div tag.

I hope this gives you an idea, what you can do with the DOM methods. Honestly, I love them ;)

If you still have questions, just trackback ;)
-Joern

April 11, 2007

MapYourBuddies Iteration2Review - Summary as of Wednesday (04/11/07) 05:00pm (Part 2)

Here is our part 2 summary of your comments and suggestions from the 8 new/additional and correct tagged reviews here as of Wednesday (04/11/07) 05:00pm.

Part 1 of the our review of the reviews can be found here (MapYourBuddies Iteration2Review - Summary as of Wednesday (03/28/07) 03:00pm).

Comments, that are already fixed in our Iteration 3

  • "1. When clicking on map markers and list of local buddies shows up, it would be nice to be able to click on the buddy right there to see info." (Jeff)
  • "When clicking on the markers on the map, the info window pops up with out a profile picture, but when selecting someone from the sidebar, the picture does pop up in the info window." (Dave)

Very good comments & ideas that could be realized in an iteration four ;)

  • "2. Sort the buddy list by name to make easier to find buddies." (Jeff)
  • "When I first load the map, all of the markers look like a jumbled mess. There are a ton of them in the Michigan area. I would like to see fewer makers, with more appearing as I zoom in. This might be able to help combat the initial look of a ton of markers everywhere." (Matthew)

Thank you for your constructive feedback and we are looking forward for your Iteration 3 reviews.
-Joern

April 14, 2007

@Bud RE: "blog system now fixed, you can track back again" --> May we also use "trackback autodiscovery"?

@Bud, quick question, here you mentioned "blog system now fixed, you can track back again", the "manual" trackback is working, but not very convenient. I remember that you turned off my trackback autodiscovery. May we "Getting trackback autodiscovery to work" again?

Thanks,
-Joern

April 17, 2007

MapYourBuddies - Iteration 3 - Final Version!

After we nearly completed our MapYourBuddies project a couple of days ago, we found a tiny bug (mentioned here). Now Andre fixed this bug and I finally created our Final Version of MapYourBuddies.

And since D'Germanz graduate in a about week, - YES ;-) - D'Germanz emich accounts will go off line. Therefore we made our MapYourBuddies Project available here until Bud can provide the "archive server".

The whole true story about MapYourBuddies can be found here ;-)
And here you can explore how MapYourBuddies works behind the Scenes.

But now enjoy MapYourBuddies,
D'Germanz | André | Thomas | Joern

MapYourBuddies_I3_FinalGuest.jpg

April 18, 2007

My Final Post (# 111) for IS696 Winter 2007 ;-)

Since we had our last class tonight, I thought I will write my last blog post that has the proud number 111 ;-)

However, looking back the last four month, this class was by far the most interesting and most challenging class I had this term.

There were three major topics that made the class for me:

Moreover I enjoyed reading the Head Rush Ajax Book and learning, applying and experiencing all the AJAX technologies.

I really liked this course and can recommend it to everybody!

So far my final blog post ;-)
-Joern

PS: for the case that the links to the projects won't work in the future,
this was our MapYourBuddies Team Project:

MapYourBuddies_I3_FinalGuest.jpg

and this was my Formula One Tracks & News Mini-Project:

F1TracksNews_I3_Final.jpg