Human Shardable Apps: Designing for Perpetuity

Yea, not so much. (CC by jcarbaugh)
Yea, not so much. (CC by jcarbaugh)

There’s a bright orange Gowalla shirt in my closet.  There’s a sticker for Gowalla on the door of the painfully named Suburbia Torchy’s Tacos for it, exhorting you to check in.  There might even still be a Gowalla app installed on your iPhone.  But Gowalla is no more.  When it was shutting down after the team was aqui-hired by Facebook, they claimed to be working on a way to let users download their data: photos, status messages and check-ins.  That never happened.

Those of us in the web startup community don’t spend much time thinking about the legacy our applications will leave.  We rush to new technologies and platforms without a thought to what will happen when the investors pull their cash or the company pivots to selling speakers out of the back of a truck.  Just like we’ve embraced things like scalability, test suites, and code maintainability, it’s time to start taking our software legacy seriously.  It’s time to start thinking about our responsibility to our users, not as table IDs or profiles, but as human beings.

I’m as guilty of ignoring this issue as anyone.  From 2006 to 2010 I led a team at Polycot that built and hosted the Specialized Riders Club, a social network for riders of Specialized Bicycle Components gear.  We were a contract development shop, so aside from our monthly budget for hosting, we only got paid for doing big new development projects, like adding photo and video sharing or internationalization.  When we designed new features we never discussed what would become of things if the site was shut down, and we didn’t budget money for shutdown contingencies or user data exports.

When the time came to shut the site down and migrate the Riders Club to a new platform, a notification was sent out to users.  They were given a few months to archive any content from the site the old fashioned way, copy and pasting or right clicking and saving.  Then it was gone.  Admittedly the number of active users we had at the Riders Club is dwarfed by the number of users Gowalla had, but the same responsibility applies.  If we’d gotten export requests we would have pulled the data and sent it on, but we need to start thinking about the data our users entrust us with from the start.  By asking them to share their content with us, we have a responsibility to them.

Bruce Sterling talked about this in his 2010 closing talk, and Jason Scott from Archive Team and The Internet Archive had a great talk about it at dConstruct 2012, I suggest you take a listen.  Archive Team tries to collect sites that are destined for the trash heap, archiving things like Fortune City, Geocities and MobileMe.  They have a VM you can run that’ll run their automated scraper tool.  It’s a pretty cool hack, but the fact that Archive Team even has to exist is a testament to how bad we are at considering our legacy.

Historically few sites offered useful data exports, and if they did they were in a format that you’d need to write your own application to utilize.  37 Signals Basecamp had XML exports, but didn’t have an HTML option in 2009.  Facebook added a data export option in 2010, and it’s getting better, but I don’t believe it’s in an application friendly format.  Twitter is finally rolling one out for their users, but it’s been 3 months and I still can’t export mine.  Even if I have mine and you have yours, there’s no way for us to put the two together and get any networked value.  They’re designed for offline reading or data processing, not so the spirit and utility of the service can live on.

Especially as web applications get more dynamic and collaborative, I think we might need to start thinking in terms of giving users the option to have an program to interactively use, or even a program which can utilize multiple data exports to create a mini-version of the site.  If your application’s simple, then maybe a stripped down python or ruby application that you can access with a web browser.  If your application’s complex, then maybe an i386 based VM.  Spin it up, it has a complete site environment on it which can import the data exports from your live site.  Maybe even import as many data exports as you have access to.  You should already have something like this to get your developers up to speed quickly, it shouldn’t be too hard to repurpose it for users.  You may say, “But my code is proprietary, why would I want to share it,” but most sites don’t really do anything special in software.  Gowalla might have had a unique ranking algorithm, but you can pull that out of a public release.  If your code is so terrible that you wouldn’t want it up on Github, you have other problems, but don’t let that stop you.  Bad code is better than no code.  When you start a project, make an implicit pact with your users.  They’ll take care of you if you take care of them.

In Aaron Cope’s time pixels keynote at the New Zealand National Digital Forum he talks about downloading archives of his Flickr photos with a project of his called Parallel Flickr (here’s the related conference talk and blog post), and the idea that maybe if we could download our contacts photos, perhaps it would be possible to re-assemble a useful web of photos when (inevitably) Flickr goes away.  That’s great, but it shouldn’t be left to users to build this code.  As web application developers, we should encourage this.  When you build a client application, give it the ability to use an alternate API endpoint.  That way if your site shuts down and your domain goes away, people can connect it to another host.  Or they can run their application through a private API middleware which archives things they want to keep private away from your service.

Eventually your site’s going to go away, and no matter how much lead time you give people, some day your funding will run out and there won’t be a site to host an export button anymore.  If your site is social, like MySpace or Facebook, is the data has inherent privacy concerns.  You can’t post an archive of all of Facebook or MySpace for people to download.  There are private messages, photos, comments and all kinds of other secure stuff in there.  But knowing this is going to be an issue, maybe we could create a standard method for authenticating sites users and bundling user data.  We could setup archive.org or some other site with enough ongoing donations (kind of like how the Federal Deposit Insurance Commission works) to store all the data for ever, and provide a self-service way to authenticate yourself and get at it.  Maybe a volunteer team to allow children and loved ones to download a deceased relatives data, or to help people who’ve lost access to the email addresses they had.

