Overview

The UNAKITE Chrome extension is designed to help programmers organize information forgaged from the web. It helps programmers collect information from the web and organize it into a comparison table, so that they can make quicker, more informed decisions with the visualization.

The three types of collected information are Options, Criteria, and Snippets.

UNAKITE stands for Users Need Accelerators for Knowledge for Implementations in Technology Environments, and unakite is a semiprecious gemstone.

The Chrome extension is currently in the development stage as a part of the Natural Programming Project as well as the Knowledge Accelerator Project.

Team members: Michael Xieyang Liu, Jane Hsieh, Cynthia Taylor, Brad Myers, Niki Kittur


Installation

To install the extension, first log in to your Chrome Browser (note that this is not just logging in to G Suite) with an account that can access the Chrome Web Store.

Next, use the email link you received to find and install the extension on the Chrome Web Store.


Publications

  • Michael Xieyang Liu, Nathan Hahn, Angelina Zhou, Shaun Burley, Emily Deng, Jane Hsieh, Brad A. Myers and Aniket Kittur. "UNAKITE: Support Developers for Capturing and Persisting Design Rationales When Solving Problems Using Web Resources" at DTSHPS'18, Lisbon, Portugal, 2018. [pdf of proceedings (abstract page 25)]

  • Jane Hsieh, Michael Xieyang Liu, Brad Myers and Aniket Kittur "An Exploratory Study of Web Foraging to Understand and Support Programming Decisions" at VL/HCC'18, Lisbon, Portugal, 2018


Funding

NSF

The Natural Programming Project has been funded in part by the National Science Foundation (under the grant CCF-1814826) and in part by Google (under two Faculty research awards) and Bosch.
[Please note that any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect those of the National Science Foundation, Google, or Bosch.]


Tasks


What is a Task?
As the name suggests, a task can be anything from "How do I resolve a linker command failed with exit code 1 error?" to "How do I undo commits in Git?" to "What resturants are available for dinner?" It doesn't even have to be a question, another task could be "Picking framework for a project".

Tasks can be added, edited, deleted, or combined. You can also mark a task as ongoing or completed.



How to Start a Task

A new task can be initiated with the Start as NEW task button next to the search bar on any Google search page

Start Button Example

Alternatively, the select popover also has a button to start a new task. Simply highlight some html text and you will see the popover option New Task

New Task Button Example

How to Change the Name of a Task

At the center of the extension popup is a selector for the current task. Text inside the selector box can be edited to change the name of your current task.

The current task box on Google search pages provides another way edit the task name

Change Task Name
Edit name via current task box under Google search
extensionNameChange
Edit name via current task box in extension popup


How to Delete a Task
All tasks of your account can be viewed under the UNAKITE mainpage by selecting the All Tasks button.
Under this view you can use the snack bars dropdown on top right of a task card to discard any unwanted task. Deletetask

How to Combine Tasks
To combine two tasks, drag one task card onto the other. Combinetask

How to Switch to another Task

From the extension popup you can use the select dropdown to navigate to another task.

The All Tasks view on the UNAKITE mainpage also allows switching to another task when you select a particular task card.

Options


What is an Option?
Options are the various way that a task or problem may be completed or solved. Options may be created, deleted, starred, or marked as used.

Add or Collect an Option
An option may added in the comparison table, the extension popup, or a snippet interaction box (see how to collect one in the Snippets section).
Comparison table option
Directly input to table
Popup option
Add option via extension popup
Interaction Box
Add option when collecting a snippet
Select Option
Options may be collected via the selection popover


Edit, Delete or Star an Option

Options can be edited by clicking inside their boxes in the extension popup or comparison table.

They can be deleted or starred from the snack bar dropdown in the extension popup and comparison table.
Popup Stars
Delete or Star option via Snackbars in extension popup
Comparison Table Stars
Snackbars in the comparison table

Criteria


What is a Criterion?
Criteria are characteristics or of an option or potential situations where it would become useful. Often they measure the usefulness of certain option(s).

Edit, Add, Delete, or Star Criteria
Criteria can be edited, added, deleted, and starred in the same ways as options.

Snippets and Rating


What is a Snippet?
Snippets are chunks of information or code snippets from the web which are relevant to the current task. Snippets may be collected (as opposed to being manually added by user) through the selection popover, the custom Stack Overflow Snippet button, or the Option + drag tool.

How to Collect a Snippet
Like options and criteria, snippets may also be collected through the selection popover and context menu. But to preserve the formatting of code snippets or other html sections, we introduce the custom drag tool. To use, simply hold down option key and drag with the mouse to collect a section of html on the web page. Each snippet can be titled using the input field at the top of the blue interaction box Drag Selection Notice that each Stack Overflow post also receives its own "snippet button". Clicking this button will save the post as an uncategorized snippet.

Settings


Settings can be accessed by clicking on the user icon found on both the extension popup and UNAKITE mainpage.
Mainpage settings
Get to Settings from Mainpage
Popup settings
Get to Settings from extension popup
Inside settings you may choose to turn on the selector, display the UNAKITE mainpage every time a new tab is opened, and keep track of all visited sites during a task.

Examples of Comparison Tables


Below are some examples comparison tables we have constructed based on information from Stack Overflow posts. Each table is linked to an interative demo of our tool.

FAQ


What information does the extension track?
If you the user is logged in and actively working on a task, UNAKITE will track visited web pages and search queries, in addition to any user inputs into UNAKITE (options, criteria, snippets, and notes). Note that you can stop the extension from tracking of all web pages under Settings.

Got more questions? Submit them using our survey .