“Cheating is Okay.” As a parent, I won’t attempt to explain this to my children until they are ready for college. However in the real world, done well, cheating is okay. What do I mean by cheating? I mean taking data that is external to the current problem you are trying to solve and use it to make the problem easier to solve.
Many times I see solutions where someone took a very hard problem and spent a what appears to be a great deal of time trying to solve it given the rules as they see them. I usually look at these solutions and I am amazed at the dedication those involved have shown, the sophistication of their solution, the purity of their vision. I also tend to wind up feeling the end result isn’t worth it. They should have cheated instead.
What do I mean by cheating? Lets look at Apple’s iPhoto for an example.
I love the ability to have faces detected in my photos and spend a large amount of time making sure I tag the people in these photos. It makes it easy to look for a good photo of my daughter for something, or show her herself when she was a small baby (and activity she never tires of).
The thing is that whatever heuristic Apple is using, they need to cheat more. From what I can tell Apple’s approach to every face is to detect the face and then compare it to all the other faces that have ever been named. It seems to me that this is making the problem significantly harder than it needs to be, and is leaving numerous possible “cheats” out of the equation. Below are the cheats I would like to see them add to their system
Cheat 1 – Frequency
We are a family of 4. The vast majority of the photos I take that have people in them have some combination of my wife, son, and daughter in them. I’m betting if a significant percentage of the time it simply guessed 1 of these 3 people (4 if you want to add me in) the hit rate would be significantly higher than I currently see. As it is, since my children are young, their faces have changed significantly, so I think the software has a hard time recognizing them at all. If it just randomly guessed these people in my photos, I’d know they were cheating, but they also would probably be correct more often then they are today.
Cheat 2 – Time awareness – Large
We all have people come into and out of our lives. Yes, iPhoto, I know that to you the face I just took a picture of looks a lot like the boy Linus my son played with 4 years ago. However you may have noticed that since that time, we don’t have a single new picture of him in iPhoto. Anywhere. Ever. He’s moved back to Germany, so I don’t think I’ll have any soon. Take him off your guessing list please. Odds of you seeing him again are very small.
Cheat 3 – Time Awareness – Small
I now have a camera that can take ~4 pictures a second. I love it and take a lot of pictures. Now, if 2 pictures are less than 1 second apart and have the same number of faces in the same relative positions what are the odds they are different people? Since I have a digital camera (and young squirmy children) I will take the same photo many times in attempt to get one that is a keeper. When I tag one, try and go to the next how about using that tagged photo for the basis of your guess? You can probably even expand the time frame out to 10 seconds and still make the results better than today.
Cheat 4 – Events
Look iPhoto, I just imported a bunch of photos and put them in the same event. I then work my way through to put names on the people. If it really is an event, odds are the same people can be seen throughout the event. Use that information. Weight those people more heavily in your guesses. Heck, if that is too hard, let me tell you who was at the event, then you go and try to guess. Or give me an option when you guess to not only correct the guess but say “No, Bob wasn’t at this event, if you are guessing that you are wrong, go through the photos and get rid of that guess.”
I understand that there are some problems that are simply fun to try and solve. And when you look at them, you think “Man, if I can solve this problem there are so many things we can do with it.” But when you move on to implement a solution to a specific problem, come down out of your ivory tower and get dirty with the rest of us. Cheat a little if the cheats work. I really don’t need facial recognition software that can meet the TSA’s goals of naming people on the fly. I just want iPhoto to make tagging faces easier. Go ahead and cheat. I promise to look the other way.