- Can the web & mobile app code be customized? If yes, how can I get access to the code?
- Can I deploy the thinger.io server side webapp into my own cloud? If so, what kind of storages are supported?
- If extending the code is allowed, are there any copyright constraints? Can a customized version be used as IoT platform for a business along with its own branding?
- For the different communication patterns supported (between Device & Cloud), what are the underlying transport protocol(s) used for each?
Any inputs in the above queries will be very much appreciated!
Hi!! Thanks for your comments! Answering to your questions:
- The web app cannot be open sourced as it uses a copyright theme that does not allow to share the code. So it cannot be customized at this moment. But we can talk if you have interest in it. However, the dashboards feature will allow embed it in any other webpage you want. The Mobile and Wear app will be fully released as Open Source soon, so you will be able to customize it. It is not available in github at this moment as it needs to be refactored a little bit. But if you want to have it before I can send you meanwhile.
- Yes, it will be possible anytime soon. You only will need docker support, so you can download and install the thinger.io image. In the future, it will be possible to download the sources and compile the server from scratch. It only requires at this moment mongodb for its deployment. If you are interested in deploying it soon, we can try to accelerate a docker package for your testing.
- Yes, it can be used for commercial projects on your own cloud, or using or cloud deployment (paying for connections). If you use it on your own, it would be great to mention the underlying technlogy used (powered by thinger.io or something like this ;))
- Thinger.io is currently using TCP connection between server an devices, with a custom protocol based on an implementation simliar to Google protocol buffers, but using a new encoding mechanishm called protoson (specifically developed for thinger.io) that allows sending arbitrary data, like JSON. You can see the source here: https://github.com/thinger-io/Protoson But this is only between the device and server, to optimize the bandwith and take care of low memory capabilities of small microcontrollers, like an Arduino. Between the server and the client, it is used standard REST API, or Websockets for real-time control and monitoring.
Hope this help! Let me know if you are interested in more information!
Hi, Thanks a lot for the comprehensive response. Just a couple of points:
- Web app not open sourced - does this mean the webpage cannot be re-branded?
- No hurry at all, just for planning purposes I would like to know what kind of timeframes are you targeting for:
a. The mobile app source codes to be available.
b. docker image of the webapp to be available.
- Really appreciate open source projects, so always eager to give the due credits.
- Protoson sounds very efficient for the message formats. Regarding the transports, was there a comparative analysis between TCP vs MQTT. I was of the opinion that MQTT QoS options provide a little more reliability, especially in the controlling of devices.
Hi again! Here the response:
- It could be rebranded but not shared as an open source project. So in this case it would be necessary some kind of collaboration if you are interested to get the web. Notice however that the web is not using any server side code. It is just an AngularJS client using standard REST API calls, so you are free to develop your own Web client over the Thinger.io server. It will be also possible to point the stock web client to you own servers, so you can use the current web interface with your own server.
a. The source code of mobile App will be available to the end of this month. The APP is composed by different Android modules: API calls, Android Wear, and the mobile interface itself. The idea is that you can take the API module to integrate the API calls in your own apps, or modify the existing app one to meet your requirements.
b. The server core we expect to make it available under two months as a Docker package (we need to see how make it easily configurable, as the current servers uses some Amazon S3 features for mail delivery, MongoDB database, etc). The source code if you want to compile it in your own can take more time.
4. I think it is not possible to compare TCP vs MQTT, as MQTT is built over TCP, as Thinger.io does. It would be more feasible to compare MQTT, vs CoAP, XMPP, etc.
Can you provide me android source codes if it is ok for you. Im not android developer but my close friend is. we already working on some development and integration projects. I ll pass him and will request to develop it. because I m experiencig problems with android application connection to my device. it mulfunctions arduino so that data flow interrupts. to solve it I restart arduino.
Sure, I will try to publish the current source code to github this week. I have been so busy these days.
I have progressed significantly on the device side of things, and now looking to productise them supported by an IoT platform. I would like to leverage the thinger.io console (webapp). I would like to collaborate with you in order to get access the AngularJS web app.
I am considering hosting this on an AWS EC2 with MongoDB cluster. I would request you to please advise on how we can take this forward. My mail id is firstname.lastname@example.org.
Just wondering if you are able to advise how we can collaborate to provide my customers the platform experience of thinger.io.