Future Skills for a Budding Web Designer?
ericdfields asks: "One of my lifetime career goals is to establish myself on some decent level or another as a well-rounded, (mostly) standards-based web designer with some backroom web development knowhow. The problem is I have no clue where to begin. HTML, CSS, JavaScript are an obvious start, but what about other web-driven languages? PHP, XML, SQL, Perl... the list goes on. Should I be looking to grab hold of some Flash and Director skills? What abilities will be needed on the horizon that I can get an early start on learning today?"
Good point. Basic design skills are lost even on designers of major pages. Visit Slashdot.org, Drudgereport.com, Google.com and copy what they do. Visit Foxnews.com, cnn.com,aintitcoolnews.com, newsmax.com and learn how not to do things.
Don't blame Durga. I voted for Centauri.
Everything *ML-related you can learn from the W3C's Technical Reports. They also have a wide selection of examples/quick reference material in their tutorials.
:)
I would advise not using JavaScript. Learn it all you want, but don't use it.
While we could have a PHP vs Perl flame war, I'd suggest you take your time and try them both. And for the heck of it, throw Python into the mix. Learn them all, learn their quirks, and decide for yourself which is better for the job.
Whenever you design a page, test it in lynx first. If it look good text-only, it will look good in anything (IE-related CSS hacks aside).
Ah, and pull random people from somewhere and have them test your sites. Don't help them navigate it; they'll let you know if it absolutely sucks or not.
"An infinite number of monkeys typing into GNU emacs would never make a good program."
Yes. As a web developer, that is my biggest flaw: I have no design experience. I'm trying to correct that now, but it'll take some time. Do yourself a favor, and learn about design while you're playing with HTML/CSS/whatever.
That depends in which direction you wish to go. Right know I find it good to have website built by few people. Usualy there should be one for website code/logic, second for database design and third for layout/visualisation/layout-specific-logic - for properly designed webpage (and such have future) it is extremely important to separate those things.
So as graphics designer you probably need to have good knowledge of:
1. Basics: HTML, CSS, graphics programs (loads of, depends on what is your artistic direction), maybe Flash (but I don't like it).
2. More advanced stuff: template engines like smarty or common CMS systems, W3C specifications, accesibity, interfaces design methodology, typography.
As database designer you should be aware of things like:
1. Basics: SQL basics, popular RDBMS like MySQL, SQL Server, PostgreSQL (go with this one), SQLite etc.
2. Advanced: database optimalization, RDBMS specific issues, DB abstraction layers (to make code portable between RDBMS), DB server administration etc.
As code/logic designer:
1. Basics: PHP, Perl, Python - you should at least know few such languages.
2. Advanced: internals of servers (like Apache), advanced programming (probably object oriented), use of popular extensions, systems (like Zope, Pear common CMS systems), templating engines (to work with graphics guy).
Also there is another side of Web which is *content* - it is also wide area how to manage your site, analyze visits, clickpaths, focus on best stuff and forget not visited parts, marketing and so on.
There is really lot to learn to be good webdesigner, you should know at least basics of those topics to be self contained designer. Otherwise I sugesst you focus on things you like the best (graphics/coding/managing etc.) and work in a team of narrow specialists.
...is the single most important skill you'll need.
Don't specialize on technologies, focus on problems instead. You'll have to learn a new technology every year to solve the ever same problems.
To add to this, I wouldn't limit yourself to ONE database and ONE interactive language -- for example, once you're done with PHP+MySQL, try Zope+PostgreSQL. If/When you become professional, you will not always have your choice of backends, so get used to a few of them so you can be prepared.
Compared to much of the programming I did in college, nearly all of the web programming I have done and currently do is trivial. It's just not that hard if you have a decent programming background to start with.
UI issues are infinitely trickier and require some pre-existing know-how in addition to user testing to sort out. Graphical issues aren't simply of matter of throwing images on the page, but even slashdot does include graphical design elements and images. It would do a 'budding web designer' who is already focused primarily on technology concerns some good to learn about the flipside of the subject. It is certainly the area in which I am weakest (and, natch, least read up).
Canthros
webdesign is still design, so study to master the basics elements of design:
a) composition : creating balanced, interesting , beautiful layouts. study the grid system in depth and be aware of the latest trends (vector arrows and three million lines packed into a small screen). 'less is more': study minimalist.
b) typography: most content on the web is text . learning how to make text look good (readable) is essential. get to know typefaces, their uses, combinations.
c) form: you dont have to draw, but the better you do, the less resctricted you will be on you designs.
d) color: color is paramount. there are tons of good materials on color. the best source is probably painting, painters know all about color. if you are willing to get your hands dirty, painting will give a great start into colors.
also, you will probably be working a lot with photography: dive into it. take a lot of pictures. learn darkroom techiques. the better photographer you are, at least you will be able to choose your photo material/ work more closely with photographers.
the best way to achieve all this is probably to study graphic design in general. there will be tweaks and differences from the web, but these are much easier to pick up once you have got a solid foundation. also , most webdesign study material is very poor on designs basic elements, so they are not a good source.
the things you can mostly ignore from graphic design is technical information regarding output and 'art closing' like pantone color matching, duotone printers, offset setting and stuff like that.
thats the static part, then study interactivity: acessibility, navigation, ui and you if you are feelling artistic all of john maedas work.
enjoy
I've been a web designer for about 5 years professionally and I have to say that I got pretty lucky. All of my family are either artists or graphic designers by trade. That's how I grew up, listening to my dad talk about great design and watching him do hand layout graphic design. (Old skool, no computers). So growing up I got a great design sense.
When I started getting into web design I started working with programming/scripting and it came very naturally. I focused on programming as my primary skill for a couple years and it really comes in handy.
I would say one of the biggest assets I have is the ability to seamlessly blend code and interface design/layout together. It is so common that you come across other web designer's sites and work and they are usually one extreme or another. Great looking site that is horribly built (obviously a graphic designer out of his realm) or have amazing functionality and code but look like total shit (see: slashdot.org).
The ability to blend them together so that neither one of those elements jumps out at you is very hard.
To be a great web designer you have to have a great sense of layout and design but being able to make that design work is essential. PHP, JavaScript, css, blah, blah, blah... are just tools to get the job done. If you can tell they are there then you aren't a good web designer.
The other necessary skill is realizing the fact that your clients don't give a rat's ass about what technologies go into making their web site, and most of them wouldn't know what good design for their needs is if it crawled up and bit them on the ass. Study usability. Study advertising (those guys have studying consumers way longer than us web designers), and learn what really works and what doesn't work and learn what most people want but really doesn't work (like flash navigation menus).
Your clients will be much happier if you can build them what they need instead of what they want and do it without them knowing.
My sig can beat up your sig.