With electronic devices surrounding us nearly every step of the way these days, it is fairly easy to overlook the value of interacting with people in the real world, the physical world. In the same way a conversation with a … Continue reading
Digital photos and the internet have completely transformed the way we take and share photos. It is incredibly easy to take photos and share them online with friends and family. In this transition from analog (physical) to digital (virtual) photos, … Continue reading
Just last week Facebook quietly rolled out a new feature showing photos of a person and their significant other on their anniversary. It is great to see Facebook finally start to leverage the vast amounts of data about people to help them enjoy their photos more. Around the same time I started seeing a new experience on my iPhone after posting a photo. First it was public photos at the same location I just posted a photo at. Then yesterday I posted a photo while out to dinner and I was shown a photo from the last time all the people I was at dinner with (which I tagged in my photo post) were tagged in a post. I was also shown the last time I checked in at the restaurant and who I was with.
This is a great way to help you spend a small amount of time to remember the past. Facebook is barely even scratching the surface of what could be done to combine all they know about you and your friends to surface interesting set of photos at times you are likely to enjoy seeing them. Another example of what cuold be done is your friend’s birthday. Instead of an advertisement to send them a gift, I would much prefer to see photos of me and my friend. Sepia is a great service for that. I get a collage of photos of me and my friend on their birthday that I can then share with them if I want.
Last weekend we went kayaking in the Nisqually Wildlife Refuge near Olympia. A great place to go by the way if you love seals. They were there by the dozen where the river meets the sound, … Continue reading
In part 1 I talked about the end user experience on Facebook and why I don’t believe they are doing a very good job and offering a great photo experience to users. In this post I want to focus on Facebook as a development platform for people like me to build apps leveraging the data within Facebook.
Ah, where to start. How about I start with the Facebook f8 developers conference I went to in April. In the words of Mark Zuckerberg, the APIs Facebook makes available to developers are the same APIs used to power Facebook. He says this with such enthusiasm and conviction that if these APIs are good enough for Facebook, they are good enough for me to build my app. The problem is, I am not trying to build Facebook, I am trying to build something using the data within Facebook. Any developer knows that to build a product of the scale that Facebook is at requires serious tradeoffs and optimizations. Over the past 6 months I’ve become intimately familiar with the Facebook APIs. It is clear that they are there to meet the needs of the Facebook product, with little olive branches here and there to demonstrate they aren’t completely ignoring the needs of developers.
To be fair to Facebook, they are trying a little bit harder to make developers live’s easier. The APIs are now versioned and will last for two years. Well, almost. The 2 year guarantee only applies to core properties. When looking at the documentation, very few properties are core. Even if 99% of the properties were core, there could be one property that is critical to my app, and Facebook could remove it, change it, or do something else to the property that could make it impossible for my app to function the way intended, it could kill my business.
For the past 2 years or so, Facebook has had two different APIs for accessing data, FQL and the newer Graph API. At the f8 conference, Facebook announced they would be deprecating the FQL API in 2 years. In my opinion, the FQL is the richer of the two APIs. I have my gripes about FQL, but it certainly provided a richer way to query information. So Facebook is removing capabilities from the developer and shifting more of the heavy lifting from Facebook to the developer. It is rare that a modern development platform makes a wholesale cut in functionality resulting in a net reduction in capabilities of the platform. Sure, APIs come and go, tweaks here and there, but this is big. This is the exact opposite of a WOW feature that opens the door to a whole new world of possibilities of what I could build.
What is perhaps most frustrating is that with what few fields I can filter on, depending on what the value I use for the filter, I might not get results, even if I know there are matching results. I believe this has to do with the Facebook internal 5000 row limit. I can’t tell you how many forum posts I’ve seen on Facebook app developers getting tripped up on the internal behavior garbage Facebook makes its developers deal with. Yes, they explain what is going on and how to deal with it for some situations, but is it really even necessary to expose this dirty internal laundry to your development community? And for the scenarios that have no pattern for reliably getting results, it makes any filtering with the API completely worthless.
At f8, Facebook did announce some new ways of querying data. However they were very narrowly focused. Being able to make queries with more filter conditions and get consistent results would be a huge improvement.
Let me go back to the scenario I mentioned in my previous post about finding photos from my anniversary and look at it from the developers point of view. In Sepia, I have been going through different scenarios such as friends’ birthdays, mother’s day, father’s day, anniversaries, etc to try and automatically find relevant/interesting photos from Facebook. Since Sepia is an application I am developing, I am not restricted by the user interface provided by Facebook. I am primarily constrained by the quality of the data within Facebook and the APIs offered by Facebook to access that data. Remember what I said about Facebook nuking all metadata from photos when I upload them? Well, there goes a ton of interesting information I could have used to build new ways of enjoying your photos. My friends who uploaded photos days or weeks after the wedding were not easily found with a search on our anniversary date. So with what little data I have left to work with, it may not even be an accurate representation of reality that allows me to find relevant photos from our wedding.
Unlike the Facebook app and web site, I can use the Graph to search for photos by a date range, or if me or someone else is tagged in the photo. Beyond that, I can’t do much more. I can’t search by location, description, comments, or more complex queries including multiple dates or date ranges, or multiple people tagged. A location search for example requires me to download all photos that could potentially be relevant, and then implement my own filtering to narrow down the results. This isn’t rocket science, but it is more work for me, doesn’t scale very well, and is something relatively basic that one might want to do with photos. A company serious about building a developer platform to work with photos should have this.
Data Beyond Photos
One of the reasons I started building Sepia on Facebook rather than another platform with photos such as Flickr or Google+ is because of the rich data set available beyond the data primarily associated with photos. This additional data would allow me to provide much more context and meaning to the photos of my life. For example I wanted to be able to send a couple a collage of photos from their wedding on their anniversary. Unfortunately their anniversary is not exposed to developers. I know this is more of a bonus feature, but it is the kind of information that can allow developers to completely transform how we relive the moments of our life through photos.
Many users don’t let apps their friends use access their photos. Having this setting makes sense, but I am doubtful many people are aware of it and what setting it has. If your friends do have this set, it is not explicitly noted to the friends of the user who has prevented access to photos. As a user of an app, I may think the app is broken if I don’t see John’s photos. Privacy is an inherently complicated problem, and Facebook needs to do more to educate people about the settings available and to help people choose the settings that make the most sense in the context of scenarios in which those settings apply. This is no different than Facebook’s own strong advice to app developers to ask users for permissions to user’s data in the context of why they need it. So why isn’t Facebook following the same best practices it encourages others to follow? I realize this in many cases will require collaboration with app developers, but in the end, it would result in richer apps and a better end user experience.
With Facebook’s new versioned Graph API, one of the new aspects of it is that I can’t access any friends data from an app unless that friend is also using the app. This pretty much trumps the privacy issues I just described thus far. I don’t blame Facebook for this change though. Users need to own and control their data, and this theoretically should allow them to do that more easily. For developers, our challenge is now even greater to figure out how to get more users on board. With a significantly reduced set of data to access when I sign up for an app like Sepia, the experience will be much more limited that it otherwise would be if all my friends were using it as well. I believe Facebook needs to work with developers to find ways of encouraging people to sign up for apps that enhance the Facebook experience. Without a rich app ecosystem, Facebook will be limited by their own resources and ideas, leaving the door open for competing social networks to attract users away from Facebook. Microsoft and Apple (iOS more specifically) are only what they are today because of the armies of developers out there who built on the rich developer platforms those companies provided. Facebook is far from accomplishing a similar feat.
The features Facebook offers for your photos are squarely targeted at sharing new photos for people to see now. The lack of rich metadata on photos unless added by Facebook users, and the week development APIs doesn’t foster a rich community of photo applications on Facebook. Yes, simple compelling scenarios can be implemented as Sepia has demonstrated with the This Day in History emails. Some more interesting scenarios can be implemented with significant development effort, but are limited to the quality of the data within Facebook. For Facebook to be serious about photos for end users and developers, they need to support the rich metadata people expect from photos and enhance their APIs to make it even easier to build compelling applications with photos on Facebook.
When I look at all the different photos services out there, there are 4 main capabilities I want…
- A great experience for viewing and sharing my new photos with friends and family. I’m not really into sharing my photos for the world to see.
- An easy way to find and enjoy photos from the past.
- A backup of the photos I care about most. I can get this elsewhere, but then that is another task I have to set up and manage.
- A rich developer platform. I am biased here because I am a developer. However you should care about this even if you aren’t. You will benefit from the creativity of the worldwide developer community finding new ways for you to enjoy your photos that your chosen photo service hasn’t though of, or perhaps hasn’t done a very good job at.
Sharing New Photos
So how about those new photos on Facebook? How is it? In my opinion it is the best at serving the purpose of sharing my photos with friends and family because it is where the highest concentration of those people come together on the internet. Of course your audience may be on Twitter, Instagram, Flickr, or somewhere else. What matters is that you put your photos where you audience is going to see them. Beyond that, all sorts of shortcomings become visible. The max resolution of photos on Facebook is a paltry 2048×2048. I mentioned this in my blog post on choosing a photo service. TVs and monitors are exceeding those dimensions far more often now.
It isn’t too uncommon for me or a friend to want to know which camera they used to take a photo. On Facebook we have to ask the question because Facebook strips all metadata in the photo when you upload it. All the nitty gritty details about the camera, lens, settings, etc is perhaps not a huge loss for family and friend photo sharing. However for the more hard core photo communities of public photo sharing, these are essential pieces of information about a photo you expect to be able to see.
Personally, I like to share the location of my photos. It is a richer experience for those viewing the photos and it is also nice for me when I want to look at old photos and perhaps I forgot where the photo was taken. My phone has the location stored in the photo. However when you upload the photo to Facebook, in order to make the location visible to everyone on Facebook, I have to set the location explicitly in the Facebook UI. This is an unnecessary hurdle when eliminating as many clicks and taps as possible is essential to retain users attention. Google+ on the other hand shows me a little map next to a photo (along with all the other metadata in my photo) and allows me to remove the location altogether, or to share the location for all the photos in the album. I don’t have to search and select a location from another set of UI.
Facebook has a not too discoverable feature called shared photo albums. The gist of it is a photo album, that you invite other people to add their photos to. So for example, we spent a weekend with a few other families and I wanted to easily access all the photos from everyone that weekend. I created a shared album and invited them to it. One family added their photos, the other didn’t. For the photos that were added, great! The problem is, people are busy, miss things, can’t figure out how to use feature sometimes, etc. The real opportunity here is not to create another feature where people have to actively manage their photos more. Facebook knows who was there that weekend because we all either posted photos to Facebook or were tagged in photos posted by others there that weekend AND they all have location information in them. A great photo experience would be something akin to Google Stories where Facebook sees that everyone is probably at the same event/activity and suggests to us that we have a combined view of all our photos that we can all see with one click.
If you are tired of reading, know that in this area, Facebook gets an F-, 0%, complete failure in my opinion.
My anniversary was a couple months ago. I wanted to go on Facebook and find photos from our wedding weekend posted by me and friends. There are really 5 main variables at play here in this scenario to help me find the relevant photos. Album, time, location, people’s photos, people tagged in photos.
Not everyone made an album of their photos from that weekend. Most are just uploaded to the default Mobile Uploads or some other generic album. Even if they all did put in an album, there is no way for me to search all my friends photo albums. I would need to go to each of their profile pages. This is consistent across all aspects of photos, I can’t search for anything, it is all browsing. Most of the browsing is not at all optimized to be efficient. Lets say I was religious about creating albums and I uploaded all my photos to Facebook, there would be hundreds of them. Browsing for a specific album in their UI would be horrendously slow.
How about I go right to the date of the wedding. I can use the Timeline for looking for photos by time. However this requires me to scroll through an entire year’s worth of Facebook posts, not just photos. There is no way for me to go to a specific date in just a few seconds. And then, at the end of all this I am only in one person’s timeline. I wanted to see photos from all my friends who posted photos from the wedding. This brings me to the next big problem with finding photos or anything on Facebook. You can’t combine variables when trying to find anything. Of course this idea is already dead in the water because of the previous point that there are no searching capabilities at all, only browsing.
Ok, so lets say I am determined to browse for photos. On the date of our wedding, there were not actually many photos posted relating to the wedding. I found many photos from friends posted days, weeks, or even months past the actual wedding. OK, I get it, you just want to enjoy the wedding festivities and worry about posting later, the way it should be. Remember what I said about Facebook nuking all metadata associated with a photo when you upload it? That includes the date and time the photo was actually taken. So now, rather than our wedding photos showing up as being taken on the date of our wedding, they are scattered across the multi-month timeframe in which people got around to uploading them to Facebook. I find this very odd for Facebook to do. They want every last detail of your life down to the minute practically on when it happened, yet when I post photos I have a history of when I added it to Facebook rather than when it the photo was actually taken.
People Tagged in Photos
I know myself and others are tagged in photos, so I could use Facebook’s ability to see photos I’m tagged in, or photos me and a friend are tagged in. However this alone is insufficient get photos from the 10s of people who were at our wedding and narrow it down to our actual wedding date rather than all the other times I’ve seen these people.
My last hope, location. We were married in a church we never went to except for our wedding. Hidden away on your profile page, there is a way for you to view a map of all your posts. It is very clumsy to use compared with every other modern map out there. Of course I can’t search it, because why would I want to search to jump right to a location? And it is only my photos! I can go to a friend’s profile page and view their map, one by one, and it would take forever. But then the real kicker in all this is what I mentioned earlier. Facebook doesn’t leverage the location in your photos. You need to add the location in Facebook’s UI on your own. So chances are people probably don’t even have the location on the photos.
This may seem like an exceptionally complicated scenario, however I don’t believe it is. All the big events in life happen with other people, somewhere, sometime. We remember some set of those variables, and naturally want to use them to find photos from our past. We all have holidays, graduations, weddings, big birthdays, anniversaries, religious events, etc. and want to see photos from them again.
One last example that is completely different. Lets say I want to see all the photos me and my friends have posted that have a baby or kid in them doing something cute. In my experience people love to comment on these sorts of photos and I’d bet I’d do pretty well if I could search for all photos that have a comment with ‘cute’ in it. Just like all the other pieces of data associated with photos, I can’t search comments either :(.
I already touched on this a bit for Facebook in my post on choosing a photo service. This is really quite simple. Facebook stores a low quality version of your photo with none of the metadata. Do not rely on it as your primary backup of photos. Maybe your 4th or 5th backup is ok, a low quality photo is better than no photo!
This warrants its own blog post. Stay tuned.
Facebook is a social network which many of us get a lot of benefit from. From my point of view though, they are currently focused on getting as much information out of people as possible, so that information can be shown to friends, and encourage them to share even more information. Facebook is a giant personal information vacuum, showing what it just sucked up. This only helps me with new photos, and fails at just about every other photo scenario. After 7 years as a user of Facebook, I am sorely disappointed. I use Facebook to augment my experience with photos, sharing in particular, but beyond that Facebook has not demonstrated to me that it is serious enough about photos that I should consider it as the primary home for my photos online.
A few blog posts ago I talked about the Facebook page for viewing your relationship with a friend. While that is a fun pivot and experience to look at old photos, it takes some initiative to decide you want to go there. You probably aren’t going to do it unless you have a very specific reason to go there, beyond just wanting to feel nostalgic about the past. For pretty much every photo solution out there, it requires you to take the initiative to search for what you to look for.
I love looking at my photos from the past. I actually don’t even care which photos I see, so long as there are photos I care about. As simple as it sounds, making a decision to spend some time to look at photos, figure out where they are stored, and search to find some photos requires too much brainpower and time. That probably makes me sound lazy, but with 2 young kids, time is precious. Spending even a couple minutes to find some photos to look at for just a minute or so, is a horrible ratio of work/enjoyment. I want work to be 0, and enjoyment to be off the charts because I just spent a minute looking at a couple photos from the camping trip we did a few years ago, or the dinner we had with friends. Throwback Thursday (TBT), which I blogged about a few weeks ago, is becoming increasingly popular. For good reason too! It is fun to look at old photos. But again, finding these photos is a bit of a time consuming process.
Being a developer, I’ve though a lot about what could be built to help bring this work/enjoyment ratio to what I want it to be. Over a decade ago my friend Tom and I built a photo web site we used for our photos and our friends photos.
This is pre-Flickr days and pretty much every other photo web site that we know of today. Perhaps we should have quit our day jobs and built a business out of our site given how much our friends and family loved it, but that is a whole different story. One of the best features of our photo site, was receiving an email every day you or your friends had photos from that day in past years. I get a great set of photos sent to me, and all I have to do is enjoy them, perfect! Quite often, there would be a fun dialog back and forth with friends about the good times we had together.
Tom and I shut down our web site a number of years ago because our time was needed elsewhere. Fast forward to today, I’ve been back on the hunt to solve this problem. With a very different landscape from the early 2000s, the most natural place it seemed to start was with Facebook. It is perhaps the largest, if not the largest photo repository on the internet. There are enormous amounts of metadata associated with photos to aid in finding photos. Facebook knows who your friends are, who your close friends are, and who your family members are. The possibilities for the ways I could use this information to build great experiences for people to enjoy photos makes my mind run wild. So I got to work on building Sepia. Essentially, Sepia is currently a modern version of the emails the photo site Tom and I made. Sepia leverages all the great data to send you a selection of photos from you and your friends on this day in history. You can share the photos with friends and reminisce about the past. Sepia isn’t along in trying to help people enjoy their photos. The once very promising startup Everpix introduced flashback emails, one of their most popular features.
Sepia isn’t only aware of this day in history. You know how Facebook asks you to wish your friends a happy birthday and to send them a gift? Sepia will find all the photos of the times you and your friend spent together and send you a personalized collage on their birthday.
I’ve been working on Sepia for quite a few months now, getting feedback from early users. While it is still in its early stages (beta), I want many more people to be able to enjoy what I’ve built. So I’ve decided to open up Sepia for anyone to sign up. Just go to www.sepialife.com to sign up. After that, tell your friends. Since Sepia is still in beta, I’m working hard and fast to improve it. There may be glitches, but I’ll fix them fast. If you have feedback good or bad, please send it to me.
As one of my friends put it, “These daily photo flashbacks make me so happy!”
The pace of life only seems to be getting faster and faster. These moments of taking a step back and reflecting on the past are becoming more and more meaningful to me. Give Sepia a try, and love your photos again for throwback thursday, or any day
In my search to find different ways I could view my photos from years gone by, I stumbled upon a well hidden feature in Facebook, Friendship Pages. As far as I can tell, the feature was quietly released over 3 years ago in a Facebook blog post. A Friendship Page is a timeline view of you and one of your friends, containing all the interactions you’ve had together on Facebook. For example, a photo you are both in, or one of you is in a photo the other posted in Facebook. There is a convenient link on the left that will let you see a album like view of all the photos of you and your friend. The feature goes beyond photos into posts and other interactions people can have on Facebook.
Apparently at one point users could get to this page by a link on the sidebar in a friend’s timeline. Not super convenient, but discoverable for those glancing around. Now, the feature is hidden away under a gear icon which brings up a menu, containing a link to the feature. This pretty much guarantees next to no one will ever find the feature.
Notice what else is in this menu? The long forgotten Poke! When was the last time you saw a Poke used? Its been a long time for me. This menu is one of many places where features go to die on Facebook. It’s a shame. The Friendship view is a nice way to look back in time at the the relationship you have with another person, in the virtual world at least.
It seems to only make sense to have the first blog post be what I am putting in the About section for this blog to set the context for the blog. So here it is…
I started Sepia because I have thousands of photos I never look at! Oddly enough, all my friends have the same problem. Social sites for sharing photos (Facebook, Instagram, and others) heavily favor viewing photos that are recently posted. This means the vast majority of photos I look at are from the past week or so. Other tools for photos involve managing and editing them. While that can be fun, it often sounds like a chore to me and turns of off from my photos. This is exactly the opposite reaction I want to have with my photos. I want to love them again!
One of the things I miss most about photos is looking at ones from years past and having a raw emotional reaction and flood of memories from that time. This is a very different experience from viewing photos from the past week. Over time, how I react to a photo changes, and the moments in life that have had a big impact on me become crystal clear when I look at them. My goal for this blog is to cover all aspects of simply enjoying the photos of my life.