Wednesday, January 2, 2008

Happy New Year!

I wish I had learned more, in 2007. I had the best of intentions when the year began, and I have learned quite a lot. But there is always more to know, and more importantly, more to use, to actually put into practice. I feel confident I know the basics pretty well, by now. That <p> tag hasn't changed in more than a dozen years and I have every confidence that if you need a paragraph, I'm your boy. But there is much that changes every few years, or even every few months. And it's going to be like this for our lifetimes, I fear. We are still in the caveman-and-fire stage of Web development. They tell first-year medical students that much of what they are about to learn, much of what they have to learn, will be obsolete by the time they graduate and that must be true for us, too.

There is a core of Web knowledge that does not change. Or, more properly, there is a core of knowledge that hasn't changed yet. But most of what is left seems to have a shelf life of about three years, maybe four. When you first embark upon this journey, it can be like drinking from a fire hose, there is so much to learn. But you quickly come to understand that some fraction of the whole doesn't change at all. And some fraction changes only rarely, and only slightly. Some part changes regularly, but predictably, and then you get into the part that is different in random meaningful ways every few years.

We have only been doing this since the middle 1990s, but we have already seen a few false-starts, a few transient technologies. You might stumble upon a Web page built with Frames. Frames were inflicted upon us at the beginning of the dot-com boom, and for a while we feared that this might one day be how all web pages were built. But Frames quickly showed themselves to be the second-best way to do just about everything, and have fallen from favor. But they were kind of slick if you could get them to work correctly in at least one of the popular browsers of the day. Today, we have other technology to let us do Frame-y things without the Frame-y drawbacks, so Frames are on their way to joining the lexicon of Web Latin.

This is the way of technology. There was a time in this country when you could not sell a modem if it did not say "Hayes Compatible" somewhere on the box. Even long after Hayes went out of business, the surviving modem companies still put that on the box somewhere, so people could be confident in their purchases. Today, of course, it's hard to sell any modem, in a world of cheap broadband connections. So everything has a shelf life, it seems.

One advantage we have over so many other areas of technology is that HTML evolves very slowly, now. For years, we were told that HTML 4.01 was in fact going to be the last version of HTML. Any further development would be on XML and XHTML, the conventional wisdom went. Now there are once again rumblings of an HTML 5, but we are probably in no danger of its adoption before we pay off our next new car. So while there are new versions of the Microsoft Office suite every few years, and new versions of Windows, we can concentrate on HTML and how best to use it.

I don’t know if there is any rule of thumb for keeping up with everything. I would hate to spend much of my time learning things that are definitely going to become obsolete. We know that the guys who wrote Dreamweaver CS3 all still have jobs. There will be a Dreamweaver CS4 one day, or Dreamweaver 10, or Dreamweaver MX2012 or whatever they call it, then. Most of the program won't change, much. But there will be changes, you can be sure. Some may even be improvements. And then that part of the equation will be locked-down for three or four years and we can focus on learning other things.

In the year ahead, I need to learn a lot more about PHP and MySQL. I would benefit a lot from extending the limits of my Dreamweaver knowledge. I thought I'd dodged a bullet by not "wasting" my time learning JavaScript years ago, but new ways of using JavaScript have given it a new lease on life and we may soon be featuring AJAX, Asynchronous JavaScript and XML, on many of our pages.

One way or another, I have resolved to spend at least a few minutes every day face-down in a book or two in the year ahead. This time next year, I hope to be much more comfortable with both PHP and MySQL. And maybe it wouldn't hurt to review the CS3 release of Dreamweaver and a little HTML, too.

I wish I had learned more, in 2007. I resolve to redouble my efforts in 2008. If I learn only one new thing a week, then this time next year I’ll know another fifty things. That’s not asking too much, is it?

Wednesday, December 12, 2007

We're All Alike: We're All Different

Some of us can be told something and, just through hearing it, pick it up. Others have to see it. If you can draw it out on the board, they'll understand what you mean. Still others have to actually do something for it to stick. No amount of lecture or audio-visual presentation will help. They need to sit down and actually try to do something, in order to really learn it. I try to include a little of everything in my training workshops, to catch everyone, because Not Everyone Learns Best In The Same Way. Not everyone wants to hear me go on and on about the elegance of a well-styled web page. Not everyone wants to read the material off of a screen or out of a book. It's good to cast as wide a net as you can, in these matters.

