Archive for December, 2006

How to Design a Web Site, Part V

Thursday, December 28th, 2006 at 10:50AM PST

(This is part V of a multi-part series on web design. The other parts are readily available in the Web Design archives.)

In the last part, we focused a bit on how to approach the design itself. Now that you have a beautiful design planned out, either in your head, on paper, or in a computer graphics program, it’s time to begin the task of integrating this design with the semantic HTML we put together earlier. This task is perhaps the most difficult phase, and probably the one I can give the least advice on without writing an entire book. Nonetheless, there is an important point or two to be made, so let’s get started.

(more…)

How to Design a Web Site, Part IV

Wednesday, December 20th, 2006 at 9:46PM PST

(This is part IV in a multi-part series. You may wish to start with or review parts I, II, and III before continuing with the series.)

In the previous articles of this series, the focus has been on building actual content and learning how to best make use of HTML to present it to the wide variety of user agents currently in use. Now, however, it’s finally time to take a short break from these aspects of web design, and instead focus directly on the presentation. Before you open up your text editor and start right away at typing up your CSS, however, we instead want to first take a step back and get the design right.

(more…)

Cross-platform Video Conferencing

Sunday, December 17th, 2006 at 3:07PM PST

I was recently attempting to set up a video conference between me and a friend. Of course, the biggest problem that came up was that I use Linux and she uses Windows. For standard instant messaging, this poses no problem. There are many excellent cross-platform clients, such as Gaim, that interoperate with a variety of networks. In addition, there are numerous clients for a single operating system that also interoperate. Adding voice and video to the equation presents an entirely new problem…

Perhaps the most common networks for these activities are Yahoo! and MSN. Yahoo! has an abysmal client for Linux that supports neither voice nor video. MSN has no Linux client at all. Clients such as Kopete and aMSN support the video aspect of one or more of these services, but don’t support voice. So much for that idea.

Next, we look at the wide array of SIP clients. While, in theory, different SIP clients are compatible with each other, this falls short due to lack of common support for the various video codecs. The most promising solutions on Linux, Ekiga and Linphone, are either difficult to install or crash-prone on Windows. Similarly, programs that work on Windows, such as WengoPhone, are crash-prone or buggy on Linux.

At this point, I’m down to walking my friend through installing Ekiga on Windows and hoping it works or simply running MSN Messenger in a VMWare instance (it doesn’t seem to want to work properly in Wine). Has anyone out there managed to connect the Linux and Windows worlds? Am I missing something, or is it just going to take time for the various clients to develop?

The Future of Storage

Thursday, December 14th, 2006 at 9:10AM PST

Slashdot is reporting today that drive manufacturers are beginning to augment their hard drives with flash memory. This will first be used as a cache, but later, they’ll be releasing solid-state only drives (in smaller form factors for notebooks, it seems). Performance-wise, it seems that they can’t match the streaming performance of today’s drives, but that random-access performance is quite fast, and in the interview, Samsung’s Don Barnetson indicated that this is the real bottleneck for I/O performance. We’ll have to see just how this develops in the coming months, with many benchmarks sure to arrive on the scene.

Where I really want to go with this discussion, however, is the future of storage. One thing that has always bothered me about hard disk drives is the moving parts. Where there are moving parts, there is a potential for disaster, with hard drive crashes being seemingly inevitable, though I do generally get 5-10 years out of my drives before failure. One move from here is to solid-state electronics, which is where Samsung (and perhaps others) are going. Another potential move is to CD-like storage. A few months back, there was a lot of discussion about holographic versatile disc, which if it doesn’t become vaporware, seems to almost certainly define the market for portable storage.

Honestly, I’d prefer a portable storage format that’s crash-resistant, reliable, easy-to-use, and fairly small, so I can carry it on my keychain or something. (CD-like discs don’t quite fit that requirement, which is why I’m thinking more on the lines of a little holographic cube.) That way, wherever I go, I can bring my operating system, files, and so on with me. But I suppose that’s still somewhat in the future, isn’t it?

What ideas do you have for future storage mechanisms? What kind of features are important, and what isn’t so important? Will fixed storage (like hard drives) remain important, or will we move toward an all-portable medium?