My birth mom kept a paper diary her entire life, and after she passed away from breast cancer the diaries passed down to her kids.  The family got together at our house last month, and tidbits of information from her diaries were mentioned several times, by my brother’s girlfriend who never even had a chance to meet her.  Imagine if my mom had thought, “Oh, I’ll just use Gowalla to log what I do every day.”  Her future daughter-in-law (hint, hint, Don) would never had the chance to know her in her own words.

Developers of the world, that’s the mandate.  Build your applications with their post-shutdown legacy in mind.  We need to consider it at every step in our development process, just like we consider deployment, usability and scalability.  We need to start building mechanisms for users to maintain their data without us before the money runs out.  We need user-centric exports built into the system from the start.  We need a way for users to get access to that data even when the site hosting the export button disappears.  We need all this so we can build the future with a clear conscience, knowing we’re leaving a legacy we can be proud of.

P.S. If you’re building legacy tools into your codebase, or know of someone who’s doing a really good job of this, leave me a comment.  I’d love to put up a post of real-world examples and pointers.

Update 1: Aaron Cope has an excellent talk/blog post on this topic as it relates to flickr, explaining in eloquent detail the trials and concerns as someone who’s built a shardable version of a major social service.  You can (should) read it here.

Book Review: Love is Strange (A Paranormal Romance) by Bruce Sterling

coversterling_sito1In his 2009 SXSW closing keynote Bruce Sterling said that he thought his latest book, The Caryatids, would be the last book of its kind.  The Kindle and its ilk were going to kill the hardcover.  He handed out copies to the kids.  It’s was a very fin de siècle sort of thing.  It’s now 2013, and Bruce has a new book out, Love is Strange (A Paranormal Romance), and it’s only available on the Kindle.  The future is what you make it.

Love is Strange is a story about two Futurists, her an Italian by way of Brazil, him a Seattle startup accountant geek.  They meet at a futurist conference in Capri, and proceed to fall in love.  Terrible, fraught, cinematic love.  The book reads very much like a self-aware 60’s gonzo romantic comedy about an American visiting Europe.  Things happen because they are fun, things work out because they make you happy to read about, and the only suspenseful conflicts are in the characters hearts.  The novel’s soaked in the 2009 era, women like Carla Bruni and the post-election Sarah Palin are recurring themes.  The Italian heroine is oh so very cinematically Italian.  She is Adorably Fraught With Concerns And Drama!

Readers and critics like to make connections between creators and their life situations.  Oh, this character is really that person, and he wrote this because of that.  It’s hard not to see that in this book.  In 2005 Bruce married Jasmina Tesanović, a very inspiring, out there Serbian futurist translator.  (She’s very nice, by the way.)  Bruce started spending a lot of time in Europe, a lot of time being less of a novelist and more of a futurist.  It wouldn’t be much of a stretch to imagine this book as a happy ode to their sort of romance.

Love is Strange isn’t a quick read.  It’s mostly dialog, lots of gushy romanic Italian dialog.  There’s a lot of Italian and Portuguese in it, with helpful translations at the end of chapters.  It’s a very charming book, and maybe a glimpse of a new more positive Bruce Sterling that’s been showing up recently.

Love is Strange is an easy recommendation to make If any of what I’ve described sounds appealing.  Love is Strange executes it well, and the end nicely wraps the package in a voodoo bow.

 

Dust Bunnies goes Open Source

A few years ago I started working on a massively personalized children’s storybook called Dust Bunnies for the iPhone and iPad.  One of my friends, Deanna Roy agreed to write and narrate it, another friend Lisa Merry designed some adorable characters for it, and I found a bunch of really good programmers and artists to actually produce the thing.  We documented the development of Dust Bunnies, if you’d like to know more about how it came to be.  We eventually released it onto the Apple App Store, and while it sold a few copies, like most iOS applications that live in the long tail, it didn’t pop.  A lot of talented people spent a lot of time on Dust Bunnies.  To honor their work and in the spirit of Aaron Swartz, I’ve decided to release the engine code under an Apache 2.0 license, and release the artwork under an international Creative Commons Attribution NonCommercial ShareAlike license.  I really hope that people will mash it up, remix it and use it to create new wonderful things.

You can read all about Bunny Engine and the Dust Bunnies art here.  The Bunny Engine source code and Dust Bunnies Art live on github.

sc2_final

Adventure Time as Inspiration for Future Engineers

It's a truck.  I think.
My sister-in-law.  She’s holding a truck. I think.

