Filestack launches a new API and changes the game for file uploading

"Upload your profile pic here" -- such an everyday requirement, but one that actually takes a bit of work in the background.

social media online presence profile user
Credit: Thinkstock

Once upon a time, the sign of credibility -- indeed, the mark of coming of age for a young man in my home country of New Zealand -- was buying his first car and being able to do an oil change on it himself. A rite of passage was for a father to teach his son how to perform routine maintenance on his vehicle, a skill passed down many generations.

Fast-forward to today, however, and it is decidedly rare to find anyone who does their own oil changes. The fact of the matter is that it is a relatively messy and time-consuming task and one which isn't a particularly good use of time -- these days the thought seems to be, "Why do my own oil change when I can pay someone to do it and enjoy a long brunch with the time I save?"

We have entered the age of abstraction when more and more menial (and, often, not so menial) tasks get handed off to a third-party service provider.

And so it is in the technology space, where developer tools seem to rise on a daily basis to perform some application requirement that a developer could have built themselves, but which is seen as a non-core requirement. Companies like SendGrid and Twilio have grown rapidly by offering, respectively, email capability and communications that can be "embedded" within an application.

Twilio has built a significant business, and taken its company public, based on this idea of abstracting one particular part of an application requirement. And in doing so, it has build massive specific knowledge about the communications area. Developers can leverage this knowledge without having to learn all the minutiae themselves.

Another area that developer tools are looking to is that of file uploading. Most applications have some sort of requirement for file uploading -- from the obvious candidates, file sharing and sync tools, to simple use cases such as uploading a profile pic. File uploading is one of these areas where developers might be looking for a third-party solution.

And when they do, Filestack is there to help them.

Filestack is a developer service for file uploading of user-generated content. It allows software developers to integrate more than 25 social networks and cloud drives with just a few lines of code. End users can upload content from websites and mobile apps like Facebook, Instagram and Dropbox, or wherever that content is stored. Filestack enables developers to upload and store large files, transform and manipulate images and other file types, and deliver that content across any type of desktop or mobile device. The service boasts of some 50,000 worldwide developers using its platform.

When one considers that user-generated content -- in particular images -- is exploding globally, the existence of a solution like Filestack makes sense. Indeed, Kleiner Perkins, the creator of the legendary Internet Trends report, estimates that there are now over 3 billion photos shared per day across the five most popular social media sites. Add to that the estimated 18 billion video views per day across Facebook and Snapchat alone, and you have an enormous number of files that need to be accessed, transformed and delivered.

Filestack is today releasing its redesigned embeddable file picker that itself has been built on top of a new JavaScript library. The rewrite means that Filestack can offer additional capabilities -- namely, accelerated uploads for large files, resumable uploads optimized for spotty mobile connections, enhanced image recognition services powered by Google Vision, and a new unlimited upload plan for high-volume customers.

"Nearly every app built today incorporates some form of user-generated content," said Pat Matthews, CEO of Filestack. "But there are challenges with this. Files are getting bigger. Users are storing files across many different social networks, clouds and devices. Everyone wants access and upload capabilities across any device, even on slow internet connections. These are ubiquitous challenges for all developers. We solve these file management challenges and help developers focus on what drives competitive advantage for whatever they're building."

Adding value with advanced features

The new file picker has been redesigned to increase ease of use for both developers integrating the file picker into their app and end users using it to upload content.

End users can transform images on the fly by cropping, resizing and applying Instagram-like filters. Developers can programmatically manipulate and manage images, including new advanced image recognition powered by Google Vision machine learning, which lets developers programmatically tag images based on content and detect explicit content.

Faster uploads on all devices

The Filestack back end has been redesigned to accelerate uploads of high-resolution images and videos.

To accelerate file uploads, Filestack first divides the file up into chunks and uploads them in parallel, speeding up the upload and reducing any risk of timeouts. Second, it automatically retries failed uploads (an increasingly prevalent situation, especially given the spottiness of many users' internet connections). Third, it accelerates file uploads by optionally sending the file to the closest AWS data center worldwide, without passing through any other infrastructure, thus reducing the distance files need to travel before they can be viewed on other devices.

File resizing and fast downloads via CDN of 28 worldwide data centers

While fast file uploading is valuable, it really need to be matched with fast load times upon viewing.

Filestack offers file compression and resizing natively. Files are then served via a distributed content delivery network (CDN) with some 28 globally spaced points of presence. Filestack suggests that page load times can be reduced by up to 50% by using its distributed architecture.

MyPOV

You'd be forgiven for thinking that file uploading and manipulation is a pretty stock standard requirement that any developer should be able to build on the back of their public cloud of choice.

The reality, however, is that much like application monitoring, email functionality and communications, building higher-value features in this area is a specialist task. While it may go against the grain for some developers to abstract tasks to a third party, for those looking to maximize their agility, tools such as Filestack provide a valuable option.

This article is published as part of the IDG Contributor Network. Want to Join?

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Must read: 10 new UI features coming to Windows 10