Pre-Prepare Site Navigation

Recently I had a revelation: the navigation framework for a new web site should be put in place first,before you begin to load content to the site,before you design the site,even.

I was mostly used to working with a site already created,using the already in place page titles to name the new pages.If they had a page named About I made a new page called About for the new pages.Simple.

But I ran into a problem while designing the Jason Van Hoose site.
A built-from-scratch site, it required many pages, ideally linked dynamically.

(if you care I’ll explain later why I didn’t use an include for this)

I found a great XML script that built a navbar and loaded into a div with the correct id. I worked with the css provided with the script to blend it with the colors of the new site.And everything looked and worked great.So I thought. I asked a friend using a mac and Firefox to test out the site.

She gave really great feedback, demonstrating in a video the disaster of functionality the navbar was. A dropdown on hover navbar,the dropdown didn’t stay dropped down long enough to click on the links. For my machine, my roommate’s machine(both pc’s) and my other roommate’s machine(a mac) it worked just fine. But for my friend it did not. I was tempted to say well, she must have an old browser,machine,etc, &others visiting the site,say,80% of the visitors will be able to use the navigation.

I was tempted but I couldn’t do it. Cutting out even 2 % of potential visitors is a bad idea. Ideally anyone visiting your site can use every feature regardless of what browser/machine combo they use.With something as important as navigation you really can’t experiment too much.

And so why didn’t I just use a php include? So easy,so great,you update one file and whammo,the whole site is updated. Well, it’s a long story.Each painting’s page was made up of an index.php file,a template.inc.html file and a popup.php file.There was a folder for images with 2 folders inside that for thumbs and larger images.There were text files,also, with the same name as the jpg images,they popped up along with the larger image to describe the photo.The creator meant this package to be used for an entire site.The thumbs themselves would be the navigation. My client wanted each painting to be displayed alone with 3 to 5 thumbs with different views of the painting.So, I loaded the sets of files for as many times as I needed them for each different painting to it’s own folder. How I didn’t get overwhelmed with the organizational nightmare of uploading,naming and sorting of that many pictures,I don’t know.

I spent some time trying to work with the exsisting template to get an include to work.You all know that php won’t work as php in an html file.You have to add a directive to your .htaccess file to get that to happen. But I was too new to this to get that working. My client was following my progress and expecting a finished site in a short amount of time. I felt it wasn’t fair to make him wait for me to grasp a new concept in order for his site to be finished.

I am intending to learn how to make an html page use php includes,though!

Long story short, I ended up using javascript breadcrumbs ,sort of, to set up next and previous links on each page.

Then I read that next and previous names for links are bad. You should title a link with the name of the page. However, I felt that since this was essentially a big portfolio album kind of site meant soley to display photographs of paintings, that next and previous was sufficient. I’d seen it used countless times for other albums.It seems perfectly reasonable and intuitive for any visitor to figure out. Clicking “next” takes you to the next picture,clicking previous takes you back to the previous picture. Clicking a next link to get to a different kind of page like an “about us” page, not such a good idea.

Author’s note:

I used a free script from somewhere that is no longer supported at all so my letters of help were never answered by the writer of the code.

This is not unusual and it didn’t stop me from fixing various problems myself.Thank god for coders forums.

Needless to say I will never begin a new project based around this application because it was written in such a way a lay person couldn’t have a chance in hell of customizing it.