Remote Workers and Corporate Culture


February 27, 2013 at 4:23 pm (2 Comments)

Garage DoorsOn the second floor of a generic office building complex in Fort Collins, Colorado, there’s a nearly life-sized photo of a garage.  There isn’t a sign, or a label, but everyone who works in that generic office building knows what that garage is and what it represents.  The photo is there to remind people who walk by it every day who they are and the legacy they have inherited.  The garage that photo is of is located 943 miles away in Palo Alto, California.  That garage is the birthplace of silicon valley.

There’s been a lot of discussion lately about Yahoo’s memo to remote workers announcing the end of work-from-home arrangements.  There are plenty of passionate responses against this move, mostly citing figures about remote workers being more productive, putting in more hours, working with fewer distractions.  Most of the people supporting Yahoo! cite their possible lost employee percentage, org chart orphans like Milton in Office Space.  But some focus on the culture, and that’s where I think the crux of the issue may lie.

It’s really, really, really hard to drive a spontaneous, passionate corporate culture in a distributed group, especially a really large one.  While companies like 37 Signals, who get to pick out specific personality fits when they hire, claim to be able to do it, I don’t think just anyone can.

The Whole Foods C-Suite Hallway, 2000

The Whole Foods C-Suite Hallway, 2000

I started working for Whole Foods Market in 1999, and while I was never a real employee, I spent a lot of my time there until we started Polycot in 2001.  During those years I did a lot of dropping in and chatting with the people I was building software for, and I learned a lot about the grocery business, store promotions pricing, the culture differences between organically grown and acquired regions, employee compensation systems, and the difficulty of sourcing and maintaining wide format dot matrix printers.

Towards the end our VPN access was becoming fairly robust, and I was getting really good at solving problems in ways that wouldn’t require me to sit at a desk for 8 hours a day, so I started working from home.  First it was a day or two a week, then became nearly all the time.  As time went by Whole Foods changed, and I wasn’t there to see it.  I still got the site-wide emails, but not being in the office regularly put me fundamentally out of the loop, and after a while I was a stranger.

Polycot Office 1.0

Polycot Office 1.0

At Polycot we really wanted to have an office, we had a dream of collaboration, long nights dreaming up great ideas, having those spontaneous conversations that can only occur in person, not over email.  Unfortunately we weren’t all located in the same town, and maintaining an office is an expensive proposition, so we eventually shut it down.  A few years later we re-opened in a sub-leased space at Enspire Learning, and then moved to the final Polycot office.  Working together in the same space was great, but we’d already built a culture between the founders of working remotely, and we were all introverts.  We had some good times at the office, but the culture never gelled like it might have if we’d started there and made it one of our founding principles.  Eventually people moved on, and in the end it was just two of us in the back.  At that point it was easier to work remote, and doing so was pretty much the death-knell for any spontaneously creative projects.

Companies work hard to build their corporate culture.  It’s what separates HP from Apple from IBM from Dell from Microsoft.  When you hire a remote worker, and that worker’s primary communications are through text chat or monthly phone calls, it’s really easy for that worker to just be an anonymous cog in a machine.  Their horizons may only extend to their immediate team, there are no spontaneous interactions with other groups, no hallway conversations that you randomly get sucked into.

I joined HP in 2010, and I’ve always been a remote worker.  Our Austin site for most of that time has been a big data center in a remote part of town, not the kind of place that inspires you to feel like part of a legacy, or inspires you to come up with great, creative ideas.  Our specific team is more than half remote, spread across 4 time zones and two countries, and while that gives us a lot of independence from the corporate bureaucracy and daily commute, I bet if you asked some of the newer folks what it meant to be an HPer, they wouldn’t have an answer.

A month ago my team had a face to face in Fort Collins.  It’s the kind of thing the accountants scream about, flying 20 people in from across the country (and beyond) to sit in a big room for three days.  If you’re going to have spontaneous conversations, though, that’s what you have to do.  If you’re going to dream up new things and get the real value of all the smart people you’ve hired, sometimes you have to put them in the same room.

