GPhoto Surface Project
The primary aim of gPhoto is to integrate Picasa web albums with a touch-based application on the Surface. This application follows the principle that the Surface is not a personal computer, but an interface, so it focuses on acquiring user albums, viewing them and editing them. Although gPhoto uses the gData API extensively, my hope is that it may serve as a model for other students hoping to work with photos or cloud services.
Currently, gPhoto offers a simple, unauthenticated user login and a two-level display of photo albums. The WPF components used are as follows.
1. A TextBox and Button serve as a login device.
2. A SurfaceListBox displays photo albums from the selected user as well as the corresponding album covers.
3. A ScatterView displays photos from the chosen album, allowing all sorts of manipulation supported natively by WPF.
1. Photos are loaded on-demand from the web, so some delay is unavoidable. I am still trying to improve this behavior by making it less obtrusive.
2. I have currently capped the number of photos that can displayed simultaneously from an album. This improves album load times and prevents the ScatterView from displaying more photos than can be easily managed.
3. There is no user authentication yet. Only public albums may be viewed, and they may not be changed.
What I have learned
This project has necessitated learning a few parts of .NET and WPF. More specific to gPhoto, I have learned the basics syndication feeds and web programming. What made a project like this possible, though, is the existence of a good API for Picasa web albums. For anyone looking into integrating their application with other programs (or robots), first check whether there is an API available.
--Nstephens 09:48, 5 April 2010 (EDT)