Wednesday, August 26, 2009

Troubleshooting

Troubleshooting always sounded like a Good Idea, to me. Got a problem? Take it out back and shoot it! Who could argue against that, right?

But how do you go about figuring out why a page doesn’t work the way it should? How do you find a validation error or a missing tag that’s causing everything to load up one column over from where you need it?

Let’s break it down into two cases. New Stuff and Old Stuff.

New Stuff

If you’re building page from scratch, the task is in many ways more difficult. You have nothing to go on and you have no fond memories of it ever actually working. Start with a deep breath. It’s highly unlikely that anyone is going to die as a result of your page not working right, today. First thing’s first: Validate your page. Let the validator look through it, line-by-line, scouting for simple errors in your markup. It’s easy to miss a closing double-quote or leave off a Table Row ending tag. The validator will catch things like that.

Once you have valid markup, you may find you have solved your problem. If not, work slowly and methodically, from the outside-in. Start with the framework of your page. If your divisions and tables and images aren’t where they are supposed to be, try to build a page where they are, without all of the text and linkage and so on.

The thing you don’t want to do is to start a slash-and-burn program of markup deletion. You have a lot of calories invested in your page, and there may be some Good Ideas in there that you can rescue. It is much easier to copy-and-paste than it is to think up All New Markup, after all, so comment out entire sections of your page and work with what is left. Add-back things one at a time and measure the differences. Remember that Web browsers will ignore anything between the <!-- characters and the --> characters, including text, media tags and even markup. Select the range of text you want to “delete” from your page and comment it out, instead, using the little cartoon voice bubble icon in your Code View Toolbar. Select the Apply HTML Comment option.

From here, don’t change two things. Change one thing, and then check it. Change the next and look over those results. Change a third thing, and so on. It is much easier to find the offending markup or code this way, and then much easier to seek out a solution.

Old Stuff

Working on current pages is a little easier, but totally ego-blasting. If the page works and you monkey it up, then there is no one to blame but yourself. Before modifying a working, current page, I like to make a copy of it for safekeeping. I may have a better idea, but if I can’t bring it to life, I can always at least go back to the way it was this morning, when it maybe wasn’t pretty but at least it worked.

But the basic process is the same, even including that deep breath at first. Validate your page, first. Then, work slowly, making only a change at a time, and see how these changes affect the outcome. Don’t delete anything, comment it out and then un-comment the various sections until you have a page that is complete. In this way, as above, you will be able to instantly see what markup is breaking your page, and hopefully be able to quickly and easily change it.

Remember, though, there is no glory in spending all day in a project like this. If you have spent eight hours on a page and it still doesn’t work, you have lost a whole day. ASK someone for help in a situation like that. Spending all day on a problem doesn’t make you a hero. Nobody is going to give you a medal for something like that and it’s very possible that someone in the WDN can get you an answer quickly and easily that will speed you on your way.

Wednesday, August 19, 2009

It's Over; It Begins Anew…

Or at least it has finally begun. The big Template move of 2009 is underway and pages all over the site are being renewed and reinvigorated with the New And Improved Template.

It might be worthwhile to take a moment here and actually go over what this represents. The work of Monday morning actually started about a year ago, with a regular meeting of the UNL Web Developers Network. We started thinking back then about what the new pages might end up looking like, and considering what features we wanted to have added or removed or improved and so on.

The key thing in all of this, I think, was that we had plenty of time, and we approached the whole project as a series of manageable tasks.

Tom Clancy was once asked how anyone could possibly sit down and write a novel? He allowed as how it was definitely a daunting task, and wondered himself how anyone could do it. What he did, he said, was to approach the whole book as a series of steps. Write a first sentence. Get it all shined-up and then move on to the next one. Stand up. Walk around. Get used to the idea of how these two sentences work and play together, and then add a third. At some point, you have an opening paragraph. Then, you have some idea, some guidance, as to what your next paragraph has to be, so start in on it. Two or three paragraphs and you have yourself a page. String a few pages together and you have built a serviceable chapter. Lather, rinse, repeat; and the chapters become… a book!

