Finding the pain
I have a confession to make. I take a ton of photos.
From 1982 when I got married until about 1999 I took thousands of slides and prints (I have four children and dozens of extended family members.) Since 1999 I have been completely digital and taken thousands more. Most of our slides and prints are now scanned and I have over 15,000 digital photos — all synced to my iPad which has become a very fun family photo album.
In the last five years I have built a dozen slideshows for open houses, graduations, weddings, and anniversaries. Each of those slideshows turned out well, but required many hours of work. Scanning physical photos is a very labor intensive task, but fortunately I am close to 90% complete in that task.
I have tried many different photo organization methods over the years, but currently have a very simple method: I keep a separate folder for every slide tray, every print album, and every month of digital photos.
But, something that still takes much more time than I would like is finding the photos I want to include in a given slideshow.
I plan to build something to ease that pain point.
Past attempts to ease the pain
My first “major” slideshow was for my oldest daughter’s high school graduation and open house. We homeschooled our children, so this was a very personal and exciting time for us, and I wanted it to be special.
During that year I purchased a slide scanner, and she scanned in all our slides (from her birth in 1987 until my Pentax SuperME died in 1997), and select photos from the albums between my slides and digital camera era. By the time she was finished, we had over 10,000 photos to search through to produce the slideshow — a bit overwhelming.
I don’t remember exactly what software I tried during that time, but I know I looked at dozens and tried most of them at least a little. I do know that I could not find anything very useful for selecting the photos I wanted — so I did what any good hacker does, I rolled my own.
Through several iterations, I ended up with a simple Delphi application (once my favorite development environment!) that would allow her to quickly browse all those photos and identify all the ones where she appeared. It worked pretty well given it’s limitations, but by judicious use of workarounds and copying of directories, it helped us narrow the 10,000+ photos to around 3,000 that had her in them. We then used the same application to select out a subset of those 3,000 to produce a set of photos we wanted to use in the slideshow. I used slightly enhanced versions of that application and other simple methods for my oldest son’s graduation in 2007, second son in 2008, and youngest daughter in 2010.
For other slideshows I have used simple methods such as general file browsing using my MBP and copying the photos I wanted to a new directory. Not terribly difficult, but pretty time consuming.
What I really want
Until Google or someone develops image searching as good as the text web crawling available today, I do not think any completely automated method of finding photos will ever satisfy me. I would love to tag all my photos with names, events, places, etc., but even if facial recognition improves a great deal, doing so will remain an intensively manual process.
Now that I have an iPad with a copy of all my photos, it is amazing how quickly I can flow through photos and find individual photos I had forgotten about. I want to take that ease of browsing on my iPad and apply it to quickly select a set of photos that can then be turned into a slideshow.
My App idea
My target customer is someone who has thousands of digital photos, probably only loosely organized, and wants to select a subset of those photos for a slideshow or other display.
The initial requirements for my iPad app are:
- create a project that will hold the state and can be edited later,
- select photos from iPad albums,
- attach a playlist,
- play slideshow on iPad or through video out.
I first started mocking up something like this at the iPadDevCamp in San Jose last April. The purpose of iPadDevCamp was to show what could be done within the constraints of the existing platform, but since iOS 3.x does not allow access to to photo albums on the device, I shelved the idea. It has now been announced that iOS 4.2 will be available on the iPad, so my idea is viable again.
During iPadDevCamp, I came up with some screen ideas using iMockups that are my starting point this week. I shared those ideas with other developers there and received useful advice, and will take that into consideration as I develop some prototypes. I have talked with some local iPhone users about my idea, but not in detail, and none of them are iPad owners.
This week I began exploring the AssetsLibrary framework in the iPhone simulator, but will have to wait for a 4.2 beta SDK before I can play with the iPad simulator or device. Since I will need some photo sources in the meantime, I spent some time experimenting with other options, and decided to start with a simple ftp based photo loader for now.
It is vital to find potential customers early so I can validate my ideas, but that will definitely be a challenge for me. I am reading through Steve Blank‘s book “The Four Steps to the Epiphany”, about his customer development process and even though it is probably geared towards multiple developer startups, it has given me some insight into how to begin.
Once I have a simple photo loader to simulate photo album access, I will begin prototyping various ideas. I have learned to treat my prototypes as disposable code so I can move quickly, hopefully I will stick to that.
My task list for this next week:
- Prototype methods for quickly browsing a set of photos,
- Begin building a customer development plan,
- Find at least one local iPad user with a decent collection of photos.