Cloud infrastructure: Dropbox

Wired: “But Go’s “memory footprint”—the amount of computer memory it demands while running Magic Pocket—was too high for the massive storage systems the company was trying to build. Dropbox needed a language that would take up less space in memory, because so much memory would be filled with all those files streaming onto the machine. So, in the middle of this two-and-half-year project, they switched to Rust on the Diskotech machines. And that’s what Dropbox is now pushing into its data centers.”

Read the entire story if you have a couple minutes, it’s a nice read. I love reading about custom infrastructure build-outs because they’re so rare and specialized. The bit I found super interesting and scary at the same time was the transition from Go to Rust in what looks like a move after proving it worked as expected. It seems like that is such a risky thing to do, but still entirely fascinating.

It’s also amazing how fast things change on the backend vs the native client side of things. I’ve been coding professionally for well over 20-years and in that time I’ve developed applications in C, C++, C#/.Net, Objective-C, and Swift. That’s it. In the past few years it feels like new languages are developed every day.

At Agrian we develop native clients on iOS in a mix of Objective-C and Swift, with all new code being written in Swift, and we have a combination of C#/.Net and Ruby on Rails for our backend services, with some new stuff being built in Scala. I know those aren’t what the cool kids use, except maybe for Scala, but they’ve proven extremely reliable. Our deployments are stable and easy to publish and the services continue to churn and chew on new data without issue. Of course we don’t have scale like Dropbox or a lot of the other big players, but it’s been very reliable depending on Ruby on Rails for our particular needs.

Design fun

Facebook to buy Dropbox

That’s right, I’m calling it. Facebook will acquire Dropbox in the very near future. How do I know this? History is on my side.

Designer Tim Van Damme has a unique superpower. His companies are acquired by Facebook. He was with Gowalla when they were acquired by Facebook, so he left for Instagram. Not long after Van Damme arrived at Instagram, that’s right, you guessed it, they were acquired by Facebook.

The first thing I thought yesterday when I read Mr. Van Damme was leaving Instagram for Dropbox? “I wonder when Facebook will acquire them?”

Has anyone set the line?

Apple Cloud Development

iCloud vs. Dropbox

Dave Winer tweeted something today that got me thinking, so instead of tweeting back and forth with him about it I thought I’d jot my thoughts here. Twitter is pretty horrible for discussions.

In response I pointed out that Dropbox and iCloud are different because Dropbox is a file syncing service and iCloud goes beyond that. If you’re a Mac or iOS developer you can sync portions of files to iCloud along with your application settings. Apple created this as an extension of their ecosystem. As a developer you can have automagic syncing for your applications, if you choose.

Of course I misunderstood Dave’s point. His concern is lock in.

Ah, now I see what he’s referring to. Apple has created a walled garden for applications built on their platform. It’s absolutely true. Another concern of Dave’s is the inability of iCloud to share your files outside of applications.

Once again, Dave is absolutely correct. There is no way to get at your content in iCloud if you’re not using an app that implements iCloud API’s. Oh, there is support for Windows, did you know that?

iCloud for DevelopersHere’s the deal. With iCloud Apple allows you to open your document, stored in iCloud, in your local application, make changes, and those changes can/will be sync’d back to your other devices. Here’s the difference as I see it. Dropbox is an extension of the filesystem on my local computer, iCloud is an extension of my application. Subtle, yes.

I’m having a difficult time getting to the difference because it is so subtle. Imagine if you have a Pages document open on your Mac and on your iOS device. You’re making changes on the Mac and you walk away. Those changes will get pushed to your iOS devices without saving the document. As far as I know you cannot do this with Dropbox. Dropbox will sync an entire file, not portions of a file.

Minor difference, but a difference none the less.

How about this. Dropbox allows me to see all my content via the web and my local filesystem has a copy of the documents. It’s absolutely perfect in that way. What about editing? Can you go to, log in, and edit a binary Visio drawing? No, you cannot. With iCloud we get this feature via apps. Again, it’s avery subtle difference, but it’s something Apple is very fond of.

I’d imagine once Apple can solve these types of issues we’ll see a more open iCloud, until then, if you’d like a great file syncing solution Dropbox is a better choice than iCloud. If you’re after great integration iCloud may be your best bet, although some applications have done a great job using Dropbox as their syncing solution.

In the end syncing of files across multiple computers is a very difficult problem to solve and Apple is just beginning to address the problem. Dropbox has created a very elegant full file syncing solution. Both are useful.

Oh, one more question. I almost forgot to ask this. If Apples’ iCloud is a lock in, which I will not argue, how is being tied to Dropbox not lock in? I would consider it lock in. To me what’s freed us from lock in are open protocols, like HTML, or RSS. They are part of the fabric of the internet and completely open. I can modify HTML with any application that can read, write, and modify simple text. Definitely no lock in. If Dropbox created an open protocol for syncing of files, that could be implemented by anyone, and their client application, as well as anyone else’s, could communicate with any server that implemented that protocol, I’d say it wasn’t lock in.

A stretch? Maybe. But we are, after all, talking about subtle differences.

fun Jobs

Need a job?

Dropbox Jobs: “When it comes down to it, you want to work on things you enjoy. At Dropbox, you’re free to choose what you work on because we want you to own a project and feel passionate about it. Since we don’t wait for product cycles, this means that you can start a project on Monday and have it seen by millions on Friday.”

I just installed Dropbox on Kim’s Mac and this is one of those tools you need in your daily workflow. It’s just necessary.

Anywho, looks like a pretty nice place to work, especially if you dig San Francisco.