David I. Has His Head in the Cloud...
I wrapped up the working side of 2010 by catching up with one of my favorite software development gurus, David Intersimone, best known as "David I." He calls himself a "code junkie'; I'd call him a programmer's programmer. 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; and he's now Vice President of developer relations and Chief Evangelist at Embarcadero Technologies.
We talked about a lot of stuff, including how he manages to get a seal on his scuba mask over that Dumbledore beard of his. But we eventually hunkered down on a topic that has been occupying him lately: developing for the cloud.
"I think we've made it through all these overloaded terms like software-as-a-service and mashups," Intersimone told me. "Now we're at the point where we can say, we've got clients and we've got servers, and in between them there are protocols and APIs. That's the real world."
The cloud is more a less a manifestation of that real world, he said, and it's improving the lives of developers by allowing them to employ the standards and the architectures they use when building desktop client-server multitier applications with the added ability to deploy very rich clients "all over the place."
"It's so easy now to configure and provision an instance of a server, inside or outside the firewall," he said, "and then build all sorts of clients, including a simple HTML/JavaScript browser client, or a simple client built with Xcode and REST connectivity for the iPad or the iPhone, or with simple Java for Blackberry and Android, or Silverlight for Windows Phone 7."
Because developers can use the tools and tricks they've already mastered when developing for the cloud, they don't have to create something completely different to service all these platforms. It's a Linux or Windows executable, or it's a REST server, or a SOAP server.
"I'm a developer," he said. "I want to build applications. I don't want to force everything into being a browser container -- unless my app wants to have a browser container inside the application. If I can do that, I can get anywhere. I can build a browser client. Or I can deliver a nice executable that has an affinity for the way an iPhone works, an iPad works, or a Blackberry device works."
Intersimone has a nice example online that he points to during his travels. It's a Web site called "Fish Facts" He built a DataSnap server in Delphi that serves up native code, REST code, and PHP. (Intersimone is a certified, Open Water II SCUBA diver, which I guess explains the fish.)
"All you need to do is to give the connectivity library for REST and the JSON parsing view with the packets encrypting them, and you can build clients in anything," he said. "There's a REST library for anything and a JASON parser library for every kind of device that I know of. So you put all your logic elsewhere."
DataSnap, of course, is Embarcadero's software for RAD development of multi-tier database apps for the Win32 environment. Devs can use Delphi or C++ Builder to create Data Broker/Client applications with TCP/IP, DCOM, HTTP or SOAP transport protocols.
Intersimone's advice for developers in this increasingly cloudy world?
"Keep doing what you're doing, but keep an eye out for ways you can house your functionality in these reusable server objects, rather than rewriting them completely," he said. "Then look at the protocols of the Internet and start thinking about how you can build clients that can talk to all that infrastructure."
Also, pay attention to existing and emerging privacy policies -- especially in Europe. Privacy is going to be one of the big issues for developers going forward, he said. Keep in mind what you have to do to scale properly in the cloud. And don't believe anyone with a write-one-run-anywhere pitch.
"Today it's all about connectivity, about building native applications and sticking them on a server somewhere, and then connecting to them via whatever protocols you want from any device," he said.
Code Gear, the company that first took over Borland's IDE business, including JBuilder, Developer Studio and a reinvented version of the Turbo line, was acquired by Embarcadero in 2008, but most of the crew that formed that entity are still there, Intersimone said. Their offices have been moved from the venerable Borland campus in Scotts Valley -- one of the first Silicon Valley corporate office complexes to earn the "campus" label back in the day -- to a building across the highway.
David I's blog, "Sip from the Firehose," is a worthy addition to your online reading. I got a particular kick out of his charmingly goofy "A Developer's Night Before Christmas" holiday poem.
Posted by John K. Waters on January 21, 2011