As more and more objects are being brought online there is an increasing awareness of the need for an open source ecosystem to develop around the IoT and its many parts. Developer Peter Kaptein also saw the need for this and started his project HotForestGreen in response.
Designed as an Internet of Things developer framework (Details here) HFG seeks to reduce the threshold for both tinkerers and professionals in building scalable distributed systems of all sizes.
Peter has worked in the past on projects like Roomware the open-source framework for interactive spaces and we caught up with Peter to ask him a few questions about his latest projects development.
Our Interview follows:
HFG seems to sit on a perfect intersection between the Maker Movement/DIY shops and the explosion of low cost Hardware. Can you briefly speak to the vision behind the project and why you decided to go the Open Source route?
Peter Kaptein: I will start with the vision.
When I started developing “HotForestGreen 0.1 Alpha” in 2008 – then called the Roomware Socket Server – I believed that within 5 years, the ‘tangible web’ and interactive spaces would be The Next Big Thing: using simple RFID tags like used in public transportation in Holland and England as one of the means to start interaction.
I felt strongly that that time of emergence was now. That this new thing we read about and talked about for years was about to happen very soon. Mainly due to the emergence of relatively powerful low cost hardware like Netbooks and personal identifiers like the mentioned RFID cards and due to the increasing availability of all parts (like RFID readers and online open source projects) to fill in the gaps. Because all parts needed to make it work had become mainstream or were about to become mainstream or at least available for consumers like me and you.
I also had this chain of thoughts unrolling like a movie where all unwanted consequences unfolded into a Post Privacy society where your every action and interaction with any of these systems becomes traceable and recordable and therefore is tracked and recorded.
Rather than wait for bigger parties to pick this up and develop centralized, closed and closed-sourced connected solutions to a closed set of private parties and for big parties (think “Real World Facebook”) I would love to see something more open and more available for anyone to build on and use. And that is the second reason for this project and HotForestGreen.
Apart from the sheer boredom and dread I feel related to the limitation of a centralized vision, I shun away from the lack of innovation any centralized vision has as a by-product. There are simply too many people involved with too many different agendas.
To give you a simple example: when the Web emerged, AOL and the like assumed that Catered Portals were the start and endpoint of your Internet experience. These portals would be managed by their people, with the content they thought would be interesting for you, very much like the models used for newspapers and magazines. To keep it short: If the web would have stayed like that sites and services like Amazon, Facebook, Wikipedia and Twitter would never have emerged on the web the way they did now: because the internet as we know it has been created in an open- instead of a walled garden.
I want the ‘tangible web’ (where whatever happens online in your personal data-cloud can be presented in a physical space) to become reality by the power of the people. To become reality with things people created in their own homes. I want to see the ideas that really kick ass emerge into the mainstream with the potential to really change and improve part of our lives in ways we can not imagine now. Which is the third reason for this project as Open Source.
Android is only one point of entry, as it meets most of the items on the list below:
- Low cost – Obtainable below 100 euro
- Open – In standards, hardware used, platforms that can be hooked to it
- Easy to get – You can buy it in “any” shop around the corner
- With all basics to get started – WiFi/Network capabilities, screen (or the possibility to connect one), USB port and some means of human input (keyboard, touch screen, the possibility to connect keyboard and mouse)
- Easy to program – Using – preferably – tools that you already use in coding: like Eclipse and the likes
- Capable of running more complex processes – Which means a reasonably powerful CPU and enough RAM and storage
- Easy to extend – Think of IO boards
My most important goal is to make the project – and the experiments that will follow – easy and inviting for others to reproduce and to use them as a starting point for whatever you want to do yourself. Android, with more and more phones and tablets moving towards the 100 euro threshold is one point of entry. Low cost Netbooks (available for around 200 euro when you watch the bargains) is another.
More than Android devices I think RaspberryPI will be an exploding supernova among tinkerers.
When you look at my priorities in development and platform choice, I use a simple funnel: Most people understand MS Windows and Android and Netbooks and phones and tablets and what you can (potentially) do with that. Lesser people get Linux. Even lesser amounts of people understand projects like Arduino and how to overcome the limitations of that platform. Apple for me is more and more a closed platform with (for the iDevices) a programming language I do not have the time to learn. For visual stuff, Flash still is the best choice to go for me, as I used that platform for several years and it runs on Android, Windows and Linux. So that is what my focus and prioritization is based on in the development of the HotForestGreen platform and the HFG demos that will emerge in the next months.
The project is Open Source for several reasons. One is related to the vision above. I simply want that “open garden” to emerge, as unstoppable as it happened for HTML and web development. Another is my lack of business skills. I tried to start several companies in the past 20 years and all that is needed to run a business simply does not match with my mental DNA. Instead of trying to keep things closed and secret and try to become one of the “five” major players in this field, I simply build, experiment, document, bring it to the open and see what emerges and whatever like-minded people I find.
HFG can be used for a wide range of Internet of Things developments, but can you give some examples of projects or people that this framework would ideally be suited for?
Peter Kaptein: Home automation is one. Think of DIY Home State monitoring where every Event and State from doors and windows and stuff inside the house (fridges, heating, room temperature, lighting) can be checked and recorded and changed. Where you can check if the light in the bathroom is still on from the bedroom and switch it of using either your phone, tablet or laptop as all connect to the same shared interface.
Another is Real Time Collaboration in Application Clusters where what I do can be shared with what you do and where we can work together on the same things from different locations. One practical example in this is the care-industry (dentists, home doctors, hospitals) where people at the reception can prepare your workstation at the place where you treat your client so that you can focus on the client without the distractions of the system.
On a bigger scale you can think about care-centers where people with disabilities and/or of old age can be monitored so that — when something goes wrong — helpers are immediately notified when something seems wrong and help is only 30 minutes away instead of: “whenever you can reach that panic button at the other side of the room”.
Also on this and even bigger scale can be construction sites and factories where multitudes of low cost sensors observe the environment and potential hazards and in which you are alerted when your current or future location can become an (immediate) hazard due to some changes or (system) failure or due to some vehicle rushing unseeingly your way.
On a small scale, it can help people to setup very scalable Real Time systems in a very short time. Think of a chat-box as one of the most primary and simple implementations and any of the examples above when you needs or plans are more ambitious.
Looking at the target audience: the framework is designed to cater beginners with simple “Hello World” Real Time applications running on a Netbook to the very advanced users who need Load Balancing and multiple Clusters running on multiple locations all over the world, in several layers over encrypted connections with fallback-scenarios and alternative routes for “Plan B” and “Plan C” and fallback scenarios for several HFG Server Failures where not even one byte of data should get lost during those events.
You have recently been working on implementing WebSockets in the project. Do you have any other favorite or important project features that you could share more about?
Peter Kaptein: One of the most important next steps is to create Virtual Representations of Arduino and XBee modules. This will represent the real object on any remote client “as if” it is that real object. They are something like the marriage of a Proxy and a Mediator. Once the framework is finished it has to be very easy to start working with either Arduino and XBee (and any other device I find time to represent in code). What these Virtual Proxies involve is the following:
- One simple basic object in code to represent the device – In the end, an Arduino and XBee module are simple devices with a fixed set of ports that either allow you to read values (from sensors and so on) or to set values (on/off or a specific voltage between zero and X).
- Local = remote / remote = local – When you communicate to a local “Virtual” version of an Arduino module or XBee module, it should be as if you are communicating to it directly. All updates you make on the local Virtual Object should be reflected remotely and the other way around.
What’s next? Could you go into anymore detail about the next stage in HFG development? i.e: possible release dates or if you are looking for any contributions from other programmers, etc?
Peter Kaptein: The phasing (and fictional from #2, as there is no funding) timeline for HotForestGreen is as follows:
- Realization and finalization of the base version – Started in may 2011. This will be behind closed doors. Simply because I need that quiet to do what I want to do
- Release to the open – For now set on January 14, 2012. I hope earlier, but January 14 is a nice date to work towards. This phase will include promotion on several sites and lists and the release of the code on GitHub
- Creation and finalization of my own prototypes – Somewhere before the end of January. These are the projects I have in mind already and ones that will emerge in the next period
- Watch the wild flowers bloom – 2012. Once other people start picking up the Framework, anything can happen, including several spin-off frameworks going their own directions and many projects emerging with really unexpected results and starting points
- Consolidation – 2012, 2013. From that point I will start forming my own team for my branch of HotForestGreen
- New developments and new business – Like the web in 1995, things like HotForestGreen are just the first steps into what will very likely be an entire new line of business started from several home brew projects that will disrupt whatever is here now. The tinkerers you can find on sites like: ” Hack A Day” and “Make”, being the ones who will shift those worlds and who build the stuff nobody has built before and make awesome new businesses out of that — because they are smart, because it is affordable and because they can
I am currently at phase 1, which was planned to end in September, but is delayed until the beginning of 2012. I had some deadlines running (see the updates here), but reality took over due to the pending possible crisis (2011/2012). I decided — instead of taking my planned sabbatical from Juli to December — to take another freelance gig to pot up some more financial buffers for 2012.
On the short term — in between other priorities — I only have time for short bursts of creativity, like this one: modding a 22 inch Touch Panel to work as an Android Touch Screen.
So: with some precaution, the first code release with “Hello world” examples and documentation, will be on January 14.
To follow the development of HotForestGreen, several lines can be followed. Beyond the Keyboard is one of them. There I post my hardware-experiments which all are aimed to support the hardware side of the framework: Touch screens, hardware as a commodity and the possibilities of that low cost/high tech hardware, research at the possibilities of Android (“Hacking with Android“) and other platforms and a irregular price watch trying to keep tabs on what you can get where for how much.
Another is this HotForestGreen blog, which documents my progress and my actions.
To help me speed up and keep me from restating my priorities, it helps to know that there are people who care about this project and who are waiting for something like HotForestGreen. Simply ping me and post something nice and supportive will be enough.
If people do want to stay in touch, they can simply state and I will add them to my e-mail list.
When phase 2: “Release to the open” starts, I believe things will start happening from the outside in. So: am I looking for contributions from other programmers? Definitely! It is one of the main reasons why I am refactoring my code so much as I do now. Better to invite guests into a clean house then one that has never been cleaned up at all.
For now, I have nothing more to offer but what I create and what I write about online.
Thanks for taking the time Peter.