Application Platforms and Developer Communities - New software tools and apps to support the...
-
Upload
michael-habib -
Category
Education
-
view
1.571 -
download
2
description
Transcript of Application Platforms and Developer Communities - New software tools and apps to support the...
Application Platforms and Developer Communities - New software tools and apps to support the research workflow
Computer Science Roundtable - July 16, 2012
Michael Habib, MSLSProduct Manager, [email protected]: @habib
ScienceDirect– Elsevier’s online full text portal with 11 million full text
articles from 2000+ journals as well as thousands of books
Scopus– World’s largest abstract and citation database with 40
million abstracts, millions of author and affiliation profiles and reference and citation data.
Hub– Comprehensive search covering ScienceDirect, Scopus and
the Scirus scientific web index covering 400 million records from patents databases, arXiv, lab pages, news and more.
SCIVERSE APPLICATIONS
open, interoperable, domain specific
APPLICATIONS
DEVELOPER PORTAL
10 Challenges, 4 Continents, 10 Countries
6 Global Institutions, 525+ Developers
35+ Apps launched
$65,000 in Total Prize Money
Apps for Sciencecountries
Developer Events 2011
“Hackathon” at NJIT
“The Elsevier hackathon is the kind of challenging practical real-world collaborative programming experience we like to provide to students to augment the concepts that we teach in the classroom”
-Narain GehaniDean College of Computer Sciences, NJIT
61 students, 13 teams 5 judges, 4 speakers3 winners, 8 SciVerse apps24 hours of coding$3,000 in total prizes
[+]
Apps for Science 2011
Akhilesh PandeyJohns Hopkins University
Gully BurnsUniversity of Southern California
James HendlerRensselaer Polytechnic Institute
Jeff JonasIBM
Lee DirksMicrosoft
Santo PolitiSpark Capital
Tony AskewReed Elsevier Ventures
JUDGES
WHY ARE WE DOING THIS?
• Literature and data want to be together– Mass of data available to researchers outside
the formal literature is huge and growing– This is inefficient - task switching between
multiple interfaces, hard to find resources...– Smart apps can facilitate interoperability,
bring relevant data into context with papers
(Researchers, N = 3824 ; study by Publishing Research Consortium, 2010)
High importance but noteasily accessible
LINKING DATA
WHY ARE WE DOING THIS?
• Customers expect the tools they use to work together– Google Gmail on your Apple iPhone synced to
your Dell laptop running Microsoft Windows– SciVerse is one tool among many our users are
using and our customers are subscribing to– APIs and an open platform brings SciVerse to
where users are and lets other products add value to SciVerse
ADDED VALUE
“bX is already available on the eLibrary, and is proving very useful in presenting users with highly relevant material beyond what they find through their own searches. Adding bX to SciVerse will bring added value to those systems too.“Gill McDonald – Librarian, Cardiff University
WHY ARE WE DOING THIS?
• Domain specificity is the future of research tools– The current one-size-fits-all model of
publishing is print-centric and needlessly constricting
– Publishers/database providers cannot build tools for every single scientific discipline
– An open platform is the obvious solution – let the research community build the tools they need
“THIS IS A MEDIEVAL WAY OF COMMUNICATING
INFORMATION. WE HAVE TO WORK TOGETHER TO CHANGE THIS. THERE IS SO MUCH MORE
WE CAN DO.”
SIMPLE THINGS
CONNECTING DATA IN CONTEXT
CONNECTING DATA IN CONTEXT
BACK UPSO WHAT JUST HAPPENED?
APPS ARE INTEGRATED GADGETS
• OpenSocial, Shindig container for serving gadgets– Each gadget displayed in its own iFrame– Shindig container proxies content to comply with same
origin policy
• XML wrapper around HTML/JS– Gadgets API with some proprietary extensions– Can contain client side code or display external web pages
• Integrated, context-aware– Many integration points in key pages in SciVerse user
experience– Advanced features supported via javascript calls (link text on
page, run a search, open overlay etc.)– Can ask container for data about user, inputs and page
(meta)data
HTML GADGETS<?xml version="1.0" encoding="UTF-8"?><Module> <Require feature="opensocial-0.9" /> <Require feature="sciverse" /> <Require feature="hub" /> </ModulePrefs> <Content type="html" view=“profile"> <![CDATA[ <p>Hello World!</p> ]]></Content> <Content type="html" view=“canvas"> <![CDATA[ <p>Hello World! This is my cat!</p> <img src=“http://foo.com/images/myCat.jpg” width=“800” height=“600”> <a href=“http://foo.com/images/catPics.html” target=“_blank”>See more pics of my cat here.</a> ]]></Content></Module>
URL/PROXIED CONTENT GADGETS
Proxied Content – external content is proxied, can use extensions
<?xml version="1.0" encoding="UTF-8"?><Module> <Require feature="opensocial-0.9" /> <Require feature=“sciverse” /></ModulePrefs><UserPref name="doi" datatype="hidden"/><Content type="html" view="profile" href="http://foo.com/docRef=__UP_doi__"/></Module>
URL – external web page is displayed as is, can still pass data on URL
<?xml version="1.0" encoding="UTF-8"?><Module> <Require feature="opensocial-0.9" /></ModulePrefs><UserPref name="doi" datatype="hidden"/><Content type=“URL" view="profile" href="http://foo.com/docRef=__UP_doi__"/></Module>
EXTENSIONSRetrieve contextual data:•getArticleContent();•getContextInfo();•getResults();•subscribeToQuery();•subscribeToResults();
UI integrations•gotoCanvas();•showHoverView();•showResultsView();•linkText();•returnQuerySuggestions();
Utilities•makeContentAPIRequest();•makeRequest();•adjustHeight();•makeMeInvisible();•makeMeVisible();
Retrieve contextual data:Retrieve current article/abstract textRetrieve all context data (i.e. metadata)Retrieve metadata of search resultsSubscribe to user’s search query inputSubscribe to updated results lists
UI integrationsDisplay canvas (full screen) view of gadgetDisplay hover (overlay) view of gadgetDisplay gadget view under specific resultsLink specific terms on the pageProvide auto-complete query suggestions
UtilitiesMake content API call to SciVerse APIsMake request to external API Resize gadget windowMake gadget disappearMake gadget appear
EXAMPLE – ENTITY LINKING
• getArticleContent();• retrieves full text of article user is viewing
• linkText(‘archidonic acid’);• links selected terms in article, notifies on click events
• showHoverView(‘LMID’);• displays “hover” gadget view, passes arbitrary data
applications.sciverse.com
developers.sciverse.com/framework
developers.sciverse.com/api
[email protected] Twitter: @habib
THE END