Monday, February 15, 2010

HEEP Week 5: Further Improvements

This week we prototyped a new application as well as made refinements to our existing applications. We now have several solid ideas for applications that we feel HEEP will like. Our initial designs were good for providing basic ideas, however, we still have many improvements to make before they are ready for distribution.

Our new application will display the amount of negawatt hours per year that are generated by HEEP rebates. A negawatt is a measure of energy that did not need to be generated due to increased energy efficiency. This is a good metric to provide to users, so they are able to see what kind of impact HEEP is having on Hawaii's power generation and energy efficiency. The information will be displayed as a numerical value as well as a pie chart showing the breakdown of each appliance's contribution. Consumers are able to use the numerical value to determine the performance of HEEP. Shown below is a mock-up of the negawatt display.



We have been working on improving the report card application. Initially, we were unsure how to evaluate HEEP's performance. We wanted to use some aspect of HEEP to assign a grade, but could not think of a meaningful metric to use. We have edited the design of the report card, so HEEP's grade is based on the amount of negawatt hours they generate through rebates. We will assign thresholds for each grade and assign HEEP a grade based on them. We feel that this is a meaningful way to grade HEEP because rebates seems to be their main connection to the public.

The calculators we designed will be revised to be more user-friendly. Initially, we assumed that users could enter a lot of data into fields of the application without many issues. However, we received suggestions that we should hide some of the fields by setting default values to them and read information from spreadsheets where possible. The less information that users need to enter the better.

I feel our weekly meetings have been very useful. During the meetings, we are able to get different point of views about our applications. This provides a good sanity check to make sure that our applications will work as intended. Everyone has their own opinions about what the best way to do things. By incorporating the best of everyone's ideas into a product, we are able to improve and refine it. Everyone has different opinions about what is the best way to accomplish a task. Hearing alternatives is a good way to improve an application because others come up with ideas that you may not think of on your own. I hope that we will continue to improve our applications in the coming weeks and have them ready for HEEP to perform an initial review.

Monday, February 8, 2010

HEEP Week 4: Back to the Drawing Board

It was back to the drawing board for our team this week. We found out that some of the applications that we created last week weren't feasible because the required data may not be available. I have to admit that I was a little frustrated because we weren't getting as much progress as I hoped. Although we had to scrap some of the applications, I think it may have been a blessing in disguise because we came up with new applications that I feel will be more useful to consumers. I am also hopeful that HEEP will be happy with the new applications we have come up with.

There has been a lack of communication between our team and HEEP for the past couple of weeks which initially made progress slow. After our meeting last week, Professor Johnson re-emphasized that we shouldn't let that stand in our way. We decided we are going to brainstorm new ideas for applications that we think HEEP will like. This has made development easier because we are less restricted. The boundaries for our project have been greatly expanded since we have taken this new approach. So far, it has been a new experience for me because we don't have many set specifications like we do for most other school projects. We have more freedom to make our own decisions and do what we feel is best.

We are still going to produce the oil price/consumption application because this still seems like it would be very useful to consumers. People can get a better idea of how oil price affects consumption and ultimately cost. Initially, the chart that we created was too cluttered and difficult to read. We have revised the chart so that it is more user-friendly.

In addition to our old applications, we have thought up three new applications. The first is a cooling degree day calculator. This calculator helps users correlate outside temperature to power usage. It takes as input the power usages for two years and a base temperature. The application then fetches the degree days for the corresponding years and calculates the amount of power used per degree day. It displays as a result the percent change in the power usage for the two years.

The second application is similar to the first cooling degree day calculator, but it uses the total amount of power generated for Oahu in a year. The total power generated is read in from user input (not sure if we might change this to a spreadsheet) for two different years. The application then queries for the cooling degree days for the corresponding years and returns similar information as the first application. This information can be interesting because users are able to see if there is a correlation between the amount of power generated and the temperature for given years. They will also be able to see the percent of change between the specified years.

The third application is an appliance calculator. I think that this is the most useful of the new applications that we created. It takes two appliances as input, possibly one energy star rated and one non-energy star rated. In general, the energy star appliances cost more than the non-energy star appliances. It then calculates the amount of time that it will take the user to break even by saving on electricity cost. This is the first version of the application and I'm pretty sure that more features will be added as the project progresses.

