Summary: v0.5‐beta (The fifth iteration) - 0mp/io-touchpad GitHub Wiki

Issues from within the scope of the fifth iteration

Documentation

Architecture (@RjiukYagami)

Issues: #112

  • Added the architecture views of are based on the "4 + 1 architecture" idea.
  • Logical View
  • Process View
  • Development View (subsystem decomposition)

Link to the architecture document.

Update the vision document (@0mp)

Issues: #181

  • Updated the milestone and the vision document.
  • Created this Wiki page.

Improve non-functional requirements (@0mp)

Issues: #178

  • Changed the name of the modifiability section to extensibility.
  • Split Non-functional requirements to Programming guidelines and Non-functional requirements.

Fix use cases (@0mp)

Issues: #179

Features (@michal7352)

Issues: #126

Now, the user can export the current state of his/her settings (stored in files of classifier and databox) and import them anytime.

THIS FEATURE WASN'T MERGED ON TIME

Performance

Issues: #166, #42

Improve performance by eliminating the actively waiting while loops (#42) (@0mp)

The changes in the source code are available here.

  • Removed the while loops which were actively waiting.
  • Introduced a condiditon variable which is shared between threads. It allows:
  • the application thread to go to sleep if:
    • there are no new points to process;
    • the set of points collected so far is not ready to be treated as one symbol;
  • the listener thread
    • to wake up the application thread if it added a new point onto the queue.
  • The performance increased significantly; before this improvement the app took 100% of the CPU time and now it dropped down to 2%.

Tests (@piotrekp1)

Issues: #143

Split classifier functions into smaller functions, created tests for classifier

Refactoring (@piotrekp1)

Issues: #138, #166, #143

#138 (@piotrekp1)

Changed the way we open files in classifier from 'open do close' to 'with open'.

(#143) (@piotrekp1)

Didn't refactor classifier, couldn't find a convenient way (or at least good enough to not be refactored week after) to refactor it.

(#166) (@piotrekp1)

Didn't do it because we planned to first refactor Classifier, and I didn't manage to refactor it.

UX

Issues: #165, #177

(#165) (@michal7352)

  • Added suitable messages.

THIS FEATURE WASN'T MERGED ON TIME

Improve the help message of the redraw subcommand (#177) (@0mp)

  • I updated the description of the subcommand in the help message.