Monday, August 31, 2009

OSS Experience: TV Guide Browser

Goal: Apply and learn the Three Prime Directives of Java-based Open Source Software
Program: TV-Browser
Source: http://sourceforge.net/projects/tvbrowser/
Download: TV-Browser

Overview: TV-Browser is a TV guide that gathers information on the shows that the user is interested in. The program has extensive array of functions that the user can customize to fit their need.

Prime Directive 1: The system successfully accomplishes a useful task

In terms of functionality the program is extensive enough to deliver different user experience by customizing different functions such as favorite shows, specific time slots, show links, user ratings, etc. I find that all of these functions are useful but they are executed in a way that most people would find hard to use. The manual, that is accessible within the program itself, was useless since it's just a link to the program's Wikipedia page. I also find the whole layout too simple, where the show information are in different panes. A user might want a good flow of the things he or she needs.

Prime Directive 2: An external user can successfully install and use the system

I downloaded the program and installed it with great ease. The installation process was straight forward. The customization features starts with the installation where the user have choices which services or plug-ins will be installed accompanied by a short description of what they do.

Prime Directive 3: An external developer can successfully understand and enhance the system

The program have developer-level documentation, which can be found on the developer page.


Overall, I find this program very interesting but I would change most of the interface for me to use it more. All the functionality is included but the program missed on the implementation that would make the program user friendly.

Sunday, August 30, 2009

Fizz Buzz Program

It was pretty interesting that the very first thing we did in class, after learning everybody's name and expectations from this class, was to write a comparable program that prospective programmers might expect in a job interview.
The program is called FizzBuzz, which prints the numbers from 1 to 100 and substitutes "Fizz" for numbers divisible by 3, "Buzz" by 5 and "FizzBuzz" by 3 & 5.

I did manage to write the program correctly but it was a little different from the one we did as a class. For my "FizzBuzz" line I have:
if (i % 15 == 0) {
  System.out.println
("FizzBuzz");
}


And as a collective class effort we came up with:
if (i % 15 == 0) {
  System.out.println
("FizzBuzz");
}


It was interesting what everybody came up with considering there are different approach for solving the problem. I realized that our class' approach was better in terms of style and efficiency, my approach had two comparisons whereas the class' had only one.
So when I wrote the same program in Eclipse, I used our class' solution.

Here is my FizzBuzz Code:
/*
* Prints out the number from 1 to 100 but
* substitute Fizz for all multiple of 3,
* Buzz for 5 and FizzBuzz for 3 and 5.
*/
public class FizzBuzz {
  
public Static void main(String[] args) {
    
for (int i = 1; i <= 100; i++) {
      
if (i % 15 == 0) {
        System.out.println
("FizzBuzz");
      
} else if (i % 5 == 0) {
        System.out.println
("Buzz");
      
} else if (i % 3 == 0) {
        System.out.println
("Fizz");
      
} else {
        System.out.println
(i);
      
}
    }
  }
}


As for Eclipse, I have been using it as my IDE since ICS111 so I learned a few shortcuts and it took me no less than 4 min to write and run the program with no problems.