My sister-in-law is 8 years old, and loves Adventure Time.  We spend a fair amount of time hanging out, which means I’ve seen a fair amount of Adventure Time, too.  I spend a lot of time thinking about future technologies: companion software bots, augmented reality, enveloping story universes.  A few months ago it struck me that Adventure Time and The Amazing World of Gumball are really effective at teaching the fundamentals of what life will be like in the future, assuming AR and bot trends continue like they have.  I’m sure it’s inadvertent, but by mashing up the media from their youth with current technology and idioms, the creators have produced really compelling content that predicts the future.

Augmented Reality, specifically additive AR where you wear glasses that display images laid over the real world, is looking like the next innovation frontier after the cell phone.  (There isn’t much innovation going on in the cell phone space that isn’t incrementally smaller, lighter, faster, or is really a cloud software innovation.)  You have a set of glasses wirelessly connected to the internet that have cameras and some intelligent software that detects objects or interprets landscape positions and can then project images into your eyeballs appropriately.  Mix that with some cloud based software bot friends, and you get a view that might look something like this:

gumball

Speaking of software bot friends, Adventure Time does a great job of showing what a personal bot might be like.  Finn’s a human, the relatable entity in the story, but his best friend Jake is a talking dog who can stretch to nearly any shape (easy in AR) and knows all kinds of esoteric information about the strange world Finn finds himself in.  Like, I don’t know, he has access to the Internet or something.  The entire world is magical and gamified in a cell shaded way.  You need exercise, why doesn’t Jake (your cloud based software buddy) take you on an adventure to the world of the Tree People (walk to the park), where you can show off your awesome adventuring skills (climb the monkeybars).

adventure_time

By defining an aesthetic for what cool things look like and what fun experiences are, the creators of these shows are guiding what our future will actually look like.  The kids watching these shows who grow up to design and build technology will be more likely to make this AR future, because it speaks to what originally inspired them, and the rest will fundamentally understand it, because the inspiration was part of their experience.

Fiasco: Bad Beans

Most gamers I know tend to collect unplayed games.  We buy them with the greatest intentions, but then they sit, unplayed, often unread.  Fiasco is a great game, a collaborative storytelling game about people with powerful ambitions but poor impulse control.  We finally got to play it tonight and had a great time.  For your enjoyment, here’s a rundown of our little adventure in Beatrice, Nebraska.  It was a real fiasco.

Continue reading “Fiasco: Bad Beans”

Remembering Aaron Swartz (1986 – 2013)

Aaron Swartz took his own life yesterday.  Today, the Internet mourns, or at least, the parts of the Internet who were aware of him.  Nearly everyone online is touched by his work, but most will be oblivious to his passing.  It’s starkest on Twitter, where half of the tweets I read are about Aaron, and half are from people who haven’t a clue.

I met Aaron in 2003, at the SXSW EFF party Polycot co-sponsored and organized.  The idea that a non-profit and a 3 person web development company could book a club a block away from the Austin Convention Center for a SXSW party shows you how long ago that was.  Aaron was speaking about Creative Commons at SXSW that year.  I forget how, but we somehow ended up running around together, trying to get the DSL working at the club (we ended up driving to another Polycot’s apartment and snarfing a router, because Texture’s was locked down).

Aaron would have been 16 or 17 at the time, and I remember him hauling around a backpack with his laptop in it that was nearly bigger than him.  Aaron was a prodigy, you could tell by being around him that he lived on finding solutions to problems.  He was the kind of person you sometimes wish you were, motivated, energetic, brilliant, but also wish you weren’t, because the prospect of it can be terrifying.  I wasn’t surprised when he went on to contribute to reddit, and start his data freedom and political justice efforts.  He was that kind of guy.

Aaron ran into trouble with the law a few years ago, after dropping a laptop into a data closet at MIT and snarfing down a couple million documents from the pay-per-access Scientific and Academic Journal Archive JSTOR, with the intent of uploading them freely on the internet.  JSTOR declined to prosecute, but Carmen Ortiz, the US Attorney for Massachusetts decided to push ahead, charging Aaron with a felony which held a maximum penalty of 35 years in prison and a million dollar fine.  The expert witness in the case has some notes.  Aaron fell into some pretty deep depression, as freedom loving, introspective intellectuals are prone to, and in the end, took his own life.

This is where Aaron’s story and mine start to mirror each other.  Before I got out of my teens, I had my own run in with our nation’s legal system, though mine was more tech business related than internet freedom related.  I did something I felt at the time was just, and then faced the possibility of consequences.  I can certainly sympathize with the feeling of helplessness you get.  Introspective nerds aren’t used to the criminal justice system, and we aren’t used to systems where we don’t understand anything and are unable to make any change.  In a computer system or a network you can learn, fix, and modify.  The justice system, likely for most of us, just exists as a giant monolithic machine that chews people up.  The prospect of getting caught up in a machine like that is terrifying, not to mention just losing a giant chunk of your life and becoming a societal outcast.  This can weigh heavily on a person, especially one who thrives on solving new technical problems and feels themselves on the side of freedom and justice.  With technology Aaron had agency, he had some power, but even with high profile friends, facing the machinations of the state, he felt he had no recourse.

