‘RISC OS Band’ coming soon!
Here’s a little experiment for you. It might not work for everyone – it depends on a number of factors, such as the size of screen you use for RISC OS and the resolution you run it at, and the type of watch you wear (if you wear one at all) will also determine the outcome – but it probably will work for most users.
You’ll need to be looking at a RISC OS desktop, so if you’re reading this on another platform (shame on you) switch to RISC OS and reload this page before you continue. NetSurf should display it without any problems.
Done that? Okay, now do this:
- Run Alarm if it isn’t already loaded. Either the analogue or digital display is fine – but if digital, just the time, not the date or anything else as well. Organizer is also an option, but Alarm is suggested because it has always been supplied with RISC OS.
- Position yourself so that your screen is about an arm’s length away.
- Look at your wristwatch as you normally would to tell the time – but hold that position.
- Glance from your watch to the Alarm icon bar icon, then back again. Do this a few times if you like – adjust your position if necessary to make this more convenient.
You should notice that, roughly speaking, the Alarm icon looks as though it would be about the right size for the display of your watch.
That’s what one new RISC OS user, Kerin Asiwere, noticed when he was checking the time shown by RISC OS against the time shown by his watch, back in July of last year – and it set him thinking.
Kerin describes himself as an “entrepreneur and technologist”, and says he is particularly keen on making himself a name in the ‘wearables’ sector – but he wants to do that with something different, to set his products apart, rather than simply become yet another producer of devices running Android.
‘Wearables’ is a buzzword with which you will no doubt be familiar – with one of the most famous examples of the new class of wearable technology being the Apple Watch. And, lest we forget, arch rivals Samsung also have a device in the same category in the form of the Galaxy Gear, as do a number of others, with still more in the pipeline.
Last summer, and quite by chance, Kerin realised that Alarm’s display of the time could potentially form the main display of a watch – and that RISC OS could therefore be that something different he was looking for. It set him thinking, and he soon had a basic specification down on paper and began the design process – the result is the first edition ‘RISC OS Band’ shown on the left.
Anyone familiar with the other smartwatches mentioned above will know that they need to be paired with a suitable smartphone – they are ultimately just another interface to the phone, with some added features that benefit from their form factor – and the RISC OS Band is no different in that respect; it isn’t a RISC OS computer in its own right. The Band needs to be paired with another device, but where it differs from other smartwatches is that the device it is paired with isn’t a phone, and it isn’t just a secondary interface to the device, it is the primary interface to the device for day to day use.
The device in question is called the ‘Bandmaster’ and is a Raspberry Pi, adapted to fit in a mobile phone-sized case, along with a 4000mAh Li-Ion battery to provide power, with a typical charge lasting up to 120 hours (5 days). One of the reasons for that excellent battery life is that the device has no screen; there is no need – the Band itself provides all input (via four buttons) and output (via its display), using a wireless connection to the Pi.
The version of RISC OS running on the Pi is (currently) a modified version of RC14, the most recent stable version released by RISC OS Open Ltd. The modifications cover two areas and have already been fed back into the source tree, although in one case it may not have any other practical applications. The other area, however, is necessary to allow easy third party application support for the Band.
The first modification relates to the communication between the Pi and the Band. RISC OS lacks support for most wireless technologies, and this is where Kerin and his team really thought outside of the box. The most widely used wireless technology used with RISC OS are wireless keyboard and mouse combos – and that’s because, as far as RISC OS is concerned, they aren’t wireless devices at all; when you plug in the USB receiver for a wireless keyboard and mouse, all RISC OS sees is a keyboard and mouse: It doesn’t know it’s talking to wireless devices; that’s handled entirely by the receiver.
Armed with that knowledge, the obvious solution was to use the same technology for communication between the Bandmaster and the Band. RISC OS sees the signal from the watch as a very simple keyboard and mouse combination – and the team developed a means to send information back to the watch using the same hardware for the purposes of the display. The amount of data that can be sent back over this connection is limited, but that’s not a problem considering the low-res display of the screen used in the Band.
Typically, what is displayed by the Band, and therefore what is transmitted to it over the connection, is nothing more than a low-res (greyscale) icon – such as the Alarm time display, as shown in the publicity image above; instantly recognisable because of the bitmap system font, and the multicolour (when on a colour display) border.
And that leads us to the second modification. Internally, RISC OS on the Pi is running just as it would on someone’s desk and, as far as it knows, there is a display attached, and it is running applications as normal.
However, due to the requirements of the Band, both in terms of the limited data that can be transmitted to it, and the limitations of its display, normal desktop operation isn’t possible for day to day use. Due to the aspect ratio of the display, it isn’t practical to display just any icon, so a new icon type has been allocated by RISC OS Open for the purposes; it is only icons of this type – which are all the same size and shape, though they can contain text and/or limited graphics, and are described as ‘nested’ icons, indicating that they are nested inside other icons – that are able to be displayed on the Band.
Developers who want their applications to be compatible with the new device need to design their software to make use of the new icon-type where necessary – as demonstrated by Alarm, which effectively nests an icon of the new type, which displays the time, in its normal icon bar icon, whereas previously, it was the icon bar icon that contained the time display. It’s a subtle trick that means everything looks the same to RISC OS desktop users, but provides a special type of icon that the Band Support (BS) module can transmit to the watch.
The choice of which icon is displayed – with Alarm being the default – is controlled from the watch using the four buttons. If the top left button is pressed and held, pressing the bottom left and right buttons cycles through the nested icons in the current window. If the top right button is pressed and held, pressing the bottom left and right buttons cycle through windows that contain the new nested icons – the default being the icon bar.
Pressing the top left and right buttons together activates the currently displayed icon if the application supports it, thus passing control to the application, and the bottom left and right icons can then be used to manipulate the icon. Further simultaneous presses of the top left and right buttons can either cycle through functions that the bottom left and right buttons can carry out, or once all functions have been cycled through, it can deactivate the icon.The version of Alarm supplied with the devices uses this in a simple enough way to demonstrate the principle:
By default it displays the time. A simultaneous press of the top two buttons activates the icons. Pressing left or right will then change what is displayed in the icon – time, date, or (a single) alarm setting. When each of these is displayed, another simultaneous press of the top left and right buttons will allow whatever is displayed to be set; so when the time is displayed, you can set the time, when the date is displayed, you can set the date, and when the alarm time is displayed, you can set the time the alarm should go off. Neat. Simple.
Developers wishing to go further than just provide support in their applications, and who wish to get involved at a lower level, will be able to make use of functions provided by the BS module. The full range isn’t documented as yet, but the examples given include mechanisms to transmit data to other Bands within range (BS_Spread), detect if there are other bands within range (BS_Detect), and measure the amount of usage (BS_Meter).
It all seems rather good, and something to look forward to.
As an aside, having played with the prototype, and offered to develop software for the device, Kerin informs me that the descriptive noun that is likely to be adopted for people like me is a BSer.