Conversations about life & privacy in the digital age

Release Updates: 5.1.1, iOS & Android Hybrid HTML5 mobile client v 2.9.0

Later this week we will share what else you can expect from us in 2014; but for now, here is our most recent release updates. Thanks for your support!

You can now download SpiderOak Orange General Release 5.1.1, featuring auto-proxy-configuration, new download-code and much more:

  • Fix: dir-watcher didn’t stop on Ubuntu 13.10
  • Fix: Don’t minimize the About dialog when launch minimized option is in effect.
  • Fix: Restoring resource forks on Mac sometimes failed.
  • Fix: windows_dir_watcher didn’t handle long paths.
  • Fix: sending links to Metro Mail Application.
  • Blue Fix: read default option only for new devices.
  • Read all release notes.


SpiderOak Mobile Client Update 2.9.0

The SpiderOak mobile client has reached a small but significant landmark: you will find a new release, 2.9.0, in both the Apple iOS App Store and the Google Android Play Store. The interesting thing is that the builds for both platforms are based on almost entirely the same code. The majority of the code is HTML5, hybridized with small, platform-specific portions as native PhoneGap/Cordova plugins. This way, we can get the benefits of a mostly single, common code base, but also fill functionality gaps not yet satisfied by HTML5, and preserve essential, platform-specific nuances.

In general, while the client builds will have the native user experience of their respective platforms, the application will operate in fundamentally similar ways. The platform builds will have all the same features. Incorporation of new features will usually convey, intrinsically, to all platforms. In some cases there will be some development overhead for each platform, if the feature depends on a native plugin, but usually we will be able to advance all platforms, in tandem.

The Android client has been based on this code since version 2.0.  This is the first public release of the iOS version. We feel it stands up well to the prior, native iOS version that was in the App Store until now.

We’re very excited about the opportunities that this consolidation enables, in general. One, very important opportunity ties in – via javascript, HTML5′s programming language – with Crypton, another SpiderOak championed open-source project. We are beginning to work with Crypton, in order to incorporate it for full Zero Knowledge mobile-client operation. This will at last enable us to concentrate on mobile client write functionality – on-device editing, backups, etc. There is plenty to be done, some of it not yet fully identified, so we haven’t yet established definite timelines. But the Crypton project is at the right stage of maturity, and we finally are focusing in earnest on its’ incorporation. We’re quite enthusiastic, and wanted to let you know that it’s in the works.

(Incidentally, we also will be making a beta Blackberry release of the 2.9.0 version available, but do not feel that it is ready for full release until some runtime technical issues in Blackberry OS are resolved. Windows phone is also on our agenda, but it presents additional challenge in not using a webkit-based browser, so we’re not sure when we will get to that.)

Here are the release changes:


  • Resuming app optionally challenges user to authenticate with 4-digit passcode
  • Default + content thumbnail preview icons
  • (new on iOS) Tap and hold on files and ShareRooms for more actions (sharing, etc)
  • Common code base for iOS, Android


  • Fixed selecting hive files as favorites
  • Corrected storage URL “Send Link”
  • APK backup inhibited, prevents info leak
  • Stay-logged-in setting properly holds
  • (UI change) Logout button moved to settings screen
  • Menu closes on content view taps
  • Account details now includes sizes, devices
  • Download progress for all file operations
  • “Stay logged in” instead of “Remember me” or “Keep me logged in”
  • (Android only) Protection from accidental exit – back key at top levels must be tapped twice
  • (new to iOS) Favorites and remembered ShareRooms are now per-user, no longer deleted on logout, and are available even without “Stay logged in” active
  • (new to iOS) Passcodes are now per-user, and available even without “Stay logged in” active
  • (new to iOS) Selecting a file as a favorite, and ShareRoom remembering, no longer forces “Stay logged in”
  • (new to iOS) Proper alphabetization of files and folders (symbols and numbers before letters, folders before files)
  • (changed in iOS) Moved “Advanced Login” to Settings > Server (from the Login Screen, use the “Go to ShareRooms” button, then access the side menu, and from there, Settings)
  • Better OS integration