We all also like to think we’re good people, we hold doors for people, we make room for people in traffic, we pay our taxes, we vote.  When we get a chance, we strive to do the right thing.  When you’re accused of a crime, especially when you’re doing something you feel is morally right, that can be crushing.  Suddenly society looks different.  You are, at least in some way, a bad person.  You’ve been separated from society, pushed out of the public body like a virus or thorn.  It isn’t implicit in every interaction, but you feel it, and it lingers there, at the back of your mind.  It takes a long time for that to go away, and in the mean time, if you’re prone to depression, things can get very dark.

In the end, Aaron’s storyline and mine diverge.  The charges against me were dropped, and after a few years of legal wrangling where everyone’s lawyers made some good money but the participants just had sleepless nights, the entire thing was settled out of court.  In the end, life goes on.  Lesson learned.  No black marks, no permanent damage, no ticking the ‘convicted of a felony’ box on forms.

Aaron was facing more than that for a more righteous cause, and it got the better of him.  In the end we all lose, even the state attempting to impose justice.  People like to think that they want freedom and justice, that they’d strive for it and fight for it if they had reason and opportunity, but the price is high, and we are all too comfortable.

Tim Berners-Lee posted this:

Aaron dead.
World wanderers, we have lost a wise elder.
Hackers for right, we are one down.
Parents all, we have lost a child. Let us weep.

Kurzweil, Bot AI and the GoogleBoard

A few weeks ago it was revealed that Ray Kurzweil, pioneer of OCR, speech recognition and AI assistance tools, had joined Google to work on machine learning and language processing projects. My initial reactions were excitement (Google knows the time is ripe for this to happen), cynicism (big name matchups like this rarely work out like they’re supposed to), and last night, during a 12 hour drive from Santa Fe to Austin, curious speculation.

These days it’s rare to truly disconnect. We have the internet floating through the air at home, swirling around our mobile devices as we drive around town. Even in remote places we can read ebooks or listen to our music. When you’re driving through the lonely landscape of New Mexico at 11pm on a Saturday night, with a car full of sleeping people… technology leaves you to your imagination.  So here’s my take on where a Google/Kurzweil mashup may take us.

The Stacks

Google’s an amazing company. I’m a die hard Apple product user, but even I realize that Google’s better positioned for the next 50 years. They’ve spent the last 15 years assembling a mindbogglingly good technology base. While Apple has been great at forecasting what people will use and making beautiful, easy to use versions of that, Google has spent the last 15 years figuring out what impact technology’s going to have on peoples lives, and building all the foundational technologies to make it happen. They’ve spent a ton of money and time building technologies that are hard to replicate.

There’s been a lot of talk recently about the five stacks: Amazon, Apple, Microsoft, Google and Facebook. They like to wrap you up in their ecosystems, but in reality, Google’s the only one doing the whole thing.

Amazon doesn’t have a real search option, and generally don’t do deep technology development. They’re a lot like Facebook in this regard, they’re agile, but not deep. They can give you a social experience, but they can’t really make your life better, only full of more content (Amazon) or better connected to your friends (Facebook).

Microsoft’s having trouble staying relevant, and while they have a good foothold in the living room, mobile’s abysmal and nobody gets Windows 8. I don’t think they really have a vision for where they want to be as a company in 10 years. They just want people to keep buying Office.

So that leaves us with Apple and Google. Apple has great product design, but they aren’t a deep software technology company. They can design great experiences, but that’s only an advantage for so long. If someone else offers a device that fundamentally does something they can’t match, that someone else (Google) can eventually catch up in design and ease of use. Just look at Google’s Maps app for iOS. Not a skeuomorph to be found. I think Android’s still too complicated for my parents, but it’s obviously getting better.

So we’re left with Google. They have a great technology foundation, gobs of really smart people, and more and more experience making what they build easy to use. And now they’ve hired Ray Kurzweil. Why? Because they want to leverage all this amazing technology they’ve built to be your life AI assistant.

The Predictive Technologies

Lets look at some technologies that Google’s built that will eventually be seen as the ancestors of whatever Kurzweil’s team comes up with. First, we’ll be communicating with it using our voice. Google’s been working on it’s voice technology for a while, including Google Voice Search (call a phone number, say your search, and get the results read to you), Google Voice Voicemail Transcription, Youtube Automatic Video Transcription, and even Google Translate (Speak english, hear Spanish!).  Their Google Voice Search is better than Siri, in my experience.

Second, it’ll be with us everywhere (thanks to Android), and it’ll be predictive based on being continually active (thanks to Google’s massive computing capacity, and oddles of data at it’s disposal). An example of this is Google Now, but the Kurzweil version will be even better.  Google has been really smart about letting developers build cheap Android devices, but almost all of them still go back to Google for email, calendar, etc.  They’ve leveraged the market, but the customers are still theirs.