One of the biggest challenges I face every day is remembering that Not Everyone Uses The Web The Way That I Do. You may have run across this in your own Web surfing, if you find yourself visiting familiar sites with a new computer, a laptop, for instance. Laptops frequently have differently-sized screens, and occasionally, slower connections. All of a sudden pages that look fine on the office computer are squished, or the text is so small as to be almost unreadable, or pages that come up quickly seem to be taking forever to load. This kind of exercise is good to put yourself through once in a while, because the odds are very good that there are only a few other people out there with precisely the same combination of computer, monitor, connection speed and Web browser as you are using.

Spare a thought to those who are muddling through with less-than-optimal equipment. They cannot put any more memory into their machine. They cannot upgrade to the newest browsers, they cannot devote three minutes to download a single graphically-rich Web page, and would not be able to appreciate the difference in graphics anyway.

A dozen years ago, things were probably simpler. Pretty much everyone had a thirteen inch or fifteen inch monitor and a 9600bps modem, and we were pretty much all using Netscape Navigator. So we all did pretty much see the same things in the same ways.

But today we can't count on that at all. Have you see how your favorite pages look on the new Apple iPhone? It's a real eye-opener, to many talented Web designers. We can now expect visitors to our Web pages with 30" Cinema displays and 3½" iPhone viewports, too. How can you strike a balance in a world like that? It's not really difficult. Just give a little thought to how a page is likely to be used, and remember to always validate your markup. Well-formed (X)HTML and CSS goes a long way toward keeping the widest range of your users happy.

I hope you have a safe and happy holiday break, and look forward to seeing you in a workshop or at a WebDevNet meeting in the coming year.

Wednesday, December 5, 2007

Tidy Up!

This is a great time of year to close the books on things that didn't work out, and prepare to start new projects and make new beginnings in the year ahead.

Do you run a clean shop? Suppose your website has a dozen pages and thirty images or graphics. How many web pages are actually in your working directory? And how many photos and images are inside your images folder? Are you linking to a style sheet, or three?

Here's how I work: I start marking up pages and get to the point where I'm uncertain of how to proceed. Then I'll stop and do some heavy-duty thinking about my options. Very often, I need to actually see the alternatives. Maybe there are browser issues and what I want to do doesn't look or work right in one of the popular browsers. So I will actually copy the page I am working on and add a little sign to the name that tells me I can toss the file, eventually.

So login.shtml becomes boguslogin.shtml while I sketch out how the form is actually supposed to look and work. I get the fonts right. I monkey with the colors, and the spacing above and below, left and right. Try it with a frame and without. Maybe inside one of those fancy fieldsets. When everything is as I had hoped it would be, I copy and paste the trial-and-error results into the actual Web page, and go on to the next thing. If you have been paying attention, you'll notice that I didn't finish up by saying "And then I delete the old, dead, boguslogin.shtml page.

I have a lot of boguspage.html pages in my local directories—and by extension on the remote server. I always imagined that One Day I would get rid of them, but of course One Day never comes. I get a site working with an original stylesheet, add one of my own and then add an experimental stylesheet, linking to originalstyle.css and newstyles.css and to maybestyles.css. One day, I promise myself, I'll go through and clean up all of the duplicate style rules and get down to a single CSS page. That day never came, either.

But this year, before the break, I have actually scheduled time in my week to clean things up. I never thought much about this until looking over the shoulder of a coworker recently who was much closer to Felix Unger in personality than I am. It was amazing how much easier it was to work when you could see all of the files in the website, in the files list. It took no time at all to see the first page, the next three, and the two under those and imagine how they all fit together.

If you're like me and your workspace is full of output01.html, output02.html, output03.html and goodoutput.html, you could benefit from a little cleaning and consolidating, too, probably. Give it a try. You save a lot of time looking for files, and you will save a lot of server resources, too.

The coming new year is a great time to try to start new habits. This is one I'm going to work on very hard, in the year ahead.