Web Applications

I’ve just released my first ever RubyGem. It’s a simple gem named Manifesto that dynamically generates an HTML 5 cache manifest for offline application caching. I got the idea whilst developing my Truth Tables Sinatra micro web application. It returns a list of files within the specified directory and sub-directories.

As I mentioned previously, I’ve been having a lot of fun lately writing micro web applications using the Sinatra framework. I’ve found myself thinking of a simple idea for an application, developing it fairly quickly using Sinatra and some technologies or techniques that are new to me and then getting it out there running for free on Heroku. I’ve developed two other applications this way since blogging about my bespoke URL shortener jtblog.me: UUID Waster and Truth Tables.

The Sitemap protocol was introduced by Google in 2005, but is now supported by all of the major search engines. Unrelated to a traditional website sitemap navigation page, it defines an XML schema for listing the URLs within a site, including metadata such as when a URL as last updated, therefore allowing search engines to crawl the site more intelligently.

One of the trends we've seen on the Web this year has been the proliferation of URL shortening services, to the extent that TinyURL is no longer the default choice. This growth has been driven by the popularity of Twitter with its enforced 140 character message limit and by seamless integration with mobile device Twitter clients such as Tweetie. However, questions over the longevity of these services and the permanence of the links they serve has also led to a new trend of hosting your own. As it seems to be all the rage I thought it would be a fun little exercise to write one for this blog using Sinatra.

I’ve been beta testing Jeff Atwood’s and Joel Spolsky’s latest venture, Stack Overflow. In case you haven’t heard, Stack Overflow is a new site where programmers can go to get their programming questions answered by other programmers.

I went to a great gig in London last Friday with my good buddy John Conners. In a bizarre twist on the traditional format for these things, it was actually a presentation on project management software for software teams, rather than a music gig.

You may recall that a while ago I mentioned The Rails Way, which is a site where Rails core team members Jamis Buck and Michael Koziarski review code submissions and illustrate Rails best practices. Well, the big news is that they’ve started reviewing my code!

I’ve just finished moving AssetsGraphed over to Rails Machine. The application was originally hosted by TextDrive, on the same server as this site. I don’t have any complaints about TextDrive but it was clear that I needed something more substantial for AssetsGraphed.

I’ve been thinking about Web applications lately and in a U-turn worthy of an unpopular politician have revised my opinion of them. Regular readers may recall that previously I’ve bemoaned the poor user experience offered by Web apps in comparison to their desktop cousins.

Carson Systems have just launched Vitamin, which is billed as “a resource for Web designers, developers and entrepreneurs”. I’ve just had a quick look around the site and it looks like it’s going to be essential reading if you’re at all interested in Web design or the whole Web 2.0 thing (whatever that is!)

SitePoint have published what is the first of hopefully many articles that I’ll be writing for them. Apache Ant De-Mystified is a brief prelude to a revised version of the Jakarta Struts De-Mystified series, the first four parts of which have already been on this site.

I try to avoid writing about things that I’ve stumbled across whilst browsing—preferring instead to concentrate on creating my own content—but via a six degrees of separation-like process, I’ve come across something so remarkable that I just have to tell you about it.

Last time we wrote most of the JSP to display the list of topics and I introduced some of the Struts custom tags for looking up message resources, conditional processing and collection iteration. Without further delay, let’s write the code that makes each topic subject a hyperlink.

I’ve decided to make a couple of changes to this series. First off, I’ve had requests to make the full source code for the Web Forum application available for download. Initially I didn’t want to do this because I only wanted the relevant code to be associated with each installment. I’ve changed my mind because it’s going to save me a lot of time if I don’t have to strip out code every time I write an article. Secondly, I’ve decided to split the series up into much shorter, bite-size chunks.

Last time I introduced this series of articles and the Web Forum application, and I explained what would and would not be covered. This time I'm going to cover the data and business object layers, and we'll roll our sleeves up and cut some code.

Just over a year ago I started to learn how to use the Jakarta Struts J2EE web application framework. During this journey it became apparent to me that there were some aspects of Struts that I found confusing at first, and that many other developers were going through the same difficulties. This series of articles is an attempt to address this problem.

Yesterday I spent more time than I would have liked trying to track down a problem with a custom JSP tag library that I was developing. I'd added some attributes to the TLD file and packaged the custom tag as a JAR file ready for use by my test web application.

One of the things that has struck me whilst learning J2EE is the fact that there's a symbiotic relationship between J2EE and the world of open-source software. There's a bewildering choice of open-source software available to the enterprise Java developer, encompassing everything from application servers to string libraries and anything you can think of in-between.

There's been some discussion recently about Mailinator, a web application that provides instant, disposable e-mail addresses. Apart from being struck by what a brilliantly simple and useful idea this is (and wondering why I didn't think of it!), I was also interested to notice that Mailinator is a Jakarta Struts application.

About This Site

I've been blogging here since 2003. I write about software, other computing matters, design and anything else I have an opinion about that I want to share.