Third, it’ll reach out and touch other devices. While your phone might be your personal magic wand for the internet, it’s hard to share things on the phone screen, and there are all kinds of things we could do with larger displays. Google’s started doing this with it’s Airplay-like wireless display mirroring. The Google Nexus Q is essentially an admission that you need an easy way to share what you’re listening to when you’re with your friends. The device lets your Android device discover it and use it for output, you’re no longer limited to your android device’s speakers.

The GoogleBoard

Audio is a first step, and mirroring your entire screen is fine, but the future belongs to sharing. You want your friends to be able to come over to your house, and share their lolcat pic or funny video on your TV or other display without needing HDMI cables, or taking over the entire screen. You may want a note taking application to be displayed next to a streaming video, or you may want to play a game where everyone uses their android devices as controllers. For that, you need something smarter. You need something like… a GoogleBoard. (Thank goodness you just bought a hardware company.)

Imagine a display that fades into the environment. It may be small (a 15″ screen next to your door that notices when you walk by and shows you the weather forecast, your expected commute time and reminders) or big (a chalkboard in your kitechen or your refrigerator door). You won’t be watching movies on it, so display fidelity isn’t as important as TVs, but it can use the same production base, so they’ll be cheap. They’ll also be smart, they’ll run android like Google TV, they’ll be internet connected, but they’ll have a lot of features dedicated to sharing their screen space.

They’ll use bluetooth or nfc, they’ll probably have cameras (for google hangout/google talk video conferencing). They’ll be aware of your friends, thanks to Google’s permission system with a group blog bolted on top that’s masquerading as a social network (Google+, if you didn’t catch that). You’ll own the Google Board, and you’ll be able to say ‘everyone in my friends circle can use this’. Your friends will come over to your house, and they’ll be able to magic up a video or graphic or app on their Android device, and fling it up to the GoogleBoard, where it can use the whole thing (if it was empty), or share space with other users already using the Board. Depending on your preferences, the app may utilize the Board’s network connectivity, or the display may just be that, a display that is driven from your Android device like an X-Windows app, with all the network traffic going through your Android device’s backhaul.  Maybe Android will be smart enough that it can price-optimize it’s network traffic, using it’s own wifi when it can, your friends wifi when it’s available, or LTE as a fallback.

People love interesting information, and a GoogleBoard would be uniquely suited to provide constant global metric displays. You could have a home dashboard on one, that shows up when nobody’s using it. Your family’s pedometers and scales feed into little personal health meters on the side. ‘Dad, you should probably lay off the pringles, your avatar’s looking a little sad.’ ‘Hey, the fridge is out of milk! (and Target’s having a sale, thank you Google Ads, touch here to add it to your delivery order)’ ‘You play a lot of Kruder and Dorfmeister through your Nexus Q, and Thievery Corporation’s going to be in town, do you want tickets?’

GoogleBoard 0.1
GoogleBoard 0.1

When the GoogleBoard isn’t being used, they may use neat simple technologies to be energy efficient art displays, white boards (I’m imagining capacitive chalk markers that you can see when the Google Board is ‘off’, but are transparent when the google board is on.) They could be coffee tables or kitchen tables. You could play an RTS or card game with the rest of your family over dinner. You could watch a funny video and throw it over to the living room TV, if you really wanted everyone to see it.

Google Bot Avatars

So now that we’re all sharing these displays at once, we need a way to identify who’s who, and now that our android devices (and by extension, google activity) is exposed to other people through a Kurzweil-derived AI, maybe it becomes time to give the thing a name and an avatar. This AI Bot Avatar is your personal concierge for everything Google can offer you, you talk to it, it talks back, it lives in the cloud, but it’s snuggly at home on your phone or Google Glass device, because that only belongs to you.  It can pop it’s head up on your home display devices (your Google Boards and Google TV, or your Berg Little Printer), and it can be an invited guest on your friends Boards or Boards and computers at work or school.  Since it has a unique name, you can summon it in the car, and all your friends can use your Android-driven car bluetooth speaker system to talk to their devices and ask for their music to be played.  Or display things on the Board in the self-driving car’s ceiling.

Princess Fluffypants
Princess Fluffypants

So lets say my kid’s AI bot avatar is Princess Fluffypants, because she’s a kid and that’s how she rolls. Her AI assistant pulls in stuff from Khan Academy or Make Magazine Youtube videos (because it knows she’s interested in science, but could use some help in math), it keeps her up to date on trends, including what her friends are watching, and gives her the latest news. When she communicates with her AI bot, the bot has a personality (maybe the kid picks ‘Royal’ since Fluffypants is a Princess). Bot grooming and accessorizing becomes a thing, because the Google AI Bot has all of Google’s knowledge behind it, and can probably be programmed and modified like android apps.

