The goal was to build a platform for the Internet of Things based on open source and open hardware technologies. The platform consists of various components like drag & drop programming, beautiful mobile apps and open hardware device prototypes.
Client:
Date: September 2016
We designed and built the whole experience. We had to perform a deep analysis of all possible ways how to perform communication between open hardware devices and cloud. The type of communication had to be effective and well known in the target user group of the project - which are the makers.
The second big challenge was to find an easy to use way how to realise visual programming which would make the platform accessible to makers and hobbyists without deep knowledge of programming. There are many tools for this purpose out there. But none of them truly fits our needs. Hence we have designed a simple and elegant flow based programming editor driven by background jobs processing. This allowed users of the platform to interconnect individual components without any hassle.
platformiotmobile appandroidiosbackendapiopen hardwareflow-based programmingmobile app developmentweb app developmentIoT app developmenttechnical challenge
The solution consists of a complex web application written in Ruby on Rails, beautiful fully animated mobile applications, printable cases and much more things.
Open Hardware device prototypes were designed for both cost effective solutions (Arduino and NodeMCU) and also for the industrial quality devices (BigClown). Everything is fully open sourced.
Flow based apps utilising background jobs processing and custom drag & drop online flow editor using flow based programming in JavaScript.
Five cute open source 3D printable cases can be downloaded on Thingiverse.
Native mobile apps development for iOS and Android created with a big focus on details of user experience including many easter eggs (have you seen the rocket?)
Web application written in Ruby on Rails which bounds all cloud components together with Cloud-to-Mobile communication via web sockets and Cloud-to-Device communication via MQTT.
The web app is composed of multiple modules. Frontend is a simple responsive presentational website allowing users to sign in and obtain access to his Dashboard. Dashboard is the place where users can manage all the devices they are using in the platform (they are called Tentacles in the platform terminology). In addition to devices, all applications deployed in the platform can be managed as well.
Actually the platform allows to run applications independently on the devices. Or together with them. One application can utilise more than one device. And one device can be used by many applications at the same time. The devices are communicating with the cloud via MQTT - a protocol very popular among makers.
The applications (they are called Flows in the platform terminology) are composed of nodes created using drag & drop in the Flow Editor (a flow based programming is used in this editor). Many flows were prepared by us, but new ones can be easily created using the JavaScript programming language.
Because the whole project is relatively complex, we have prepared a clear and simple documentation as well. Documentation website helps platform users to keep focus and not get lost in such complex solution as a whole platform for Internet of Things is.
But the complete user experience does not end on the web. Which is the reason why we have created two beautiful native mobile apps - one for Android and one for iOS. With these apps, users can control their Anemone apps and even the devices connected to the platform.
Users of mobile apps can even share control of particular apps with their friends if they wish to do so. We have put much of love into the mobile apps development as we do in every project. And here, the power is in details. That is why users are rewarded every time they manage to enter a share code with a nice little touch. Brand of the platform is important aspect of the way how users perceive the platform.
But we were not done yet. We also designed five sample open hardware device prototypes (or Tentacles as they are called in the platform) as well. Those devices were intentionally built on the well known and trusted open hardware components from the popular families of Arduino, NodeMCU and BigClown. We have designed how the prototypes should look like and developed the Arduino sketches and NodeMCU firmware in C programming language.
For the open hardware devices, we designed a fully open source 3D printable cases. For every Tentacle device. Those cases can be used together with the Anemone Platform or without it independently. The Anemone tentacle cases are published on Thingiverse for everybody to download.
Do you want to make a great project together? We will be happy to hear more.
I want a similar app! Harley-Davidson Fraus AR