Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The tablet screen is partitioned into multiple fragments. Some fragments provides provide inputs. For example, the MainTabFragment reports which function tab that user has selected: consumption devices, reserved power, or pricing information, and TimeframeTagFragment reports which timeframe that user has selected: daily, monthly, or yearly. SmartGridActivity class serves as the controller of the application. It receives inputs from the input fragments, and drives the outputs. One output is the Chart. Another output is the Operation Area. SmartGridActivity class loads DeviceTree, SortedDeviceList, DeviceSettingsPage, TransactionTable,  and TransactionFragment into the Operation Area dynamically based on user inputs. Device, DeviceManager, and PriceManager serves as the abstraction of the back-end, providing data to the application.

...

Using the Fragment paradigm is the most important implementation decision. Android prior to 3.0 uses Activities to manage TabHosts. For GR4, we used this paradigm, which resulted in nested TabHosts of three levels deep. This exposed a few bugs of Android itself, and they were difficult to fix. It also made it difficult to make persist timeframe and device selections consistent over different tabs. Using Fragments solved these problems.

Evaluation

Due to logistical reasons, we had only one team member present in each user test, who worked as both coordinator and observer. 

One user was our original User B in GR1. His requests were part of the requirements of the project, but we still presented the GR3 debriefing to him. His tests include his original request to find energy consumption broken by the hours, and he felt the user interface intuitive enough to quickly find out the information. He was also given some other tasks, for example, schedule a transaction. His overall feedback is that the interface is easy to learn, and information is presented well.

A few observations on the places where we can improve:

  • When he tried to adjust the Air Conditioner setting, the soft-keyboard blocked the screen. He can't see where the cursor was or whether the backspace was actually deleting the old value
  • After schedule a transaction from the Reserves tab, the screen returns to the device tree view. It's not obvious how to view the just scheduled transaction
  • He was pressing on the device name itself, while trying to bring up the device settings page. Currently using the Edit Setting button is the only way to get to the page. We should consider supporting context menus as well, which will pop up when user presses a device name.   

Reflection