Monthly Archives: November 2012

The Personal Cloud Computer


November 26, 2012 at 12:28 pm (7 Comments)

This is what computers were like before PCs. (photo by phrenologist)

40 years ago the development of the Personal Computer sparked a revolution.  It took a decade for PCs to land in the home, and another decade for them to land in a majority of US homes, but it created an entire industry.  Having a computer that was yours led to generations of hackers and programmers, it created Microsoft, Apple, and led to the rise of Amazon and Google.

The PC is now in decline. In 2008 the laptop outsold the desktop, and now the tablet is eating the laptop’s lunch.  As form factors have shrunk and the Internet has become a more dominant element of most users experience, the computer you own that runs software you own and has explicit privacy is disappearing.  We store our spreadsheets and documents in Google Drive, we post our pictures on Flickr, we store our correspondence in Gmail, we chat with our friends on Facebook or Twitter.

HP TouchPad, a $500 paper weight. (photo by traferty)

No one is learning how to program on Facebook, especially when their only device is a cell phone or tablet.  It’s dangerous to store your personal pictures only in Flickr.  Your Google Drive documents and Gmail email are a clever hacker away from being in someone else’s hands.  On the internet, services dieDevices become orphans and eventually the content on them is lost.

Maybe it’s time for a new paradigm, something that preserves the hackability and ownership of the PC, but takes advantage of all the new technologies we’ve come up with in the last 40 years.  Maybe that thing is…

The Personal Cloud Computer: The essentials of single user focus, software and data ownership, but the portability, networkability and burstability of the cloud, the display flexibility of HTML5 interfaces, the hackability of linux and the flexibility of a PaaS.

So what does the Personal Cloud Computer (PC2, maybe? Let’s try it out.) look like, specifically it’s fundamental architecture, organization and software use cases?  Well, let’s start from the top…

Architecture

I think we’re looking at something like a PaaS similar to CloudFoundry, but with a UI front end like WordPress, and tuned to run apps for you, not run apps for web consumption.  You’ll access it via HTTPS, it’ll be optimized for desktop, tablet and mobile, and it’ll have API access routes for stand-alone applications or hardware devices. By default your distribution may come with a set of plugins (from the desktop metaphor, these are our programs), but no one wants to be limited to one programming language, so something like CloudFoundry makes sense.  You’ll be able to run plugins written in Java, Python, Ruby, PHP, etc.  Initially each PC2 platform creator will probably have it’s own plugin spec, but developer demand will push them towards a common, unified interface spec.

Even mongrels can be beautiful. (photo by w1n9zr0)

Logging into the UI should be as secure as possible.  Maybe we’ll use two factor authentication with bearer tokens, maybe there will be a super-secure pay-for service that holds the master password for your device.  However we do it, login needs to be safe, and lost password needs to be really, really, really difficult to hack.  Maybe you need to round up a quorum of your friends and coworkers, and by combining bits of a key you’ve given them, they can re-generate your master reset password.

WordPress has learned that software updates are a big issue, and having the update interface be as integrated and simple as possible is a huge deal.  Apple figured out that having devices live their entire lives without being tethered to a PC was an important feature.  PC2’s will need something similar.  Updates for the core platform and plugins should be easy, as secure as possible and baked in.

For memory consumption’s sake, we’ll probably follow the iOS model.  Programs only run when you’re making requests of them.  They can schedule tasks to wake themselves up with a central platform scheduler, and can run little chunks of code to check things in the background, but they don’t run continually when you’re not using them.  The core platform also provides a notification/alert hub, so if your scheduled task needs to tell you something, it can push it to you.

The interface between the core and the plugins should be network-able.  You’ll want the flexibility to run your PC2 in the cloud, but execute a program on your phone, or your house’s thermostat, or your car.  Authentication will probably be similar to Oauth, or the two factor unique password setup that Google does.  You’ll pair devices with your PC2 by entering a network identifier for your PC2 into the device, then the device will generate a random key, which you’ll punch into a devices section of your PC2 interface.  If you lose your cell phone, you can go into the PC2 interface and turn off it’s access without resetting everything.

Sharing should be baked in to the platform.  You’ll be able to grand read and write access to files, or between plugins, to other PC2 installs.  You may even share back to centralized services, or pull from centralized services like a car sharing service or traffic updates.  You could share where your car is with a city-wide traffic nexus that shares back the ability to create a route based on live traffic conditions, for instance.

Your UI would be driven like building a Facebook App.  Plugins feed UI markup from back to the PC2’s display layer, and it arranges things so the UI can be optimized for a plane of tiles style desktop UI, a tablet, or a single-tile phone UI.  You may even have baked in interface specifications for voice or visual interfaces, so you can control apps with your voice or eyeball movements in your Google Glass.

Not that kind of Metro.

Microsoft is probably tackling a bunch of these problems with Metro, or whatever it’s called today.  I’m not sure if I trust them to succeed.  These PC2 solutions would have to grow organically, defining the entire spec at once would be a recipe for disaster.  Learn the lessons, but design for simplicity.  Nobody’s going to be building Word on this platform in the first year or two.