My AI bot may be more serious, maybe I’m really into P. G. Wodehouse, so I have a Jeeves, and maybe Stephen Fry’s making some extra scratch by lending his voice to my avatar set. Maybe I even have multiple AI bots, since it’s weird for Jeeves to be talking to me about football or my interest in crumping (or maybe that’s hilarious). But that’s a topic for another blog post.

Application Network Portability

One requirement that this raises is the need for the applications that run your bot, or the applications your bot runs, depending on your perspective, to be network portable. You need to be able to execute code in the Google cloud, things you want to happen regularly or things that benefit from rapid access to large volumes of data, but then you also want software execution on your device, or you want to push a little applet over to a TV or GoogleBoard, since it’s inefficient to render the graphics on your phone and then push them when the display could run the app itself.  Or maybe the display reports it’s capabilities and the Phone decides whether to push the applet (the display’s fast enough for what I want) or just use it as a display (the display’s two years old, and isn’t fast enough for this application).

Lots of iOS developers (myself included) gnash their teeth when they think of the insane panoply of Android devices.  Testing software at all the resolutions, form factors, and aspect ratios is incredibly painful, but in a network transportable world, maybe that was a smart decision.  You never know where your app is going to be displayed, on a landscape 16×9 screen, in a portrait 16×9 area on a larger display, on a square car dashboard, so you design for flexibility.

The Dark Horse

So Google seems pretty well positioned here.  Amazon doesn’t seem like a serious player.  Facebook will continue to make money, but needs to branch out if they want to control more than just the social conversation.  Microsoft is chasing it’s tail, trying to stay relevant.  Apple will continue to make beautiful, amazing devices, but they may not have the technological muscle to pull off the next level of magical user experience.  Already they have to partner for their most useful features, and that isn’t a good place to be.

There’s one technology company that’s looking like it may be a dark horse entry into this technical re-invention, though, and that’s Wolfram Research.  Wolfram|Alpha powers Siri’s more complex question answering, and they’re really gung-ho on their algorithmic approach to the world.  With the amount of user generated search data they’re collecting, Wolfram|Alpha could get really good, really fast.  If you aren’t reading Stephen Wolfram’s blog, you should.  At SXSW last year he mentioned that he wanted to get Mathematica into more areas, to make it more of a foundational piece people could build on.  If Wolfram Research was able to turn Wolfram|Alpha and Mathematica into a really good open source development platform for bot and internet search applications, you could get something really powerful.

Wolfram Research is privately held, and I don’t believe that Stephen Wolfram and whoever else owns pieces of it will sell.  Any non-Google stack should be slavering to get their hands on it, but being private may keep it out of their reach.

Conclusion

Whatever comes of the Google/Kurzweil partnership, be it really interesting, a spectacular Xanadu-esque failure, or a quiet Google Labs-esque decommissioning, it’s worth paying close attention to.  The future doesn’t magically appear, people sit down and build it.  There’s nothing stopping any of the technologies I’ve mentioned from appearing in the next few years, and Google’s in a prime position to make it happen.  While a lot of it is inspired by science fiction, successful science fiction grabs the imagination like a good early adopter product should.  There aren’t many things I’d consider dropping everything to work on, and intelligent network-native bots are one of them.  When they appear they’re going to radically remake our daily life experience.

The End of the 3rd Culture Kid

I’m kind of ignorant of American pop culture.  Especially the culture of my generation.  I’ve never seen The Breakfast Club, never watched Family Ties, and haven’t listened to any significant 80’s albums.  I’m a Third Culture Kid.  Now I have a kid of my own, and when I think of her future, I realize the era of the Third Culture Kid may be coming to an end.

Me in the background of a US Military video on Rota's cub scouts.
Me in the background of a US Military video on Rota’s cub scouts.

Third Culture Kids are children who accompany their parents into another society: Military brats, missionary kids, and children of government or business families that work outside of their home country.  I was a missionary kid, with a dash of military brat, since my parents were missionaries to the military.  I grew up in Rota, Spain, from 3 or 4 years old to half way through 5th grade.  We didn’t have TV except for VHS copies of Star Wars and The Adventures of Robin Hood.  I didn’t go to public school until 4th grade, and then after leaving Spain in 5th grade, didn’t attend public school again till 7th.  That’s a lot of time out of the American culture.  I still have conversations with my wife, Irma, and she’ll mention a movie or TV show, and I have no idea what she’s talking about.

Being a Third Culture Kid has upsides and downsides.  The most obvious downside of being a TCK is that they tend to be disconnected from their ‘home’ culture.  They tend to experience culture shock on their return.  They tend to experience depression, and feel out of sync.  Third Culture Kids tend to mature faster in their teens, but experience aimlessness in their 20s.  They often resent being repatriated.  I know I did.

On the upside, TCK’s tend to be welcoming, globally aware, highly likely to earn advanced degrees, and rarely get divorced (though they tend to marry later).  TCK’s who integrate with local culture tend to be linguistically adept.

