App: QuickOWL
Developer: Prasanna Kumar Balakrishnan
Genres: Productivity

QuickOWL extension for Safari browser aims to save time for users in copying and pasting text across web pages. If target web page can take selected text as input, then QuickOWL can be very handy with just involving clicks. The expectation here is that the target web pages of web links take an input value to perform an operation (for example search). 


Where QuickOWL can help:
When we regularly copy text from different articles/pages in browser and paste in ANOTHER_WEB_PAGE and perform search.

Here ANOTHER_WEB_PAGE can be:
1. Google Scholar (https://scholar.google.com/scholar?q=)
2. Wikipedia (https://en.wikipedia.org/w/index.php?search=)
3. Bug tracking page in work (https://jira.orgdomain.com/jira/browse/)
4. Google Translate (https://translate.google.com/?tl=en&text=)


In order to add custom context menu named "Search with Google Scholar" the user need to add following details in QuickOWL:
[Enter Display Name] -> Search Google Scholar
[URL before selected text] -> https://scholar.google.com/scholar?q=


Once added, select a text from any page in Safari browser and right click, the user can see "QuickOWL -> Search Google Scholar" context menu. If no text is selected QuickOWL context menu won't be displayed. So, the requirement is to select a text to activate QuickOWL custom context menu.

Following sample data can be downloaded, and imported into QuickOWL:
https://drive.google.com/file/d/1Ab5pqjy4vgymDDlM3QgE1bfx7t8W8S2u/view?usp=sharing


Why yet another custom contextmenu search extension?
1. QuickOWL uses latest Safari add-on API guidelines, which means it has longer shelf life
2. Uses least amount of privileges required:
    2.1. storage - required to store the user defined context menu URLs
    2.2. unlimitedStorage - to allow cumulative storage for the extension to expand beyond 5MB
    2.3. menus - required to add custom user defined URL entries in Safari's context menu
    2.4. activeTab - required to give the extension the permission required to read the selected text in another web page
3. Provides necessary alert messages to user to make it easy for the user to understand what is working and what is not
4. Provides simplified Extension Options page to manage addition/deletion of custom context menu URLs
5. Light weight by design, the Options page of extension uses only the required html & javascript to achieve the tasks. No heavy weight third party library (css/Javascript) is being imported. It's developed in pure HTML, CSS & Javascript.
6. Features detailed Help page to make it easy to understand about the functionality of the extension


Privacy
1. Though after installing the Permissions in Extension page says "Read your browsing history", it doesn't actually do any reading of browsing history. The extension focuses on sending the selected text to the user defined context menu URLs. No extra reading, no additional background activities.
2. The extension stores the user defined URLs (user data) locally inside browser's storage. This storage is local to the browser, and is accessible only through browser's extensions API. So, users can be assured that their URLs data is well protected, and there is no easy way to access it directly. This data never gets transmitted in any form.

Release notes:
1. Support for adding separator to easily group options in QuickOWL contextmenu
2. Added little writeup for Add URL & Add Separator in Help section
3. Added basic validation for URL before selected text