The ISA-Bus

One blog to bind them all.

Three things I’ve learned about web design

1: The folder structure of a website is relevant mainly for you.

I learned this the hard way when I made Svatopluk’s Arcade. I originally simply had a folder for each game at root level, which contained the screenshots and a simple index file. When the site grew to two or three hundred games (and thus folders) it became a bit unwieldy, and I decided it would be a good idea to have some sort of hierarchical structure.

Unfortunately I also thought it would be a good idea to have somehow meaningful subfolders, as opposed to, for example, a simple alphabetic structure, and sorted the games by company. This way, I thought, the URL would convey more information. Besides, there are some rare examples of two separate arcade machines with the same name, but made by different companies (Atari’s Tetris and Sega’s Tetris are probably the best known example), and having company subfolders would be a very elegant solution for such cases.

Bad, bad idea.

It turned out to be a horrible idea not only because of the few games where manufacturer and distributor are two different companies. It was mainly a horrible idea because whenever I wanted to link to a game internally or externally, I had to look up the URL because of course I didn’t know the manufacturer by heart. To find the folder of the local copy of the site on my hard drive, I always had to perform a search. It was the main reason I stopped updating the site at all. To start working on it again, I’ll have to completely rebuild it.

What I learned from this: Design the folder structure to keep URLs short, but most of all, intuitive for you. They have little relevance for your visitors.

2: The natural unit is the single HTML document, not the website.

A website is usually defined as a number of HTML documents residing on the same server, or rather, the same domain, having a somewhat uniform design, and pertaining to a common topic. There’s nothing per se wrong with this concept, but there’s nothing organic about it either, it is a mere convention. It is important however (and even more important in an era where search engines, not individual links, have become the main means of navigation on the web) to keep in mind that any attempt to force visitors to enter such a website from a certain point is futile, every page should make sense when viewed on its own.

What more, lately I’ve come to doubt the wisdom of the conventional website concept in general. I found that when I tried to make websites for a specific topic, for example, a specific game, they would always stagnate at some point. Now I rather create websites dedicated to specific functions, for example screenshots or downloads, and then link between them as appropriate. That makes my life and work a lot easier, but of course, YMMV.

3. There’s no navigation, there’s just links.

This is related to the above two points. The concept of navigation is closely related to the concept of a logically structured website. If you abandon the latter concept and view your web projects as a collection of single documents, navigation ceases to be an issue.

What I still do is make the directory structure transparent to the visitor. On Download Central, I have a bar at the top of each page that links back to the parent directories down to the root. Each directory contains an index file linking to all its direct subdirectories. This is similar to the kind of navigation web browsers give you in directory view (though there you’d have to step down one directory at a time).

Otherwise it’s just a question of having links to related topics.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: