Introduction: USB+WEB Digital Picture Frame

These instructions will detail the steps necessary to prepare the SOFTWARE elements of a homemade Digital Picture Frame. I hope to post instructions on the physical modifications later.

Digital Picture Frame on a Dell Inspiron 5100
key features:
web-enabled - images provided via rss feed
diskless (boots and runs from a 2gb usb drive)

Step 1: Background

I pulled this laptop off of a pile headed for recycling. I might not have grabbed it, but I have an identical one already, so I knew I could swap parts to see what worked and what didn't. It was stripped down to the bare minimum: screen and motherboard, with trackpad.
After adding RAM an optical drive and a keyboard, I was able to boot into the BIOS. This laptop supports usb booting, but not with the original BIOS. Step one was to visit Dell's site for the BIOS update, then install it on the laptop. Also, I found a great usb keyboard with 2 built-in ports at a local computer salvage. This allows me to not have to trade keyboards from laptop to laptop. Only new-ish laptops will support this. Through Craigslist, I quickly found a stick of acceptable RAM (512mb), then I didn't have to swap that back and forth either. The last element I installed was an 802.11b mini-pci card for wireless access (it was free, from another salvage).

Having a working laptop on hand I set out to create the digital picture frame. I have done hard drive installations using Puppy Linux on older laptops, but I specifically wanted to use the more modern features built in to this laptop. I use Xubuntu as my main OS most of the time (personal preference) and since 'Buntu 8.10, persistant USB installs are made very simple with the USB-creator package.

materials needed (in addition to the laptop):
2gb or so flash drive (mine is a PNY somethingorother, $15 bucks a few years back...)
Xubuntu 8.10 live cd

Step 2: Installing Xubuntu:

1. Plug in the flash drive, insert the CD
2. Once booted, establish your wifi connection.
3. $sudo apt-get install usb-creator
4. $sudo usb-creator
5. Follow the prompts, or read the instructions I used the instructions here
6. Once the OS is installed on the flash drive, you can reboot (take out the CD...), making sure to modify your BIOS to ignore hard drive and boot from USB first.

update:
I tried to use this method again with another brand of USB stick, and instead of booting, I got the warning:
"Pen drive without operating system..."etc
So to fix this, either before or after installing USB creator, execute this command in the terminal:
install-mbr /dev/sdX (X representing the device letter, in my case, /dev/sdd)
It booted fine after that.

Step 3: Post-installation: Booted Into the USB Install

1. Establish your wireless connection.
2. The built-in network manager makes you authenticate with every boot. This will not work for this project. Instead, install wicd.
3. Re-establish your connection through wicd.
4. Install ssh-server and open-ssh packages (useful for remote administration)
5. Create a new user with a password, give them administrative privileges. This is necessary for SSH administration, because the default login will not allow ssh login (easily?). You will still have to use 'sudo', but this just makes it a little less painful.
6. Add firefox as a startup program: Applications> settings manager> Autostarted Applications (The command is just: firefox).
7. Install unclutter. this program will hide the mouse pointer after a delay you specify. I added this to run at startup (same steps as above, the command is: unclutter -idle 3).
8. In power management, deactivate the screensaver. Otherwise it will go blank after 10 or so minutes.

I tried to set some other power management features, but using this method APM is not activated at boot. The upside is that this installation can reboot from a hard poweroff without even a hiccup.

Step 4: Firefox Tweaks:

1. Install the 'full fullscreen' add-on. This lets you place the laptop in 'kiosk mode' and lets you check a preference to start firefox in fullscreen mode. And if you didn't know already, F11 will toggle you in and out of fullscreen mode. Check the top 3 boxes in preferences.
2. Install the 'Fox Saver' add-on. By default, this will grab images from its own database. You can specify lots of other places to grab images from. I used the RSS feed option, and linked it to a picasaweb album so that I can add to or remove pictures from any computer. I also set the wait time to 1 minute (default, I can't seem to make it go lower or I would) and the slide changeout time to 180 seconds. Other settings are preferential.
3. In the address bar, type about:config -- then find the setting browser.sessionstore and set it to false by double-clicking on the line. This will keep unwanted message windows from preventing firefox from starting up every boot.
4. I created an HTML file and placed it in the default home directory to use as the firefox home page. Open it using firefox, then make it the homepage under Edit>Preferences. It says, "Hello, world. your slideshow will begin in one minute."

To exit out and do a clean reboot (recommended), Alt+F4 out of firefox while still in fullscreen mode. Then reboot.

**one caveat I discovered here is that my laptop likes to have about a 3-second delay before rebooting, else it will not "see" the flash drive and not reboot. Just poweroff, wait, then push the on button.

Step 5: Closing Thoughts

I think that's it. Reboot and if all goes well, you'll have the basis for a great big Digital Picture Frame, one that is more capable than the $200 models in the store. And you made it with LOVE!

For Christmas I got a Kill-A-Watt
Here is the rough power consumption data: (based on Kill-A watt)
powering on - 70w
waiting to boot 50~60w
Booting OS - 29~60w
Logging in - 50~70w
Firefox open, waiting to start slideshow - 30w
loading new image - jumps briefly to 70w
steady at 30 w most of the time.