This week (October 11) I was approached by Trevor Harwood from www.postscapes.com for an interview. I decided to do it via this post.
Here we go:
HotForestGreen seems to sit on a perfect intersection between the Maker Movement/DIY shops and the explosion of low cost Android based devices. Can you briefly speak to the vision behind the project and why you decided to go the Open Source route?
I will start with the vision.
When I started developing “HotForestGreen 0.1 Alpha” in 2008 I believed that: “within 5 years, the ‘tangible web’ and interactive spaces will be the next big thing”, using simple RFID tags like the Oystercard and the Dutch “Public Transportation Chip Card” as one of the means to start interaction.
In 2008 I felt strongly that that time was now. That this new thing we read about and talked about for years was about to happen. Mainly due to the emergence more and more of low cost hardware and things like RFID cards for things like public transport and due to the increasing availability of all parts (like RFID readers) 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 of a society where your every action and interaction with any of these systems become traceable and recordable.
Rather than to wait for big 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.
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 byproduct. 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 likes 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. 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 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.
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 and the likes
The most important goal to me is to make the project and the experiments that will follow easy and even inviting for others to reproduce and to use 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 (200 euro) 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?
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 ambitous.
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?
One of the most important next steps is to create Virtual Representants of Arduino and XBee modules. A Virtual Representants represents 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? What would be the best way for readers to find out about the latest developments?
I follow Engadget and Hack a Day at this moment. They represent about 80% of all stuff that bubbles up of what I might find interesting. Apart from that, I use Google. Depending on my need at that point and the things I want to build, I search the web until I find what I need.
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?
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 andones 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 — becausse 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
23 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 Januari 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? Definately! 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.