Blog archive

David I: Do Labels Limit Developer Creativity?

My inbox is positively billowing with press releases, product announcements and marketing department communiqu├ęs about the cloud. A quick keyword search of last week's pile alone turned up 400 electronic missives containing "cloud" and 175 of which contained "cloud application."

Navigating this e-mail thunderhead put me in mind of a conversation I had with David Intersimone earlier this year. Intersimone is vice president of developer relations and chief evangelist for tool maker Embarcadero Technologies. Better known as David I, he worked for more than two decades at Borland, the company that invented the IDE, then CodeGear, the company that emerged from Borland's decision to shed its tools business. I caught up with my favorite programming guru during his latest trip down under to visit the Australia Delphi Users Group (and to get in a bit of scuba diving in).

Intersimone believes it's time we dropped modifiers like "cloud" and "Web" from the application developer lexicon.

"When something is new, people feel compelled to add a qualifier, descriptor, locator or container around it to set the context," he said. "But eventually, when it's not new anymore -- or meaningful -- do we still need to keep the qualifier? Desktop applications, client/server applications, rich Internet applications, Web applications, cloud applications -- ultimately for the developer, they're just applications."

From a marketing standpoint (or as a way of explaining trends early in their evolution) those qualifiers are understandable, Intersimone allowed, but they're essentially meaningless to developers -- and are potentially limiting.

"As a developer, what do I do?" Intersimone said. "I build a user interface. I might talk to databases. I might use some APIs -- and nowadays I don't care if that API is a Google Maps API, a Facebook API, a Windows API or whatever. All you're doing is calling through REST or HTTP or TCP or calling remote functions, passing parameters in JSON packets and getting data or metadata back. And from a programming standpoint, I don't really have to think, 'oh, I'm building a rich Internet application.' Do I use Silverlight or SVG or Flash... I don't even think about that anymore. They're all just reusable objects and reusable APIs to me."

The result, Intersimone says, is artificial limits that might seep into the developer mindset.

"It's OK to say, 'I'm building a rich application, or I'm building a data visualization application, or I'm building customer billing application.'" "Those can be useful descriptions. But when you add qualifiers, whether its 'cloud,' 'Internet' or 'Web,' it's just about the specification, so somebody knows what it runs on. We don't have to be locked into one way of building a beautiful application. I'm just saying that we should remember that."

Point taken.

David's blog, "Sip from the Firehose," is a worthy addition to your online reading.

Posted by John K. Waters on August 12, 2011