Challenge Overview
Hewlett Packard has developed a set of JSON-based REST API’s which enable “Big Data”-type processing capabilities allowing developers to process information embedded in unstructured text and images in previously inaccessible formats. This platform is called IDOL OnDemand and at this point is in the Early Access release phase, open for all Innovators to use.
New HP IDOL OnDemand challenges launched weekly! Check http://idolondemand.topcoder.com for a complete list of HP IDOL OnDemand topcoder challenges.
Requirements
These are the requirements:
-
develop a Web App for Excel Online using "Napa" Office 365 Development Tools that uses the HP IDOL OnDemand API to perform analysis on the text from the Excel document
-
we will provide the Excel Add-in that has the functionality required here for the desktop version of Excel. The behavior of this Web App should be similar.
-
a sample Excel document will be provided in the forums (hotel-reviews.xlsx)
-
-
the Web App will be tested only in development environment at this stage. It will be added eventually to the "INSERT / Apps for Office" menu from Excel Online web application (under the name "HP IDOL OnDemand")
-
you need to obtain an Office 365 Developer Subscription, which is free for 30 days, in order to have access to an Office 365 Developer Site
-
then, in the Developer Site, you can install "Napa" Office 365 Development Tools, to create your first apps right within the browser
-
-
the Web App will be a "Task pane app for Office" and this panel should have should have 2 menu items: "Sentiment \n Analysis" and "IDOL OnDemand \n API Key", in this order. The title should be "HP IDOL OnDemand"
-
the "IDOL OnDemand API Key" button opens a dialog to input the IDOL OnDemand API Key:
-
the user will be able to input the "API Key"
-
mask the key characters with * characters.
-
provide a checkbox to show the keys (should be unchecked by default)
-
the keys should be stored.
-
-
add a "Get API Key" link below, which will open a Help dialog that presents the steps required to obtain the API Key. Provide the Help page content, with instructions: text, links, screenshots
-
Create and activate an account on www.idolondemand.com
-
Login to account to get API Key. This can be found under the “Account” menu item.
-
Paste the key into the API Key text field.
-
-
-
the "Sentiment Analysis" menu item fills the panel at the right side with the required controls that allow the user to create analysis tasks and to view them in a list. For a task, the user will input:
-
-
the Task name
-
the range of cells to be analyzed
-
by using the mouse; if a Get Range button is used, put it on the same line with the Range input field, to the right side
-
or by setting the cell range manually (i.e.: "C2:C6")
-
-
the language (default to English);
-
limit the language selection options to languages supported by the IDOL OnDemand. The input should be a dropdown, with configurable languages (default to English)
-
the first letter should be a capital one
-
-
the Tasks can be executed (using a button from the pane, or by double-clicking them).
-
execute selected task button executes only if one record is selected. Should show a proper error message if the selection is different, using an alert dialog
-
if the IDOL OnDemand Key is not set, show an alert dialog that informs the user about this
-
-
add a button to remove the tasks
-
-
The task execution will trigger the analysis of the text from the selected cells:
- perform a request to IDOL OnDemand Language Identification API using the External API to identify the language of the texts from the selected cells (from Range).
-
analyze the text only if the returned language fits the selected language
-
-
perform IDOL OnDemand Sentiment Analysis API calls on the texts that match the selected language
-
a new Worksheet is created as the last Worksheet:
-
the name of worksheet is based on task name that was specified;
-
if the worksheet name already exists, create a new one with the name of "<task name> (#)" (if task name is "abc", create worksheet "abc", then "abc (1)", then "abc (2)", ...).
-
-
the worksheet will contain these columns (space the columns properly):
-
the Text column with the selected text,
-
the Aggregate Sentiment column with the aggregated sentiment from the responses: "positive", "negative", "neutral"
-
the Aggregate Sentiment Score column with the score from the responses
-
-
color Negative / Positive rows, using green background for positive and red background for negative. Use different shades for the background, with green for +1 or larger, going to lighter green for smaller score. Neutral rows should be white.
-
display the aggregate sentiment in a table, with the count of positive / negative / neutral responses
-
the worksheet will contain a Pie Chart showing the share of positive / negative / neutral responses; the charts should hook into the Chart tools to allow to change the themes, etc for different colors.
-
display the breakdown of words/phrases that come back from the IDOL OnDemand API call
-
group the topics for all requests
-
count the total responses for each topic
-
count the positive / negative / neutral responses for each topic
-
compute an average score for each topic
-
present the breakdown in a table, to the right of the existing Aggregate table
-
-
- perform a request to IDOL OnDemand Language Identification API using the External API to identify the language of the texts from the selected cells (from Range).
Getting Started with HP IDOL OnDemand
Before you can use the API’s you’ll need to sign up for an IDOL OnDemand developer account:
http://www.idolondemand.com/signup.html
Please indicate that you heard about IDOL OnDemand through [topcoder] in the “How did you hear about IDOL OnDemand?” field:

Once your account has been verified you’ll be assigned a developer account and API Key that will allow you to make API calls. Complete information about available IDOL OnDemand API’s can be found here:
https://www.idolondemand.com/developer/apis
You’ll need to register for a developer account with HP in order to get access to additional Try functionality in the API console. Use of the APIs is free and restricted to non-commercial use at this time. Commercial use and pricing will be announced in the near future.
Before you compete in an IDOL-related challenge on [topcoder] please create a topcoder-specific key in your IDOL OnDemand Account. You can do this by Clicking on Account->API Keys from the developer home page.

Simply generate a new key and rename it to “topcoder” as shown above. This should be the key that you use in [topcoder] challenge completion. This will also give you visibility to Preview API’s which may not yet be in public release.
You should be all set!
Final Submission Guidelines
-
A video which describes the Google Sheets Add-on (a link to your video: Screenshare, Jing, or Youtube.com). Describe these aspects
-
the source code
-
the usage.
-
-
A document which describes how to deploy your code.
-
The source code as a development project
-
Submit your code and the deployment guide files as a ZIP package.