I have a 15 month old daughter, and over the next few years Irma and I will be making decisions about where to live that could result in her experiencing life as a Third Culture Kid.  As I’ve been thinking about it, though, I’ve come to realize that the Internet has remade the global landscape in such a way that Third Culture Kids won’t experience repatriation the same way I did.

The first movie I saw in a movie theater was Benji the Hunted, in 1987 at the military base theater in Rota, Spain.  Now you can watch movies in the theater in other countries even before they’re released in the US, and with some fancy internet proxy trickery, even watch Netflix and Hulu from Osan, South Korea, or Ubon, Thailand.  Heck, half of our culture is global anyway these days.  Everybody’s watching Gangnam Style and has at least heard of Harajuku.

Third Culture Kids used to have fairly rare interactions with peers in their passport countries.  Letters were rare, and never to the kids, but now with Facebook I see Halloween pictures from extended family in Mexico.  It’s become so common place that we take it for granted.  I feel silly coming up with examples, because we all experience it every day.

Of course, while kids facing re-integration into their passport culture may have some cultural touchstones, they’ll still face a challenging task.  It’s by no means easy to act like or become a native in a place you aren’t, but everyone expects you to be.  We’re more aware of the issues now, though, and at least the global distribution of the culture gives them a place to start.  I don’t think we had any repatriation support when I came home from Spain, but in the years since I’ve had book recommendations and contact from someone at my parents mission organization that’s focused on it.

So while some of the downsides of being a Third Culture Kid may be softening (the biggest remaining downside being that the US is just… well… a really boring place to come back to), the upsides are probably not.  While you can see videos and news stories from places like Thailand and Slovenia, you can never truly get the global conversation if you’ve never left your home country.  The visceral knowledge that other people do things differently and have a different perspective is invaluable.  It makes you a citizen of the globe, and in our connected but civically unstable world, that can be a great asset.

So Irma and I are weighing buying a new house and going the typical middle class route, but on the other side we’re looking at the possibility of a global life for ourselves and our kids.  In the end we’ll have to make a decision, but at least I know that if we do decide to move far, far away, in some ways it’ll turn out better for my kids than it did for me.

Patently Processed

One of the new experiences I had in 2012 was applying for a patent.  Patents are a hot topic these days, but you don’t always hear the perspective of the people doing the work.  I thought I’d share a little insight into what it’s like to go through the patent application process from the inside.

Continue reading “Patently Processed”

The Archive Project

Ideas are funny things.  Some are fleeting: You’ll be reading your twitter stream, one will pop into your head, and two tweets further it’s gone.  Sometimes you can backtrack, reconstruct your experience and get it back.  Sometimes it’s gone forever.  Other ideas stick with you.  They nestle into your brain and make a home for themselves, popping up when you read something tangentially related, or when you’re staring at the blank sheet of a new project.

For me, The Archive is that idea.

Prologue

As a kid I really loved anecdotal stories.  One of my favorites were a series of sermons told in the form of the life story of a missionary named Otto Koning, relating the lessons he learned working with a tribe in New Guinea.  Otto is a masterful storyteller, and I probably listened to the tapes dozens of times.  Hearing him describe his experiences almost made you feel like you were there, and gave a really unique insight into a time and place that would have otherwise been undocumented.

Chad and the San Marcos dialup stack (circa early 1996).

When I started working my first internet job at a small ISP in San Marcos, Texas in 1995, I began to spend a lot of time riding shotgun on tech support house calls with Chad Neff.  By now Chad has probably fixed half of the computers in San Marcos, but before he became the town’s resident Internet Guy, he had an entire career as an artist and printmaker.  You still see his work popping up on eBay, and his prints as set dressing on movies and TV shows, especially Star Trek: The Next Generation.  Chad also did a stint in the Army, in signals intelligence, plus a bunch of years in the Mounted Park Patrol and Police Reserve.  Needless to say, Chad has a lot of stories.

When Chad wasn’t telling stories, we’d brainstorm the big idea that was going to make us internet millionaires (back then being a millionaire was an impressive thing). One of the ideas that we had, probably on the way to one of San Marcos’s funeral homes (Chad designed the awning over the entrance to one of them), was the Permanent Internet Memorial.  The internet has the unique ability, compared to traditional headstones, of actually telling you something about a person that’s longer than a few sentences.  We knew back then that storage and bandwidth were just going to get cheaper, so it seemed like a logical idea: Start a company designed to last forever, and charge a one-time fee to create a permanent memorial on the web.

Needless to say, the idea didn’t go any further than that ride, but the core concept of extended longevity on the internet, mashed up with the explosion in self publishing and data driven explorable sites eventually coalesced into the idea for The Archive Project.  These ideas solidified in early 2000, and this is the concept as I had it then:

The Idea

The Archive Project is a web database for personal stories, index-able by place, theme, time, person and object.  The building block of The Archive is the story, a personal anecdote about something that happened to you.  Once you’ve created a story, you tell the system where it happened, when it happened, and you can tag other people in it.

