All posts tagged ‘Programming’

File Under: Glossary

Function

A function is a named group of statements in a program that performs a task when it is invoked.

Other programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value. Since JavaScript does not make this distinction, you can create functions that return values elsewhere in your code.

File Under: Glossary

Platform


Software developers need to know which platform their software will be running on. A platform can be an Intel processor running Windows, a Macintosh running System 8, or any combination of hardware and software that works together. Platforms are important for web designers to understand, because they need to make sure their pages will work on more than one platform. Different browsers display web pages differently on various platforms. Since the internet itself is a cross-platform system, designers need to test web pages on different combinations of machines and browsers to ensure the widest possible audience will be able to view their sites.

File Under: Glossary

Hash

A hash, also known as an associative array, is a collection of data in which each piece of data has two components: a key and a value. Much like the hash at your local diner, JavaScript hashes go unordered: They’re not indexed by numbers. For example, if you wish to use JavaScript to put up a different GIF animation on your site every day of the week, you might throw all these animations into a hash associated to each weekday as a key. Then you would refer to the key day to invoke that day’s animation.

For example, in a normal array, you’d have:

  dinner[0] = "monkey brain";

  dinner[1] = "meatloaf";

But in a hash, you could use a string as the index:

  dinner["monday"] = "monkey brain";

  dinner["tuesday"] = "meatloaf";

File Under: Glossary

Hover

Much like standing behind your co-worker while she slaves away, hover implies standing by but not doing anything. In dHTML, it refers specifically to when the user has positioned her cursor over a link but not yet clicked anything. The style will not change if the cursor is simply passed over the link, but you can set an action to take place after a predetermined amount of hovering.

File Under: Programming, Software, Web Apps

Forget Perfection, Release Your App to the World

fail whaleMost developers are probably familiar with Linux founder Linus Torvalds’ motto: “release early, release often.” The reason is quite simple: Shipping something useful is better than withholding that usefulness until it’s reached perfection.

Of course, there are exceptions. If you’re developing flight control software or a heart monitor interface, we sincerely hope you do not ship imperfect software. But when it comes to web applications, getting your software to the public is often more important than making sure it’s absolutely perfect.

The reason shipping a flawed version is often better than shipping nothing is summed up nicely by blogger Jeff Atwood, who recently wrote a post entitled, Version 1 Sucks, But Ship It Anyway.

As Atwood writes, “instead of spending three months fixing up this version in a sterile, isolated lab, you could be spending that same three month period listening to feedback from real live, honest-to-god, dedicated users of your software.”

The result in that scenario is that you end up with not the software as you dreamed it, but as users really want it. There’s actually a third sentence in Linus’ motto: “Release early. Release often. And listen to your customers.” And it’s impossible to listen to your customers if you don’t have any.

While it’s become something of a joke in Google’s hands, this is where the “beta” moniker serves a real purpose — to let users know that you have something, but it isn’t perfect.

The tradeoff for users is (or should be anyway) that they have some influence on the product’s future. In this scenario, “release early, release often” means your app gets feedback when you need it most — before it’s fully baked. The end result might not be your application as you imagined it — the internet is littered with web apps that started out as one thing but became quite another in the hands of users — but you’ll have delivered something people find useful. It might be hard to let go of your vision, but sometimes your users are smarter than you are.

As Atwood puts it, “it’s saner to let go and realize that when your software crashes on the rocky shore of the real world, disappointment is inevitable… but fixable!”

See Also: