Hi all,
A few people are aware that I spent the summer working on the user interface
to go on the tablets yet I'm sure there are plenty of people out of the loop.
So, as prompted by various people on IRC, I am writing this to make sure
everyone is up to date.
Development of the tablet interface has occurred on GitHub [0] and I encourage
anyone interested to go and have a look: it should be fairly straightforward
to get it running on your machine. I am accepting any issues and pull requests
through GitHub but bare in mind that this will be assimilated into Gerrit and
Trac at some point.
The tablet system comes in two parts:
The web app, served from the robot, will be accessible via Chrome and allow
the competitors to: read logs, view the webcam and control any components on
the robot. Competitors will also be able to build their own custom 'pages',
and in the future we might ship the manual control interface pages in a
similar manner. Polymer [1] (and Web Components) is the UI framework I have
used to develop the app and it means that the whole thing is very modular. For
talking to the robot I have used WAMP [2] which is a simple RPC and Pub/Sub
protocol above WebSockets. The server part is not something I spent much time
working on, but there is an example server in the repository - the real server
is being written by people working on the new brain board. I believe the
interface is ready to ship at this point, but there are a few little niggles
here and there that need to be sorted.
The second part is a native Android app which sits on the tablet and performs
functions not suitable to the web app. Specifically, it provides an icon in the
launcher which opens the browser to the appropriate location and a service
which sets up the WiFi correctly. This is not quite ready to ship, but it will
be shortly.
In that repository there is also a script which performs a factory reset on a
tablet. I will be extending that soon to include installing Chrome, installing
the 'Student Robotics' app and configuring the WiFi settings.
One key thing left to do is to write up the documentation for the tablet to go
on the website. I think that could happen almost immediately since I don't see
any breaking changes being added before Kickstart.
Tom
[0]:
https://github.com/tomleese/srobo-tablet-interface
[1]:
https://www.polymer-project.org/
[2]:
http://wamp.ws/