HTML5 Mobile Client Open Development Project

I’m happy to announce that SpiderOak will be proceeding with its development of the new mobile client as an open development project. We are eager to arrange greater access to progress, as it proceeds, and to provide more opportunities for interested users to contribute, in various ways.

This means that we will be continuing our work on the new, HTML5-based client application in the open, including open sourcing the code base and also conducting our planning and coordination as openly and transparently as we can.

Project Process

SpiderOak will continue to lead development of the client. Members of our team, including the developer who has been working on the code to date (me), will be dedicated to the project. (I have had substantial involvement in open source development, at a few points in my career. It’s the way I prefer to work, so I’m particularly pleased with this turn of events.)

We will use a repository methodology, Fork & Pull, which is organized so that many people, both inside and outside an organization, can be involved and contribute.

Last week we ported the internal code repository to a publicly accessible github repository in the SpiderOak github organization, and started staking out the milestones/issues in the repository tracker. We also started to port the documentation to the repository wiki from its former home, the docs subdirectory of the code section.

Besides basic project orientation, the document providing orientation on the code architecture and other technical details has been ported to the wiki.

(That document also includes info about running the application from local files – currently necessary for testing it. Specifically, in order to run the application, you have to clone a local copy of the repository, using git, and then use a specially conditioned browser session to visit it. We’re working on providing a proxy by which anyone can try current versions of the development code just by pointing your browser at the right address.)


By the end of the year, we aim (milestone), to implement a single core application, with platform variants, that has equivalent functionality to the existing iOS and Android native mobile clients. It is being implemented in HTML5 / CSS / Javascript, with hybrid (PhoneGap) native extensions to fill in functionality gaps.

That is just the beginning.

HTML5 and, particularly, Javascript is becoming increasingly capable as
mobile platforms, along with the mobile platforms. After the initial
release milestone we plan to incorporate full ‘Zero-Knowledge’ operation,
including cryptographic encryption, local to the devices – like what
happens in the desktop client. As new SpiderOak secure collaboration
features emerge, we will implement them in this mobile client.

We are also excited about the possibility of using elements of the mobile HTML5 code as a common basis for desktop and browser HTML5 clients. The possible economies of sharing components between the desktop and mobile, plus the higher-level UI framing – HTML5/CSS/Javascript versus pyQt – may make it worth our while to re-engineer the desktop, and realize the benefits of greater development agility in the whole range, mobile to desktop, going forward.

Why Open Source/Free Software?

There are many reasons to conduct development of the HTML5 mobile client based on open source.

  • In general, we want to enable maximum access to SpiderOak services, including enabling others to use our code to inform their own efforts to use our services.

  • More, though, we want to arrange so that you, our users, can have thorough access, and not be in the dark about what is coming. You can help us understand what you need, and what we’re overlooking. You can contribute – help each other answer questions, fill in documentation gaps, identify problems and fix and devise code.

  • Some of the functionality we plan to implement will rely on innovations, like Javascript-based cryptography. Those innovations will be most useful to us, as well as to others, if they can be taken up and refined and strengthened by widespread use, beyond our projects. An open development process can help promote that kind of effect.

  • Ultimately, SpiderOak’s founders, and the team they have gathered in the company, have accumulated deep experience with and benefits from open source/free software. We see those benefits increasing, for us as well as for others, by applying open methodologies to development of this and other projects.

How Can You Get Involved?

Opening this project allows anyone to evaluate and contribute, not just code, but also designs, plans, and ideas that will be discussed online.

We are just starting this as an open development project, and will have some shaking out to do – as well as an end-of-the-year deadline that is first priority – but we are looking forward to shaping a good collaboration, with your help, and have started the steps to enable it.