Fort Collins

At one of our first team face to faces two engineers got together and nearly completely rebuilt a product in an afternoon.  They both had pieces to the puzzle, but neither of them knew it.  If every conversation they had over chat was about today’s deliverables or sprint planning, it never would have happened.

The most valuable thing for me, though, was walking by that photo of the garage on the way to lunch.  Because next to that photo of the garage, in a quiet hallway, was this.

Scanjet

That’s an HP ScanJet IIc, the first color scanner HP made, back in 1991.  It’s signed by the development team, a bunch of people who got together and carried on the tradition of inventing new stuff, the tradition that traces all the way back to the HP 200A Oscillator that Bill Hewlett and Dave Packard built in that Palo Alto garage.

The role of companies is the same as the role of countries and schools and institutions: Beyond their day to day services, they give us a foundation to stand on, a legacy of people behind us, who worked and strived to do the next thing, and do it better.  They cloak us in story, in myth and history, and they inspire us to do the next thing.  The greatest challenge we have going forward, as the panopticon gobbles us up, our tools dehumanize us, and the homogeneity of Facebook smushes us into an ad-targeted paste, is how we maintain that legacy: How we keep telling ourselves that story to inspire us to do more than be a cog in a machine, or a metered metric of lines of code committed.  Because in the end that’s what we want.  We want to be part of the story.

Agents vs Operatives (aka Spy Break)


February 23, 2013 at 4:37 pm (No Comments)

spybreaklogoBack in 2008 when I was a managing partner at Polycot, we had an idea for a Facebook game.  I’ve always loved the spy genre, and it didn’t seem well represented, so we spent a few months of idle time writing up specifications, prototyping screens and mapping out how the application would work.  After it became obvious we didn’t have the budget to develop or launch the game, we shelved the project.  In the spirit of sharing ideas, here’s a glimpse inside the first phase of a game project.

Back Story

Agents vs Operatives, or Spybreak as it might have been known if it had reached the light of day, was a Facebook game.  Our setup was that players had been recruited as either Agents (good guys) or Operatives (bad guys) by competing cold war era organizations:

GALAXY - Global Alliance Limiting Aggressive Xenophobic sYndicates

and…

KOSMOS - Kommitte Over Sabotage and Mayhem, Overseas Services

Our design theme was inspired heavily by the early Bond films, the Flint films, Get Smart, and the fantastic game No One Lives Forever.

The Game Experience

UI Comp

User Interface Comp

The spy genre gives us a nice set of tools to make a game with.  There’s a spy (the player), bad guys and traps (obstacles), cool items (inventory), and exotic locations (setting).  I’d played a lot of Kingdom of Loathing, which has a similar set of elements, though KoL is an extremely silly parody of the fantasy genre.  We wanted AVO to be wry and funny, but not silly.  Like NOLF in theme, but KoL in experience, if you will.

When you’re developing a game you have to think about how people will play, and design a game to suit it.  Facebook games need to be playable in small chunks, though you may have a lot of time to burn, not everyone does.  We wanted a game you could play a mission or two of over your coffee break, and feel like you’d accomplished something.

We had three classes in the game: Muscle, Tech and Spook.  Tech characters would be able to crack security systems and take shortcuts while spooks would be able to use disguises or sweet talk their way around bad guys.  Muscle characters would just fight their way from one end to the other.

We decided on a mission setup where the player worked their way through a random arrangement of rooms (a dungeon) populated by randomly generated but thematically appropriate bad guys (monsters), trying to get to a goal, be it a safe with documents in it, a piece of stolen technology, or what have you (treasure).  We wanted to have at least a selection of classes available who would have different experiences, so we added the idea of optional routes that you could only get to if you had certain skills.  Here’s what we were shooting for with our random dungeon generator:

Test Dungeon Outline