There’s a great story behind these shoes, but the flickr page only tells a little bit of it.

Users would be able to tag people in stories that may or may not be users.  Eventually if a user signed up, they could claim all those people tags as themselves, assuming the original author validated it was really them.

I think I was designing this system before geocoders were as prevalent as they are now, because I actually requested and received a burned DVD copy of the USGS’s global gazetteer.  The idea was you’d be able to type a place name like Austin, Texas into the system and the site would be able to drop the story on a map, which you could then make precision modifications to.  With Open Street Map this is really easy, but at the time it was still something of an unknown.

When pinning a story in time, you’d be able to say broad things like The Early 50’s or Spring 1976, or burrow down to specific dates.  You’d be able to put together strands of memories into an overall story, like Our Year In Paris.

My goal was to create a site where people would be able to publish their life story, like the vanity autobiography publishers of yesteryear.  By wrapping the anecdotes that make up a life story in semantic data, you’d be able to surf through the system in what I hoped would be really interesting ways.  You’d be able to explore stories from people who lived in San Francisco in the 60s, or who migrated from the midwest to New York in the 70s, read about what it was like from an adult point of view when you were growing up.  You could read stories by people who travelled great distances when they were young, or from people who stayed in the same place their whole lives.  You’d be able to read stories about sewing machines in New York or stories about cars in Arizona.  You’d be able to find a narrative across all kinds of contexts.

Let’s record some stories.

Some stories would have associated media, photos or audio recordings or video.  It would be like a museum for the human race, the opportunities for interesting curation would be enormous.

For the authors, the people who contributed content to the site, they would know that The Archive existed solely to serve as a caretaker for their stories.  Like Wikipedia it wouldn’t be sold, and their kids and grandkids and great-grandkids could add new stories to theirs, and their contribution would be part of a permanent family history.

There’s even an opportunity to have a Real and Fictional versions of the Archive, where fans could assemble consolidated versions of their favorite stories or characters lives.  For instance, on December 18th, 2009 in Colorado, Jeff Winger had a fight with some fly dancers, and was rescued by his friends.

Imagine the mobile possibilities: You could be standing in a random location, open an Archive browser app, and read stories that happened there before.  There’s nothing stopping museums, or a place like Mount Vernon from creating stories from George Washington’s life.

The Archive Project never got beyond dreams and some rough architecture diagrams.  I knew what I wanted to build, but the scope was large and I knew it would be difficult to promote.  It would be way too easy to fail, and once you accepted your first story from a user, you would be honor bound to host the thing forever.

Present Tense

Things are a little different now.  It’s become possible to host vanity projects, even at a reasonable size, for not that much money.  Creating socially conscious organizations is easier than it was, and there’s more support.  Most importantly, though, over the last dozen years we’ve gotten really good at creating database centric social web sites without reinventing the wheel.  Personally, I learned a lot of lessons from building Specialized Bicycle Components social network, the Riders Club.  Specifically, features don’t matter if they aren’t easy to use, and in the end you’re really there to enable their use of the site, they’re not there to populate your dream.

Privacy was always a sticky wicket with the archive project.  It could be a gold mine for identity theft, mostly in enabling spear phishing social engineering, but these days the risk is less, I think, because people realize that so much of their lives are already available to people who want to know.  The reward from publishing your memories is greater than the risk of someone doing something bad with them.

Aaron Cope’s talk at the New Zealand National Digital Forum sparked some interesting thoughts about The Archive, since it’s essentially a catalog of memories.  The idea of assigning artisinal integers to each memory, and building the entire thing in a way that it can be human shardable (something I’m going to write a blog post about soon), makes a lot of sense.  Having the system be able to collate data from both a centrally hosted repository and a network of individual Archive sites that individuals could run themselves or for a group would be really powerful, and act as protection against the collapse of the central site.

I think you could prototype a version of The Archive pretty quickly these days, and I may spend part of early next year doing just that.  I think the idea is still valid, and if things like Storify have shown us anything, it’s that people crave narrative.

Conclusion

The Archive is one of those things I want to exist.  If Wikimedia had something like this already that wasn’t a wiki (I don’t think people should be able to edit others stories unless they have permission), I’d put this idea to bed.  But it hasn’t happened, and it needs to.

Interviewing my parents on video. Not everyone has this chance.

We have the technology to record and share our experiences.  We could hold on to our history, but we’re letting it slip through our fingers.  The best stories get passed on to the kids, and maybe to the grand kids, but a few generations out the person is just an entry on a family tree.  I’ve interviewed my parents on video about their lives, but I don’t have a place to put it, or best practices on how to turn it into something other people could learn from, so the project has stalled.  Individual communities have started story archiving projects, and there are Best Of or focused media collections like StoryCorps, but nobody’s taken this to the web, to make it easy for everyone.

So let’s make it happen.  If you’re interested in working on The Archive, if you have thoughts or ideas, or if you know of a project like it that already exists, drop me a line.