Overall, I am much happier with the progress we have made. I feel that we have more solid applications that are more practical and useful for consumers. I hope that HEEP will enjoy the applications that we create when we present them in our next meeting with them.

Shown below are screenshots of the prototypes for the new applications.

Cooling Degree Days Calculator (Usage):


Cooling Degree Days Calculator (Power Generation):


Appliance Calculator:

Tuesday, February 2, 2010

HEEP Week 3

We have started to prototype the different applications requested by HEEP. These applications include graphs representing changes in oil price, cooling degree days, and a report card for the organization's performance. Consumer's will be able to use these applications to educate themselves about different energy factors. Also, HEEP will be able to provide the public a simple, visual way to see their performance.

Our initial design of the system was more complicated than required. We weren't thinking about long-term maintainability. After discussing our design with Professor Johnson, he suggested to simplify the design as much as possible and increase the complexity only as necessary. This was a great suggestion. It actually made everyone's life easier. We changed our design so it uses Google spreadsheets to hold the data and creates the visualizations based on queries to the spreadsheets. HEEP will be able to update data by just editing a Google spreadsheet which means that training to use the system will be minimal. Also, after we are gone, the applications can be maintained without many complications.

We had some difficulty creating the applications at first because we didn't receive the required data from HEEP. We decided to procede with the construction of the applications based on best guesses of what the data will look like. It is important that the project keep moving forward even though we may need to redo much of the work. It will be a repetitive process of reviews and revisions to the applications before we are able to get it right.

Our first challenge in getting these applications working was learning the Google Visualizations API. Fortunately, Google provides a lot of documentation and code examples which made learning how to use the visualizations fairly simple. We were able to construct prototypes for the applications without many problems. Previews of our prototype applications can be found here.

Monday, January 25, 2010

Hawaii Energy Efficiency Program

Our first meeting with the Hawaii Energy Efficiency Program was very productive. They were able to provide us with a much clearer picture regarding the types of applications they desire. The applications that were discussed dealt with variations in oil prices over time, HEEP's performance report card, how cooling degree days impact power consumption, and a stop light to represent the current power status. HEEP hopes the public will be able to use the information provided in these applications to adjust their energy usage and become more educated about energy issues.

The first application would show how oil prices vary over time. Oahu is very dependent on oil for power generation. Over half of the power generated on Oahu comes from petroleum. This is one reason that HEEP would like the information to be readily accessible from their website. The possibility of using a custom Google Visualization to diplay the information was discussed. The visualization desired would represent the price of oil as stacks of oil barrels.

The next application would display HEEP's performance. HEEP would like the public to have access to a "report card" that would represent HEEP's performance based on cost verses power savings. This would compare how much money was spent to produce a certain amount of power savings. HEEP would like this information updated weekly.

HEEP would also like an application that consumers can use to see how cooling degree days affect power usage as well as power consumption. Each degree over 65 degrees corresponds to one cooling degree day. Consumers could use this information to get a more accurate idea of reasons that their power consumption may have changed from one year to another. Power consumption generally increases as the number of cooling degree days rises due to additional use of air conditioners and other appliances.

Finally, HEEP would like a stop light style application created for their website. This application would be similar to the Ecotricity stop light application that represents the current power status as either red, yellow, or green. These colors correspond to high, moderate, and low demand times respectively. Consumers would then be able to modify their power usage to correspond to lower demand times.

All of these applications seem very useful and I am looking forward to beginning development. The learning curve will be steep at first, but hopefully things will become easier after becoming more familiar with Javascript and Google Visualizations. I hope that we are able to live up to HEEP's expectations and produce the applications that they desire.

Monday, January 18, 2010

A New Partnership

The Hawaii Energy Efficiency Program (HEEP) is an organization that provides Oahu residents with information that can be used to conserve energy. They provide information on their website about various things such as solar energy, energy efficient appliances, and Hawaii's energy news. We will be working with HEEP to create some new applications for their website.

The applications for the HEEP website will be energy related. They are considering incorporating something similar to the stop light feature of the Ecotricity website that allows consumers to know what times during the day to conserve electricity. Consumers would be able to predict when peak hours are and avoid usage until lower demand times. They also mentioned possibly creating an application that dealt with oil prices.

