opensource


Introducing open source to kids TV – yes really!

I really enjoyed the chance to explain something really important on this weeks Cool Stuff Collective. The core of the piece this week was the principle of Open Source collaboration. I had started to lead up to this concept with the wikipedia piece a few weeks ago, showing the views that anyone can get involved can contribute and not just consume on the web.
The way to approach open source though had to be something other than the “traditional” software applications such as the Linux operating system. Whilst it is one of the most advanced and technically rich exemplars of the this self organisation and support eco system its really not compelling enough for kids.
The open source libraries for the Xbox Kinect however are spot on. It is a triumphant story of the explorers out there seeing what they could do with what is already an amazing piece of consumer technology. It being the big xmas hit only a few weeks ago most people can relate to it and what it does in the context of the Xbox. Many of the viewers will have played with one too.
The speed with which the open source community gathered and hacked the kinect, released the code and then people started gathering and building more and more things was so fast it highlights the speed disruptive innovation can side swipe large corporate entities. In the first few days of the hacking Microsoft took a “not with my box of bunnies” approach. Legal proceedings were threatened etc. Somewhere, somehow there was someone with enough sense to stand back and say… “wait a minute, at the very least this is selling even more kinects, people are buying kinects who don’t have xbox’s”. After all no harm was being done really, the kinect was not being stolen, it was not a DRM issue. The thing has a USB plug on it! Now it may have been all calculated to frown and them embrace the hacks but however it has worked out Microsoft come out pretty well having decided to join the party rather than stop it. Whilst not specifically part of the open source movement(s) they are releasing a home hacking kit.
The choice of how to work with your kinect on a computer is a varied one but just for the record (as we did not give any names/URLs out on the show)
I used (and hence was helping to support) the Libfreenect piece of software on my Mac. All the info you budding hackers need is at Openkinect.org
This let me show Sy the depth of field display running on a Mac. The left hand colour picture reflects distance, one of the key points of the Kinect in sensing movement over an above a regular webcam. I was not altering any code just showing what was available at its very basic level.
OpenKinect
I also demoed the audio hack of a Theremin the Therenect by Martin Kaltenbrunner of the Interface Culture Lab. I bumped into this demo via a serendipitous conversation about what a theremin actually is and how it works just before putting this piece together. Martin is also one of the inventors of the ARTag and TUIO integrations that I used in the AR show in Unity3d and the brilliant Reactable that I hope will be in the final Big gadget adventure film towards the end of series 2. (So a friend of the show as his stuff just works whenever I try it!)
There are of course lots more things going on and so many good examples of people working on the kinext and hooking up other free and accessible pieces of code, and more importantly sharing them. @ceejay sent me this link on twitter after the show aired.

Hopefully next (and final record for the series) I will get to do the Opensim piece, more open source wonderfulness to build upon this and the previous conversations.
Many people are not aware just how complicated Open Source is as a concept and the implications it has as part of any eco system. It is a threat and an opportunity, a training ground for new skills, a hobby and a political minefield of ego’s, sub cultures, competing interests. What come out of the early days of Open Source is usually very rough, but it works. If it does not work quite right you change it and contribute back. We have yet to see the ultimate long term effects of open source in a networked world. We have though seen it make massive changes to the software industry, but the principles of gathering and sharing and building applies to way more that our geeky business. It is about governments, banks, manufacturing and even the legal system. It is, not to put too much pathos on this, the will of the people. (just not always the same people who consider themselves in charge or market leaders.)
Open source projects also tend to spring up in response to a popular commercial event, challenging windows with linux as an example. Without something big and unwieldy, or not done quite how people really want it done, an open source movement will not form with enough passion and gravitas. That is not to say that people do not realise lots of things as open source. You write code and share it, build and show etc, but that is open sourcing and not the complexity of an open source movement I think.
So, a heavy subject once you drill down but it is the future and its already here.
Open source is messy, it about people, it tends to not fit all the preconceptions of a product. However people tend to expect a product to work and be supported the same as if they paid for it. Which is why there actually is a financial and business opportunity in wrapping open source up, and providing labelled versions and services with appropriate licensing. The people that build still need to eat and be recognised for their work too. So it is by no means just a load of free stuff on the internet, but you are free to join in and I hope some kids will be inspired to at least take a look or ask their parents and teachers about the social implications of all this too.

