Why not both?<p>#1 is essential, but you really need to cater to #2 as well because &quot;crypto nerds&quot; are likely those who will eagerly adopt the software and advertise and praise it to others.<p>Here is a simple non-exhaustive list of changes to better achieve #2:<p>1. If the phone number starts with +xx where xx is a reserved&#x2F;invalid country code, the rest is the client&#x27;s base10 public key. Verification happens by signing a challenge or simply successfully performing a DH handshake instead of by SMS.<p>2. Provide a &quot;pull&quot; notification socket in the Signal server, use it if GCM is not available<p>3. Package the mobile-sync Chrome app with node-webkit or simply as a standalone server that auto-opens your browser to localhost:port<p>4. Use libtextsecure-java to make a simple standalone desktop client that could either have a command line interface or a localhost web interface (please don&#x27;t use the C library, since C is not suitable for secure software)<p>Obviously these changes could be done by third parties, not necessarily by Open Whisper Systems.