For each new project I work on, I always try to push my own personal envelope, taking on at least one component in the project that requires me to do more than I’ve done before – to learn something new, and implement it on a site or application. I consider it professional growth, and about the only way I can keep up. Besides, it expands the range of tools I can implement in the future, so even though I am learning something new, or experimenting a little, it is easy to justify spending the extra time.
In 2005, I hope to continue this practice. Here are some of the tools, techniques, and strategies I want to continue to use or explore this year. I have a separate list of other goals in terms of design, working with clients etc — this list is primarily focussed on the coding aspect of what I do.
Better CSS Management
The ways in which I’ve integrated CSS into each site I’ve worked on over the past year have evolved. I tweak it with each new project, and I’m hoping this year to move towards a system that works well, both in the short-term and the long-term. When I read Molly Holzschlag‘s article Integrated Web Design: Strategies for Long-Term CSS Hack Management, I knew that was the way forward. It isn’t that I use a lot of hacks in my CSS, but I do like the philosophy of building the CSS so it is easy to manage in the future.
I first saw this type of technology in use on Simon Collison‘s implementation of LiveSearch. I loved it. I continue to love it. I’ve thought of a few places I’d like to implement that type of functionality — not just for search, but for other things as well. I definitely will make use of XMLHttpRequest techniques this year.
Ruby on Rails and MVC
I like the idea behind the Model-View-Controller (MVC) framework (for any language really, not just Ruby). I’m starting to formulate some ideas for projects where I can use Ruby on Rails, and while I’m not prepared to put time into a client project using Ruby on Rails (at least not yet), I am prepared to use it at least for an internal project. You have to start somewhere, right?
As for using MVC, we have a project we are working on where we are involved in writing a new application using an MVC framework in JSP, as well as another project using an MVC framework in PHP, so I’m looking forward to using MVC within the next few days.
Proliferation of Feeds
We’ve been using BaseCamp for a while now, and I love the fact that I can subscribe to a feed that shows me the latest, freshest items. That, in part, was the inspiration for the creation of ShortStatom, where I modified Shaun Inman’s ShortStat code to create a feed of the most recent referrers to this blog.
After doing that, I’ve thought of about a hundred different ways (ok, 2, really) I can hack feeds into other systems that I need to use regularly, just to get status updates or summary statistics. It sure beats opening up a control panel, logging in, and waiting for a bloated page to download and render before I can read the data I need. That’s part of the beauty I see in feeds – they are (relatively) easy to create and customize and are very lightweight.
I’d like to add wikis to the corporate toolbox, though I’m not 100% sure where they’ll fit in. I suspect that using a wiki would be most useful for internal use, but I’m not going to rule out using it with clients as well, if it seems appropriate.
So, this is shaping up to be a very busy 2005 already, and we’re only three days in. I’m always looking for new ways to push myself as well, so I’m curious – in addition to the things I’ve listed above, what types of technologies/tools/strategies are you looking at using in 2005? And I don’t mean “What do you think is going to be big in 2005?” I mean, what are you, personally going to tackle in your code in 2005? Better use of CSS for layout? Creating sites that are more accessible to all users? Leaner CSS?