|
May 12th, 2008 Version 1.0 BackgroundThis is a project for the ICS 414 software engineering class in Spring 2008. It starts of the goal of utilizing the 3 by 3 grid LCD monitors wall in CSDL lab. As one kind of information radiators, the project is intended to make the workspace of the CSDL lab more informative, and thus the project name "Informative Workspace". At the beginning stage of the project, the goal is too general. Therefore, various trials and experiments has been carried out. We have tested widgets such as CountdownClock, ChatRoom, CyVis, HackystatTelemetry, and ProjectOverviewer. Near the end of the semester, the project shifted its focus to the project overviewer widget, which utilizes the usage of the open source library JTreeMap. It's a widget that gives out brief "overview-like" information about a project, such as the number of source lines, number of methods, editing time, and coverage. Strategy GoalThe goal of this project is to make the development process more transparent to the development team as well as the outside world by integrating the Hackystat framework into the telemetry wall. Ultimately, the system of this project can passively and unconsciously display information about the projects to the workspace, such that "when an interested observer walks into your team space, s/he should be able to get a general idea of how your project is going in 15 seconds, and be able to get a deeper perspective on real or potential problems by looking more closely." Development/Branching History
ProgressThere are some evaluation of other widgets that has been documented as the preliminary work of this project. However, at the current stage, the core working system of this project is the project overviewer widget, which allows the user to create a project and gather various information of the project via the usage of a treemap and some hackystat sensor data. Here is a summary of this widget: - Able to create/monitor/delete a project.
- Able to monitor different attributes of a project, such as number of source lines, number of methods, last edited time, and coverage.
- Requires Google project repository and Hackystat sensor data for the project.
- Requires Firefox auto-refresher plug-in to work automatically and continuously.
Here is a brief description of the progress made on each milestone: Milestone-1.1.0220
Milestone-1.2.0319
Milestone-1.3.0409
Milestone-1.4.0403
Future Development DirectionsThere are many different directions that this project can go, and here are some examples we have in mind: More Widgets Trials
As there are still many tools and software that can be used to improve the productivity of the software development process, we can give it a widget trial and evaluate how well that particular tool or software is as part of the informative workspace. The basic "try-test-evaluate" cycle is still very helpful for the development of this project, since the nature of this project is more about "finding out what works best" rather than "making something that works best".
Improve The Project Overviewer
There are many known issues about the current project overviewer. It requires Google repository hosting, hackystat sensor data, and browser plug-in. For each issue, there is plenty room for improvement. For example:
- Improve the system such that it becomes more independent to the Google hosting. This could possibly be done by creating a more generic way of retrieving repository data of the project.
- Improve the process of how the sensor data is retrieved and used. Currently the system retrieves sensor data from the sensor base, and it processes only 3 kinds of sensor data: FileMetric, Coverage, and DevEvent. To shorten the time for data retrieval, one can consider using the Daily Project Data instead of the sensor base data. Also, there is a possibility of developing a new sensor type that is specifically oriented for the project overviewer.
- Improve the automation process such that the system does not require external browser plug-in. This could possibly be done by implementing threading for the system so that one thread for the webapp interface, and another thread for the applet. When it detects a change of the sensor data, only the applet thread is refreshed by reloading or restarting the applet.
Project Overviewer As Standard Component of Hackystat Framework
There are some standard components provided by the hackystat framework, such as the telemetry graph, daily project analysis, and sensor base data browsing. On top of that, the treemap that is used by the project overviewer can become another useful component to give a different aspect of the project.
|