Project Tracker v2.0 Released

A new version of the Project Tracker has been released today. This version incorporates over a dozen major feature upgrades and enhancements - plus a whole lot of bug fixes as well.

The improvements go something like this:

  • New Administration area for settings, projects, clients, users, etc.
  • Email and/or SMS Notification system of new files, issues, messages, milestones, tasks
  • Granular permission system for each project and item
  • New issue system featuring statuses of new, accepted, resolved, and closed.
  • Enhanced code for speed: JavaScript libraries trimmed down. Less reliance on Interface, more on jQuery and now using lates jQuery. Minimized number of external CSS and JS calls.
  • CSS has been made more "bullet-proof"
  • Streamlined UI when only 1 project. Allows for auto-login of guest user to provide for public projects.
  • Includes SQL upgrade scripts for version 1. Better internationalization. Better mySQL compatibility.
  • Forgot username/password functionality.
  • Moved to JavaKit SVN for UNIX SVN browsing. Now includes Diff functionality. Includes JavaLoader.
  • Client management included and linked to projects.
  • Attach files to messages.
  • Assign due date to tasks.
  • API for reading projects data.
  • General bug fixes...

Head on over to for the code!

Generating OpenOffice Documents On The Fly

Although Microsoft is not happy about it, much of the world has been moving in the direction of the XML-based OpenDocument format, otherwise known by it's much longer, full name: the OASIS Open Document Format for Office Applications.

