Skip to content

Misplaced Marketing

December 11, 2010

My colleague is pleased with an online backup service called Backblaze, because it already saved him once.  I looked at their web site to learn more, and it’s a service that automatically backs up your personal computer’s files to the cloud, similar to Mozy or Carbonite.

While browsing the Backblaze website, I saw something that stuck out as rather odd.  Where it highlights the advantages of their Windows client,  it predominantly features a reason called “Native ‘C’ Code” with the following excerpt:

“We didn’t take a short-cut and create a Java app that can run on many platforms. Instead we wanted to create a product that felt integrated and responsive. So we built Backblaze using ‘C’ code, also known as the best scripting language in the world.”

This program primarily copies files back and forth between the disk and a network.  IO to disk… not the exactly the fastest operation possible.  IO to the network, again, not quite the speediest task.  Yet they worry about responsiveness to the point that they chose a bare-to-the-metal language like C (and not even a modern variant like C++).  How exactly is this giving extra responsiveness?

They go even further to say this approach feels integrated.  I’m not exactly sure what that means, but if you want an integrated experience for Windows, you’d probably opt for the .NET framework.  This provides an expected UI experience, with advantages such as managed code.  Of course, that is apparently considered an unacceptable “short-cut”.

Now I have nothing against C; most of my career is programming in C and C++.  C can be great, but that doesn’t make it appropriate for everything.  I also use C#, and notice that the percentage of time spent debugging is significantly less.  Significantly.  It’s just much harder to introduce insidious memory bugs when using languages like C# or Java.  I would probably feel more comfortable knowing their client was written in a language like that.  While such languages may perform slower in some situations, for most things like user interface, IO, and well, just about all the stuff this client needs to do, a human will never detect a difference in responsiveness.

At the end, they call C “the best scripting language.”  I suppose this is intended as a tongue-in-cheek joke, although I don’t find it funny.  Unless the author’s intent is to mock their own engineers for choosing an ill-advised approach, in which case this statement is more subversive (and hilarious).

That they explicitly eschew a cross-platform approach like Java highlights another alarming “feature.”  This happens to be a cross-platform product with a Mac client.  Which might make it a great candidate to write in Java, right?  (Non-existent responsiveness issues aside).  Well, the Mac client page says similar stuff:  “we built Backblaze using Apple’s Xcode and and put the controls in the System Preferences using a native interface.”  And is any of that C code for the Windows client portable to Apple?  Not if they use the native Windows API as claimed.  So they have two different programs that do exactly the same thing. differing only in UI, yet they must maintain completely different code bases?

Lastly, nit-picking of their engineering approach aside, these marketing bullets are also odd for another reason:  Who cares?  The main theme of the rest of their product literature is that the software is easy to set up and use.  That’s great, and exactly the stuff potential customers want to hear.  Why introduce non-relevant technical details?  As a potential customer, as long as the software works, I don’t care if it’s native or Java or whatever,  only about backing up data reliably.

Thrusting this whole native and integrated argument forefront into the product description just strokes me as a bad way to promote the software.  If I weren’t a software engineer I wouldn’t care, it would just be useless trivia.  But as an engineer, I’m shocked at this attempt to impress me, and wonder if they even know what they’re talking about.

No comments yet

Leave a Reply

Your email address will not be published. Required fields are marked *