Coding with Jesse

Review: dict.cc

As a Canadian living in Berlin, I'm constantly learning German, and the best resource is a good dictionary. Paul Hemetsberger's dict.cc is not only the best online English-German dictionary I've found, it's one of the best examples of how an online resource should act. Even if you have no interest in learning German, it's worth having a look just to see what makes a great site.

This site is optimized for people who will be using it regularly. You can click on 'Remove Ads' which will hide all the ads until you close the browser. You can also click on some section titles to hide the sections you don't need, which cleans up the interface, and these preferences are remembered using cookies.

There are simple features that make the site even easier. Alt+S will put the cursor into the search box, which is very handy when you need to do multiple searches. You can simply enter the URL dict.cc/word to automatically search a word (I wish Google would do this!). There is even a slimmed down "pocket" version at pocket.dict.cc, which has become the only web site I actually use on my cell phone.

Everything in the results is clickable. You can click on a single word to look up that word, double-click a table cell to look up the whole phrase, or click on a drop-down menu beside each result to reveal a number of options. You can hear a spoken sample of the word or phrase, which doesn't launch a popup or make you save an mp3 - it just plays instantly using Flash. There are also links to the word in the other popular online dictionaries, in case you aren't satisfied with the results or want more details.

Although some of the extra features require JavaScript, JavaScript isn't required to use the site. The JavaScript is completely unobtrusive - even the Flash is added to the page using JavaScript.

The site is built on contributions from users. This means that the dictionary is as up-to-date and complete as possible. For me, this is very important - I want as many alternative translations as possible to understand the different ways German words can be used. Anyone can suggest a translation or correct an existing translation, and all changes go through user-based moderation. And since the data is user-contributed, the author Paul doesn't claim ownership to the word list. It is available for download as a text file.

There are tons of other cool little features all over the site, too many to go into here. You'll have to play around with it yourself.

There is very little I would do to improve the site. Well, the HTML and CSS don't validate. And it would be better if there was a way to access the extra functionality (like the voice output) without JavaScript. But from a usability and functionality standpoint, it's totally perfect. Thanks, Paul!

Published on April 20th, 2006. © Jesse Skinner

What's the point?

What's the point of this site? Well, the Big Picture is an outlet for me to write about my greatest passion: the Internet, the direction it's moving in, and the way it is changing the world. But at the same time, I work as a web developer, so this is also my forum for sharing different problems and tricks I come across, as well as touting the benefits of web standards and best practices.

The result is, I have articles like Setting a form field to null or undefined and Let's get personal on the same site. This means that people who don't do any JavaScript coding have to put up with my technical articles. And people who just want my tips and tricks have to put up with my, let's say, fluff articles.

Luckily, these both roughly fall under "The Future of the Web". If I started posting pictures of cats, or investing advice, or whatever, I might get more complaints. But even under the blanket of "The Future of the Web" I have some thinking to do about my target audience.

I don't really write the techie articles for regular readers so much, they're more geared at people searching the web on, say, "setting form field null javascript". Nor do I write the fluff stuff geared at search engines; they're mostly for the regulars.

So how do I solve this apparent dilema? I could create multiple RSS feeds for categories. I could spin off a second blog. I could drop one of the topics altogether. Or, I could just ignore the problem and let people skim over the topics they have no interest in.

Well anyway, I haven't solved the problem yet. I've thought about these options, but I haven't decided what I'll do. But I'm aware there is an apparent identity crisis looming.

How do you deal with identity and branding, and evolution over time? Do you put much thought into this before creating a site or blog, or do you just let it evolve over time and define itself? Where would you like to see this blog go?

Published on April 12nd, 2006. © Jesse Skinner

Distributism

I was reading Tara Hunt's blog, in which she talks about how communism relates to cluetrain, the "new" web, and all the great stuff we're seeing happen on the Internet. I think she was absolutely right to suggest the distributed nature of the Internet will let the common people take power away from the ruling class.

She's had to fight off a lot of criticism though, since communism has such a negative connotation, especially in America. But communism, ie. The Communist Manifesto, has nothing to do with killing people or Hilter or whatever. It's just about bringing power to the people. Well, it seems like it's an argument that's impossible to win so she's had to focus closely on marketing, with Pinko Marketing.

I think there's a lot of value in this comparison though, outside of marketing. So, I'd like to suggest another -ism that doesn't have the same negative connotation, but nicely captures the same spirit of Power to the People: Distributism.

The idea behind Distributism is (from Wikipedia): "the ownership of the means of production should be spread as widely as possible among the populace, rather than being centralized under the control of a few state bureaucrats (some forms of socialism) or a minority of resource-commanding individuals (capitalism)".

This relates to a ton of things happening these days. Think of "the means of production" in terms of music recording technology, self-publishing, video technology, etc. and the "minority of resource-commanding individuals" as the music, book, magazine and movie industries.

Like I was talking about recently, the Internet is bringing power to the average person in many ways, including in business. More and more people are becoming entrepreneurs. Some people even quit their job, go independant, then turn their old job into their first client, fulfilling the same role they did before. Yes, someone can switch from being employed by a company to being independant and still working for the company, and hardly anything changes. Why doesn't everybody do this?

Well that's kind of the concept of Distributism (or what I gather from it anyway). Ideally, everybody would have their own business. People would get together to form partnerships or co-operatives to share some resources and achieve common goals. People who have their own business, entrepreneurs, artists, or whatever independant people are just that: independant. This is really Power to the People.

This is the future of the web. Individuals doing whatever they want, making a living from it, starting their own microbrands and picobusinesses. People coming together from across the world to work together. No longer does one need a lot of money to create a successful business. No longer does one even need to leave the house to do something big in the world.

This isn't just the future of the web. It's the future of the world.

Thoughts? Agreements? Arguments?

Published on April 11st, 2006. © Jesse Skinner

Setting a form field to null or undefined

I came across another browser difference while debugging some JavaScript. Let's say you were trying to set the value of a form field the following way:

document.getElementById('formField').value = someFunction();

But, it just so happens that someFunction() returns null. What happens when you set a form field value to null? Well, in Firefox and Safari, the value will be set to the empty string, "". Internet Explorer and Opera will set the field to the string "null".

Similarly, if the function forgot to return a value, the form field would get set to "undefined" (this is the same in every browser).

The moral of the story is, be careful not to let a form field value get set to null. You could avoid both these situations by doing something like:

document.getElementById('formField').value = someFunction() || "";

Note: This would actually replace undefined and null as well as 0 and false with "".

Published on April 4th, 2006. © Jesse Skinner

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
<< older posts newer posts >> All posts