<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">NNexus Glasses A Drop-in Showcase for Wikification</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Deyan</forename><surname>Ginev</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Computer Science</orgName>
								<orgName type="institution">Jacobs University Bremen</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">NNexus Glasses A Drop-in Showcase for Wikification</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">9DA6C5D3A21E15209E51A20AC221910B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T09:49+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper describes a general drop-in approach for showcasing web services and web user interfaces, provided they are accessible through or realized via JavaScript and CSS. The author utilizes the Greasemonkey extension for Firefox to invade the client with user scripts, which load the desired new functionality, as if looking at the web through an enhanced pair of glasses. Such demos have so far typically required access and modifications to the production server of the target website. The approach is particularly valuable for mock-integration with closed, proprietary platforms and/or sites serving content under restrictive copyright licenses. A potential use case is to aid an "elevator pitch" to a company interested in MKM technologies, by supplementing it with a drop-in demo on their live system. To exemplify, the paper presents a case study of using the recent rewrite of the NNexus auto-linker for mathematical concepts to invade the closed web platforms of Zentrallblat Math and DLMF with wikification links.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Upon the creation of a new software suite, both in a research or industry setting, come the challenges of marketing and adoption (or sales). It is common for applications related to Mathematical Knowledge Management (MKM) to require sophisticated software components (e.g. a variety of databases, web servers, programming language environments and library dependencies), as well as a steep learning curve to becoming an expert with the deployment and maintenance of such systems. While user interfaces are commonly light-weight, in comparison to backend code, they are just as commonly bundled together with said code.</p><p>A very helpful exception to that rule are web user interfaces, which communicate with their respective backends through HTTP, using e.g. the RESTful or SOAP paradigms, achieving a loose coupling between the components. A modern example of realizing loose coupling is using JavaScript to perform asynchronous requests to the backend, following the AJAX paradigm <ref type="bibr" target="#b0">[Gar05]</ref>. Ideally, this class of interfaces allows a simple mechanism for inclusion, via adding a small number of JavaScript "script" tags to the host website requesting the interface.</p><p>However, while the high convenience of embedding such interfaces is a strong point to promote adoption, it is not directly translatable in marketing the interface. The chief problem is that most potential adopters are themselves large and elaborate software platforms, running on mission-critical live servers, where the risk of downtime and lack of stability outweighs the promise of adding experimental features. This paper addresses how to invade such platforms with "drop-in showcases" of web interfaces and/or web services, backed by a successful case study of demonstrating the NNexus [Gin13b; Gin13a] system on the Zentrallblat Math <ref type="bibr" target="#b5">[Kar13]</ref> and DLMF <ref type="bibr" target="#b13">[Nat13]</ref> platforms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1">NNexus</head><p>As a minimal introduction, NNexus <ref type="bibr" target="#b4">[GKX09]</ref> is an auto-linking (or "wikification") application for the PlanetMath.org <ref type="bibr" target="#b8">[Pla13]</ref> online mathematics encyclopedia. NNexus automates three problems related to the automatic wikification of mathematical concepts. First, it crawls mathematical web resources, currently PlanetMath.org, Wolfram MathWorld <ref type="bibr" target="#b9">[Wei13]</ref>, Wikipedia.org <ref type="bibr" target="#b15">[Wik13]</ref> and DLMF <ref type="bibr" target="#b13">[Nat13]</ref>, and automatically assembles an index of mathematical terms defined within. At the time of writing, the NNexus index contains over 50,000 concepts, each a unique triple of natural language phrase, the definition's URL and a mathematical category (e.g. MSC <ref type="bibr">[Msc]</ref> class). The second task is on-demand "concept discovery", whereby a longest-token matching algorithm mines for previously indexed concepts inside a newly requested HTML source, followed by a disambiguation algorithm that performs clustering and similarity analyses in order to return a relevant subset of the discovered concepts. Finally, the third task is one of annotation, e.g. embedding the discovered concepts as HTML links (with optional RDFa), or providing a stand-off JSON annotation.</p><p>As part of a comprehensive modernization effort, the NNexus 2.0 release <ref type="bibr" target="#b1">[Gin13a]</ref> underwent a full rewrite and redesign, as a production-ready, standalone application. It is free, open source software, hosted on Github. In that context, it was time to address both testing and showcasing on the main potential adopter web sites -and while the author has direct access to deploy on PlanetMath.org, that is not the case for any other site. Named NNexus Glasses <ref type="bibr" target="#b2">[Gin13b]</ref>, the showcase was realized via creating a minimal user script, executed by Firefox's Greasemonkey [Gre] extension.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2">Greasemonkey and User scripts</head><p>User scripts are an internet phenomenon. Their most popular archive, User-Script.org [Use] contains over 100,000 contributed scripts. From micro snippets to elaborate frameworks, all written in JavaScript, they are a great way to use the web programming paradigm in order to create, what can be seen as, domainspecific web page plug-ins. All widespread browsers have native add-ons that enable the inclusion of user scripts. The author used Firefox's Greasemonkey, while also available are Tampermonkey <ref type="bibr" target="#b11">[Jan13]</ref> for Chrome, IE7Pro <ref type="bibr" target="#b10">[Inn13]</ref> for Internet Explorer, GreaseKit <ref type="bibr" target="#b12">[KAT13]</ref> for Safari and other Webkit browsers. As good guidelines for writing browser-independent JavaScript code now exist, it is possible to write interoperable user scripts and execute them from one's browser of choice, with possibly minimal modifications.</p><p>The main advantage over browser plug-ins, is that the JavaScript nature of user scripts positions them on the same level as the web page, rather than on the level of the browser's menu and native code. Indeed some of the common uses of user scripts is to extend or modify existing interfaces of web games, social networking and video streaming sites, to name a few. One can imagine MKM use cases for user scripts as well -e.g. modifying a page with including MathJaX <ref type="bibr">[Mat]</ref> to render its MathML on a legacy browser, or restyling its math content using the STIX fonts <ref type="bibr">[STI]</ref>. For our purpose, the result was a user script to invoke the NNexus web service and style the returned results on any web address of our choosing.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">NNexus Glasses</head><p>NNexus Glasses <ref type="bibr" target="#b2">[Gin13b]</ref> is a tiny user script. Fifty lines of JavaScript white-list the domains on which to enable the script; on page load, connect to the NNexus showcase server <ref type="bibr" target="#b3">[Gin13c]</ref>, hosted at Jacobs University; and finally style the results. What is even more impressive is the 3-click installation (load, confirm, enable), once Greasemonkey is activated.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Installation</head><p>1. Install and enable Greasemonkey [Gre] in Firefox 2. Click on the link to the NNexus Glasses user script [Gin13b]<ref type="foot" target="#foot_0">1</ref> . 3. Confirm installation, enable script.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Done! 2</head><p>To enjoy a demo, navigate to a page in the supported list of domains, notably pages on Zentralblatt Math and DLMF.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Demonstration</head><p>To reiterate, if one was to market a product such as NNexus in a situation where there were just a few minutes to convince an executive of its value, using a user script could achieve an operational demo on their live system in a matter of a couple of minutes.</p><p>We present two such showcases of NNexus, invading the web sites of Zentralblatt Math, from Fig. <ref type="figure">1</ref> to Fig. <ref type="figure">2</ref>, and the Digital Library of Mathematical Functions (DLMF), from Fig. <ref type="figure">3</ref> to Fig. <ref type="figure">4</ref>. These screenshots were created with the author's local machine, without the knowledge or assistance of the two organizations, as the effect was achieved by simply enabling the NNexus Glasses user script and refreshing the web page.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">A Primer on Linking</head><p>In Fig. <ref type="figure">2</ref> and Fig. <ref type="figure">4</ref>, one can notice an array of additional links superimposed on top of the original Fig. <ref type="figure">1</ref> and Fig. <ref type="figure">3</ref>. Each link points to one or more definitions of the mathematical concept identified by NNexus. The NNexus web service has two flavors of links it can embed in HTML pages -classic single links (shown in light brown) and "multi-links" (shown in orange). It distinguishes between the two via HTML class attributes, which applications can style and adapt to their needs. In this showcase, the CSS styling is specified within the NNexus Glasses user script.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Multi-links</head><p>An interesting annotation case is the embedding and presentation of concepts that have multiple definitions -a situation that we encounter when the same concept is defined in several domains (e.g. both PlanetMath.org and DLMF). Our current solution for presenting such "multi-links" to the user is to show a differently styled HTML anchor, with a simple onclick event that expands it into a number of concrete links. To make serving several links visually appealing, NNexus uses the icon image of the domain in which a concept is defined as an anchor for each specific link. An example of a multi-link can be seen in Listing 1.1. It is worth mentioning that this interface is very openly experimental, as the author is still collecting user feedback -multi-links have become available only with the current reimplementation of NNexus, and they are a young feature that is still in development. The solution presented in this paper is an early approximation, which so far seems sufficiently acceptable for the drop-in showcases.</p><p>Listing 1.1. A NNexus Multi-link &lt;a c l a s s=" nnexus_concepts " href=" j a v a s c r i p t : v o i d ( 0 ) " onclick=" t h i s . n e x t S i b l i n g . s t y l e . d i s p l a y =' i n l i n e ' "&gt; B e s s e l f u n c t i o n s &lt;/a&gt; &lt;sup s t y l e=" d i s p l a y : ␣ none ; "&gt; &lt;a c l a s s=" nnexus_concept " href=" h t t p : / / dlmf . n i s t . gov / 1 0 . 1 "&gt; &lt;img src=" h t t p : / / dlmf . n i s t . gov / s t y l e /DLMF−16. png " a l t=" Dlmf "&gt; &lt;/a&gt; &lt;a c l a s s=" nnexus_concept " href=" h t t p : / / planetmath . o r g / b e s s e l s e q u a t i o n "&gt; &lt;img src=" h t t p : / / planetmath . o r g / fab−f a v i c o n . i c o " a l t=" Planetmath "&gt; &lt;/a&gt; &lt;/sup&gt; </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Conclusion</head><p>This paper presented a purely client-side approach for creating "drop-in showcases" on potentially proprietary, live web systems, for the purposes of pitching a demo of a web service or web user interface. The method is applicable for any application which is accessible through, or implemented in, JavaScript and CSS, as it leverages the power of user scripts and potentially the AJAX <ref type="bibr" target="#b0">[Gar05]</ref> communication paradigm.</p><p>The presented use case invades two live systems with wikification, or autolinking, of mathematical concepts, realized via a user script communicating with a NNexus web service. An experimental interface for presenting and interacting with NNexus "multi-links" is also described.</p><p>While NNexus Glasses is considered a complete solution to the showcasing problem, interesting future work remains to be done for the NNexus user interface. There are plans to make the degree of linking customizable by the useronce the algorithm has "concept relevance" quantified in terms of probabilities, one can adjust a cut-off threshold for displaying or hiding a concept link. This is useful, as expert users would be interested in only the most relevant links, while novices could benefit from having as many links as possible in order to easily jump to supporting definitions.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .Fig. 2 .</head><label>12</label><figDesc>Fig. 1. Original: Zentralblatt MATH</figDesc><graphic coords="5,140.43,367.19,334.50,231.50" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">In case Firefox is not the default browser, "click" is a shorthand for "open in Firefox" here.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">One should always double-check both Greasemonkey and NNexus Glasses are enabled.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Ajax: A new approach to web applications</title>
		<author>
			<persName><forename type="first">Jesse</forename><surname>James</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Garrett</forename></persName>
		</author>
		<ptr target="http://adaptivepath.com/publications/essays/archives/000385.php" />
	</analytic>
	<monogr>
		<title level="j">Tech. rep. Adaptive Path</title>
		<imprint>
			<date type="published" when="2005-02-18">Feb. 18, 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">Deyan</forename><surname>Ginev</surname></persName>
		</author>
		<ptr target="https://github.com/dginev/nnexus" />
		<title level="m">NNexus 2.0. Auto-linking for mathematical concepts for PlanetMath</title>
				<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
		<respStmt>
			<orgName>Wikipedia</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">NNexus Glasses. Greasemonkey user script for a NNexus showcase</title>
		<author>
			<persName><forename type="first">Deyan</forename><surname>Ginev</surname></persName>
		</author>
		<ptr target="https://github.com/dginev/nnexus/raw/master/util/nnexus_glasses.user.js" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">NNexus Showcase Server</title>
		<author>
			<persName><forename type="first">Deyan</forename><surname>Ginev</surname></persName>
		</author>
		<ptr target="http://nnexus.mathweb.org" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">NNexus: an automatic linker for collaborative web-based corpora</title>
		<author>
			<persName><forename type="first">James</forename><surname>Gardner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aaron</forename><surname>Krowne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Li</forename><surname>Xiong</surname></persName>
		</author>
		<idno type="DOI">10.1145/1516360.1516501</idno>
		<idno>doi:</idno>
		<ptr target="http://doi.acm.org/10.1145/1516360.1516501" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology. EDBT &apos;09</title>
				<meeting>the 12th International Conference on Extending Database Technology: Advances in Database Technology. EDBT &apos;09<address><addrLine>Saint Petersburg, Russia</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="1152" to="1155" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title/>
		<ptr target="http://zentralblatt-math.org/zmath/" />
	</analytic>
	<monogr>
		<title level="j">Zentralblatt MATH</title>
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
		<respStmt>
			<orgName>FIZ Karlsruhe</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<ptr target="http://mathjax.com" />
		<title level="m">MathJax: Beautiful Math in all Browsers</title>
				<imprint>
			<date type="published" when="2013-12">05/12/2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title/>
		<ptr target="http://msc2010.org(visited" />
	</analytic>
	<monogr>
		<title level="j">Mathematics Subject Classification</title>
		<imprint>
			<date type="published" when="2010-11-16">MSC2010. 2010. 11/16/2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">for the people</title>
		<author>
			<persName><surname>Ltd</surname></persName>
		</author>
		<ptr target="http://planetmath.org" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Wolfram MathWorld. the web&apos;s most extensive mathematics resource</title>
		<author>
			<persName><forename type="first">Eric</forename><forename type="middle">W</forename><surname>Weisstein</surname></persName>
		</author>
		<ptr target="http://wikipedia.org" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
			<publisher>Wolfram Research</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">IE7Pro Project</title>
		<author>
			<persName><surname>Innoshock</surname></persName>
		</author>
		<ptr target="http://ie7pro.com/" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Tampermonkey Project</title>
		<author>
			<persName><forename type="first">Jan</forename><surname>Biniok</surname></persName>
		</author>
		<ptr target="http://tampermonkey.net/" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">GreaseKit. User Scripting for all WebKit applications</title>
		<author>
			<persName><surname>Kato Kazuyoshi</surname></persName>
		</author>
		<ptr target="http://8-p.info/greasekit/" />
		<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="http://dlmf.nist.gov" />
		<title level="m">Digital Library of Mathematical Functions</title>
				<imprint>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
		<respStmt>
			<orgName>National Institute of Standards and Technology (NIST</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<ptr target="http://www.stixfonts.org" />
		<title level="m">STIX Fonts Version 1</title>
				<imprint>
			<date type="published" when="2013-12">05/12/2013</date>
		</imprint>
	</monogr>
	<note>STI Pub Consortium</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">the free encyclopedia</title>
		<ptr target="http://wikipedia.org" />
	</analytic>
	<monogr>
		<title level="m">Wikipedia</title>
				<imprint>
			<publisher>Wikimedia Foundation, Inc</publisher>
			<date type="published" when="2013-05-12">May 12, 2013</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
