Monday, April 28, 2008

Week 13 Writing Assignment

The analysis of the first scenario in Section 9.3.5 revolves mostly around the fact that the case in question is a safety-critical application. That is, the product has the potential to both save lives and to harm people. In this case, testing is particularly important from both an ethical and a financial perspective because if something goes wrong, people can die as a result, and the company would be both morally responsible and legally liable for this.

The second scenario is not safety-critical, and Baase focuses on explaining why the programmer should feel that they have the power to protest skipping testing rather than explaining why the programmer should protest in the first place. After all, releasing early for the show could give the product a lot of extra publicity, and this time there are no lives at stake.

However, even if the product can't physically hurt anyone, it might still harm people. What if the product were an accounting program and it malfunctioned, causing people to lose money? What if it were a photo-sharing application with a security leak, so that someone could access other people's private photos and embarrass or even blackmail them? Any application could have potential problems such as these.

Another argument that still holds in scenario 2 is that releasing a shoddy product can hurt the company's reputation, sometimes more than extra publicity can help it. I think that releasing well-designed, well-tested software is ultimately the best advertising.

That said, I think that the book does present this issue as black and white when there can be more subtleties to the situations. Sure, it is never a good idea to skip testing altogether -- but even with extensive testing software is almost never entirely bug free, and it is definitely more important to be absolutely thorough in some applications than it is in others.

Sunday, April 6, 2008

Digital Information

For this assignment I chose sites that deal with three different types of media: music, TV shows, and games.

Last.fm: this is my favorite streaming music site. Last.fm serves as both a database for music, updated constantly as users scrobble the tracks they listen to, and as source for custom Internet radio stations. To make money, Last.fm uses advertising and offers an optional subscription for extra site features. The music on Last.fm is streaming, and can only be played on Last.fm's player. Users can play custom radio stations that play certain genres (or "artists like so-and-so") but they can not choose specific tracks to play, nor can they download the songs.

Hulu: a streaming video site for TV shows and movies. Hulu is the legal counterpart to other streaming video sites that allow users to upload and share TV shows and movies. It is owned by NBC Universal and News Corp, and only they decide what content to upload (i.e., users can not upload videos). The content is high quality and on-demand (meaning that users can choose whatever they want to watch, whenever they want) but it can only be played within the site. The site is funded by advertisements that are embedded in the content -- just like normal TV commercial breaks.

Orisinal: this is an example of a particular artist sharing his work online for free. Orisinal is a flash game site with all original artwork and music by Ferry Halim. The games can be played online, and there are no ads and no subscription model. The site is clearly not intended to make money, though the author does sell merchandise in an online store (currently down for maintenance).