Coding with Jesse

Let's get personal

I think personal homepages are going to be the next big thing on the Internet. Seriously, hear me out.

When the web was new, pretty much everyone got themselves a Geocities or Tripod account and set up some kind of web site. That's what's so new and special about the Internet: anyone can have a web site. Not everyone can have a TV show or a Radio show or a Magazine column. Plus, web pages can reach even more people than any TV show or Magazine can.

Then, all these companies figured out they need web sites. All you heard about was eBusiness and dot-coms and how the Internet was changing business (though nobody knew how, exactly). So the Internet started to get all corporate.

Now, "suddenly", personal web sites are big again. I'm mostly talking about blogs. But what's really special about blogs? The fact that one person can easily get a site and start writing, and build an audience, even more readers than some newspapers out there. That's pretty crazy.

The whole nature of the web makes this possible. It's totally leveled the playing field. Anyone can do good on Google without spending a cent. Good content thrives on the Internet. You just have to contribute something valuable and people will find it.

Okay, so web sites with pictures of cats aren't so interesting or revolutionary. But personal doesn't have to be boring. This site is a personal web site. It's about web development, but it's just my take on it. Stuff I've figured out, thought about, and so on. It's my personal contribution to the web development world.

So when I say personal, I mean individual. I mean that one person by themself can do bigger things on the Internet than they can in real life. They can publish a book. They can sell (or give away) their music. They can make movies. They can create a popular comic strip. They can start groups. They can start businesses. They can run a huge business just by hiring and outsourcing to other people on the web. And these other people can just be individuals too, doing the same outsourcing themselves.

There are a LOT of people who don't have web sites yet. And all of these people have special interests, passions, talents and things to say that are just hiding away. Soon, these people will make pages (whether on MySpace, blogger, LivePages, or something else). They will start to open up and share their hidden talents with the rest of us.

Everyone benefits from this. The more information and entertainment on the web, the better. The Good Stuff will rise to the top, and the more available, the better the Good Stuff gets. And, of course, the people making the Good Stuff will benefit too. This will just make more incentive to make Good Stuff, and you can see where this is going.

So what can you do? Get out there and contribute. Don't be shy. Get your drawings, pictures, movies, stories and rants on the web. Help your friends and family to do the same. Do what you love, do your best, and do it in public. Your audience will find you.

Published on March 29th, 2006. © Jesse Skinner

Review: Working at Home on the Internet

