I added a link to all my individual pages tonight. You may notice that at the end of every entry, there are some photos showing related photos of the topic.
Using the Shanghai Photo Viewer, I can easily find latest Shanghai photos, and then find out a good topic to write about. Any keyword search gets a lot of great images from the online community.
If you want to know more about Shanghai and want to see it with your own eyes, you can try using the tool.
Updated November 10, 2007
This is the most frequently asked question about this Shanghai Photo Viewer. I hope it answers most of your questions. If you have unanswered questions, please post in the comment section.
Q: Why My Photo is Here?
A: Because you published your photo to Google Picasa Web. This photo viewer is just a viewer program to use Google Picasa Web Data API to access publicly hosted image of Google Picasa Web. As the major destination blog for visitors of Shanghai, I am using some keywords like Shanghai, or Bund to locate these photos.
Q: What is Google Picasa Web Data API?
A: According to Google:
The Picasa Web Albums Data API allows client applications to view and update Picasa Web Albums content in the form of Google Data API feeds. Your client application can request a list of a user’s albums, photos, comments, or tags, edit or delete content in an existing entry, and query the content in an existing entry.
Currently, there are thousands of applications on the Internet using this API to create rich applications around photos.
Did you Steal my Photos?
A: Absolutely not. It is still hosted on Google, and I do not store it locally on my server. Also, under each photo (bigger version), I have given credit to the author – as you specified when you sign up Google PicasaWeb.
Can I Remove my Photos from you “viewer”?
A: There are several ways. One is to mark your photo “private” when you upload. This is not just for my viewer, it also prevent other application that leverage the same API to display your photo. If you mark it “public”, you explicitly tell Google to serve the photo whenever an API client application requests it. If you don’t like what Google is doing, you can also choose the second approach – don’t use Google Picasa Web Albums. There are alternatives like Flickr.com (please note that this service also provide similar API). The third approach is to setup a photo album by yourself.
Update December 1, 2007
To address some of the concerns that the photo owner really don’t have their photo shown on this viewer, I have developed a new function to help them.
Automatically Remove my Photos
A) At the top of your Album, you will now see a link with text: “Remove these photos”.
B) Click to this link, and you will see a confirmation dialog to ask you to confirm that you want to delete the photos.
C) If you click YES, your photos will NOT be shown on this Photo Viewer.
Hope this addresses the concerns.
This does not Makes Sense, How should I have my Voice Heard?
A: Easy. Just post a comment below, and I will response. I am happy to accept any good ideas or suggestions.
Here are one example of it:

Updated November 13, 2007
BUG FIX: The cached version of some photos showed the early version of the photo viewer that was still in development and didn’t show credit to the owner of the photos. Now I have cleared all the cache, so to make sure all credit information is attached to each photo (bigger version). Meanwhile, I strengthened the author’s credit information to make it more dominate in any photo attached to it.
I am embarrassed by this bug. I believed that I have attached credit information to every single photo that was taken by somebody else in this blog in the last five years – if you check the 2000+ blog entries in the last five years, I always tried my best to give credit, although 95% of the photos in this blog was taken by myself with my own camera. I tried to follow the same guideline when I created this photo viewer. However, as you know, development takes time, and in early versions, you don’t have everything. When I wrote this blog entry, the development has finished. However, due to cache, it does not reflect the final output of the code. That is the cause of the problem. Now, I believe the problem has been fixed.
I’d like to thank Bruce Flanagan and Ashutosh to point this out for me.
Updated Special Thank You January 4, 2008
During the creation of this blog, one of the Picasa users, Alvar Lopez sent me many emails and gave me a lot of suggestions. He started with a good feedback about proper credit (result of incomplete work), and then became an angry complainer, because of a “remove these photos” function (my bad, again, for the bug). Finally, his suggestion made several important improvement for the photo viewer:
- Remove of Google AdSense code. This was out of curiosity about how the “imagine only” Google AdSense performs v.s. Text ads. Now the experiment is over, and I have removed the code. Also, I don’t have any plan to add any Google AdSense code for this photo viewer in the future.
- Remove my photo function. I understand it is very important for the photo owners to have the ability to control where their photos appear. Although by sharing photos on PicasaWeb, and the public Picasa API, it is intention to share the photos publicly, I think it is the right thing to do to give as much control as I can to the photo author. Now anyone (even not the owner) can prevent their photos to be displayed on this photo viewer. Please note: it does not prevent other similiar application from display the photo. The only way to prevent it is not to share the photo on Picasa Web, or make it unlisted when you publish. Alvar Lopez also helped to figure out a bug that in certain situation, it does not work as intended.
Again, thanks Alvar for the patience, and the back-and-forth email communication. It is readers like him to help me create a blog that millions of people are using every year. It turned out that finally, after I corrected all the bugs, we are friends (I believe), and Alvar is even so kind to link to my site. The next time you see something wrong with the site, let me know.