How to Design a Web Site, Part III

Tuesday, December 12th, 2006 at 1:39PM PST

(This is the third part of a multi-part series. Before continuing, you may wish to read parts I and II.)

Now that the most important part of any web site, the content, is taken care of, we can turn our attention to other aspects of web development. No, we’re not going to be making pretty designs just yet, because we still have to focus on getting the HTML right. To that end, this post is going to focus on creating a basic HTML outline of any given page. While I’d love to write a book on authoring HTML, it’d be just that: a book, which is a bit beyond the scope of a single post. Instead, I’m going to look at a few key points to help you do the best HTML you can, which will mostly help with the accessibility point I discussed in part I.

(more…)

How to Design a Web Site, Part II

Friday, December 8th, 2006 at 9:10AM PST

(This is the second part of a multi-part series. Before reading this article, you may wish to read part I.)

As I’ve stated previously, the single most important aspect of any web site is the content it offers. Without content, users have no particular reason to visit a site. The amount and quality of content directly determines whether users will visit again and tell their friends to visit as well (via word-of-mouth or simply via links on their own web sites). Now, as I see it, there are two fundamental reasons someone decides to put up a web site, each with their own content implications:

(more…)

How to Design a Web Site, Part I

Thursday, December 7th, 2006 at 1:49PM PST

Let’s face it, getting published on the Internet is easy. Anyone with Internet access can register a free GeoCities account, throw together a bit of HTML, and call it a web site. However, the reality of it is that putting together a successful web site can be a difficult task. Even so, there are several important attributes that can contribute to the success of any given web site:

(more…)

CSS: Blessing or Curse?

Monday, December 4th, 2006 at 7:45PM PST

Much has been written about CSS since it was first introduced many years ago. The expressive power apparent by reading the specifications themselves can bring many a web designer to her knees. Designs once only possible (if at all) using nightmarish tricks like nested tables and invisible GIFs are now in the grasp of someone who still wants the code to be readable. And yet, not all is so wonderful in real life.

Perhaps the biggest problem is that specification precedes implementation. That is, we have a group of people known as the W3C publishing recommendations on how browsers (or more generally, user agents) should implement things. There are a couple of problems with this. The first is that there’s something of a disconnect—such as the old vertical centering problem. At least with up to CSS2, vertically centering something can be a difficult task, relying on specific knowledge of the size of the relevant elements, while with tables, the task is trivial.

The other problem, and definitely a more serious one, is that users use a number of browsers, and not a single one of them implements the whole of CSS2, and I can’t imagine the situation will improve much when CSS3 is finalized. The net result of this is that web designers who don’t want to target a particular version of a particular browser are left with a couple of possibilities:

Lowest Common Denominator

By far the most common solution, most webmasters seem to cater to the lowest common denominator, using a subset of CSS that works in all browsers. Accompanying this is a series of tricks and hacks to coax browsers like Internet Explorer to do things the same as other browsers. This isn’t to say that the others are even consistent with each other. In short, it’s a mess, and designers really miss out on some of the neatest features of CSS.

Different Browser? Different Style Sheet.

I haven’t noticed this solution very often, though it should, in practice, be fairly easy to implement using a bit of server-side scripting. The biggest problem here is that different users may see a slightly different version of the site, and when one day they change browsers, the interface may change leading to confusion. Nonetheless, it does offer the most possibility, especially for the most compliant browsers.

We can only hope that this situation will improve soon, or else some of the real promise of CSS will never be truly realized. With that said, what solutions do you have to the cross-browser compatibility conundrum?

Buying a Portable Music Player

Saturday, December 2nd, 2006 at 10:46AM PST

The market for portable music players (perhaps more often referred to simply as MP3 players) is certainly strong at the moment. Apple’s iPod certainly gets most of the press, and as far as I know, is still the most popular player on the market. Microsoft’s made a late entry into the game, with its Zune offering, with limited success. That said, there are several other companies producing good players. If you’re buying one for yourself, or if you’re buying one as a gift for someone else, there are a few things you should consider, beyond the marketing hype.

(more…)