• With the wonderful implementations of AJAX, many people (myself included) tend to look first within libraries like Dojo when trying to implement a client-side solution. While this is generally a good approach, one thing that some developers tend to forget is the intrinsic events like onkeypress, onmouseout, etc.

    A good example is the textarea tag. It doesn't have any limit on the number of characters like the input tag, so it's a great candidate for a simple JavaScript function to duplicate the maxlength functionality. The initial instinct when coding something to handle this is to check the length of the field and return a false if it's reached the limit. This does indeed limit the size, but there's one problem; backspace and delete trigger onkeypress. As a result, if you're at the limit and try to delete characters, it returns false and nothing happens! Instead, I find the best solution is to truncate the field if the size is reached. For example, to limit a textarea to 255 characters:

    Read More
  • New Product Tour

    Product Tour of CMS 1.4

    Fresh on the heels of our CMS 1.4 product release announcement, we have just put up a new automated product tour showing off the application. Pay special attention to the reporting section - it's all brand new.

  • Using Chainsaw for Log Viewing

    If you're a programmer, no doubt you've the occasional, if not constant, need to read the logging statements generated by your application. I know that I'm constantly reading log output, which is why I'm thankful for a tool like Chainsaw v2. Despite having a not-yet-complete feel to it, Chainsaw has become an invaluable tool in my programming environment. Recently I discovered a hint that I should have known a long time ago, which increases its usability tenfold.

    Configuring log4j and Chainsaw is a breeze. Once you've downloaded it, configure your log4j to use a SocketAppender. Here's a snippet from my own log4j.properties: log4j.logger.com.spider=DEBUG, CHAIN log4j.appender.CHAIN=org.apache.log4j.net.SocketAppender log4j.appender.CHAIN.remoteHost=localhost log4j.appender.CHAIN.port=4238 log4j.appender.CHAIN.locationInfo=false

    Read More
  • Surface Computing

    Videos of the first surface computing prototypes aimed at consumers have been popping up on the web today, and I'm absolutely amazed at what they're doing already. This site has a video that shows off some impressive interaction with a digital camera.

  • Web 2.0 Simplified

    Found this wandering around the web and it is a very entertaining explanation of what Web 2.0 is all about. We are very quickly moving towards the future where the internet is more and more interactive. We are no longer just passive observers of the information, but are now active participants modifying, using, and accessing the data real time. Spider Strategies has been on the forefront of Web 2.0 technologies because we realized at the very beginning, that Web 2.0 was the future for both the internet and web applications.

    Our customers don't want to just look at their data, they want to use it. They want to be able to modify, manipulate, and manage their data. The process for doing so shouldn't be an entirely new process to learn and manage. Working with the data should be as seamless as any other administrative task. That is what CMS is all about. Designed to work just like any other web page, it requires no special training, and users can quickly find, edit, and share data as quickly as doing a Google search.