Tag Archives: client

Hey from QA & how we run sync testing in SpiderOak

Hi people of the internet (and mom!).

My name is Rebecca and I am a quality assurance tester with SpiderOak. This means that I test EVERY aspect of EVERY release on EVERY operating system — catching functional and style issues before the product goes live. I report issues to the developers, who then write a patch or some other sort of tech wizardry. Then, they send me the new builds to test again – this loop repeats until we create a product we’re excited to push live!

Sometimes, testing compatibility across different operating systems can get tricky – especially with syncing. A user can sync any two folders connected to a SpiderOak account, from any operating systems we support, and with any filetype exclusion. Testing this can get confusing, and worse – boring. So we came up with an idea that is fun and very efficient.

Here’s a glance at sync testing in SpiderOak!

First, I create uniquely-themed folders on each operating system in my Virtual Machine. Each folder must contain a variety of image and text files, and at least one subfolder. Pinterest and food blogs are my favorite sites for this. For example, my Windows 8 OS has a folder named “Cupcakes,” with images of cupcakes and some recipes and cookbook reviews, whereas my Ubuntu OS has a folder of cheeses and cheese/wine pairing notes. Each OS has a distinct theme, so I instantly know what files are coming from which location, without even having to track it in the “view” tab in the SpiderOak desktop client!

Second, I test the syncing within one operating system. I create a sync name and description (RecipeShare / sharing recipes for allergies), select two folders (“Cupcakes” and “Gluten-free cookies”), select wildcards to exclude (*.jpg, *.gif), approve it, and start the sync. With this particular sync, only the text files should sync across – if I see cupcake pictures in my my “Gluten-Free Cookies” folder, I’ll instantly know something is wrong. Also, folders that are synced cannot be in another sync (endless sync loop). So if I were to try to sync “Vegan Cookies” and “Gluten-Free Cookies” after the previous sync, an error message should appear.

Third, I test the syncing of folders from different operating systems. Both operating systems need to be running and set for the same – if one OS is set for yesterday, the sync will not complete (and you probably have bigger problems than a sync issue if you’re some sort of fancy time-traveller). I find this type of sync really useful for creatives – you can pull together inspirations and notes from your work, personal, and mobile devices, much more quickly than emailing attachments and texting reminders. I repeat the same steps as syncing within one operating system, and since each OS has a unique theme, I can instantly tell what files originated in which OS.

Finally, I repeat this on each OS to hunt down any anomalies. I also cancel syncs and then add files to one of the folders, to make sure the sync isn’t still active. If I cancel the above “RecipeShare” sync, and add a recipe for almond flour snickerdoodles to my “Gluten-Free Cookies” folder, it should no longer appear in the “Cupcakes” folder as well.

By creating special themes for each OS, I instantly remember where everything originates and ends up. Picking themes I personally enjoy and creating scenarios for why one would need folders synced in particular ways helps me understand the customer experience. This way I can also provide suggestions to make syncing more user-friendly and efficient! I, and the rest of SpiderOak, want to get you your data in the most clear and most secure way possible!

Themed syncs also allow for some silliness, so I’ll test your understanding of syncs with this:

What do you get when you combine a folder from your work computer about bathroom renovations, a folder from your home computer about Ancient Egypt, and a folder from your tablet of 90s hits?

Syncing your sinks with a sphynx and N*SYNC.

Happy Syncing!


Latest & Greatest: Calling all Beta Users

Greetings SpiderOak Users!

We have been working diligently on a new SpiderOak 5.0 / SpiderOak Mobile 2.0 release which contains many exciting new features including a central sync folder (think Dropbox but with ‘Zero-Knowledge’ privacy), operating system integration allowing for right-click functionality (initially only on Windows), and several other enhancements to the overall application and experience. A brief overview is as follows…

The SpiderOak Sync Folder

As many of you may have already read in a previous post New Feature: What would you call it?, this ‘sync’ folder makes it easy for users to get up and running with SpiderOak in a few very simple steps. Any folders or files placed in this ‘sync’ folder will automatically get backed up and then synced to any other devices that have the SpiderOak ‘sync’ folder running. To round out the functionality, the data will be easily accessible via our new mobile applications (details below).

Operating System Integration

As part of this release we will also be deploying OS integration granting right-click access to SpiderOak functions via the file browser (Explorer on Windows and Finder on Mac). You will be able to select a folder or file for backup, share a file, or view the historical versions of a file all through the context menu.

Further – you will also notice a SpiderOak icon overlaid on all folders that are included as part of the backup set so you know immediately when a folder is safely and securely in the SpiderOak system. We will be releasing this feature initially only on Windows with Mac and Linux soon to follow.

SpiderOak Mobile 2.0

Another significant advancement is the release of our new mobile applications. We have updated the structure of the app to better take advantage of the future growth in functionality – including immediate access to all data within the SpiderOak Synd folder. This will also make it easier to navigate data across your various computers and devices as well as simply preview and share any file stored within SpiderOak. Along the way we also addressed many other issues and concerns such that the application will function with much greater efficiency and effectiveness. Our plan is to roll out the iOS version first followed closely by Android.

How to get involved?

If you are interested in helping us test these latest features as well as provide important and critical feedback, you may do so by downloading the desktop client via our Forum. Instructions can be found here:click here & log in to the forums. To test our new iOS client, please send an email to: mobile@spideroak.com with your UDID and we’ll get you connected.

Last but not least…

Please note that this is a pre-beta launch. We want to reiterate this as we are still working on addressing some small issues here and there; that said, we are extremely excited to hear your feedback and thoughts on SpiderOak 5.0 / SpiderOak Mobile 2.0 and where we are headed. Thank you in advance for your time, commitment, and continued patronage with SpiderOak.

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.