We did not sit down around a big table one day and decide the navigation was supposed to sit atop the page. We actually spent one a couple of days coming together with upward of a dozen navigation schemes. Some were from higher education sites. Others were from online shopping sites. Others were news outlets, government sites and more. We didn’t care where the Next Big Idea came from, we just cared about the idea. Once we settled on a top-nav situation, work began on how to make that all work, and—and this is important—how to make it all work within our current situation, with the relatedlinks and navigation and footer information we already have living in the sharedcode folder. Our navigation, remember, was (is) built from two levels of nested unordered lists. So whatever we did, it had to work with anyone’s current biplane navigation file.

We talked about color. We talked about shapes. We talked about White Space. We talked about what language to use, in marking up the pages. Remember, we were working on a design that would probably welcome the incoming class of 2017 or so. We tried to shoot current trends out into the future and make a page for the technology of summer, 2009 and the technology and the marketplace of 2012 as well. At the time, we considered HTML 5 and XHTML 2 briefly and discarded both. And that was good, because the XHTML working group imploded a short time later. We are holding with XHTML 1 for the time being, and will reexamine the situation for the next redesign.

We got a lot of input from a lot of people. Not every idea was incorporated into the site—some ideas actually conflicted with one another and we couldn’t do both. Not everyone is entirely happy with every aspect of the page today, but the general feeling I get from the feedback I have received has so far been very positive. I am interested in hearing from people today, of course, but also in hearing how people think about the pages in a year or so. Having lived with them for a year, I suspect people’s opinions may change some.

Time is your buddy in a project like this one. The more you have, the better job you can do. The big stuff comes together quickly, or can. But I always wish I had more time to shine up the little details in a project like this one. I am hoping that we will have more time for the next one.

I am already looking forward to it.

Wednesday, August 12, 2009

Keeping Up

I was talking with someone the other day about how I had spent my afternoon, describing editing screen shots and writing copy and double-checking everything and they asked me something I hadn’t considered much, lately, “How do you keep up with everything?”

There is a lot. HTML hasn’t changed much, but that itself may be changing, soon. Cascading Style Sheets have not changed much recently, but that may be about to end, too. Dreamweaver changes at regular intervals, but after Dreamweaver MX2000 only incrementally, and I am still catching up there.

The Templates we use have changed quite a bit over the summer, with tiny little changes as recently as, well, yesterday. But I have been in most of those meetings, and even had a hand in a few of the changes, so that hasn’t been difficult, aside from the communications issues.

So there’s the situation with the tools and the languages. There are (or were) lots of conferences, seminars and books and magazines and newspapers available, too.

The Computer Press has been ravaged in the last four to six years. I used to be a part of it, having been a writer for Ziff-Davis’ Computer Shopper magazine, the MacHome Journal and others. There was a time not long ago when you would walk into a B.Dalton bookstore and see several bays of computer books. At one time there were thirty titles devoted to WordPerfect, alone.

In the Macintosh slice of the pie, we had four or five monthly magazines, Macworld, MacUser, MACazine and the programmy MacTech, along with a weekly newspaper/magazine, MacWEEK. We had two trade shows every year, plus the mighty Comdex show, and various Mac user groups all dishing out How-To-Mac details, news, tips and so on. The PC side of things was even worse, of course. Just PC World, from IDG, was like getting a Sears Christmas catalog every month.

As far as I know, there are only three Web magazines, and only two you should consider. Both are from England, which makes them a little expensive, but I recommend Web Designer and .Net, if you can get them. A caution: .Net used to be available here in the USA as Practical Web Design. Elsewhere in the world it was called .Net (Dot-Net). That never quite caught on here, because everyone with a PC hears that and thinks of the Microsoft development architecture of a few years ago. There are ads enticing you to subscribe to Practical Web Design, but when you do, .Net is what shows up in your mailbox.

Today, of course, we have the Web and you need a computer to even get there, so it stands that the Computer Press would suffer first and hardest. Reading paper products is down across the board. Newspapers have folded and are struggling to reinvent themselves, bookstores have closed leaving only Barnes and Noble and Borders in many towns and the local magazine rack is about a third the size it was just a few years ago. The acre of computer books has shrunk down to about the same size as the cookbook section in my favorite book store. So, apparently, nobody has time, any more, to just sit and read. So, that leaves us Web sites and podcasts. And I use… both.

