What do I need to know to design a website?

This post got me thinking. I’m planning on continuing my education, and I hope to make a career out of Library Commons someday. This involves library skills, of course, as well as a good amount of technical knowledge, and I realize that I might be called upon to help design and maintain a full-fledged website.

Could you please give me a list of what I need to know in order to do this? I know HTML, CSS, and enough PHP to get me into real trouble, but I realize that I need to learn much more in order to take it to the next level. Do I need to know a lot of network admin stuff in addition to the programming? What are the most important applications to learn for programming websites? I take it just knowing Dreamweaver isn’t going to be enough.

Thanks all.

IMHO you shouldn’t need to know server/network admin stuff to run a site unless you are put in charge of a site that on its own server in a place with no network admins.

If you get a Web design gig at a small business, they’ll most likely have offsite hosting where the server is managed by a Web host company. If you’re at a large business, the Web server may be in-house but it’s managed by the IT department. If you’re at a university, the Web server is managed by the IT department too.

If you know PHP you should know MySQL. If your place of work runs Windows machines you should probably learn ASP.NET and MS SQL (which is similar enough to MySQL at a low level that you can apply MySQL learning to MS SQL databases).

There’s always more stuff to learn about HTML and CSS. Do you know JavaScript? Do you know about accessibility rules (important for state-run universities)? Do you have intimate knowledge of the differences between browsers? Do you know how to make your dynamic pages safe from hacking? Do you know anything about SEO?

All of the above stuff is way more important to know than server admin stuff. Server admin stuff is important if you find yourself getting a job where the company expects you to come in and be the IT person as well as the Web person…but those jobs are more suited for IT people with Web experience, not the other way around.

Well, I’m not a coder but I used to work in the field and worked on plenty of website projects, of all sizes.

What do you mean by “design”? And what size website (or company) are you talking about? It would probably help those with actual expertise (compared to my limited knowledge) to know that to give you specific answers.

I’m assuming you don’t mean the creative aspect of it (pretty colors, fonts, images, layout). Because that’s an entirely different set of skills and applications.

You will need to learn some database programming, be it SQL or MySQL or whatever they’re using nowadays. While I don’t know the language, it seems that PHP and MySQL are best learned together, anyway.

You may also need to learn one or two CMS packages (though many of them - at least for small to medium business sites - may use PHP-based open-source CMSes).

If you’re looking at enterprise-level, you may need to look at .NET (I’m not sure what the competition and/or open-source equivalent would be, at my prior position we had a couple clients moving to that platform when I left).

You absolutely should learn as you go the basics of usability and search engine optimization. Depending upon the size of your team, that may not be a direct role of yours, but that knowledge will make you immeasurably more useful.

Anyway, this isn’t much direct help, and I’m sure someone with actual expertise will come and help you along.

Actually, this is tremendous help, Rex. Thanks to both you and ZipperJJ for your input.

To answer your questions, what I really want to get my hands on is creating online tutorials to help undergraduate students do better research and use the library’s resources more efficiently. This is the cutting edge of library science today, and the more I read about it, the more I’m convinced that this is for me. I probably won’t have to do much IT work, but IT support varies wildly between libraries, so depending on where I start, I might very well have to set up servers and the like. I’ve gone through the courses and gotten some certs, but I’ll certainly need to review.

Probably what I’ll be doing is a lot of the back-end programming stuff, taking what the head librarian wants done and writing the code. My input will probably end with the information architecture side, making sure that students can navigate through the site and find what they need, because I don’t have the artistic sense God gave gravel. It will be up to the other librarians to come up with a color scheme and such that looks more like their vision of a friendly welcoming website and less like my vision of a pregnant goat puking all over my CSS.

A couple things jump to mind then, based on your last post Linty

If you’re creating online tutorials, then you will want to dive into Flash (I believe the language is ActionScript). While the ubiquity of Flash has created some serious detriments to many a website, it is IMHO perfect for creating useful and engaging tutorials, and is far better suited for that than HTML/CSS/PHP whatever. Don’t be scared into thinking Flash is an artist’s medium - it is heavily code-based (and you can get someone else to draw your pretty pictures)

Also, I would increment the priority of learning usability and search engine optimization (SEO). Understand that for SEO you have the “external” search engines like Google and Yahoo, but that a library may have its own internal engine that uses a particular set of criteria for its particular algorithm. Regardless, once you grasp the basics (which is NOT rocket science) it’ll be fairly applicable to any situation. But realize that EVERYONE uses search, and a broken internal search engine can kill the user experience. (For example, just try the SDMB search).

Same goes for usability. Simply put, I don’t care how good your coding is if I can’t manage to navigate/search your site. For usability, a basic start would be to read some of Jakob Nielsen’s stuff at useit.com.

There’s a ton of stuff on the web for both these topics.

Oh how I miss the days when the most complicated thing about building a website was using frames.