Still Buzzing from the LA Idea Project

June 24th, 2008

This past Sunday, I got to present MemoryMiner at the Los Angeles Idea Project, which is a one day conference modeled after the TED conference. Two years ago, MemoryMiner was in the gift bag at TED, and this past February, while lurking at TED (I’m keeping hope alive for a miracle ticket), I finally got to meet a number of the attendees from TED 2007 with whom I’d been corresponding over the prior year.

One of these people is Cooper Bates, who was truly excited about MemoryMiner and totally got what we’re trying to do with it. I couldn’t believe it when he invited me to speak at the LA-IP: I was utterly flattered. Over the last few months, we collaborted to create a system to visually map and traverse correlations between people, time and place, which after all, is at the heart of the MemoryMiner concept. I built a prototype application, and at 1 AM this past Saturday, it came to life! I shook off fatigue, then got on a plane Saturday afternoon. After a speakers’ dinner at a super cool downtown LA loft (a part of LA I’d never been to), I started entering data from a series of survey questions that some very kind participants filled out. The questions had to do with important places and times in their lives. The next day, I went on as the second speaker, presented a few slides (using the most awesome 280Slides program then demo’d MemoryMiner (an early build of 2.0) and the prototype app, whose features will migrate into 2.0.

The demo gods were with me, because the preso went off without a hitch, and people were blown away. Serious, serious woohoo!

One of the unifying themes of the presentations was “making the invisible visible”, and one of the most powerful presentations was by Becky Kanis of Common Ground an organization that is well on its way to actually ending homelessness. Their strategy is simple: they start by identifying the 50 most vulnerable homeless in a given area. These are the “anchor tenants” who have been on the street for a long time, and whose health conditions are the worst of the worst. The locations of these people are plotted on a map. Volunteers go in at night, then interview and photograph them so that people can plainly understand that they are human beings, not trash. These stories are then publicized in such a way as to force us as a society to answer the question: which of these people are we ready to let die in front of us? Powerful things happen when the invisible is made visible. Money is found, and the right thing gets done: especially when the right thing is the smart thing. It costs way less to house people in homes than it does to arrest them, move them about, and “care” for them in an emergency room or morgue. I spoke at great length with Becky and her colleague Beth, and you can be damn sure I’ll find a way to make MemoryMiner a useful part of their process.

Another great preso was by the world famous photographer Colin Finlay. His photos make plain the the impact of our environmental destruction around the world. We don’t have to save the planet, it will save itself by getting rid of the idiot humans if we don’t stop trashing it. His pictures of famine in the Sudan literally made me bawl, and I wasn’t the only one.

Poet Steven Connell had us all screaming “I felt that shit!” A truly great poet can have you viscerally understand any subject, and this guy is beyond truly great. I found this video on YouTube which is the poem he used to start us off:

Talk about tough act to follow. At the end of the day, he presented a poem that wove together the themes of all the presentations. In so doing, he clearly passed the audition to be the poet who gets a ride on Graham Hawkes’ Deep Flight ocean submersibles. Hawkes told us depending on an engineer to describe what deep ocean flight is like is a losing proposition: only a poet will do.

After the conference, there was an after party (thanks again, Wendy), followed by an impromptu visit to the Griffith Observatory and an after-after party at a Japanese noodle house. I still can’t believe I got to spend so much time with such an incredible collection of poets, heroes and philosophers.

Mac Developer Roundtable

June 15th, 2008

WWDC was a blast as always. There was, however, a very different feel this year, given the strong focus on iPhone, and the sheer number of new developers who have come to the platform. On Monday night, I joined the Mac Developer Roundtable podcast where we discussed the WWDC keynote. Unlike prior sessions, we were actually all around a real table, which changed the dynamic quite a bit: no more rapid fire insults via a Skype Text Chat back channel while doing the recording.

Have a listen here:

Mac Developer Roundatable Episode 9

At the Bay Area Video Coalition Producers Institute

June 3rd, 2008

Earlier this year, we gave a grant of MemoryMiner to the Bay Area Video Coalition. They are an amazing organization that helps independent media creators in a variety of ways such as classroom training, access to high-end editing suites, networking, etc. Every year, they hold an intensive workshop for documentary film makers called the Producers Institute. The projects are jury selected from a large pool of both new and well-established producers/directors, and for several days, each project is given the full support of BAVC and its partners in order to help the project along.

It was my honor to be able to present MemoryMiner to the assembled teams on Monday morning, where it was extremely well received. One project that has really piqued my interest is called “Through a Lens Darkly” which is both a film project, and the beginning of a movement to bring to light the African American experience through the lens of African American photographers. Another project called Precious Objects of Desire follows the lives of several Korean adoptees (including the filmmaker herself) who struggle with issues of identity and belonging. I cried while watching the trailer.

While hanging out with the team members, I’ve been able to learn a ton about the world of documentary film making, which surely has many things in common with indie software projects like MemoryMiner. I can’t wait to watch these projects bloom.

Improving the MemoryMiner Web Viewer

May 28th, 2008

I’ve written recently about switching MemoryMiner’s XML output to RSS. This work has been complete for a little over a month now, and so far, so good. In the past few weeks, I’ve been working on improving the loading speed and layout of the web viewer, and there’s been tremendous progress. The techniques for improving the loading speed of any web page are pretty straightforward once you understand how browsers load resources. A great resource is this page from Yahoo’s Developer site Best Practices for Speeding Up Your Web Site. I also kept in mind something that an old colleague once said (repeatedly): it’s not how fast it actually takes for software to do something, it’s how long the user perceives it to be.

In the case of a MemoryMiner web export, there are a lots of images, so, one of the tricks you can use is to load a placeholder image so that the page can be displayed. Once the actual image resource becomes available, you can then swap out the newly available image for the placeholder. This trick works great in standards compliant browsers such as Safari, Firefox, and Opera. Internet Explorer blows (but we already knew that).

Another trick is to optimize the chances that a given resource (such as a Javascript file) is in the user’s browser cache. The MemoryMiner web export makes use of a few Javascript libraries such as prototype.js (where would the web be without it?). Google, bless their hearts, have now started hosting these script files which is good for everyone (AJAX Libraries API).

In terms of improving the layout, we’ve now switched to using Yahoo Maps AJAX Web API, which actually performs better than their Flash maps viewer, and using “accordions” in order to better organize the different types of info available for each photo (i.e. Map, Caption, Attachments). Lots of other little CSS magic have been applied as well.

The early testers have given some great additional feedback, which can be used to even further refine things, but the overall response has been hugely favorable.

Happy Happy.

PS If you’re interested in having a sneak peak, drop a line to info at memoryminer dot com

New Line of Work?

May 8th, 2008

Every now and then when I get frustrated with a software or business problem I wonder if I should look for a new line of work. In the past, I’ve considered dirt farming. While riding to Kennedy Airport this past Tuesday, this truck pulls up next to us, and thanks to the stopped traffic, I was able to get a pretty good shot:

Surely, the portable toilet business is no less a dirty job than software development. I couldn’t help but be curious about the range of services, so I had a look at their website.

And now, back to iPhone development.

MemoryMiner and RSS

April 18th, 2008

I’ve been quite engrossed in the last few days converting MemoryMiner’s current XML output into RSS. Doing so will have numerous benefits, not the least of which is the fact that so many applications and services understand RSS. Getting basic RSS to work is pretty trivial, but since MemoryMiner lets you add a lot of metadata to your photos, there have been some challenges.

The Yahoo media namespace (http://search.yahoo.com/mrss/) handles the basics for the photos themselves (i.e. captions, title, thumbnails). GeoRSS (http://georss.org) is nice for indicating a geographic location for an item, but sadly, doesn’t let you specify a human friendly name for a place!

There are a number of ways of encoding people (e.g. FOAF), but seem way to involved for what we want to do.

What about selection markers, and attachments? I searched high and low for anybody dealing with this, but didn’t find anything that lets me do what I want. I remember fotonotes (http://fotonotes.org) which seemed so promising, but is not quite right.

So, it’s time to create our own name space. Here’s a work in progress example feed from MemoryMiner:

http://homepage.mac.com/j4johnfox/Sites/MM-Export-041808-17-33-54/MediaObjectsData.rss

Still lots of work to do, but a pretty good start.

Stupid Pet Tricks with iPhone?

March 18th, 2008

I was invited back to participate in a roundtable discussion on the MacSB podcast. We talked about WWDC, the iPhone SDK, and the general stuff of being an indie Mac developer. I love doing these things, because the conversation always sparks ideas, and the participants are a great bunch of guys.

I’ve been pretty heads down with the iPhone SDK since it’s come out, and of course it’s easy to imagine any number of “stupid pet tricks” with the iPhone. I once heard Tom Wolfe talk about writing his very popular (in the 80’s) book entitled “Bonfire of the Vanities.” He said that he tried hard to imagine the most audacious financial transactions, but that no matter how insane a single-transaction profit or loss he would commit to paper, it would pale in comparison with the headlines in the following day’s newspaper.

I think it’s the same with iPhone apps. While on the podcast, I imagined something that would use the accelerometer to know in which direction you might be falling, and the location tracking to know if you’re on a bridge, or the edge of a cliff, in which case an instant message would be sent saying “dude, you’re falling in a really bad place.”

Give a listen to the podcast here:

MDR006: WWDC & The iPhone SDK

MacSB Podcast

March 15th, 2008

Soon after the first MemoryMiner beta shipped, I was introduced to MacSB, a special interest group of indie Mac developers. Through this group, I’ve gotten tons of great advice, and met a number of really interesting folks. If you’re developing for the Mac, you need to be a part of MacSB

Last week, I participated in a round table podcast, mostly focused on the phenomenon of Mac bundle promotions. I invite you to have a listen, but just as Scotty, our fearless host points out, there’s plenty of “ripe” language. Cover your kidss ears, then give a listen:

MacSB004: Software Bundles

When you’re done, have a visit to the other participants’ company websites and blogs:

In Sunny Provo, UT

March 12th, 2008

I’m in Provo at the Family Search Developer Conference being held at Brigham Young University. I’d never been to BYU before: what a stunning campus location, at the base of some serious mountains.

While many avid genealogists already use MemoryMiner, I predict that the integration work we’re doing now will not only bring more genealogists to MemoryMiner but that the opposite will be true as well. There’s an unbelievably rich set of data about people, relationships, places and cultures now being made available using clean web service API’s.

I think people will be blown away once access to this data becomes commonplace.

Live from Sunny Nice: Version 1.1 for Windows!

March 9th, 2008

When MemoryMiner for Windows was released last November, it was a huge deal for us. As with any 1.0 release, one always wishes one had more time to tweak this or that before shipping the very first version of something that you’ve been working on for a long time.

With this thought in mind, we proudly present MemoryMiner v 1.1 for Windows. The most visible change is a very sophisticated library exchange mechanism. In the File menu, you now have two new menu items, namely Import and Export which, d’uh, let you do just that: import and export selected portions of your library. In both cases, the file format (.mlz) is a single file (which is actually a zip file) containing the database, all the photo files, all the thumbnails, and any attachments. Because it’s a single file, it’s easy to transfer (by attaching to an email message, or using file transfer services such as Pando. This format is of course compatible with the Mac version of MemoryMiner, and so is a great way to share work among family and friends.

What’s so cool about the export side is that you can optionally scale the photos, which means the resulting library file can be made much smaller than if you included the full size image. What’s even cooler about the import side is that you can intelligently merge the contents of one library with another, with full control of handling duplicate people and places.

You can see how the import/export mechanism works in these two screen movies (Quicktime required):

Mac to Windows Library Exchange

Windows to Mac Library Exchange

This release is a free upgrade for all MemoryMiner Windows users, and is available at these URLs:

Installer for MemoryMiner only
Installer for MemoryMiner which includes .NET 3.0 framework

As always, the best place to learn all about MemoryMiner for Window is here:

http://www.memoryminer.com/windows