A bunch of use cases now and over the next few years are going to be built around pay per use or subscription APIs (for facial detection in your lifestream videos, or machine translation, or whatever the next thing is).  Having a centralized billing platform for those will be important.  You’ll either have accounts with a few external services that plugins can use, or the billing and payment part will be built into the platform.  You’d have an internal provider model, so plugins would be able to discover their options without needing to know the authentication or implementation details themselves.

Utilizing cloud services would be similar to subscription APIs.  Being able to burst their CPU use or disk usage should be a service provided to plugins by the PC2.  Your thermostat should be able to request a hadoop run to churn consumption data, utility billing rates and weather forecasts once a week.  The thermostat doesn’t need to know how to spin up the hadoop cluster, but a ‘can run hadoop jobs’ component can be a part of the PC2, and it can know how to use various cloud services and be able to optimize based on price.  (I’m looking at you, Amazon EC2 spot market.)

So what do we have?  We have a base UI framework with robust integration options, strong login security, a networkable plugin interface, a centralized scheduler, integrated sharing, integrated API billing and a burstable cloud resource provider.  We’ve created a blueprint for an Operating System, something designed for the strengths of the cloud, but something very different from what we have now.  Something like Salesforce.com, but for people, not businesses.

Organization

I think there will be a bunch of companies and groups creating platforms like this.  Some will flourish, some will die.  Early adopters will bear the brunt of the pain, but they’ll put up with it for the advantages, just like they always do.  I think most of the successful groups will look like Automattic.  WordPress is an easy example to point to, they’ve done really well financially and still embrace the open source model.  They make money from their hosted solution, but you can install it yourself if you want.  I don’t worry that they’re going to hire a new VP really focused on ‘maximizing value’, and make a deal with Microsoft so their mobile UI is only optimized for Windows Phone.  I know they have an open source ethos from the top down, so I trust them.

But in the beginning someone’s going to have to start cobbling these things together into a value-providing alpha.  Will it be me?  Will it be you?

Use Cases

Like this, but… not. (photo by robinvanmourik)

It doesn’t take too much imagination to think of things that a platform like this could provide, but it takes the right combination of experience and imagination to get it off the ground.  Most of the people who would get this kind of platform are early adopters who are already involved in the cloud.  They may run VMs in a couple different clouds, they may have written integration and maintenance software.  The first programs they’re going to build will be things that the PC2 is uniquely suited for, namely tying together your internet of things, and running consuming and consolidating services.

Your PC2 may be a great place to tie all your home automation and quantified self stuff together.  You may have zigbee’s and the Nest and your Withings scale and your Expereal app and your food logger and your Fitbit.  You may like the services, but wouldn’t it be interesting to know if you walked more on days when it was cold, or what combination of exercise, travel and food intake led to your greatest happiness.  That’s data I’d want to keep long term, long after those respective companies bite the dust.  That’s a perfect PC2 application.  It’s big data for people.

The PC2 could also be a great place to host personal Weavr type bots. It’s an always-on platform that has API access, both free and paid, and the UI options mean you could get a back-channel or tweaking interface to your weavr in your car, or on your cell phone.

With Tropo or Google Voice, your PC2 could be the center of your personal message hub.  You could call your PC2 and ask it things, Siri-style, or other people could call it and you could intelligently channel them to what they need to get to.  All the audio data would live in your own cloud storage, so if you wanted to run analytics on it 5 years down the road, you could.  Hey, voice-driven twitter-style sharing with just your friends, call in, record a clip, and it gets sent to all your buddies.

Someone will eventually build an office suite for the PC2.  It will start simple, and then it will get smarter.  With easy cloud access you’ll be able to run Wolfram Alpha style processing on your data, on demand.  Once the (open source) software’s written once, everyone can use it, they just have to pay for the CPU horsepower.

The PC2 initially wouldn’t have more memory or CPU demand than a low end VM or cell phone, which means that if you didn’t want to pay for a cloud server, or had already used your free Amazon EC2 option, you could run your PC2 on, oh… a Raspberry Pi.

TL;DR

PC2’s are a response to a market opportunity, and a technological tipping point.  People need tools to thrive, and their PCs are turning into services they rent.  All the pieces are in place for a new approach, nothing new really needs to be invented.  The only thing that remains is to start writing code and see if this is something people actually want.  Of course, that’s the hardest part.

SXSW 2013 Badge Contest


November 16, 2012 at 1:12 pm (No Comments)

I’m giving away a SXSW 2013 Gold Badge to the person who has the most innovative idea about how a person could use the cloud.  The contest is open till midnight November 25th, so you can talk to your family and friends over Thanksgiving, come up with some great ideas, and maybe get a chance to see Elon Musk, Joi Ito, Nate Silver and many others at SXSW Interactive and Film, 2013.

SXSW 2013 Personal Cloud Contest

(The contest is now closed.)

Markov Chaining at 3 AM


November 16, 2012 at 3:17 am (No Comments)

