In-Car Web Cameras

Today and yesterday I’ve been spending a little bit of time putting together a Raspberry Pi-based webcam for my car. The idea is straightforward enough, I want something recording the road around me just in case – we’re not quite at Russian levels but it’s a precaution I’d prefer to take. It also might come in handy if meteors fall or the sea comes in.

Using motion, a Creative LiveCam and the instructions I found here I set up something which appears to work reasonably well and doesn’t instantly fill up the paltry 4GB card I have in the Raspberry Pi.

For those not yet aware, Raspberry Pis are very cheap computers – of the order of £20 – which can be powered from a phone charger (mains or, in this case, in-car) – which makes them incredibly good for fiddling about on projects like these.

I have the camera capturing at 1280×960 at one frame/second. This seems to give a reasonable balance between quality, sense of motion and processing capability. When the car is stationery and there is no visible activity it does nothing, however if motion is detected in the image the device begins to record both higher quality images and video.

01-19700101010608-00

I also have a small wifi dongle in the device, which means I can upload the images automatically when I’m in range of the home wifi, and I can use wifi triangulation to figure out where the car is (poor man’s GPS, basically).

Technical issues so far:

  • Supplying power to the Raspberry Pi is a bit tricky. I’m using the car stereo which has a reasonably clean 5V. The Pi resets when I start the car which isn’t particularly surprising, but I risk corrupting the on-board storage if I do this.
  • The webcam is not really ideal. It’s good for indoor videoconferencing and will return to that job shortly. If I spend a few more quid I should be able to get a better quality image and decent night imagery.

However, technical issues are only one part of this experiment. I’m also trying to consider the social aspects. For one, the webcam is pretty obvious (and glows blue when operating). This is a good deterrent – but might attract undue interest.

I will also be driving in places where photography is usually forbidden – UK customs tend to frown on these things (I don’t particularly think the French care less, they’re so laid back 🙂 )- so I would be well advised to tip the camera away at the cross-channel port.

Finally – and this is the bit that really interests me – there is the data that could be collected. What right do I have to record others’ movements? In public it’s fair game provided I’m not using these for profit but consideration needs to be made particularly on private land and overseas.

However, this kind of capture really fascinates me … imagine for a moment if these devices uploaded to the web – to some kind of central processing house (much like Google Goggles or Waze might aggregate your data to learn or otherwise use it). These images could be used in some form of Google Street View (albeit poor quality!), to build a remarkable timeline of environments’ development, or by law enforcement officers to track cars based on your numberplate (ANPR).

If nothing else, the more cameras there are on the road, the more often we will capture extraordinary events on video. For me though, this continues to be an interesting little technical side-project, hopefully with some positive benefits and some food for thought.

The Great Facebook Debate – Sold Out

British Interactive Media Association | Event | The Great Facebook Debate

Darn it. I missed this one in my regular blog reads, and it’s sold out already – by the looks of things quite a while ago too.

Hope they offer another one like this in the UK soon. I’m gearing up to spend more time on ideas and developments with ‘social networking portability’, and will be aiming to build some useful tools shortly. It would be nice to get more in touch with other like-minded people.

Easy Social Engineering

How often do you get messages from friends that read something like “Hiya, this is my new mobile 07123 456789 – Dave”?

I get maybe one a month of these, ranging from close friends to people I haven’t spoken to for a little while.

It always strikes me that these messages are taken somewhat for granted. What if somebody were to get a cheap PAYG simcard, then messaged a bunch of the target’s fairly distant friends (the close ones will see them often enough personally) with the new number. They could then masquerade as the target reasonably easy.

Okay, so maybe there’s not a huge amount of damage that could be done (or maybe there is…?), and it only works if you’re in the same network of friends as the target, and okay so the target’s profile on Facebook et al. will probably show conflicting information…. but still, I bet you could at least sucker in quite a lot of people with that.

Just a thought.

Inside-Out 2

Some positive feedback since my earlier post on Inside-Out Social Networking – thanks! In particular the following have been brought to my attention:

  • Data Sharing Summit in California on the 7-8 Sept appears to be addressing just the same issues. I’ll keep an eye on the wiki there.
  • That was kicked off by Marc Canter’s open letter to Social Networks encouraging them to consider opening up the data. He uses the word ‘vendor’ to describe the Social Networks.
  • Marc Canter also operates BroadBandMechanics which is – as far as I can tell – an organisation which specialises in retrofitting social networking to existing sites. They have People Aggregator, a collection of pluggable components that can be brought together with APIs and as widgets, to form the basis of a Social Network system.
  • There’s also a Social Networking Portability Google Group.
  • Armand du Plessis has commented about his site, identitu.de which is an OpenID provider that with XFN information on top, extracted from Facebook. “…but support for other social networks and metadata like hresume exchange are in the pipeline.”
  • Brad Fitzpatrick has written a piece about bringing the ‘social graph’ – a mapping of all social interactions that is currently sat in silos in individual Social Networks – into the community. the goal is to build the guts that allow a thousand new social applications to bloom”.
  • It seems Ning, a network building tool, allows members to export their friends as FOAF. Very cool.

I’m going to try and keep up a collection of resources relating to this subject, althoough it’s well worth keeping an eye on the Data Sharing Summit (above), since most of the work and keen minds seem to be collecting around that at the moment.

Inside-Out Social Networking

My recent tirade against the ubiquitous social networking site Facebook (it is the tenth most popular website in the world) focused on the incessant and irritating way the site forces you to open a browser and log in simply to read an email from their system.

In fact, it’s the deeper issue that concerns me. I really dislike the way Facebook has attempted to reinvent everything I might find useful, and in most cases have already found a perfectly adequate solution elsewhere. Status updates? Twitter is fine. Notes? I have a blog thank you. Photos? I already pay for a Flickr Pro account. The list goes on.

Now, I can’t say all this and not recognise that, in fact, Facebook have done incredibly well. As I said earlier, it’s the 10th most popular website on the Internet. You don’t manage that by being rubbish! I suggest that their popularity is due to two things:

1. Facebook make it easy to start a blog, to add photos, collect your friends in one place, and all the other things you can do.

Twitter, WordPress.com and Flickr are fine, but they’re three separate systems from three companies with three logins and three URLs to remember. In their own ways they’re quite user friendly, but they don’t exist together and you need a certain degree of prior knowledge to know where to look for these services (or even to know that such services exist).

2. Facebook is a club. You’re either in it or you’re not. To be in the club (ie. a member) allows you to participate in events, social banter, see your friends’ photos (or photos of you), and a whole bunch of other things. If you’re not in the club you can’t play – bar a few small exceptions, all these things are excluded from you. If you want any real involvement you have to join.

That’s a clever combination of simple principles that make for a powerful and impressive growth. They’ve made themselves indispensable. From the viewpoint of a business trying to increase its membership, this is a wonderful combination and clearly works well for them. The problem is, it comes at the expense of flexibility. What if you don’t like their mail system, if you already have a blog or a photo album elsewhere? Sure, there are applications that offer some compromise, but they’re all still ultimately bound by the rules of Facebook, and are limited to the application’s functionality which may fall far short of what you expect or need. In any case,why reinvent the wheel?

So the real losers are the ones who have already established themselves on the ‘net in some way. They have a Flickr account, or are happy with their existing email thankyouverymuch.

Incidentally, I use Facebook as example only. It may not be the most popular social networking site out there at the moment (according to Alexa, Myspace and Orkut are higher), but it certainly seems to be the hottest social network at the moment. That said, the analysis equally applies to other social networking sites: Myspace, Friendster, Orkut, and myriad others, as well as the wider picture: any site that makes use of personal information in one way or another could potentially be included here.

With all this in mind, I’ve been wondering about solutions. I’m still very much personally developing these ideas, but this feels like the right time to throw some thoughts out into the public for further discussion and to start testing ideas.

I wonder whether the solution comes from an inside-out approach to social networking. Take the user out of the network and create them as their own entity, on their own website. Then, invite the networking tools to connect to the user.

Here’s a better example: I have a personal website – it’s www.svenlatham.com. From here I have a short blurb about myself, a CV, contact information, a link to my blog and a link to my Flickr photos. Every time I sign up for a social networking site, I’m probably going to take each of those bits of information (or parts of them) and add them to each site. What if I could just tell Facebook or LinkedIn, “here, use this URL. Everything about me’s on there”? They use the URL to pick up my details and go from there.

Whenever I change my details, add a photo or blog post, the networking site pulls the update and refreshes its own database accordingly.

