Owning your data is cool – but having your own awesome site is cooler

June 7, 2013 | Leave a comment

This post was originally published over on werd.io, my idno-powered site, where I’m hosting all of my new posts and social media updates.

There’s been a lot of news stories lately about how technology companies like Google, Apple, Microsoft and Yahoo! may or may not be giving your data to the NSA. They deny it, news outlets confirm it and it’s hard to tell what’s real and what isn’t real.

Whatever your political views, or whether you think government entities should be able to snoop on your phone and electronic communications, it’s hard to argue that the sheen hasn’t come off the consumer Internet industry. As the economist Umair Haque said earlier today:

The large online services have created a world where, despite the breadth of software’s possibilities, the scope of our communications are limited. On Facebook, you can post status updates, links, photos and videos; on Google+, you can post status updates, links, photos and videos. What if you want to post a game, or an interactive multimedia presentation, or a live graph connected to real-time data?

Those things are hard for centralized services, because they’ve got to concentrate on common denominator forms of content – like status updates and photos – but they’re much easier when you control your own site. If you could install your own publishing app as easily as an app on your phone, and then add new ways of posting stuff to that site just as easily, suddenly you would be able to make your presence on the web your own. And you could let other people in – you could create online communities that fit your needs, rather than bending your communities around the limits of a Facebook group or a mailing list.

That’s what inspired me to start working on idno, and these are some of the ideas that inspired other people in a community of developers called the #indieweb to build their own sites and platforms. We don’t believe in treating people as data points; we believe in user-centered software for individuals. Software that you control.

#idno will be available to install onto your own site later this month; a turnkey hosted version will follow. In the meantime, if you’re a developer, you can check out Idno on GitHub, or some of the other IndieWeb projects out there.

Won’t you join us?

werd.io and idno

May 31, 2013 | 1 comment

werd.io publishing screenI’m posting over at werd.io, a site I’ve set up based on my idno software.

I wrote a short technical introduction to the platform:

idno is a personal attempt at building a publishing platform that adheres to IndieWeb principles: own your own data, publish on your own site, use existing social websites for dissemination but not as an origin. I’ve also tried to use microformats where possible, allowing every page to contain lightweight semantic information, as well as making it skinnable, extensible, and social.

Right now I’m using it as a blog, but the intention is that it could power a whole community, or set of communities. It certainly has the back-end functionality and APIs to do so, and I’ll be writing more about those as time goes on. It’s not immediately obvious unless you’re logged in, but idno has a full plugin system, which allows anyone to write new content types, and syndicate to new sites. (For example, two existing non-core plugins push to Twitter and Facebook, depending on the Activity Streams object type of the content you’re posting.) Access permissions are also baked right into the data model, so you’ll be able to keep non-public content, and share it in a federated way.

I’m pretty excited about it – but I’m also just enjoying posting to it. It’s a breeze. I’ll be opening a community site based on the platform soon, so stay tuned – or take a peek at the GitHub repository.

Mobile devices as keys to your personal cloud

April 30, 2013 | 1 comment

Jotting down some quick notes for something to consider: mobile devices as proxies that redirect content types to services as required, cacheing data on its way to / from the Internet.

Some properties and use cases:

  • I take a picture, and my mobile device knows about the services I use that accept photos, and can upload to them automatically when I get a connection. My mobile device has a camera built in, but I can also push from my professional camera to it.
  • I place my mobile device onto a PC to log into it (I may have to authenticate on both devices). My preferences are downloaded from the Internet if I have a connection, or retrieved from the cache if I don’t. I can then save my documents to my mobile device seamlessly, which in turn will push to the Internet when I have a connection.
  • I can install new services as easily as installing an app on my device.
  • I can configure my services as easily as the settings on my device.
  • The interfaces between my device and the outside world are standard. So, for example, to push a photo, my external camera just needs to know about the “pushing data” API; it doesn’t need or want to know that my photos are being synchronized with Dropbox and my home server.
  • Services like identity and storage are interacted with through abstract interfaces. However, my mobile device is not required: one of my Internet services can speak to another one of my Internet services through the same interface standard, even if my device is off. Feeds of data are also provided through those interfaces.
  • My most recently-used data is always stored on my device for easy access.
  • My mobile device is actually an interface to a proxy for all my cloud services, and I get to control everything I do on the Internet through that proxy. Different devices have different networking capabilities, like NFC and Bluetooth, but the API interfaces remain standard.
  • Because that proxy also exists on the Internet, I can buy a new device and connect it to my identity at any time. I can maintain multiple devices. And I can reconfigure my services to point to a different proxy if I want to change providers.

Mobile devices become your gateway to personal computing, and help blur the lines between local and cloud. Everything is accessed through the same interface; your mobile device has enough storage and intelligence to understand how to deal with the different contexts in which it is used.

Just a thought.

Imagine this: identity computing

October 25, 2012 | Leave a comment

I originally wrote this over on Google+.

I’m sat at my laptop, which has a monitor attached via a digital connection. On the other side of my desk is my phone, and a tablet.

That’s the setup I actually have right now, as I’m writing this. But all these devices (monitor aside) are connected to the Internet, rather than each other. And they’re mostly incompatible. What if they all knew about each other in relation to each other’s position? And what if they were part of one big, decentralized, identity-aware system?

I pull up my email, and with one mid-air gesture – swipe – it swooshes across to my second monitor. I grab a document, and with another gesture – swipe – it lands on my tablet. Finally, I take the project I’m working on, for example source code in an IDE, and with another gesture – swipe – it’s on my phone.

They’re all talking to each other as a mesh network, and because they’re all my devices, I can move applications to them with no problem, my computer and datastore always acting as the central hub, with authentication handled through my saved identity information.

Then you walk up holding a device (a phone, or a tablet), and I want to share that document with you. Swipe, thumbs up – after a gesture and a confirmation by both of us, you have the information running on your screen. I might revoke it later, but for now, you can read it and make suggestions. (And no, that thumbs up isn’t the default gesture, but I’m a cheeseball, and I like giving my data the thumbs up.)

You walk away, and your device switches seamless from the proximity mesh network to using the Internet to access the data and keep it synchronized. I decide to go for lunch, so I pick up my phone. My other devices lock down. While I’m at lunch, I can still check out all my data and applications through my phone, using my Internet connection. And as I walk back to my desk, my other devices unlock. I see that my colleague has used my laptop while I was away, but that’s cool; it will have used their phone as their identity, and they will have seen their own applications and data. In fact, these days I use my phone to authenticate everywhere – although I can choose any one of my devices to be my primary identity. I can pick a couple as secondaries, too, and I can always nominate a new primary if I lose or change my phone. And of course, this is my work ID; I can flip over to my personal ID, or a pseudonymous ID, if I need to. Depending on the permissions, I can even share data, applications and resources between IDs. (My work ID doesn’t let me do that, but I can certainly set my main personal ID and my pseudonym ID to share some stuff.)

Now that I’m back at my desk, I see that you’ve made some changes to the document. I accept them, revoke access, and swipe you a new document. Even though you’re not nearby, the Internet allows me to act as if you are. It’s as useful as it ever was, but it’s more of a long-range extender for my personal network, and a backup, than the place where I always live.

There’s no need for my applications to live in “the cloud”, although they could. But identity-aware decentralized computing gives me the freedom to share with the people I need to, on the devices that make sense at the time, in the place that makes sense at the time. My applications are smart enough to decouple form from function, so they adapt to the screen and capabilities of my choice (and the operating platform handles a lot of the heavy lifting here, making sure interfaces are consistent – and adhere to my settings – in the process). And my data can live anywhere I need it to.

Next Page »