Creating the Ultimate Personal Travel Journal
Many of my posts the last few months have been geared towards Personal Knowledge Management (PKM) and Semantic Wikis. Since I last posted about Vannevar Bush’s vision for a Personal Memex, I decided to focus my efforts on building an impressive personal travel journal, and share the results to illustrate the capabilities of a Memex.
What’s this Memex thing all about?
While the process for setting up a Personal Memex can be quite involved, the idea is fairly simple. My memex is a personal semantic wiki that exists for the sole purpose of centralizing my research notes, learning activities, personal journals, and allows me to easily retrieve important data and memories that I enter into the system. My memex is built entirely from existing open source projects, and essentially runs MediaWiki (the wiki software used for Wikipedia) with a number of Semantic extensions, and a few extensions I have written for myself. The Personal Travel Journal is a single integrated feature and section of my Personal Memex.
Although you can’t exactly call me a world traveler, I’ve gone on my fair share of trips in the last decade, and have spent a lot of time visiting my friends and family on the east coast. Since I purchased my first digital camera in 2000, I’ve literally taken thousands of photos and videos. And, back in 2005 I started keeping a written journal of the places I visited (family visits, weddings, vacations, weekend getaways, cruises, business trips, etc.) So far I can account for at least 60 major trips.
Ultimately, I wanted to have a central place to store all the details of the my travels (dates, places, people), And, have a nice personal (private) website where I can view photos, videos, maps, and comment on each trip. Sadly, for many people, as time passes memories of trips and events can often fade. With the help of the Memex, forgotten memories will be a thing of the past.
What can the personal travel journal do?
At first glance, the travel journal may look like a plain old webpage with some embedded photos. But, it’s much more powerful than you might expect. Here’s what you can do in a nutshell:
- Semantic markup and searching
- Visual timeline browsing
- Easy embedding of photo and video slideshows
Semantic Markup and Searching
This is arguably the most interesting and powerful feature of my travel journal. With the help of the Semantic MediaWiki extension, adding Semantic capabilities to a wiki makes browsing and searching a breeze. What does semantic mean in this case? Many wikis such as Wikipedia have tremendous amounts of text for each article, and in many cases you can find what you’re looking for doing basic searches (via Wikipedia or Google). However, it becomes *much* more difficult to easily issue a single query/search that asks:
“Show me all philosophers living between 1800-1850 who were born within 50 miles from Weimar, Germany and who published more than 6 books”
Unless you have a Ph.D in philosophy AND are a wizkid with Google searches, chances are you’ll spend a better part of a day doing research to find this answer. Thankfully the type of searching and browsing I’ll need to do for my travel journal is much more simplistic. Nevertheless, adding semantic details for each trip greatly helps with indexing and organizing. I’ve added the following semantic information:
- Trip start date
- Trip end date
- Trip location – Major city
- Travel destination – Important place, landmark, or area within the trip location
- Person – who was there
How does this work exactly? Like most wikis, each travel journal entry contains simple text with some basic wiki markup. In order to indicate that a particular piece of text is Semantic, you simply add some markup around it. For example, once added to a travel journal entry, the article will semantically come to life:
[[Location::Key West, FL]]
Now I can do searches that let me easily show all trips within a certain date range. Or, I can query for trips based on location or people who were there (Ex: Show me all trips between 2002-2004 where I was in Florida and my wife and I visited a beach, or for that matter Show me all trips where I was on a beach).
Although adding the semantic markup is fairly straight forward, it can become very tedious to remember the exact fields names and required fields for each travel journal entry. Thankfully a MediaWiki extension called Semantic Forms drastically simplifies this process. All I needed to do was create a template with the required fields and markup, and then let Semantic Forms create a new form for me. Now, whenever I want to add or edit a travel journal entry, I simply click a link and fill out a regular web form.
Since the journal entry is now created with the special markup, each article will show the semantic details:
And, I can easily search and create index pages that will show all relevant trips:
Visual Timeline Browsing
With the placement of my semantic trip details and SIMILE Timeline, I can easily browse and locate any trip.
I can drag or click anywhere on the timeline and instantly view my travel journal entry. Seeing all the trips on a single timeline also greatly helps with discovering where entries are with relation to each other.
Easy Embedding of Photo and Video Slideshows
This was actually a *huge* undertaking. It took me a little over a month to consolidate all of my photos and videos, and find a web-based solution for easily embedding multimedia slideshows into my wiki. I originally blogged about my search for flash-based slideshow software back in June, and have since picked SlideShowPro as my solution. I created a simple PHP Mediawiki extension and Perl webservice to dynamically locate my photo and video albums on disk, and generate the appropriate gallery and slideshow. I’ve organized all of my media into folders based on the date/time. So, all I need to do is edit my travel journal entry and add the following markup:
=== Photos ===
album_name=Dixie and Chan,Key West Day 1,Key West Day 2,Naples
Once added and loaded, the slideshow extension will process each album name and dynamically generate thumbnails and download links complete with media info.
I’m really happy with the results so far! Not only do I have all of my photos and videos organized for the last 10 years, I’ve managed to fill out almost all of my travel details for close to 60 trips. I can safely say that the semantic browsing and searching capabilities helped my ability to recall, re-enforce, and write down many of my memories. The power of association is really amazing!
At this point, my Personal Travel Journal portion of my Memex is nearly feature complete. What are some other features and possible uses? I’ve already started experimenting with Google map integration for some trips.
Right now this is a manual process of adding latitude and longitude details. However, I can envision the ability to enhance this with geocoding/geotagging information of location details inside JPG using EXIF. Using my GPS and geotagging software, I’ve been able to automatically encode lat/long info inside each picture (Using RoboGeo for example). It would be great if I could dynamically pull the lat/long info outside of each picture and plot on a map for each journal entry.
This is only the beginning, so stay tuned in the future for new developments!