an open source remote control for WebApps
After few months of work, I’m happy to release my new project called Liwe. It’s a service for web developers to use smartphones as a remote on their webapp, by using the most of phone sensors to give the richest user experience.
Before we enter into details, let me explain what happen before to arrive here.
A year and a half ago, I tried to write a remote system like tv.js. It’s a wonderful usage of WebSockets. The server establishes a persistant connection with the smartphone and the WebApp, and then becomes the messenger in between. It’s not really complex but it required a lot of design and time, and this is where my frustration came from. I couldnt help but feeling like I was reinventing the wheel, something that many people before me have already built. The most important part was that you cannot just run this on a simple file server, it required a Node server.
All these points explained why this technology is not really popular: the lack of accessibility. You need a bit of knowledge at every level to build this feature, to be a jack of all trades.
Accessibility is the key
After few months, the main draft was here. A simple API for frontend developers, a quickly accessible remote for users, and an open source node server in between.
For developers, no extra server, no plugin, just a simple script to include in their HTML and they are ready to go. The API gives an entry point for remotes (: a simple URL) and lets it manage them. Users can select the UI they want from the three ones available, switch to another one, or disconnect.
For the final user, no app to install, no registration, just enter the URL. No time to waste. Remember, people don’t like to wait.
At the start there are only 3 UI available:
- Button: a simple big button
- Touch: turn the phone into a touchpad to get touch gestures
- Gyro: to get gyro/compass informations
But I hope the project will evolve to use other sensors like vibrator, camera, microphone, GPS, brightness sensors, upload files…
At the moment, only one server is running (: liwe.co), maintained by me. A simple node server can handle a lot of simultaneous connections, so why not share it?
From the start this project was built to be open source. This project is made for developers and should be driven by developers and the community.
If developers build controllers to use Liwe, but I decide to kill liwe.co for good, they are free to use another one or build their own.
One step at the time
At the moment the platform is just a prototype, not ready for production. I wanted to see if people were interested in the project and get their feedback to build the best platform.
But after making it robust, some big improvements are planned : WebRTC, key manager for admin, split the core into components, new remote UIs or custom ones…
Try it, hack it, report it, enjoy it.
Visit liwe.co for more informations and please give me your feedback. Even if you’re not a developer, even if it’s just about something you would love to see, or an idea to improve it. :)