Every six months we share our highlights via newsletter and corresponding blog post. It's a little overdue, so let's get to it :smile:

Heroku Addon

After months of development and testing, we are very happy to announce the general availability of our Heroku Addon. If you are a Heroku customer and you want one solution for file uploading of any kind, just type:

$ heroku addons:add transloadit
-----> Adding transloadit to sharp-mountain-4005... done, v18 (free)

The Heroku pricing corresponds with our regular plans, although we had to introduce additional high-end plans as Heroku does not support overages.

Tightened Security

After launching a security program we received insightful feedback by many researchers. We were able to address all of their issues and tightened our security because of it.
We're very grateful to these folks, and if you are still able to uncover vulnerabilities, please consider participating as well!

New Robots & SDKs

We've launched the /audio/artwork robot that extracts album artwork from audio files. We've also launched the /meta/write robot that writes meta data to files, the /ftp/import robot, and added video concatenation support to the /video/merge robot. We've added pngquant support to the /image/optimize robot, resulting in highly optimized png images.

We've launched brand new development kits for Node.js, Android and iOS, and we've released several fixes and stability improvements for the jQuery SDK.

Improved Video Encoding

Some videos contain data and subtitle streams. Our default was to give each stream a place in the output file, but we found that in many cases these streams are unwanted, while being a source of many encoding problems.

To address this we have launched FFmpeg stack v2.2.3 that by default ignores these streams. It also contains many other improvements on which a separate blog post will follow. If you want to preserve data streams with v2.2.3, you can using the map setting.

New Features

Besides the big projects mentioned above, we have:

  • added a "Freeze account" option when you want to avoid being charged without losing access to your account's Templates & history
  • added support for > 5 GB files for Rackspace Cloudfiles storage
  • added support for preserving album cover files when converting your audio files
  • added more fonts for printing text onto your images with the /image/resize robot
  • added a filter for the Assembly list for Assembly errors you can fix on your end
  • added the option to ignore errors when you batch import files from S3, FTP or SFTP
  • added the option to email you on Assembly errors you can fix on your end
  • added HTTPS URLs for temporary result files to our Assemblies status pages
  • improved the speed and reliability of our Assembly Search
  • improved our queueing algorithms to better mitigate load spikes in the terabyte range

Our Statuspage has been migrated from Nodejitsu to Digital Ocean. We used Terraform to fully automate setting up camp at DO - and loved it. You should check it out!

Growth

We're happy to report continuing growth over the past six months:

  • we now have a base capacity of 20 octa-core machines. A +300.0% increase.
  • during our biggest load spike so far we scaled up to 130 octa-core machines. A +44.4% increase.
  • our monthly usage has picked up. A +41.6% increase.

CoffeeScript

Many of our customers are developers, that's why we'll share some internals even though not a customer-facing improvement.

At Transloadit we maintain our website (Jekyll / PHP), API (Node.js / JavaScript), SDKs (all main languages), and home grown scaling tools (written in Go).

Our API is at the heart of our company, so you may be surprised to learn that we've finished rewriting it from JavaScript to CoffeeScript.

We didn't really appreciate CoffeeScript before we had to do a real project with it for two weeks. All the reservations we had about using such a language in production melted away and made place for warm feelings of appreciation & efficiency. We decided to take a shot. Since CoffeeScript compiles to JavaScript, we could continue to use all the JS classes and modules - as we were porting.

We're now looking at a codebase reduced in size by 22.3% with still some refactoring ahead. We find it more enjoyable to read code now as there is less of it required to achieve common things. The intent of the developer seems to shine through more clearly.

We also find it more enjoyable to write. Some typical bugs and typecasting mistakes are just not possible to make. All in all we're happier engineers, making bigger dents with fewer keystrokes.

Thanks to our massive test suite, we can report that there have been zero incidents related to this undertaking.

Goodbye

We also have an announcement of sadder nature. We started Transloadit as three engineers from Berlin and Amsterdam - Felix, Tim, and Kevin. Within five years we turned nothing into something and have a profitable company that we are all very proud of. We're the company running Node.js in production for the longest time, and have released a ton of open source to make that happen.

We had amazing times at conferences, Queensdays in Amsterdam, in the Biergartens of Berlin, and hacking trips to Dubai. We had hundreds if not thousands of Skype calls discussing architecture, ways to outsmart competition, and about our personal lives. We became true friends.

That's why writing this is hard. But after five great years of driving Transloadit to what it is today with the three of us, our Co-founder Felix Geisendörfer has left the company. In July 2013 it became clear that our visions for the future of the business had diverted, and we weren't able to unify. We tried several things, but with the need to support a growing customer base there was a demand for iterating on the existing product, and less room for game changing developments.

We were unable to bridge this gap and ultimately decided the only way forward for each of us was to split up. Felix' last commit to our repositories was in June 2013 and he officially left the company in March this year.

We cannot deny that Felix' personality and exceptional talent will be dearly missed. At the same time his departure made it all the more clear that Tim and I care deeply about Transloadit. Building an encoding service and being able to live off of it is a dream come true, and we feel there's still so much we can do to push our baby to even greater heights.

And we will. If you want to help with that, let us know.

We are incredibly thankful to Felix and know that he'll be successful in any future endeavor he decides to take on. We wish him the best of luck and strength with that!

Looking Ahead

We have a lot of good stuff in the pipeline. This is just to name a few. We'll:

  • implement Cluster which will aid to making our uploaders more reliable, and our deploys smoother
  • add visualizations/graphs of your usage how our systems are behaving
  • launch a complete design overhaul of our website (already 3 months in the making)
  • launch advanced encoding & import features
  • expand to Asia Pacific (besides currently Europe & US) to lower latency in e.g. Australia and Japan
  • launch SDKs for more languages (such as Go)
  • add support for resumable file uploads via the open protocol we've launched over at tus.io

Please let us know if you'd like to join us in this adventure, as we're actively looking for reinforcement!