Archive for Web Apps

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)

ColdFusion powered desktop gadgets

Desktop and dashboard gadgets are particularly useful when they pull in dynamic information from the web. ColdFusion can make it really easy to supply your gadgets with dynamic data.

No matter what platform you choose — gadgets generally rely on HTML and scripting code just like any web page. You might be sneaky and squeeze some Flash or Silverlight into the mix, but the same concepts still apply.

Without the traditional back/forward/refresh functionality that web browsers provide for web pages, you’ll need to rely on AJAX methodologies to access and process data within your gadgets.

Where does ColdFusion fit in?

Since gadget files reside and render on the user’s machine, you’re stuck using vanilla DHTML for the front-end. But the front-end needs to retrieve dynamic data from somewhere. That’s where ColdFusion comes into play.

Read the rest of this entry »

Comments (1)

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)

Organize Twitter Tweets with Yahoo Pipes

Twitter has been all the rage amongst web geeks for a few months now. But as the service starts to catch on with the general public, keeping up on all the Tweet messages can get a little crazy. It only gets crazier as you start following tweets from your coworkers, ColdFusion gurus, the Mac community, and, oh yeah, Jack Bauer. With a little help from Yahoo Pipes, you can organize and separate tweets into different RSS feeds.

Twitter exposes most of its service functionality through an extensive API system. The API is powerful and insanely simple. On top of that, most of the tweet lists are available in both RSS and JSON form. Using just a few lines of scripting code, you can bring all the elements of Twitter to your own web site or desktop gadget/widget.

Take this a step farther, and you can pull the RSS feeds for individual tweet streams into a single Yahoo Pipe. Pull the pipe through a sort operator on the publication date and the various Twitter streams intermingle into one timeline. The pipe has its own RSS feed that you can follow in your feed reader of choice or pull into your own applications.

I just threw together two quick examples, a ColdFusion Tweet pipe and a Flex Tweet pipe. Neither is exhaustive but there’s enough there to get the basic idea.

This is some very cool stuff, a perfect example of opening up your applications so your users can decide how to consume them.

Comments (1)

Touchy-feely RIA

We Feel Fine is an interesting web app tracking what bloggers are saying about how they feel over time.

According to the site’s methodology section, it has been scanning blogs for phrases like “I feel” and “I am feeling” and grabbing the full sentence when it gets a hit, along with whatever author data can be scraped from the site. The results are organized and presented in six completely different, filterable interfaces.

The different results interfaces are impressive for an applet. The Madness view is a cloud of dots on speed. The Murmur view is reminiscent of the PostSecret project. If nothing else, the site is a cool proof-of-concept on organizing large amounts of statistical data harvested from web content.

Comments

Twitterific

Twitter is sort of like instant messaging. Scratch that — it’s really more like instant message away messages.

So why is a feed of other people’s away messages interesting? And why do I need to keep a running tally of my own? Somewhere in the mix of web application and desktop gadgets, the folks behind Twitter have struck gold.

While I visit the Twitter site from time to time, my main interaction with the service is through desktop mini-apps. I’ve got Twadget (yeah, that name… not the best) loaded on my Vista Sidebar at work, and Twitterific installed on my personal MacBook. With a mouse click or two and a few quick keystrokes, I can post a short message without ever opening a web browser.

The process is simple, it doesn’t interrupt whatever else I’m doing. It’s become part of my routine just like having an IM window open to chat with friends.

This is really the power of web enabled gadgets. They break web apps outside of the browser, taking away another barrier to entry for your application. Just like RSS has done for following information on the web, gadgets can be used to extend interaction out of a web site and make it part of your users’ routine.

Comments (2)

Blogging from Eclipse

Is there any geekier way to spend a Friday night than blogging? Sure — posting a blog entry from Eclipse.

Rob Rohan put together a nifty Eclipse plugin that will post entries over XMLRPC right from the IDE. There’s even a walk-through video to help get things started.

Comments (2)

Feed reader shock and awe

Did I give Joe bad advice when I recommended Bloglines as a feed reader?

After seeing lifehacker’s screencast on Google Reader’s keyboard shortcuts, I’m itching to try it out. I remember signing up when it was first released. But back then, it was impossible to delete feeds. Yuck!

Perhaps it’s my addiction to Quicksilver on OS X. But the mere mention of extended keyboard controls is enough to induce drooling.

(Incidentally, my advice to Joe matters not — he went with Feed Demon.)

Comments

Picking a CMS

I do some side-work from time to time — mainly creating small web sites for friends or organizations that aren’t very tech savvy. Usually, the owners of these sites want to edit their own content without constantly harassing me. Well, ok, maybe that’s actually what I want.

I expected to find something amongst the pool of open-source content management systems that could cover most of my bases. My needs seem simple.

I want a CMS that produces reasonably standards-compliant markup.

It would be perfect if non-tech users could edit multiple sections of text on a single web page without worrying about intermingling layout markup. Blog engines are nice, but boxy layouts are so 2006.

How about getting the final content to somehow trans-mutate into static, tweakable HTML files? Databases in shared hosting environments are sloooooow.

And not to be greedy, but this thing should run on an open-source platform like PHP. Again: friends, small organizations, shared hosting… low cost is paramount.

So maybe my needs aren’t so simple. Read the rest of this entry »

Comments

Real-time Javascript debugging

If you’ve ever spent any time debugging Javascript code, you know what a nightmare it can be. You fill up your code with Alert(”message”) calls, run, try to pinpoint the problem, repeat.

Firebug is a new Firefox add-on that makes working with javascript and CSS much easier.

With this add-on you get all of the following, in the Firefox browser:

  • Line by line javascript debugging
  • Console output from javascript — no more ALERT(”message”) debugging needed
  • Error console for tracking down CSS problems
  • A javascript commandline
  • XMLHttpRequest traffic viewer
  • HTML source/DOM explorer

I have already used Firebug to track through a page with three pretty complex javascript include files, seeing real-time variable info. This tool rocks.

If this post is just a little bit too geeky for you, try subscribing to the non-tech LLW feed.

Comments