More possible iPhoto features
Whilst we’re talking about a couple of possible iPhoto features and overhauls, how about extending Faces by making it actually a bit more useful? Whilst it’s great being able to tag people, the only way to use this information is for uploading to Facebook or when searching. There’s a few things that could be done to exploit this information, especially when combined with other metadata from the photographs.
For example;
- Being able to select multiple Faces in iPhoto and seeing photos that contain all of the selected people.
- A graphical view of a person’s timeline over their lives, either;
- A graph of time (using the datestamp from the photo), or;
- Time combined with a travel map for a certain period of time (using the Places tag)?
- These could also be used with multiple people, for example people who commonly holiday together shown on a travel map over time.
- Being able to customise the Faces view, for example to sort by Surname, change the background etc.
- Better Address Book integration;
- Being able to open an Address Book entry from iPhoto.
- Setting the image in Address Book from a Faces entry.
- A graphical view of relationships between people (as can be set up in Address Book). This is a quicker, easier version of family tree functionality in iPhoto I suggested before.
Getting Genealogy
I’ve been looking into my family history and have been trying to find a decent genealogy application for the Mac. Ideally it would need to have a graphical representation of the tree and relationships between family members, support for photos, dates and locations.
That got me thinking; I already have an application that supports photos, dates, locations and people. iPhoto.
Recently I suggested that panorama stitching support may be the next big thing to hit iPhoto, but what if Faces in iPhoto was extended to include relationships between people, and more metadata like datestamps (such as birth/death/important events, which of course could be linked to photos) and locations like photos already have. This would make it a fairly full featured genealogy application.
It could be fairly trivial to define relationships using drag and drop, and Apple already has applications that do something similar: Quartz Composer forms connections between modules like this, as does Interface Builder in Xcode.
It may seem like a strange direction to take, but if you consider that Apple has developed iPhoto and the whole iLife package to draw consumers to the Mac, and in my experience at least, more and more people are getting interested in their genealogy. It could also integrate with online genealogy services as it already does with FaceBook and Flickr.
iPanorama?
A few years ago I found myself wishing that iPhoto had facial recognition and location tagging. They were subsequently added with Faces/Places.
Recently I have been thinking that I’d love iPhoto to have the ability to create panoramas stitched together from multiple photos. Going on my good record of predicting features I’m hoping I get three out of three and iPhoto adds this in the next couple of years. This could be relatively easy to do the basics at least, using an open source project like autopano-sift or something similar. Then it would of course need the traditional Apple polishing and ease of use to make it a good iPhoto citizen.
Dumb made smarter
When I was studying Computer Science at university we used Digital UNIX on a server and rooms full of dumb terminals connecting to it. It meant that the terminals simply showed the display and passed the user’s input onto the server, hence the ‘dumb’ title.
The world of computers has moved almost exclusively into the opposite model of stand alone computers or at least ‘smart’ terminals that use a server but process most work locally. The latest move into ‘cloud’ computing is not a move back towards the dumb terminal model because the actual processing of data is still done on the local machine.
But there could be a move back towards this model, as virtualisation becomes more and more pervasive.
My idea is to take a virtualisation server and let it dynamically load the ‘terminal’ computer that runs the virtual machine with whatever the terminal can handle. The server would monitor things such as the RAM and CPU load on the terminal, and if resources are running low perform more calculations on the server end and simply send the result to the terminal, which would require less resources.
This would mean the terminal could always run fast and light, and the server could offload as much as possible to the terminal, but bail it out when it needed some extra muscle. There are many advantages to virtual computing such as load balancing, easier software upgrades, more choice of platform and so on. This approach could make it much easier to upgrade hardware as well though, as a new server could result in better performance across all it’s terminals just as if the terminals has been replaced instead. Older hardware would be able to run more advanced software (albeit with an increased load on the server over newer, more capable hardware) and everything from smartphones to main frames could be supported centrally.

Something that happens to me quite a lot is when I’m trying to type into the search box in Safari I accidentally type into the Address field, and end up going to latest-news-on-apple.com which of course drops out with an error. But when you think about it URLs almost never go in the search field and search terms never go in the Address field. Why are they not the same bar with some intelligent URL parsing technology to separate the two?
I know some browsers use a single letter keyword to indicate a search rather than a URL but surely when Google Calendar can figure out when to put an appointment just from the natural language then a browser can figure out what’s a URL and what’s not? A keyword search is nice – but it could be so much more.
And the possibilities go on – how about some AI that intelligently figures out trends in image searches and redirects likely image searches from web search? I suspect Google already does something like this in their search algorithm by placing likely hits at the top.
Note to Apple, Microsoft et al: Feel free to steal this idea and use it without credit to me – as long as we get better browsers out of it!