I try to check in with A List Apart at least once every couple of weeks. They generally feature three big stories and cover a lot of real, nuts-and-bolts markup and styling. These are the guys who led the charge for standards adherence and better browsers, starting with Issue 99. They are Good People.

I also listen to podcasts. I work in one of those cubicle farms that are made fun of in Dilbert comics and cheap movies. I don’t enjoy hearing my neighbors arguing with their wives, spouting the latest political propaganda or catching Hell from the boss. So, I plug my headphones or earbuds in and listen and learn throughout the day.

Paul Boag (BOW·agg) has one of the best podcasts for anyone wanting to know more about their craft. Boagworld is a weekly podcast for those who “Design, Develop or Run Web sites”. As with print magazines, both Boag and my next podcast come from the UK. The Rissington Podcast answers the question “What would a Web podcast be like if it had been done by Monty Python, just following World War II?” If you have never asked that question, perhaps you should give a listen.

One of the best ways to keep up, of course, remains the monthly meeting of the Web Developers Network. Sitting in on one of those gets you rubbing shoulders with people who are using other tools to keep up, and some of that knowledge is bound to rub off on you. And it’s the best way to find out how all of this new technology, or all of these new techniques, might find use here.

Wednesday, August 5, 2009

The Best Laid Plans…

Burns said it, more or less. “The best laid plans of mice and men oft times go astray”. So it has been, with the move to the new Templates.

This move hasn’t been as certain as previous updates. At least in my memory, we had a very definite point at which everything stopped and we all just worked and waited and watched… and at the appointed hour we updated our pages and we went on with our lives.

This time it’s different. Economists warn that these are the most dangerous words in the English language. People are getting mortgages for $500,000 houses without even having to prove they have a job, let alone proving how much they actually earn? It’s okay, a year from now they will sell the house for $550,000 to a bigger chump with a better mortgage and everything will be fine. This time, it’s different. Right.

But the path of this month’s Template change has been different. Last month, I gave a talk, an overview, of the new design and what changes had been made and how they would affect everyone. At that meeting, it was announced that we had reached a deadline, that the Template markup Would Not Change from here on (for a while), and so we were now all safe to download the latest archive and get to work on our pages. I should point out that at that meeting, I was told that something had changed just that very morning, and a feature I had put into my presentation “would not ship” as we say. Changes were happening right up until the very end, but they were done, now.

I made a joke about it. At some point during the discussion of What Was New, I offered to bet anyone in the room that we would have at least one update before our August 17th kick-off. Sadly, there were no takers.

Since that day, I have completed Template training based on the markup I was able to get in early July. Since that day, I have given the New&Improved Templates training five times. And each time it has been new and different from the last.

So, there are changes. And these sometimes cause a cascade of other changes. Because “this” is different, now “that” needs to change, as well.

I’m trying to keep up, but the communication between the guys doing the work and myself isn’t constant, and the pages are in a state of near constant change, it seems. A piece I didn’t quite understand was removed, so good. A piece I don’t quite understand was added, and that’s bad. If I don’t understand it, I can’t teach it, effectively.

Included files that used to be a dozen lines long are now much smaller. Files we used to discuss have been removed. And the last two times we have done the training, three of the students have had their computers lock-up on them, causing them to lose all of their work. That’s frustrating, because it has happened toward the end of the class, when I have people build a new page which incorporates all of the changes made to their navigation, their footer, etc. If you don’t actually see that happen with your own eyes, then the entire exercise is little more than… theory, almost.

We are getting closer to being finished. There isn’t much left that the coders can change. Did you just hear God laughing? Maybe that was someone in the next cubicle… Anyway, things are probably approaching a stability we haven’t seen in a while. I am looking forward to the first time I give the same training, twice.

And the great wheel turns.

Big, major events have schedules that fill an entire calendar. That music festival you love? That giant, week-long airshow? That gathering of car enthusiasts that takes place every year in August? The planning for that single week is ongoing throughout the entire year. It may be time to adopt that kind of model, here. Maybe we should start working on the 2012 package in September, taking careful note of all of the responses we get to the rollout in August. If we had three years, instead of three months, I suspect we could turn out a damned fine Web page. And maybe even one that wouldn’t need to change, for a while.