• Smart JavaScript Caching

    Like many web-based software companies, a significant part of our frontend logic is dependent on JavaScript. This allows us to add all of the neat little animations and dynamic page updates that make web apps fun. It also dramatically increases the size of the JavaScript files that need to be downloaded.

    Our approach in the past has been to just cache everything and forget about it. Unlike many public websites that have to operate under the assumption that the user's cache will be empty, we can depend on a fairly high percentage of populated caches. And, because we have a single page application design, even if they don't have the JavaScript cached, they only have to download the files once and they'll be available the entire time the application is being used.

    Read More
  • Part of what makes software development fun and interesting is working with cutting edge tools that enable developers to build fancier and (more importantly) better mouse traps. One such tool that we've come to embrace in working towards improving our application is the Dojo Framework. Full of features that create a rich and visually stunning AJAX application, version 0.4.1 of the Dojo Framework was recently released to the general public.

    We here at Spider Strategies were looking forward to this new release to aid us in one particular problem that plagues all web applications, browser compatibility. In particular with Microsoft's new IE7 being pushed out to clients automatically, we definitely wanted to see how Dojo and our performance management application, CMS, would fare against Microsoft's latest browser. We also had an interest in see how well things worked when applied to Apple's latest Safari 2.0.4 browser, for those inclined to work with Apple. As a side note, because we're all developers, we do most of our development on Firefox (how could a web developer live without firebug?) and therefore are most interested in these other major browser platforms.

    Read More
  • Test Driven Development

    Here at Spider Strategies, we strive to use the latest and greatest technologies and software development methodologies. One area that has received a lot of buzz during the past few years is Test-Driven Development (TDD). Proponents of TDD claim it can both improve software quality and decrease development time. A technique that can both improve quality and decrease cost is a very attractive prospect, but we've been a little puzzled on how to get TDD started.

    The trouble is, TDD depends on the creation of unit tests, but it's difficult if not impossible to write unit tests for code that accesses a relational database. Since most of the Corporate Management Suite is concerned with accessing and manipulating data in databases, it didn't seem like there was much room for us to apply TDD to our development process.

    Read More
  • Getting Real and paying development debt

    We've recently stumbled onto a book by 37signals (the people behind Ruby on Rails) that has gotten us fired up all over again about the advantages of being a small web-based software company. Sure, we've been using many of the concepts they talked about over the past several years, but we were surprised to find several ways of thinking about things that were different than the ways we had approached them in the past.

    One concept in particular that I loved was the idea of development debt. They stress that it's ok to not get everything perfect the first time, and if you try to wait until everything is, you'll never release a product. It's important, however, to consider this imperfect software as a debt that you have to repay. On a regular basis you need to go back in and repay your loans. For us, this includes reducing clutter and eliminating areas in the app that aren't intuitive.

    Read More