Archive for Software

AIR: Why bother?

ColdFusion makes developing web applications insanely quick and easy. I don’t need to worry about the nuts and bolts of how to connect to a database, or how to invoke a web service, or how to read and write files on the server. I just write straightforward tags in my favorite text editor — and I’m done, web application launched for all the world to use.

But there are some things that web applications can’t do. They can’t really read and write files on the client machine. They can’t interact much with the client operating system. Drag and drop, PDF manipulation, copy and paste… the list goes on. And all that aside, an Internet application will never work without an Internet connection.

So how do you go about creating something that can do those things? A couple years ago, you were stuck building complex and clunky binary applications. So you have to dig into lower level languages like Java, C++, or any of the .Net languages.

Suddenly you’re working with compilers and writing 300 commands to do what one tag does in ColdFusion. Sure, you’re scoring points with the Java and .Net purists. But all that doesn’t leave a ton of time for the trivial things like the interface or user experience.

Enter the Adobe Integrated Runtime — AIR. You can use AIR to write a desktop application in Flex XML and ActionScript, or HTML and JavaScript. AIR exposes hooks in to the client system to handle a local database connection, catch drag and drop events, open up local files, and even render PDF documents.

So instead of writing complex machine code, you’re back to writing tags to define the interface. And you’re calling a simplified scripting API to do heavy lifting under the covers. And the API runs on both Windows and Mac, so your pool of potential users is not limited to one operating system.

Have you already written a full web application in Flex or AJAX? You’re only a few steps away from adapting the same code to run either online, or on the desktop. Maybe it’s a little of both.

Flickr has offered a pretty slick upload tool for a few years now. It’s an executable that you can install on your desktop to do drag and drop file uploads. Somebody at Flickr had to develop separate binary Windows and Mac executables.

With AIR, that’s something you could in one shot. Don’t believe me? Check out Matt Chotin’s MediaWiki uploader AIR app. They’re different underlying services, but it’s a great example of how a web app can be extended to the desktop.

AIR does a lot to bridge the gap between web and desktop apps. But just like ColdFusion did for web scripting, it makes building all the parts easy. And you get to use tools that you already know exactly how to use.

Now you can get back to focusing on what’s really important: building better software.

Comments (4)

Programming frameworks & rapid development

There’s an interesting discussion about programming frameworks going on over at the Wharton Computing developer blog: Why Not Frameworks?

Wharton Computing is where I work as a ColdFusion developer/administrator. There’s fifteen or so full time ColdFusion and Flex developers, and ten or fifteen more part-time developers scattered throughout the school.

It’s great to read what people think about the place of programming frameworks inside a school where the focus is on rapid and flexible development.

Comments (2)

Yet Another cf.Objective Wrap Up

I’ve got to echo the sentiments of everyone else: cf.Objective was a top notch conference.

I can’t think of a session that didn’t offer something new or challenging to think about. The smaller crowd allowed for some great interaction with community gurus and other developers. And the double-stuffed pillow topped beds, fresh carved pork lunches and artisan pastries were certainly nice touches too.

Overall, I came away with the challenge to improve my coding practices increase the planning that I put into projects.

At one point Terry and I were lobbying Mark Drew, lead developer of the CFEclipse project, to include more remote development features in CFEclipse. Remote development is how most of the developers in our shop work, but it definitely isn’t the industry standard.

Mark questioned why he should divert time away from other enhancements to build in support for bad practices. He used the analogy that if everyone had a six inch pointed spike fixed to their car’s steering wheel, we’d all be much better drivers.

Avoid cutting corners in any software development, plain and simple. There may not be a sharpened spike staring me in the face when I write code, but bad practices usually have a way of catching up.

I think it’s time to overcome my aversion to frameworks. I’ve always been worried about a hit to application performance and keeping up to date with framework code changes. But it’s becoming increasingly difficult to turn away from the industry tested patterns and practices that frameworks enforce. That’s not to mention all the repetitive busy work that frameworks automate so that I can focus on building better apps.

Comments (6)

Picking a gadget/widget platform

There’s lots of ways right now to extend the web outside of a traditional web browser. Whether you call them gadgets or widgets, web-enabled desktop mini-apps can be a powerful way to bridge the divide between your users’ machines and your Internet applications.

With all the gadget platforms out there, it can be tough to sift through the options. But in reality, most of the gadget engines are nothing more than glorified web page renderers. If you know HTML and you’re comfortable with JavaScript, you’re already well on your way to churning out your own custom gadgets.

Read the rest of this entry »

Comments (2)

CS3: No upgrade path from Win to Mac

It’s been a crazy week following all the buzz around Adobe’s CS3 announcements. As a Macromedia Studio user, I’ve been waiting to see how Adobe melds their products together with the Macromedia line. Everything I’ve seen has been pretty amazing, especially the cross-app functionality between Flash, Fireworks, Dreamweaver and Photoshop.

And as a recent convert to an Intel Macbook, I’m eager to get my hands on native versions of all these apps for my Mac. Parallels is cool — but running Fireworks directly on my desktop would be a lot easier.

I finally had some time to sit down and look through the pricing details. The fine print is disappointing:

Can I switch platforms when I upgrade my software to an Adobe Creative Suite 3 version?
No, you are only eligible to upgrade to a version that runs on the same platform. For example, if you own Adobe Creative Suite 2 for Windows®, you are only eligible to upgrade to a Windows version of Adobe Creative Suite 3.

So my Macromedia Studio license does qualify me for a CS3 Web Edition upgrade — but only for the Windows version. Mac converts need not apply. I can upgrade to CS3 apps in XP using Parallels, but to run it directly on the Mac I’ll have to shell out the full price.

People will pay whatever Adobe wants to charge for these apps. That’s a given. It just seems a little silly to put an extra charge on people who have switched operating systems.

Comments (13)