The non-functional requirements of the system, such as extensibility and performance, are evaluated. This is to provide some way to present and quantify if the product being delivered meets the non functional requirements of the user. We also comment on how these requirements are met and in which ways the product falls short of the expected requirements.
|The system should be able to identify sensitive information such as passwords or secure keys.|
The extraction process is limited to Firefox. At this moment, the plugin extraction is only limited to extraction of the HTML source of web pages. This ensures that any server side passwords or keys are not extracted during the process of extraction. For web pages which have secure information being displayed such as banking websites, the content may be extracted in certain cases. We recommend the users to open web pages in sage mode (incognito mode) so as to disable the plugin. A future feature suggested by the team is to implement a option for the user to specify which web site they do not wish to extract.
|The system should not allow any third-party to acquire the extracted text.||The communication between the server and the HTML plugin works over network socket. The system is ensured to communicate with the server on IP 127.0.0.1 (localhost) which ensures that no intrusion from outside is allowed with the server. However, a third-party plugin (on the same host) which can perform similar communication protocol with the server can do so as there is no authentication mechanism between the client and server. This may lead to a certain level of insecurity, however this ensure a certain level of extensibility as well, as it makes it easier to extend the functionality by building a third-party plugin.|
|The system should be designed such that it could be extended easily.|
For the main ACP program, it is written in JAVA which is platform independent. Only certain components of the main program make use of windows specific API, but largely the system is cross-platform compatible. Specifics of the platform compatibility have been mentioned in the developer documentation.
The UI client has been written in C# using .NET API. This component is windows specific since it is written for Microsoft Office. However, the design of the software ensures that a new client for a new word editor can be easily written, by simply following the client-server API protocol.
|The system should work with an adequate level of speed in extracting, processing and searching of text. Searching of text should takes lesser than 1 second.|
Based on the reviews from the User Usability Test, some participants feedback that ACP is fast and accurate. Throughout all tests, no one encounters any situation such that the text have not finish processing when they attempt to search. This is because when using ACP to copy-paste in a real situation, one will definitely read through the text to find out exactly what they wish to copy and paste. This time frame allows ACP to extract and process the text to make it available. When the participants search, the usual time taken is between 30ms - 200ms. When more text are processed, the search time will only increase slightly.
However, this whole process from extracting to searching have certain limitation. For extracting and processing of the text, the time taken requires longer period as network latency for connections to web server might cause the page to load slower. When there is a huge document, processing using NLP GATE library can take up quite some time as ACP needs to process for entities other than splitting sentences.
Nevertheless, the current performance is still acceptable according to the feedback from the User Usability Test. More effort can be put into the NLP GATE library for processing in future to let user have a better and smoother experience.
|The system should be able to cater to all kinds of users preference.||The current system is highly customizable. The user is able to customize preferences ranging from entries in the suggestion to the hotkey settings. At this moment, the user is unable to customize the look and feel of the suggestion box, such as font-type, font-size and color scheme. This could be a future improvement to the software.|
|The user-interface drop down list should be simple and elegant.||Based on the reviews from the users who tested our system, the suggestion popup is visually pleasing. The entries are listed as a list, with alternate color rows to allow visual distinction between successive entries. The font size is chosen such that it is easy to scan the list for a normal user. The main sentence is in a larger font size as compared to the source text. This gives more visual focus to the text that the user wants to paste.|
|Suggestions should not appear too often.||After several rounds of test-and-trails, the default popup time was set to be 200ms. The software allows this time to be customizable depending on the typing speed of the user.|
|The position of the drop down must be able to adopt to the position of the cursor.||This feature has been coded well, as the popup currently can change its position depending on the position of the text cursor and side of the window. Special care is taken in cases when the cursor is too close near the edges of the screen so as the drop-down is not hidden from the screen.|