A guest post by corbett on 10 Jan 2014
Winter Break of Code, Day Four
At the Open Whisper Systems spring break of code in 2013, I started work on TextSecure iOS. People are chomping at the bit to use our software on iOS. After a hiatus from the project, I’ve been happy to return to it over the last few months, joining some other contributors, including Frederic Jacobs as co-lead, Alban Diquet, and Claudiu-Vlad Ursache submitting pull requests, even over the holidays, with important cryptographic storage and UI-polishing contributions, and Bitcoin donations coming in from around the world.
This week I’ve been implementing the full Axolotl protocol on top of the unencrypted pipeline we have setup for TextSecure iOS. It’s been an extreme privilege to do so in such a beautiful setting. I start the mornings with a run on the beach outside our group houses and break my afternoons with some surfing.
Today we went on an 8-mile hike on one of the most beautiful trails in the world, were in awe of massive waves, and went surfing by the moonlight. The conversations about security, privacy, politics and the role of technology in shaping the future has been intense to the point of being able to ignore the scenery – which speaks to the quality of the attendees across the board – and the glee we all share at designing protocols to support societal success has been a joy. It’s also been a great help to develop right next to Moxie, who co-authored the Axolotl protocol and authored the TextSecure server and Android client.
It’s always been in the cards that RedPhone iOS should launch before TextSecure iOS – they had a large development head start and a dedicated team, and that day is thankfully imminent. With that plan in place, we reached the turning point in which it was crucial to consider what having four applications on several devices, potentially burgeoning to more features (video messaging? email-like features? push-to-talk?) and more devices (web? windows?) in the future could mean for usability and brand coherence. The questions new users may have compound with every application. “Am I doing things right?” and separating out the user base into siloed apps means that a user may be able to communicate to Alice using TextSecure but not RedPhone, to Bob by using RedPhone but not TextSecure, and to Carol using Mobile but not Web or to Dave not at all as they couldn’t be bothered to download the requisite number of apps necessary to communicate securely with Open Whisper Systems.
There’s a precedent of highly successful mobile clients with a unified purpose (for example, gratis communications over the data channel) approaching this problem with a unified app, Line and Vibr come to mind, and we will only see more of this as consumers wrest power from telecoms. A unified SMS and voice app always has a bit of friction; as it fundamentally cannot mimic the native clients exactly, themselves distinct applications on both Android and iOS at present. However a unified purpose decoupled from the telecommunications channel has historically driven users to overcome any friction and use a unified app to communicate, independent of the method. With this comes the ease of moving fluidly between methods of communication whether voice or text or more with the knowledge that unified purpose is reached. Happily, this also means an ability to innovate on native clients.
In the case of Open Whisper Systems, libre, free as in freedom secure communications is our unified purpose, and I’m pleased to announce the plan for Whisper for Android and Whisper for iPhone, our unified app.
With unification come challenges: overlapping code base, code audits, user interface design, and migration of existing users. Here’s an overview of the timeline on iOS and Android, as with competing constraints (time to market and user base migration) on Android the TextSecure app will become the integrated Whisper, while on iOS the app will always be called Whisper but will have first RedPhone support and only later texting ability. A complicated path to a unified simplicity in 2014:
Whisper launches on iOS with phone call support (RedPhone iOS codebase). This is to get secure calling in the hands of iOS users as soon as possible.
TextSecure iOS is integrated integrated into Whisper iOS, fleshing out the full Whisper App on iOS.
TextSecure on Android turns into Whisper on Android, with the RedPhone Android codebase integrated.
Whisper, with secure calling and messaging capabilities, is now available for both iOS and Android.
20 January 2014