You know those nights when you get an idea just as you’re going to bed, and it’s a fight to decide whether to try and sleep or to get up and see if you can get it working?  Tonight I had one of those ideas.  Specifically, I was thinking about creating a Markov Chain text generator where the corpus was all the emails I’d written since 1996.  Then you’d be able to load that page and see something pop out that would be somehow, kind-of, maybe like an email I would write.

Well, it turns out getting just the text you’ve typed in email is really hard, because it’s mixed in with all kinds of replies and cut and paste and signatures… suffice to say, it wasn’t going to work without some heavy manual editing.  Thankfully, it turns out I have a pretty good source of prose in the posts I made to The WELL since joining in 1997.  A few extract commands later, some python magic from shabada, and voila:

Markov Kramer

Elder Augmented Reality


November 5, 2012 at 1:02 pm (No Comments)

There’s an older gentleman who works at the Lowes near my house. He’s a fixture of the place. If you saw him walking down the street you’d either say “There goes a mountain man,” or “That guy looks like he should work at a home improvement store.” He’s a floor customer service representative, and seems as comfortable in lumber as he does in plumbing or lawn and garden. He isn’t pushy, always has an interested, kind look in his eyes. You’ll often see him explaining a pipe fitting or how to install a ceiling fan to a young couple, their eyes narrowed, their brows furrowed, nodding, furiously taking mental notes. Unfortunately, they can’t put him in their cart and take him home.

While most tasks, like installing a ceiling fan or wiring a dimmer switch, aren’t fundamentally complex, until you understand the principles they can seem arcane and risky. Lots of subject areas are like this: Computers, carpentry, construction, decorating, training your pet, arranging flowers, tracking your business expenses, creating a household budget, replacing your car’s battery, gardening, clearing a drain, hemming a skirt, the list goes on and on.

Many of these skills are taught to us by our parents, aunts and uncles, or grandparents. Some of us are lucky enough to had this introduction to a wide range of skills, or are able to call one of these experienced elders to come over when we stumble onto one we haven’t dealt with before. The less lucky of us may not have had as much time with our elders, may not have that sort of relationship with them or may not be able to call on them due to distance or passing.

I think that we have a general human need for elder advice and guidance, and I think augmented reality is going to herald a paradigm shift in serving that need.

There are a lot of people reaching retirement age around the world. A lot of them are facing the end of their planned careers whether they like to or not. They often aren’t suited to the uncertainties of the new economy, and the businesses they work for want them to step aside so younger people can take their place. Many, or even most, of them can’t afford to stop working, though, so they often end up at low paying menial jobs because they don’t have a modern skill set. They have deep knowledge and experience in a field, and they have experience explaining their field, since they often trained the generation of workers after theirs.

On the other end, there are millions of us who haven’t tackled these problems before, but will scoop up the latest gadget, are living at a very high speed, and are in love with customized, personalized, authentic experiences. We make friends with the taco truck guy, we fret about the viability of his business, and shake our heads sadly if he closes down. We want the world to work how it feels it should. Experience plus careful workmanship should equal success.

Imagine if there was a marketplace of subject matter experts. Retired or semi-retired plumbers, gardeners, electricians, mechanics, decorators, seamstresses, florists, stylists, bakers, teachers, cooks. The list could be as long as your arm. Each one of them has an iPad or a big TV and a remote (maybe both). They list their expertise and a price for their time. Maybe they fill out a profile of their work experience, ala LinkedIn.

You’re sitting at home. Suddenly the sink drain clogs, or the air conditioner stops blowing cold air, or your wife starts dropping hints about a souffle for her birthday, or your kid wants to take homemade bread to school, or you need to install a ceiling fan.

You put on your Google Glasses (or iGlasses or whatever other brand of see-through AR may exist in a year and a half), and place a quick order. You might have gotten an hour or two as a gift, maybe when you spent $500 at the home improvement store. You use a super-streamlined job-posting interface, probably speaking to it to describe your problem (lets call it a souffle), and in a few moments you have a handful of candidates who are online and available.

You hit the order button and a retired baker in some other state gets a bing-bong on their iPad. They sit down, review your profile, decide you’re a decent sort, and hit accept. You instantly see their face in the corner of your Google Glasses, and they can see what you’re seeing from the Glasses camera. They introduce themselves, you describe your problem, and you go to work together to solve it. They watch you as you work, use their iPad to draw diagrams over your vision, NFL commentator style, or shift the camera around and demonstrate with their hands.

 

Once the souffle’s in the oven, they recommend some pairings based on their experience, which you’ll get in a voice-transcribed recording of the interaction dropped in your email. You thank them, and say goodnight. You bookmark them for future reference, and leave some feedback.

It’s a win-win, you get access to subject matter experts and a real, authentic experience. They get to pass on their knowledge, and get paid for it. The technology only enhances an interaction that is already possible, but inconvenient.

Imagine if something like this was part of everyday life. You could gift your kids with a dozen hours when they go to college. You could pick up the basics of a new skill every month, entirely project based, no Dummies books collecting dust, just human interaction.

This seems like one of those no brainers. You mix Skype or Facetime, oDesk, retirees and the growth of home based businesses with the enabling technology of augmented reality, and this pops out. It’s not a matter of if, it’s a matter of when.