So far, we have not been provided a clear description of what this project will consist of. Our team has scheduled a meeting with HEEP to discuss what they had in mind for their website. We hope this meeting will clear up some questions we have. During this meeting, we hope to find out more about their requirements, who we will be working with, and how the relationship between UH, HEEP, and the web development company that is building the HEEP website will work. We want to create applications that can be incorporated into the website without much dependency on other aspects of the website. This is to prevent our application from ending up on a critical path of the website's development.

During the next week, we hope to learn what kinds of applications HEEP would like built and how development will be handled. Once we know what is wanted, we can start assigning tasks to members and get our project going.

The Hawaii Energy Efficiency Program's website can be found here.

Shown below is a screenshot of the Hawaii Energy Efficiency Program's website.

Wednesday, December 9, 2009

Software Engineering: Final Thoughts

Over the course of this semester, I learned about a lot of new concepts such as continuous integration, issue tracking, and configuration management. The application of these techniques can assist in making development more efficient and productive. These are valuable techniques that can be applied to future projects. I feel that learning these new skills have helped me become a more productive developer and I will try to continue practicing these techniques in the future.

There were also a number of new tools such as CheckStyle, JUnit, PMD, FindBugs, and Ant that were introduced that assist development by automating tasks that would otherwise have to be done by the developer. While these tools cannot guarantee code quality, they allow developers to concentrate on other more important tasks. This allows developers to use their time more productively.

I found the most valuable part of this course to be the experiences that I gained while developing the different projects. Each project taught new skills such as learning about an existing project by reading code. The projects also provided me experience in the development of a system that could be used by consumers. Up to this point, I only had experience developing school-type applications that couldn't be used in the real world. Also, we learned about team management which is useful since, when we get hired, we will most likely be working as part of a team of developers. We had to learn about time management, division of responsibility, and effective communication methods in order to have a successful project. These aspects can be applied to any team project and are critical to the success of the project.

I would like to have learned more about development of web applications. The final project required us to create a web application. The development of the final application was done in just a couple of weeks which didn't give us much time to learn everything. I wish that we had more time to become more proficient with the Wicket Framework, HTML, and CSS because skills with these tools can be applied to many different areas.

Overall, I found this class to be very useful. It taught me many different skills that I am able to take with me and apply in other projects. I think that I have become a more effective developer because of the new techniques and tools that I have learned about.

WattWaiter Version 2.1 Release

WattWaiter 2.1 is the second release of the WattWaiter system. Version 2.1 introduced two new pages. A stop light page which provides users a visual representation of the current hour's carbon intensity has been added as well as a grid info page which provides a graphical representation of the carbon intensities of a specified source. By providing this information, WattWaiter hopes to help increase consumers' awareness about when they should plan energy use. Consumers can make informed decisions about scheduling their electricity usage to coincide with low carbon intensity periods.

The stop light page categorizes the current hour's carbon intensity into three categories represented by a green, yellow, or red light for low, moderate, and high carbon intensity respectively. The hours are categorized into colors based on their predicted carbon intensities for that day. The twelve lowest hours are given a green rating, the six next highest hours are given a yellow rating, and the six highest hours are given a red rating. The Wattdepot system is queried at the top of the hour for the current carbon intensity level.

The grid info page provides users with a graphical representation of the carbon intensity over a period of time. A user is able to specify a source, start date, and end date. There are also other options that the user can select such as if they would like to see a cumulative or transitive display, whether they would like to see the carbon or energy generated, and the time frame for the graph. After selecting these options, a user is provided with a line graph that represents the changing carbon intentiy over the specified period of time.

There were many new thing that were learned throughout the course of this project. The Wicket Framework, HTML, and CSS were some of the topics that were new to me. I found that learning to use these new syntaxes was a challenging task. Prior to this project, I had a very limited knowledge of HTML and CSS. It took a while until I got the hang of using their syntax. I also struggled with the Wicket Framework at the start, but it became easier to understand through working with it. There were also team and project management issues that were learned such as getting the whole team involved in development and keeping track of project issues. The Google project issue tracker helped with both of these issues by allowing assignment of tasks to members so everyone knew what they were resonsible for. As in version 1.0, I thought that our team worked well together. We didn't have to make many adjustments to the way our group was functioning. We helped one another when we got stuck, so we could keep progress moving forward. Overall, I found this experience to be a positive one.

The WattWaiter project page, where users are able to download the WattWaiter 2.1 system, can be found here. There is also additional information such as a user guide, developer guide, and release notes that can be viewed. A screenshot of WattWaiter 2.1 is shown below.