Joseph Hauckes from the Working at Home on the Internet blog has asked me to review his other site, the Working at Home on the Internet Web Page. I've been reading his blog since the beginning, and it's become one of the few blogs I read daily. He posts very regularly every day (he's only missed one day in the past six months), and it's a pleasure to watch his story evolve over time. I look forward to seeing where it goes.

Usability

The website is a collection of resources and advice for people starting their own Internet-based businesses. At first, the site looks like a blog. It takes some time to find the resources pages including Scams, Forums and Blogging Services. The links to these pages blend in to the side of the site. The site could use some clear navigation, ideally at the top of the page. This would help make the site easier to use and explore.

Design

The design is nothing spectacular, but it doesn't distract from the content either. On the homepage, the left navigation takes up most of my screen, and I have to scroll to the right to read the content. The rest of the pages don't have this problem, but it's the first impression that counts.

Web Technologies

This site was designed and built using Microsoft Frontpage. As a result, the HTML doesn't come close to validating. There's scattered inline CSS and even font tags. It's just not easy to produce valid code with WYSIWYG tools without being strong in HTML and CSS. I hear Microsoft's new HTML editor Expression is supposed to help with this.

Summary

The most important thing about any website is its content. However, it's important to make sure this information is easy to find. Joe's site may not win design awards, but it has a number of great articles to help people getting started with their own sites, and that's what counts.

Published on March 24th, 2006. © Jesse Skinner

Website Reviews

I'm going to start doing the occasional Website Review. Consider yourself warned. I figure it's worth taking a look at the good and bad parts of other sites so we can all learn from their successes and mistakes.

I'll mostly be focusing on design and usability, usage of web technologies (ie. HTML, JavaScript and CSS) and whatever else strikes me as interesting and unique.

If you have a site you'd like me to review, let me know.

Published on March 24th, 2006. © Jesse Skinner

Form field spammers

I didn't want to put my email address on the site, purely for spam reasons. I thought I could avoid spam by putting a contact form on the site instead. Now, I get more spam than I used to from comment spam bots using my contact form!

There is no escape, and I will have to accept this as a part of my destiny...

Published on March 22nd, 2006. © Jesse Skinner

A URL is forever

The golden rule of URLs: They never change.

This certainly isn't a new topic. In fact, it's as old as the web itself. It seems like it's been long forgotten, brushed off and ignored. It is still highly relevant and can't be stressed enough.

When designing URLs, assume they will be still be used 1000 years from now. Why? People already assume they won't change. They bookmark the page, search engines index the page, other sites link to the page. It's your responsibility to keep the page there.

Web applications, search engines, online shopping and sadly even simple web sites have designed URLs to be disposable, full of variables including session IDs and other junk. How often have you sent or received a URL that didn't work because the "session has timed out" or some other reason?

You can improve the permanence of a URL by making it as simple as possible. Try not to include a file extension (.html, .php, etc.) Try to split things up into a logical hierarchy. Using dates in the URL like /2006/3/ can help a site grow over time, but so can using a unique ID such as a number or title.

Sometimes URLs just have to change. Perhaps the original URL was one of those temporary, junk-filled ones and you are migrating to a permanent URL system. When this happens, make sure you put something in place to send the visitor to the new location.

There is already a great document written on this topic, so rather than repeat everything, I will include it here. I highly suggest you read it if you haven't yet:

W3C: Cool URIs don't change

Published on March 21st, 2006. © Jesse Skinner

Flash is our friend

Lately, I've been thinking a lot about Flash. My girlfriend wants to set up a web site. She wants it to act like a lot of her favourite web sites: Flash sites. At first, I wanted to explain to her why this is such an awful idea.. but I couldn't. I couldn't because I realised a Flash web site can be perfectly accessible if done properly.

Then, I saw the video player from YouTube and realised, it's perfect. It's perfect because users don't have to choose from Windows Media Player, Quicktime or Real. They just need Flash (and everybody has Flash). This made me rethink what Flash really offers. Here is a single plugin that opens up Video and Audio capabilities, even streaming and bi-directional. This alone is reason enough to welcome Flash with open arms.

If we use Unobtrusive Flash Objects (UFO), or some other JavaScript-based Flash deployment method, nobody can complain. We can deliver alternative content for those without Flash, the disabled and search engine spiders.

  • Decorative Flash can simply be replaced with an image
  • Flash navigation can be replaced with a list of links
  • For a whole Flash web site, we can replace it with the text, links and images in the Flash movie. It's better to split up a Flash site into pages anyway, or the swf file will get much too big.
  • For sound and video, we can possibly use a transcript, or links to the raw mp3 or avi files. Though, sometimes, it's just not possible to replace video. We can only try our best.

Flash can be a wonderful, powerful tool when used properly. It's important to treat flash the same way we do images. They can improve the experience for many of our visitors. For all others, including search engines and those with disabilities, we need to make an alternative available.

Published on March 15th, 2006. © Jesse Skinner

The Future Is Now

So what's next with the web? Will we see the next big thing come when CSS3 gets adopted? Will there be a revolution on the Internet when browsers support XHTML 2? No, of course not. These things might make life easier for us, but they aren't going to change what we can do right now. We already have all the tools we need.

Even XUL or XAML will just make things easier. They're not going to change what is possible. We can do anything right now using JavaScript, CSS, HTML and (for the really tricky stuff) Flash. We can communicate to the server in real time with XMLHTTPRequest or Flash Remoting. We can make complex interfaces that update themselves. Nearly anything that is possible in a desktop application, and so much more, is possible on the web.

So what does this mean? It means we're not waiting for anything except new ideas. Whatever the coolest, greatest new thing will be in 2010 will probably have been possible right now, if only we could have thought of it.

It's only our perception that changes over time. For example, Google Maps used technology that was there for years to do something very useful, and it pushed the limits of what we thought were possible in a web page. And it didn't take long for Microsoft and Yahoo to roll out their imitations. We could have had maps like this years before, if only someone would have thought of it.

It'll take some time to explore what other possibilities exist in the technology we have available. But there's no need to wait around. Let's see what's possible today.

Published on March 12nd, 2006. © Jesse Skinner

onAfterClick

Okay, some time ago I posted onAfterPaste, a way to run some code after pasting. You can actually do the same thing with any event. Let's say you want to put an onclick handler on a submit button, but you don't want the function to execute until after the form is submitted. You may want to close the window after launching a new window or submitting a form, but putting window.close() in the onclick would prevent the form from being submitted. Then, do this:

function onAfterClick (e) {
     window.close();
}

var submit= document.getElementById('submit');
submit.onclick = function(e) {
     setTimeout(function() {
          onAfterClick(e);
     }, 1);
}

That's it. It's like the browser processes the click handler, then goes and does it's default click behaviour, then executes the timeout function. So it's almost a kind of magic.. but not really. Anyway, setTimeout is a great tool for making things happen at the right time.

Published on March 10th, 2006. © Jesse Skinner