This opens up new possibilities for document generation and allows the creation of all sorts of Office-type documents using only a text editor (assuming you know what you're doing). A number of applications, including OpenOffice, already support the OpenDocument format. Microsoft Office does not, but there are plugins available.


Amazon Launching Database In The Sky

Amazon continues their transformation from retailer to web application backend-service-provider with the launch of their new SimpleDB service.

The service allows you to offload your database storage and processing to Amazon's Web Services. By combining the use of Amazon's Simple Storage Service (S3) and Elastic Compute Cloud (EC2), this new service provides the ability to store, process, and query data sets in the cloud.

Amazon's continued transformation gives developers an option for one less thing to worry about. It also has the ability to scale up instantly, providing another layer of insulation against the "Slashdot" effect.

The service is currently in Limited Beta. You can sign up for the beta from the Amazon Web Services homepage.

The Importance of HTMLEditFormat()

I got a call today from a user who was having a weird problem when trying to save data on a form. Upon inspection, it turned out that there were a set of double-quotes in the data.

So why is this a problem? As far as ColdFusion cares, it's not, and the data was actually getting saved to the database correctly. The problem appeared when doing an edit. Everything after the first double-quote was being cutoff.

Upon further inspection of the HTML being generated, it seems that is where the problem came in. ColdFusion was doing it's job by outputting the double-quotes, with no knowledge of where in the page that data is being used. And if you use it in a form, you've got problems because it will appear to the user that the data is not saving.

The solution is to use HTMLEditFormat() when outputting values into form fields. This will cause any HTML special characters to change to their entity notations. So the HTML that is generated will actually look something like this:

<input type="text" name="whatever" value="some &quot;quoted&quot; text" />

but it will display on the form as normal double-quotes, and will submit as that too:

This may be common knowledge to many of you, but I'd bet there's a whole bunch of developers who don't even realize this could be an issue. Hopefully this will help prevent some hard-to-track bugs!

Project Tracker 1.0 Beta Released

So here we have my first full open source application. I've released a few CFCs, but this is a whole 'nother story.

Project Tracker is somewhat of a clone of the Basecamp application created by 37signals. It is designed to let you manage and collaborate on your projects.

Some of the features include:

  • Post messages and comment with team members
  • Create to-do lists and items
  • Set milestones
  • Track issues and bugs
  • Share files with team members
  • Dashboard view of all current activity across projects
  • Integrated SVN browser and source viewer
  • Default and per-user styles
  • FCKeditor included for rich text editing
  • Avatars supported on CF8 (cfimage required)

This is an active project with improvements and fixes being made regularly. Please send me your suggestions!

The project page and download is at

Disabling Text Selection For Drag-and-Drop

A common usability problem encountered in Ajax apps is the unintentional selection of text when trying to do a drag-and-drop operation. This javascript function allows you to disable text-selection for a specific element on the page and should work in all modern browsers:

<script type="text/javascript">
function disableSelection(element) {
element.onselectstart = function() {
return false;
element.unselectable = "on"; = "none"; = "default";

You can't disable text selection with CSS alone because returning false from the onselectstart event is necessary to disable selection in Internet Explorer. You may want to also change the cursor when mousing over your draggable item with a style of "cursor:default" or "cursor:pointer". Even better yet, you can use "cursor:hand" to indicate that dragging is possible.

Here's how you would call it in your page:

<script type="text/javascript">

Should you actually need to copy and paste, you can always view the source.

Ext Javascript Library Launches

Jack Slocum's wonderful Ext library, which was originally based upon the Yahoo! User Interface (YUI) components, has now gone live with a universal version that supports jQuery and Prototype/Scriptaculous as well. You can actually customize your download package based upon your JS library of choice and the widgets that you'd like available.

Kudos to Jack for putting out such a professional package - lots of good stuff to play with for creating some serious desktop apps!

Check it all out and download at

Welcome To The Future

For those of you who haven't seen this article from Fast Company, I highly recommend giving it a read. It seems the future is upon us. Jeff Han is a 30-year-old engineer who is changing the world by thinking outside the box. He has reinvented the touch screen interface by turning it into something more real. Reminds me of my favorite inspirational poster: "Vision is not seeing things as they are, but as they should be." Peep the video below.

Yahoo! Benefits/Suffers From The Ajax Effect

So the big news this week is that MySpace is now the number one site on the net in terms of monthly page views. Yahoo! was the previous leader, but there was a drop off this month which put them in second. While this is kind of a good thing for ColdFusion - assuming they keep things running smoothly :) - it's a bit misleading for Yahoo! as this exact day was predicted long ago before they even launched the new home page.

But reading a little more into it, one can see that the drop-off in page views can be attributed to Yahoo!'s recent foray into Ajax. Everything from the Yahoo! front page, to mail, news, television, etc., has been getting an Ajax once-over at Yahoo. But what's better for the consumer is not always better for the site - on the surface anyway.

People have been warning that the web is in need of better metrics than the page-view. That has never been more true than now. I can only imagine how some of the better-designed, one-page Ajax sites might show up as a mere blip on the radar screen which can be misleading.

Going a step further, it could be argued that MySpace has stayed away from Ajax on purpose just to pump up their page views. I'll refer you to this study by Mike Davidson of which points out how MySpace could cut their page views by over 2/3rds if they wanted to. So until traffic analyzers learn to deal with Ajax, take what you read with a grain of salt!

Why Do Developers Hate The <label> Tag?

One of the most common usability faux pas I find all over the internet is the lack of developers linking up radio buttons with their labels. Why should we be forced to click a tiny little circle when we should be able to click the actual text for that choice?

It's built into the HTML spec so why don't developers use it? Even some of the biggest sites on the web are guilty of this one. I just don't get it.. it's not exactly rocket science.

Just give an ID to your radio button, like so:

<input type="radio" name="whatever" id="selection1" />

then wrap the text that goes with that radio button in a label tag, as such:

<label for="selection1">selection 1</label>

Here's a full example with a few selections to choose from.. notice how you can just click the text to select the choice you'd like:

The full code for that was:

<input type="radio" name="whatever" id="selection1" /> <label for="selection1">selection 1</label><br />
<input type="radio" name="whatever" id="selection2" /> <label for="selection2">selection 2</label><br />
<input type="radio" name="whatever" id="selection3" /> <label for="selection3">selection 3</label><br />

With all of the attention being given to usability in this Web 2.0 world, let's make sure we've got 1.0 covered first.

More Entries

Archives By Subject


Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Latest from MXNA

Recent Entries

No recent entries.

Recent Comments

BulletProject Tracker v2.0 Released
Mike said: great app! thanks heaps. found a few bugs in the initial install... -forgot.cfm - no need to inclu... [More]

BulletProject Tracker v2.0 Released
Nathan said: Hi Joe I went to check out the demo site and it throws an error. Inval... [More]

BulletProject Tracker v2.0 Released
Lachie said: Wow thanks for creating a version 2. I have extensively used version 1 for my projects. It works gre... [More]

BulletProject Tracker v2.0 Released
Steve W said: Joe, You style sheet is missing because a period was left out of the path. <link rel="styl... [More]

BulletProject Tracker v2.0 Released
Mark Mandel said: Joe, Great work! I can't wait to have a play! Btw, your CSS isn't rendering on your post view pag... [More]



Sponsored Links

Wimpy MP3 Player
Wimpy MP3 Player
easy streaming media
for your coldfusion site


Enter your email address to subscribe to this blog.


ajax coldfusion