When you started a mission you’d be dropped in a mission start area, like a square outside of a museum or a back alley behind a warehouse.  We had a selection of areas, in which we’d create some generic room types.  For instance the museum area would have a loading dock, an atrium, a long hallway, a display room, a break room, etc.  The game would put together a random arrangement of these areas when the mission was started, so each mission would feel a little different.  We also wanted some thematic variety, so we came up with the idea of having theme sets for areas.  For a museum you might have a cephalopod museum, a historic losers museum, a doll sized furniture museum, etc.  We’d differentiate these by substituting description phrases in the generic room descriptions, so the room might be:

You’re standing in yet another hallway. Marble columns arch from floor to ceiling evenly along the length of the hall. Security cameras sit high in the corners %instance_variable. The floors are spotless, shining in the glow of incandescent lamps set into small alcoves. A threadbare rug extends the length of the hall.

There is %roomlib_title here.

Assuming this was a Cephalopod Museum, into that we would substitute an instance variable like ‘above seashell sconces’ and the roomlib title would be ‘an angry-looking octopus’.

Those who have money do art, those who don’t have money do text.  Fortunately with layered graphics we figured we’d be able to create generic room backgrounds and then drop unique sprites on top of them as we had money to pay artists.

The rooms would be populated by thematically appropriate bad guys, and to proceed through the room you’d need to defeat or incapacitate them.  You’d get equipment for completing missions or helping out your friends, so you’d have leveled guns or grenades or disguises, if you were a spook.  Get through all the rooms and you successfully complete the mission.

Mission SelectionAs a Facebook game, you need to limit the amount of content and progression players can burn through in a sitting.  Otherwise, assuming your game is fun, they’ll burn through all your content in one sitting and then be done with it.  We planned on doing that by limiting the missions available to players.  We’d have low-value missions available regularly throughout the day that were only available for a set time (like the next 3 hours), and daily missions that were high value that were available all day.  You’d be able to help out your Facebook friends who were playing the game by sending them access to mid-value missions.

We also had the concept of multi-player missions, so the reward wouldn’t unlock unless all of the players who agreed for the mission completed it within the set time.  Since we were allowing good guys and bad guys, you’d also be able to PvP with other players, though we didn’t prototype that too heavily.

Over time you’d level up, gaining the ability to go on multi-player missions, go on missions in cities other than your home city.  We’d differentiate cities with unique areas and unique variables, so Paris might have a Stinky Cheese museum and cathedrals while Los Angeles might have a Plastic Surgery Parts warehouse and movie sets.

A Tragic Fate

In the end we didn’t get beyond a simple web demonstration without enemies that Ethan built in rails.  As a consulting shop we’d have had to finance it with profits from other projects, and since everyone had bills to pay, those profits never stayed around for long.  Not having a graphic designer on staff also meant we’d have to pay other folks to do a lot of work, which became a major stumbling block.  We probably could have repurposed this idea for an iPhone game, but by the time that platform was ripe we had other ideas to try.

I’ve uploaded a bunch of design documents to github, if you’d like to check out more.  Maybe someone will take the idea and run with it.  It’s still a game I want to play.

Experiencing TEDxAustin 2013: FearLess


February 10, 2013 at 10:58 am (One Comment)

Yesterday I was lucky enough to attend TEDxAustin, the fourth independent TED event here in town.  I’d applied to attend before, but this year I finally made the cut.  If you’re interested in what it’s like to go to a TEDx event, hopefully this post will shed some light.  If you’d like to watch the presentations check out TEDxAustin.com or their archived livestream.

Continue reading

Human Shardable Apps: Designing for Perpetuity


February 4, 2013 at 10:56 am (No Comments)
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


January 30, 2013 at 1:42 pm (No Comments)

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


January 29, 2013 at 6:08 pm (No Comments)

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


January 24, 2013 at 3:28 pm (One Comment)
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


January 16, 2013 at 10:34 pm (One Comment)

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

Remembering Aaron Swartz (1986 – 2013)


January 12, 2013 at 3:42 pm (2 Comments)

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


January 7, 2013 at 10:58 am (3 Comments)

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.