Project update 10 of 26
Throughout the campaign I haven’t talked about the Android client very much. This has been because the desktop client is much further along, making it a much better vehicle for demonstrating new features. With very little time left in the campaign I thought I should clarify where the Android client development is at and where the client will likely be in when the devices ship.
At this point, the mobile client is able to automatically detect the insertion of a Signet and launch itself. Like the Desktop client, it doesn’t need any special privileges to run. Once it handshakes with the device you get this login screen:
Just as with the desktop client, the mobile client goes through a loading phase and then presents a list of entries:
Currently, the mobile client only shows accounts, there is no search function, and the data is read-only. Although the current set of functionality is limited, it is enough to demonstrate that Signet is fully compatible with Android. Building it into a complete application will just be a matter of adding more screens and more functions to the GUI. When the devices ship, the mobile client will at a minimum have the ability to view all data types and fields and a search function will be added.
There is one issue on Android that does require a workaround: Signet identifies itself as a USB keyboard and this causes Android to suppress the on-screen keyboard, making it impossible to type anything. I’ve resolved this by making the Android client send a special command to Signet shortly after connecting which causes Signet to reset and present itself as a device without a keyboard interface. This leaves clipboard copy/paste as the primary means to move data from Signet to other applications. I’m not sure the USB keyboard based workflow would have worked as well on Android as on desktop in any case. I’m looking forward to developing mobile browser plugins to increase the convenience factor for the long run.
For the initial release, the Android application will be available for download as an APK on the Nth Dimension website. I will later try to get the application on F-Droid and the Google Play store.
Originally I was looking to provide a 6" right-angle USB-C adapter cable. I have found it difficult to find USB-C cables in bulk that are exactly 6" long. I could only find one wholesale source that was advertising 6" cables, and they ended up shipping me 9" cables instead. Another supplier said they could produce 6" cables but only in quantities of 1,000 and with a significant delay.
I don’t know why 6" cables are in short supply, but after experimenting with the 9" cables for awhile, I have decided they are a better choice anyway. USB-C cables have a lot more wires in them than previous USB standards, so they can’t bend as much over a short distance. With a longer cable, you can lift your phone higher off the nearest surface without pulling up your Signet. I’ve also found it’s nice to be able to use the extra length to tuck the device behind my phone, out of the way of other things.