Birnam Designs is a quality web design and development agency in Virginia

Archive for the 'general information' Category

Better Web Development, part 1: Coding and Design

Thursday, February 23rd, 2006

I shouldn’t have been surprised. Web Development is just another skill, after all, and as far as I’m concerned all skills have exactly one thing in common: you start out bad, and you get better. So what was so surprising? Why, taking a look back at some of my earliest projects, of course.

They stunk.

But it wasn’t just my designs that were bad. My code was bad. My tools were bad. My fundamental strategies were bad. I can’t receive all the blame for this – after all, the web has been evolving, too. Popular stratagies, browser capabilities, and available tools have all gone through their own changes. But in the last eight years, I have made lots of advances on my own. I am always learning new methods, new tools, and new strategies on the path to intelligent web development. These are tips I’ve learned from my progress so far.

(Inspired by the Graphic Push article “The Path to Intelligent HTML“)

Jump to section:
Part II:Tools
Part IV:Flash
Part V:Business

Coding and Design

Frames - NO

My first websites used frames everywhere. But I know enough now to realize that frames are Bad News in most cases. Frames complicate bookmark behavior. They require a fundamental fragmentation of a page, which reduces search engine optimization and can cause other problems. For instance, users coming to a site through a search engine link might only see a partial page. It’s not pretty, and frames are safely out of my life now.

There was some good to come out of frames, though - or at least the IFrame variant. Several years ago (early 2001) I was experimenting with IFrames as a method of transferring data between the page and the server and updating the existing content without having to reload the page. I knew that was pretty neat at the time, but now I realize I was, in fact, experimenting with an early version of AJAX. Fortunately, there are better tools for AJAX now, but using IFrames was a start.

Tables - NO

One of the worst aspects of my old code were the enormous nested tables. Four, five, six layers deep? Maybe more. Updating old code was like scraping off wallpaper and discovering that you had to peel off five or six more layers before you could paint the wall.

There will always be a place for tables in web design, but there are better ways to layout a page. CSS allows you to arrange your page into simple, logical blocks of content. It’s much simpler and cleaner than the old table-based layout, which improves code readability and makes a page easier to update. Not only is the code cleaner, but I believe that the entire philosophy behind CSS-based pages helps promote cleaner, more user-friendly pages on the user end. Better code and better pages? It’s a win-win. While we’re on the topic of CSS:

CSS - YES

For years my web projects were all very simple. Five or six pages, minimal fuss. Site-wide changes like updating font size or link color were merely a little annoying. But when you’re working on large websites, even simple changes can take a long time. With CSS you just edit one file and that’s it. That’s efficiency. Markup was also improved, by eliminating the need for tags like <font>.

CSS also opens up a lot of possibilities that weren’t available before. Web developers now have access to better typography, more sophisticated use of background images, easier printer-friendly and text-friendly designs, better search engine optimization results, better accessibility support, and lots, lots more. Moving to CSS was one of the biggest steps in my evolution as a web developer.

Javascript, AJAX, and DOM - YES

My old experiments using IFrames to communicate behind-the-scenes turned out to be a sign of times to come, but I had no idea how far it would go! Now, tools like XmlHttpRequest are available on the most popular browsers, and I am more comfortable with DOM scripting - both of which get used in AJAX, the hottest thing on the web right now. I’ve incorporated it into a few projects so far, and I love it!

The most interesting thing I’ve found about AJAX is that instead of adding a layer of difficulty to the programming, it actually makes a lot of my tasks on the backend even easier! More user-friendly and easier to develop? There’s a reason why it’s the hottest thing on the web!

These are a few of the tricks I’ve learned in my eight years of web development. They help improve my workflow, my efficiency, the value of my time, and my responsiveness to my client’s needs. If you’re a developer, perhaps they will help you out as well! If you have other tips, or if you disagree with anything I’ve said, please share!

Keeping information away from search engines

Sunday, February 19th, 2006

One of the goals for any website is to be well-indexed by search engines. It’s called SEO, for Search Engine Optimization, and it’s both an art and a science. But it’s also possible to go the other way. Sometimes there are files that you would rather search engines didn’t see. There are methods of hiding these files from the search engines that play by the rules, such as using the robots.txt file, but the first rule is that if you don’t want something publically accessible, don’t host it online.

An article called Things You Don’t Want Google to Find, over at Silicon Valley Sleuth, outlines several points made at a conference on security. The speaker was George Kurtz, the Senior Vice President of the well-known computer security firm, McAfee. In his presentation, Kurtz shows several confidential files and pages that were found after simply searching for them on Google.

These startling finds included payroll documents, social security numbers, confidential files, passwords, even the configuration panels for personal routers.

So, the moral of the story is: if it’s online, it’s public. Please keep that in mind.

solopreneur

Thursday, January 12th, 2006

Note: this post has been imported and re-editing from a personal blog. Time-sensitive material may no longer be relevant.

Apparently “solopreneur” is the new buzzword for a one-person business. I love it! Granted, I’m not technically a one person business, since it literally wouldn’t be a business without Jen’s help. But, I still think we have the essence of a one-person business.

But I do think the term solopreneur is more accurate than entrepreneur. I might branch out one day. Would outsourcing freelancers (that aren’t employees!) count against being a solopreneurship? I don’t know, I just know I’m quite happy staying pretty small for now. I like — no, love — getting my hands dirty on all aspects of a project. And I think it’s an enormous benefit to my clients, who don’t have to pay for the time it would take to juggle tasks and manage multiple people. And the best reason of all: if I can handle all of the design and development aspects, why shouldn’t I?

Here’s somebody with 13 pieces of excellent advice on the matter.