We know that some computer hardware -- PCs and servers, for example -- are greener than others. They are built to be more energy efficient and easier to recycle, plus they use fewer hazardous materials. Certifications such as Energy Star and EPEAT make it easy to find at least some of those machines.
But can some software be greener, too? Most definitely. I had an interesting conversation on this very topic recently with author Tim Sanders, who makes a thought-provoking argument in his forthcoming book "Saving the World at Work: What Companies and Individuals Can Do to Go Beyond Making a Profit to Making a Difference." He asserts that developers building Web 3.0 will embrace social responsibility and sustainability in the Web applications they produce.
Building socially responsible applications -- those that can help fight world hunger or rally people to combat global warming -- is a fascinating notion, one that I might explore at a future point. But this week, let's look at three real-life examples where actual coding of applications in particular ways can result in waste reduction. That is, coding that results in more sustainable -- or greener -- applications.
EA's Scrabble Beta vs. Scrabulous: Too much is not good enough
If you're a Facebook user and a Scrabble fan, you've likely played Scrabulous. It's a version of Scrabble and has been one of the most popular applications on Facebook. Unfortunately for the developers of Scrabulous, as well as its legions of fans, Hasbro, which holds the trademark for Scrabble, has successfully lobbied for Facebook to disable Scrabulous for US and Canadian users, citing trademark infringement.
The company also teamed with Electronic Arts to develop its own version of Scrabble on Facebook. I believe that comparing this version of Scrabble to Scrabulous (still available free via the Web) provides another interesting case study in green programming.
In many ways, Scrabulous and Scrabble Beta are similar: They both adhere to the rules of Scrabble. They have the same style board with double-letters squares and triple-word scores and such. They both have dictionaries to check word legitimacy and little cheat cards to look up two-letter words. You can click a button to scramble your tiles to see if a word pops out as you mix the order. And so on.
There's a huge difference, however, one that makes Scrabulous, in my view, a far greener application. The designers of Scrabble Beta decided to employ animation. Lots of animation. Pointless animation that brings nothing to the game-playing experience -- unless you count a longer wait as "something." Waiting for the game to load. Waiting for the board you're playing to spin and grow larger when you're ready to play a turn. Waiting for animation showing your points adding up.
Scrabulous, on the other hand, has little to no waiting. It's quick, efficient, and snappy. And it has an elegant UI that makes it exceedingly simple to use. It's no wonder the game has proven so popular -- and addicting: The learning curve is minute and the game play is quick and seamless.