For a computer to interpret this data, it must be in a computer-readable form, and in many cases such forms exist. My blog can be retrieved through RSS or Atom, Twitter feeds come via RSS, Flickr photos also come via RSS. Contact details can be grabbed from a vCard. CV details via HR-XML. Friendship/relationship information by XFN or FOAF.

If I really wanted to run that incessant vampire application from Facebook I’m sure they could come up with an XML feed too.

The binding can come from <link> tags, or the <a rel=…> attribute. If needed, a separate file simply documenting the various types of data can be produced.

The social networking sites then simply pick and choose. LinkedIn would like my contact and CV information, but is probably not interested in my stream of photos. Facebook can take everything but the CV. Even sites with peripheral social networking interests can take part – why not have Flickr & Zooomr pick up my list of friends.

With such an architecture in place, the onus is then on service providers to ensure they provide adequate feeds for their services. The emphasis is on standards development, so all the services and networking sites can talk to one another. The byproduct is increased flexibility and choice for the user. Sounds very Web 2.0, doesn’t it!

There would be some important issues that need to be discussed.

How is security applied to this model?

Presumably information that the user publishes is deemed to be available for all and sundry, but many sites apply a security to certain information (e.g. a user’s mobile number might only be available to their friends).

I wonder whether encryption is the key here (pardon the pun): the published information is encrypted. When the user agrees, the decrypt key is sent to the participating social networking site (e.g. “I agree that users of Facebook, Orkut and Friendster who appear in my friends list may see my phone number”), which enforces the security model within its own environment.

Where is the user information hosted?

Not everybody has their own domain name with some personal information on it. Nor are too many people interested in (or capable of) adding a load of metadata to their site.

In this case I wonder what the parallels are (if any) with OpenID. This system is designed to be a decentralised single sign-on system. You pick a URL (e.g. joebloggs.myopenid.com) which becomes your login for participating sites. The OpenID provider then affirms the identity of the user. The traditional username/password (beyond the OpenID provider itself) becomes redundant. It seems a natural extension to join the authentication system to user details – go to joebloggs.myopenid.com and get further information about them (bonus points if the social networking site also used OpenID to identify its users in the first place!)

Admittedly I don’t have too much experience with OpenID, and it attracts a lot of critical comments which will be the subject of continued debate I’m sure.

Failing an OpenID solution, what are the possibilities of having a personal hosted presence elsewhere, on a site purely designed to public this metadata (see below – business incentives).
What’s to stop spammers or identity theft?

If the information you care about is published in ‘public’ on your favourite social networking site, there would seem to be little difference.

What’s the (business) incentive for social networking sites? If you take away the user from the social networking site, what’s left?

Imagine Facebook in this alternative model. Your personal information is managed elsewhere – why would you still use Facebook? Well for one, it’s a very rich environment for running applications. Facebook makes it very easy (are dare I say it – fun) to interact with your friends. Its beauty is that it IS easy to use; to set up accounts, a blog, a photo album. Even if the data is stored elsewhere, Facebook can keep its various applications – it simply publishes the data in a different way.

Let me put it another way. The true value of social networking sites – the bit that makes one better than another – is not so much about the data, it’s about how it USES the data.

Furthermore, why not make Facebook an OpenID (or at least an ‘identity’) provider. They’ve clearly got the tools to encourage people to publish information about themselves. joebloggs.facebook.com is as good a place as any to be publishing this stuff. Then, if I prefer LinkedIn, I can still see Joe Bloggs’ profile and information – it’s exactly the same as if I saw it in Facebook, but the available options might be entirely different. That suits me, because I prefer LinkedIn. It also suits Joe Bloggs, because he’s quite happy managing his profile in Facebook and doesn’t have to recreate himself in LinkedIn.

So, ideas certainly abounds. I’m excited by the idea of a ‘system’ that offers openness at the fundamental data level, but also encourages innovative applications and services on top.

Perhaps I need to be brought down to earth – there might be some critical error in my expectations that prevents this entire system from getting off the ground. I don’t know, but what I am sure of is that in many cases the technology, the underlying standards and data representations are there, and in theory at least this has a lot of potential.

My next step is to attempt to consolidate all of this into a demonstration system, but I invite comments, thoughts and discussion below. If you have a view, please participate!