As the first step in the design process, two members of team Hawaii were invited to class for a Q & A session. Then we were tasked with coming up with user stories. User stories are short statements that describe user interaction with some aspect or functionality of a software system. In this case, the goal of our user stories is to give team Hawaii some ideas about what would be possible to implement in their house with respect to software.
User Stories:
As a home occupant, I would like to be able to program a weekly schedule for the air conditioning system. The schedule would allow me to set the goal temperature for the A.C. on an hourly basis. The schedule would be easy to configure, allowing me to view each day of the week by hour, but allowing me to break-up each hour into fifteen-minute intervals. I would be able to highlight time periods by clicking and dragging to the appropriate time, and setting a temperature for that time range. The system would give me a running-weekly-total of the amount of energy this schedule would use, so that I can choose where to cut back on using the A.C.
As a home occupant, I would be able to have the house keep track of the amount of food currently available via the Aquaponics system, as well what's in the refrigerator. I would be able to plan weekly meal-menus, where each meal would be a selection from the computer's recipe-database. A weekly calendar would be available for me to use in order to plan the number of people to be served, as well as each course. The computer would let me know what items I would need to pick-up from the store, or replenish, in order to complete my weekly-menu. I would be able to add new recipe to the system. The recipe system would be searchable by dish type (appetizer, entree, dessert, etc.), ingredients (pasta, pork, fish, etc), and recipe name.
As a programmer, I would be able to easily implement new functionality into the house. The system would keep track of currently available functionalities, and I would be able to enable/disable each system with a few clicks. I would also be able to run new, or questionable systems in a “debug” mode, where I can set a list of available systems that it can interact with. In this way, I could incrementally allow the new module to interact with other systems one at a time, until I am sure that it works as intended. The “debug” mode would also allow me to run a module in a text-based emulator that takes real time data from the house sensors.
As a home occupant, I would be able to monitor my current, daily, and weekly energy usage. My current power usage would be available via a widget on my computer and phone. Power usage would be displayed as a graph of usage over time for the daily and weekly reports. These graphs would also show me the amount of energy that has been generated so far this week, predict the amount of energy that will be collected throughout the week based on weather forecasts, and show me my remaining energy budget given my current energy consumption rate. Any surplus or defect of energy would be added to next week's budget. These graphs would be broken down by hour, allowing me to select any given time period and view what was using power during that time frame, how much it used, and how long it used it for. Graphs would be available via the house's local intranet, as well as an app on my smart phone.
As a home occupant, I be able to control some or all of my house's functionalities remotely via a small program that could be installed on any computer platform or phone. The program would require authentication via a user name, password, and approved MAC address. From the main home computer, I would be able to control the users and MAC addresses that can access the system. I would be able to give different permission levels to each user, so that my children would have less access than me. The application would give me the ability to inform the house of any changes to my schedule and adjust accordingly. It would also allow the home to track my location via my GPS enabled phone, and unlock
itself/disable the security system when I am within a few feet of it.
As a home occupant, I would be able to issue voice commands to the house to implement various functionalities. The house would execute my commands if it is confident in it's understanding, otherwise it would prompt me to either re-state the command, or ask for clarification. Voice commands would be substitutes for pressing buttons in the house's management system. For example, saying “Settings, Lights, Set to, Zero”, would cause the system to press the settings button, followed by the lights button, and then set the “Set to:” field to zero. This would make interacting with the house more accurate, as the system would only have to understand the spoken commands for a few dozen buttons.
As a home occupant, I would be able to control the lighting in my house in a variety of ways. I would be able to issue voice commands to the house to tell the house to only light the area where I currently am, or to light the entire house at a certain level. I would also be able to use the control panel, which would display the lights in the house as a grid, to select various areas of the house, and set their lighting levels individually. This could be useful if someone wanted to watch a movie in a darker section of the house, while another person wanted to do paperwork in a brightly lit area.
As a home occupant, I would be able to receive notifications about the status of certain events in the house. The house would be able to notify me that my laundry is done and needs to be hung up, or that the pie in the oven is done. The house would be aware of my current activity, sending me a visual or text-based message if I were on the phone, or playing an audio alert if I weren't busy. These alerts would remind me every minute until the situation was remedied. The house would be able to sense that the dryer/oven door was opened, and cease the alerts. These kinds of alerts would help prevent the need to re-dry clothes, and prevent the wasting of burnt foods.
As a home owner, the house would notify me if something needed maintenance or replacement. The house would keep a database of parts that it uses, as well as a list of certified repair centers. The house would be able to monitor important systems in the house and notify me which parts need to be swapped out before they fail. I would be notified in the same manner as other alerts, but the message would include the name, number, and approximate cost of having the maintenance done.
As a home occupant, I would be able to set limits on hot water use. Each user could be assigned a quantity of hot water to use for showering and doing laundry each week. Users would be able to check their hot water allowance in order to budget it. The shower in the house would be temperature adjustable via a waterproof touch screen display, so that users would be able to specify the temperature of the water that comes out of the shower head. The cooler the temperature, the longer users would be able to shower. The shower would also display a visualization of the time remaining for water at a given temperature. The shower would notify the user a minute and a half before their hot water allowance would expire.