Product development crowds – Kinect hacks

I have really enjoyed the explosion of Kinect hacks that have taken place in such a short period of time since the release of the Kinect. The technology of the Kinect is fascinating in its own right (you can read more from the actual engineers here)
However its the consumer use of the device on easily accessible devices that really is driving things forward. Previously games hardware is locked away with preferred developers, its hard for ideas to happen anywhere other than in the studios. Here however we have people trying out all sorts of demonstration applications, some are sensible, some are mad but they all really help drive forward the product development.
Microsoft were initially saying they were unhappy at this, but I find that hard to believe in this day and age as giving things over to people to experiment and share globally is crowd sourcing at its best.

Not every demo gets released as an opensource piece of code but many of them are using an open source base and a commercial product with the Kinect.
In many ways this will expose more people to the concept of open source development. Let face it most people would not really grok the open source and sharing interaction that goes together to make software like Linux or Droid or even Opensim. However when video pop up os a device they have only just seen in the shops and may indeed have, doing things that are not sat on the shelves of game shops it becomes very real and prompts the question how are they doing that? Why are they doing that? Why are some people just giving away what they have done?
No doubt the games developers are looking at all the hacks and getting seeds of ideas or seeing things as proof of concepts that will drive even better kinect games.

Kinect and motion sensing is not the be all and end all of Human computer interaction but it does work well for youtube and vimeo demonstrations and pushes the world forward. Now if the Kinect had been locked down as Xbox only and not hacked in this way there would have only been about 20 kinect applications whilst we wait on the more polished production of the the games companies.
Standards exist already as can be seen from this article from the excellent Kinect Hacks site which is a great place to follow this trend.

Open source software really has come of age

The past few weeks I have had my head in an installation of Drupal 6.16 the content management system that sits very nicely on the LAMP stack. So I got to spark up another Ubuntu linux server off in a cloud somewhere,using the great apt packager on ubuntu/linux to go and fetch the extras I needed AND their dependencies. All the extra instructions I needed were on slicehosts forums for various pieces of config. So a full OS, all the extras I needed without having to trawl trough patches and dependency trees manually. In the good old days the stuff was pretty disorganised. If you came to it all fresh, or had been away for a while the “obviously you would have x, y or z” would be quite a pain.

The whole apache, mysql, php installation and config is also very straightforward. Yes you still need to know a few of the more arcane system command lines, or be able to look them up and editing even with nano or vi on a terminal is still rather annoying (terminals being a hangover from before we had more complex machines on the front end of servers). However, doing what would be the simplest task in a drag and drop world in a command line typing all the paths correctly etc makes you feel you are in charge of the whole thing. Which is why sysops are usually quite stroppy 🙂
Drupal’s install goes like a dream to. Again a whole set of extra modules are contributed to the let you do other things with your content, thinks like the CCK (content creation kit) which layers some new fields to be able to add to the page creation forms you make.
Back in 1998 I wrote content management systems, mainly in Lotus Domino, I know the problems and also the sort of things you need to do in the systems. So for me Drupal was great, once you get used to the naming convention of the template overrides and the ability to use views (SQL selects) on the data its all pretty slick. It is of course a long while since 2008, and it is interesting that whilst there were lots of commercial CMS packages that attempted to emerge none of them seem a patch on Drupal and even on WordPress. That is for most things, most web applications it is a pretty good fit.
Of course with any themeable template based system with a multitude of user contributed modules and gadgets there are going to be times when things just are not where you need them to be for your particular layout or information design. I spent a fair bit of time with one piece of data and layout trying to do it “properly” in the end I just changed the module, which let me put the class id’s in that I needed to make more sense of the display for the CSS. Not ideal but the point was it was there to do.
Commercial software has all to often been put in place to keep you away from the engine. Opensource be it opensim, drupal, wordpress, linux, freeswitch etc really do let you be the mechanic on the engine if you want, but you clearly don’t have to as the slickness of the design ethics in these applications through crowdsourced cooperation is quite stunning.
To do the full thing from commissioning a server to creating data structures in Drupal and then adjusting templates and style sheets is still a great swathe of skills needed, but when you have been in this for so long you know the patterns and roughly how things need to work. The ability to look up and search for problems, similar situations and generally fix on the fly though really helps to and can’t be understated. Much better than routing through a cupboard of manuals as we had to back in 1990!
Gotta love the web