The purpose of the Desktop Status application is to collect processor, memory, and storage usages of a computer running the Microsoft Windows 7 operating system, and record these data with time stamps to files at a user-defined time interval. A graphical user interface (GUI) captures users' inputs and displays them on a plot for informational purposes. Microsoft Windows' Task Manager program, a prior art that is included in the Windows operating system, has the capability to collect processor and memory usages and display them on a graph, but cannot write the raw data values to files with time stamps at regular time intervals.
The Desktop Status software is a standalone application developed using the C/C++ programming language with Qt for the integrated development environment (IDE), Qt libraries, and Microsoft Visual Studio 2013 or MinGW for the compiler. The Desktop Status application is generally built using the model-controller-view design pattern by grouping the source code into two categories: logic and graphics. The logic portion is responsible for collecting usage of each existing processor, memory, and storage space using Microsoft Windows API (application programming interface), time tagging them, and writing these to files at a user-defined time interval. It also passes the collected data to the graphics portion for displaying on a plot. The graphics portion contains a scatter plot for displaying the system resource usages and a numerical spinner for specifying user-defined time intervals. A Network Countdown Time Protocol (NCTP) is used for time-synchronizing and displaying Earth and countdown times for informational purposes.
The Desktop Status application is unique due to the following capabilities combined into one standalone application: collecting the system resource usages on a Microsoft Windows 7 computer, graphical display for rendering data values, data recording, and using NCTP for timing synchronizing. The benefit of the Desktop Status application is to allow the user to obtain the system resource data in raw values for further analysis, such as generating a comprehensive graph for a report.