Box hopes to strengthen and grow its developer ecosystem of over 60,000 developers with their new mobile SDK offering. Box is targeting the enterprise application development market, offering access to all of the functionality of their own Box app — including security, compliance, workflows, and authentication across a variety of Single Sign On (SSO) technologies. Big enterprise projects can dive deep into this functionality, while shops with smaller budgets can easily access prebuilt UIs and UX flows to quickly build iOS and Android apps.
“Developers can access hundreds of thousands of lines of code using just one line of code. Years of work went into building the Box app, and we are making these features and our backend platform available to all third-party developers. At Box Dev 2015, we rebuilt the entire Box app in just 25 minutes and using 40 lines of code. That is really a lot of power for software developers,” explained Martin Destagnol, Head of Mobile Development at Box.
In an industry first, Box lets app developers build apps that can preview and use over 140 different file types. Most of these file types are not available natively on iOS and Android, and building these features requires extensive coding work. For example, Box allows you to open and search correctly rendered PowerPoints on iOS. You can even play flash videos in iOS apps!
Mobile SDK Modules
Box’s mobile platform engineering team divided their new SDK into 4 modules:
The Content SDK makes all Box API functionality available as native mobile application code. The Content SDK is required for all apps. The Content SDK acts as a wrapper for all Box API functionality, and the Preview, Browse, and Share SDKs all work through it. Box’s own mobile app uses the Content SDK.
The Preview SDK allows you to work with all kinds of file types. Files will render correctly on iOS and Android. Usually, a WMV file would not play on iOS. Many of the file types are enterprise-centric, like medical image formats. And because the Box SDK provides a view of the file, that file can simply be embedded into your existing UI / UX. Box spent years building all of these previewers. The Preview SDK will be released in the next few weeks.
The Browse SDK gives developers access to Box’s file navigation and manipulation UI. Users can easily find and select files as well as import, save, and share documents. The Browse SDK UI is very customizable, with many different fonts, styles, and icons available.
The Share SDK allows users to share files and folders, while managing access rights for internal users and third parties. The Share SDK UI elements and UX flows are relatively fixed for developers, but some customization is possible.
The Content, Browse, and Share SDKs are less than 1MB each. The Preview SDK, with its extensive file format previewing capabilities, will likely be around 5MB.
Box’s goal is to make functionality available with “one line of code.” So if you call “authenticate,” that will launch activity associated with authenticating — such as all the UI components, native app code libraries, and access to the Box backend platform via RESTful API calls.
The code to use the Content SDK to authenticate a user on Android:
BoxSession session = new BoxSession(context);
Accessing advanced functionality requires additional code, but these are easily chained together using the SDK. Also, the configuration for “context” above would be defined elsewhere in code. But the basic SDK calls used throughout your app do meet the the one-line-of-code goal.
Box mobile SDKs for iOS and Android are a completely new release. Box previously offered an SDK that accessed as an API wrapper to their backend as well as UI components for a subset of the new functionality.
Box’s goal is to increase engagement on their platform. Box cannot build all the apps required by the enterprise IT world itself, so it is going out of its way to be attractive to developers. Box seems sincere in offering mobile developers a great opportunity to leverage Box’s backend services and content storage.