Mining Online Software Tutorials: Challenges and Open Problems

Total Page:16

File Type:pdf, Size:1020Kb

Mining Online Software Tutorials: Challenges and Open Problems Mining Online Software Tutorials: Challenges and Open Problems Adam Fourney Abstract University of Waterloo Web-based software tutorials contain a wealth of Waterloo, ON, Canada information describing software tasks and workflows. [email protected] There is growing interest in mining these resources for task modeling, automation, machine-guided help, Michael Terry interface search, and other applications. As a first step, University of Waterloo past work has shown success in extracting individual Waterloo, ON, Canada commands from textual instructions. In this paper, we [email protected] ask: How much further do we have to go to more fully interpret or automate a tutorial? We take a bottom-up approach, asking what it would take to: (1) interpret individual steps, (2) follow sequences of steps, and (3) locate procedural content in larger texts. Author Keywords Tutorial mining; Natural language processing Permission to make digital or hard copies of all or part of this work for ACM Classification Keywords personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies H.5.m. Information interfaces and presentation (e.g., bear this notice and the full citation on the first page. Copyrights for HCI): Miscellaneous. components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific Introduction permission and/or a fee. Request permissions from [email protected]. CHI 2014, April 26 - May 01, 2014, Toronto, ON, Canada. The Internet contains a vast and rich repository of Copyright is held by the owner/author(s). Publication rights licensed to ACM. tutorials and other procedural information describing ACM 978-1-4503-2474-8/14/04…$15.00. http://dx.doi.org/10.1145/2559206.2578862 how to accomplish a wide range of tasks with almost any publicly available interactive system. For nearly any task, it is likely that there exists online instructional Underspecified steps: content that will assist users in accomplishing their As an example, consider the following excerpt from a “Create a new, rather large goals. real-world photo manipulation tutorial: document.” Recognizing the wealth of data afforded by these “Place it underneath the original text, as if it resources, researchers in recent years have turned to were a reflection.” Anti-patterns: the problem of extracting useful data from online “Whatever you do, don’t tutorials. This past research has explored applications The correct interpretation of this instruction requires: create a hanging indent by of these data including task modeling [2], software (a) coreference resolution [8], to determine to which pressing the space key to automation [1,10,14], machine-guided help [11], and object the pronoun “it” refers; (b) spatial reasoning, to create spaces, or even by interface search [5,6]. Beyond this existing research, determine approximately where the item is to be tabbing across the page” there are many compelling ways this data could be placed; and (c) an understanding of the purpose clause utilized. For example, a system could infer the time [4] “as if it were a reflection” to further constrain the required to perform a tutorial, the target audience of final placement. In this case, three challenges arise Theory or background: the tutorial (e.g., novice vs. expert), or the amount of from a single tutorial sentence. When examining full “Unsharp mask works by creativity or input expected of users. Tutorials could tutorials, these and other challenges quickly increasing the contrast also be used to infer attributes related to the design of accumulate, compounding the problem (e.g., See between edges in the the software, such as missing features, or features that Figure 1). photos.” frequently lead to breakdowns in use of the software. The primary contribution of this paper is to present a The primary challenges in extracting data from tutorials roadmap for the research challenges that must be Figure 1: Samples of tutorial lie in the fact that the information is represented using tackled for more complete machine understanding of steps that demonstrate challenges posed by: natural language and, frequently, images and video instructional materials for interactive systems, with a underspecified steps or content, requiring systems that can transform this free- focus on text-based materials. The paper serves to parameters (top), anti-patterns form content into forms that systems can readily consolidate and organize the failure cases and or warnings of what not to do reason about. Much of the prior work in this space has limitations mentioned in past work, including some of (middle), and text that provides focused on extracting information from text-based our own papers [5,6]. It also presents challenges we background or theoretical details that need not be tutorials, which is also the focus of this paper. This past have encountered while working in this space, many of executed by the user (bottom). work has demonstrated [5,10,11,14] that mentions of which have not been explicitly identified in past work, user interface widgets (tools, menus, etc.) can be but are nonetheless critical to the correct interpretation detected in instructional material with accuracies of 95- of written instructions. Throughout the paper, we 97%. But, the information available in tutorials is much contextualize each challenge with numerous real-world richer and more nuanced than simple lists of widgets or examples across a range of applications and tutorials, commands. Despite clear progress, greater, and and discuss partial or potential solutions when such broader, machine understanding of instructional mitigations are possible. materials remains a significant research challenge. Background In the realm of online tutorials, which typically contain Much of the prior work in this research area has a lot of “noise” in the data (e.g., ads, site navigation, focused on extracting commands and parameter values comments) our previous work [5] explored the from text-based sources, typically using supervised possibility of detecting mentions of the software’s user learning methods. interface elements (e.g., menus, dialogs, tools) referenced in text. In this work, we utilized naive Bayes Motivated by the desire to improve guided help classifiers with a carefully selected set of features, and systems, Lau et al. explored possible strategies for achieved an F1-score of 0.87 when processing GIMP extracting operations from handwritten how-to photo manipulation tutorials. Comparably, Laput et al. instructions generated by workers on Mechanical Turk [10] utilized conditional random fields (CRFs) to detect [11]. In this work, the authors manually segmented the menus, tools and parameters in Photoshop tutorials. instructions so that each segment contained an action Resultant F1-scores of 0.97, 0.98 and 0.36 were (e.g., click), a target (e.g., the “OK” button), and any achieved for menus, tools and parameters respectively. associated values (e.g., parameters). In comparing approaches for extracting data, they found a keyword In contrast to the work described above, Brasser and (template-based) strategy outperformed both a Linden [2] strived to automatically extract detailed task handcrafted grammar and a set of maximum entropy models from written scenarios. The authors manually classifiers, achieving accuracies of 93%, 90% and 65% crafted a natural language grammar, which was for recovering actions, values, and targets, implemented as a 25-state augmented transition respectively. However, their techniques assume all text network. Compared to more recent work employing segments describe operations to perform, which the machine learning, the hand-built grammar did not authors found to be true only ~50% of the time. perform particularly well. Tasks were segmented with 63% accuracy, and entities were detected with 48% Lau et al.'s work was later expanded upon [14], with accuracy. the goal of transforming professionally written test cases into automated software testing procedures. In In this vein, Branavan et al. [1] demonstrated the this later work, support vector machines (SVMs) and potential for reinforcement learning approaches for conditional random fields (CRFs) were utilized to interpreting natural language instructions. Branavan et segment the text into steps and extract actions, al.'s technique learns how to interpret instructions by targets, and values from the resultant segments. The repeatedly testing hypotheses within a virtual machine. authors achieved F1-scores consistently over 0.95 for This approach has the advantage of being able to segmentation, and similar scores for each of the interpret some high-level composite actions that lack aforementioned entity types. Even with these high mention of the specific low-level operations needed to scores, errors and ambiguity accumulated when perform those actions in the interface. The authors interpreting complete operations, and the resultant reported that their method was able to correctly system correctly interpreted 70% of the steps. interpret 62% of the high-level actions in their dataset. “Just Ctrl + click that object Finally, procedural information can occur in online In presenting examples pulled from these tutorials, we and it will be selected.” (I) contexts beyond tutorials. Andrew Ko’s Frictionary use the notation (W)
Recommended publications
  • Where Is the Semantic Web? – an Overview of the Use of Embeddable Semantics in Austria
    Where Is The Semantic Web? – An Overview of the Use of Embeddable Semantics in Austria Wilhelm Loibl Institute for Service Marketing and Tourism Vienna University of Economics and Business, Austria [email protected] Abstract Improving the results of search engines and enabling new online applications are two of the main aims of the Semantic Web. For a machine to be able to read and interpret semantic information, this content has to be offered online first. With several technologies available the question arises which one to use. Those who want to build the software necessary to interpret the offered data have to know what information is available and in which format. In order to answer these questions, the author analysed the business websites of different Austrian industry sectors as to what semantic information is embedded. Preliminary results show that, although overall usage numbers are still small, certain differences between individual sectors exist. Keywords: semantic web, RDFa, microformats, Austria, industry sectors 1 Introduction As tourism is a very information-intense industry (Werthner & Klein, 1999), especially novel users resort to well-known generic search engines like Google to find travel related information (Mitsche, 2005). Often, these machines do not provide satisfactory search results as their algorithms match a user’s query against the (weighted) terms found in online documents (Berry and Browne, 1999). One solution to this problem lies in “Semantic Searches” (Maedche & Staab, 2002). In order for them to work, web resources must first be annotated with additional metadata describing the content (Davies, Studer & Warren., 2006). Therefore, anyone who wants to provide data online must decide on which technology to use.
    [Show full text]
  • 978-3-642-23300-5 6 Chapter.Pd
    The Problem of Conceptual Incompatibility Simon Mcginnes To cite this version: Simon Mcginnes. The Problem of Conceptual Incompatibility. 1st Availability, Reliability and Security (CD-ARES), Aug 2011, Vienna, Austria. pp.69-81, 10.1007/978-3-642-23300-5_6. hal-01590394 HAL Id: hal-01590394 https://hal.inria.fr/hal-01590394 Submitted on 19 Sep 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Distributed under a Creative Commons Attribution| 4.0 International License The Problem of Conceptual Incompatibility Exploring the Potential of Conceptual Data Independence to Ease Data Integration Simon McGinnes Trinity College Dublin, Dublin 2, Ireland [email protected] Abstract. Application interoperability and data exchange are desirable goals, but conventional system design practices make these goals difficult to achieve, since they create heterogeneous, incompatible conceptual structures. This conceptual incompatibility increases system development, maintenance and integration workloads unacceptably. Conceptual data independence (CDI) is proposed as a way of overcoming these problems. Under CDI, data is stored and exchanged in a form which is invariant with respect to conceptual structures; data corresponding to multiple schemas can co-exist within the same application without loss of integrity.
    [Show full text]
  • Tantek Çelik HTML5 Now a Step-By-Step Tutorial for Getting Started Today Tantek Çelik
    <!DOCTYPE html> <meta charset= "utf-8"><title>HTML5 Now</title> <hgroup> <h1> HTML5 </h1> N <h2> OW A STEP-BY-STEP TUtoRIAL FOR GETTING STARTED TODAY </h2> </hgroup> <div class= "vcard"> <a href= "http://tantek.com" class= "url fn"> TANTEK ÇELIK </a> <div> EXTENDED REFERENCE GUIDE HTML5 NOW A STEP-BY-STEP TUtoRIAL FOR GETTING STARTED TODAY TANTEK ÇELIK HTML5 Now A Step-by-Step Tutorial for Getting Started Today Tantek Çelik New Riders 1249 Eighth Street Berkeley, CA 94710 510/524-2178 Fax: 510/524-2221 Find us on the web at www.newriders.com To report errors, please send a note to [email protected] New Riders is an imprint of Peachpit, a division of Pearson Education Copyright © 2011 by Pearson Education, Inc. Senior Editor: Karyn Johnson Production Editor: Hilal Sala Copy Editor: Kelly Anton Technical Editor: Ben Ward Interior Design and Composition: Andreas deDanaan Presentation Graphics and Design: Coley Wopperer Author Photo: Matt Nuzzaco Cover Design: Mimi Heft Cover Production: Andreas deDanaan Video Production and Direction: Mary Sweeney Notice of Rights All rights reserved. No part of this book may be reproduced or transmitted in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. For information on getting permission for reprints and excerpts, contact [email protected]. Notice of Liability The information in this book is distributed on an “As Is” basis without warranty. While every precaution has been taken in the preparation of the book, neither the author nor Peachpit shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the instructions contained in this book or by the computer software and hardware products described in it.
    [Show full text]
  • REST in Practice
    REST in Practice Jim Webber, Savas Parastatidis, and Ian Robinson Beijing · Cambridge · Farnham · Köln · Sebastopol · Tokyo REST in Practice by Jim Webber, Savas Parastatidis, and Ian Robinson Copyright © 2010 Jim Webber, Savas Parastatidis, and Ian Robinson. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Simon St.Laurent Indexer: Lucie Haskins Production Editor: Rachel Monaghan Cover Designer: Karen Montgomery Copyeditor: Audrey Doyle Interior Designer: Ron Bilodeau Proofreader: Rachel Monaghan Illustrator: Robert Romano Production Services: Newgen North America Printing History: September 2010: First Edition. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc., REST in Practice, the cover image, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc., was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and au- thors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 978-0-596-80582-1 [M] C o n t e n t s Foreword .
    [Show full text]
  • Foundations of Semantic Web Technologies
    FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Linked Data and Applications Sebastian Rudolph Agenda 1 Linked (Open) Data 2 Semantic Web and HTML RDFa Microformats Google Knowledge Graph 3 OWL Applications OWL DL Application EDF Energy OWL Profile Application BBC World Cup Semantic Technologies in the Pharmaceutical Industry 4 Summary TU Dresden Foundations of Semantic Web Technologies slide 2 of 51 Agenda 1 Linked (Open) Data 2 Semantic Web and HTML RDFa Microformats Google Knowledge Graph 3 OWL Applications OWL DL Application EDF Energy OWL Profile Application BBC World Cup Semantic Technologies in the Pharmaceutical Industry 4 Summary TU Dresden Foundations of Semantic Web Technologies slide 3 of 51 Data in the Web • more and more data is available in the Web for programmatic access • often specified using Semantic Web Standards, e.g., the following Linking Open Data (LOD) Initiative http://www.w3.org/wiki/SweoIG/TaskForces/ CommunityProjects/LinkingOpenData • using APIs, e.g. via JSON/REST • Semantic Web technologies simplify the integration of data from different sources • combination of data leads to deeper insights TU Dresden Foundations of Semantic Web Technologies slide 4 of 51 Linked Data in the Web 01.05.2007 Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/ TU Dresden Foundations of Semantic Web Technologies slide 5 of 51 Linked Data in the Web 31.03.2008 ECS Sem- South- Web- ampton Central updated Music- Doap- Audio- brainz space Flickr Scrobbler QDOS exporter SIOC profiles BBC BBC Magna- SW Later + John Onto- tune Conference Jamendo Peel world TOTP FOAF Corpus profiles Open- Guides Geo- names Revyu DBpedia US RDF Book Census Mashup World Data NEW! Fact- DBLP book lingvoj riese Berlin NEW! RKB Euro- Explorer stat flickr Gov- Wiki- Open wrappr Track company Cyc DBLP Hannover W3C Project WordNet Guten- berg Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch.
    [Show full text]
  • Starting to Cook a Coaching Dialogue System in the Olympus Framework
    Starting to Cook a Coaching Dialogue System in the Olympus framework Joana Paulo Pardal and Nuno J. Mamede Abstract This paper presents the COOKCOACH, a system that guides the user while cooking a recipe during a spoken dialogue coaching session. We describe our expe- rience creating the first version of our coaching dialogue system that helps the user cook a selected dish. We use the CMU dialogue systems framework OLYMPUS. The main challenge we faced was the change of paradigm: instead of the system being driven by the user, the user is guided by the system. The result is a system capable of dictating generic tasks to the user. The methodology allows us to create different systems in diverse domains for similar guidance tasks that support the user while s/he performs some procedural task. The use of ontologies to facilitate the creation of new systems is briefly explored. Key words: Coaching, Ontologies, Cooking, Knowledge Acquisition, Interface Design, Human-Human Dialogue Corpora 1 Introduction Everyone needs to eat. Most of us need to cook. Once in a while, or daily. Whether we like it or not. However, most cooking books scatter the related knowledge across different sections assuming a common level of expertise. This means that an unex- perienced cook needs to navigate the cooking book to find all s/he needs, to cook what s/he has in mind. It also means that an experienced cook will read superfluous information s/he might already know. It is also a scenario where the person needs to stop what s/he is doing to read and handle the book, shifting focus from the task and Joana P.
    [Show full text]
  • Web Standards.Pdf
    BOOKS FOR PROFESSIONALS BY PROFESSIONALS® Sikos, Ph.D. RELATED Web Standards Web Standards: Mastering HTML5, CSS3, and XML gives you a deep understand- ing of how web standards can be applied to improve your website. You will also find solutions to some of the most common website problems. You will learn how to create fully standards-compliant websites and provide search engine-optimized Web documents with faster download times, accurate rendering, lower development costs, and easy maintenance. Web Standards: Mastering HTML5, CSS3, and XML describes how you can make the most of web standards, through technology discussions as well as practical sam- ple code. As a web developer, you’ll have seen problems with inconsistent appearance and behavior of the same site in different browsers. Web standards can and should be used to completely eliminate these problems. With Web Standards, you’ll learn how to: • Hand code valid markup, styles, and news feeds • Provide meaningful semantics and machine-readable metadata • Restrict markup to semantics and provide reliable layout • Achieve full standards compliance Web standardization is not a sacrifice! By using this book, we can create and maintain a better, well-formed Web for everyone. CSS3, and XML CSS3, Mastering HTML5, US $49.99 Shelve in Web Development/General User level: Intermediate–Advanced SOURCE CODE ONLINE www.apress.com www.it-ebooks.info For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.it-ebooks.info Contents at a Glance About the Author................................................................................................
    [Show full text]
  • D2.4 Weblog Spider Prototype and Associated Methodology
    SEVENTH FRAMEWORK PROGRAMME FP7-ICT-2009-6 BlogForever Grant agreement no.: 269963 BlogForever: D2.4 Weblog spider prototype and associated methodology Editor: M. Rynning Revision: First version Dissemination Level: Public Author(s): M. Rynning, V. Banos, K. Stepanyan, M. Joy, M. Gulliksen Due date of deliverable: 30th November 2011 Actual submission date: 30th November 2011 Start date of project: 01 March 2011 Duration: 30 months Lead Beneficiary name: CyberWatcher Abstract: This document presents potential solutions and technologies for monitoring, capturing and extracting data from weblogs. Additionally, the selected weblog spider prototype and associated methodologies are analysed. D2.2 Report: Weblog Spider Prototype and Associated Methodology 30 November 2011 Project co-funded by the European Commission within the Seventh Framework Programme (2007-2013) The BlogForever Consortium consists of: Aristotle University of Thessaloniki (AUTH) Greece European Organization for Nuclear Research (CERN) Switzerland University of Glasgow (UG) UK The University of Warwick (UW) UK University of London (UL) UK Technische Universitat Berlin (TUB) Germany Cyberwatcher Norway SRDC Yazilim Arastrirma ve Gelistrirme ve Danismanlik Ticaret Limited Sirketi (SRDC) Turkey Tero Ltd (Tero) Greece Mokono GMBH Germany Phaistos SA (Phaistos) Greece Altec Software Development S.A. (Altec) Greece BlogForever Consortium Page 2 of 71 D2.2 Report: Weblog Spider Prototype and Associated Methodology 30 November 2011 History Version Date Modification reason Modified
    [Show full text]
  • Smart Kitchen Final
    Supporting Cooking Tasks by a Smart Formulation Table Wolfgang Maass1,2 Andreas Filler 1Research Center for Intelligent Media Research Center for Intelligent Media Furtwangen University, Germany Furtwangen University, Germany 2Institute of Technology Management, University of St. Gallen, Switzerland Abstract—Kitchen environments are target of many In this article, we focus on the formulation area and how Ubiquitous Computing prototypes that investigate the it can be enhanced by non-intrusive information services that application of technologies in real-world situations. In this support weighing and mixing tasks. On technological level, paper, we present a design-driven approach that carefully we investigate whether Ubiquitous Computing technologies, analyzes domain theories, identifies requirements for human Semantic Technologies, and Internet of Things (IoT) task support, derives services accordingly, and uses these technologies can be used to positively support preparation descriptions for guiding implementations. We focus on how and concocting situations in a way that does not interfere preparation and concocting tasks can be supported by a with traditional cooking behaviors. formulation table with integrated scaling mechanism and a set of dedicated information services. We present how requirements are translated into system architectures and a prototype. Empirical studies are current tangible user interfaces, intelligent environment, design work. method II. REQUIREMENTS I. INTRODUCTION In our project, we have selected several functional and A kitchen is an environment equipped with different non-functional user requirements related to preparation and tools and services that assist individuals and groups in concocting situations. These requirements represent a different situations, such as cooking, washing the dishes, selection for complete cooking processes encompassing all breakfast preparation, and also communications.
    [Show full text]
  • Microformats and Microdata and SEO
    Microformats and Microdata and SEO Making the Web a Better Place with Rich Snippets Microformats are a way of marking up content with “meta” information. Other means include Microdata and RDFa. In essence, this involves adding some additional HTML around existing content so that the content can be identified by automated web services. These services include search engines and news aggregators. Of the three existing formats, I recommend looking at either Microdata or Microformats. Microformats Microformats is a grass-roots effort and has been around for quite a while now. It is based on tagging items with specific classes. There are many “patterns” for Microformats. Each pattern is intended for a specific type of content and has its own set of classes for marking things up. Some examples of Microformats patterns include: hCard - for people and organizations hCalendar - for events hProduct - for products hReview - for reviews of items hRecipe - for recipes Microdata The Microdata format was proposed by several major search engines within the last year. This is a similar idea to Microformats but the content is marked up in a different way - with new attributes on HTML tags. Since Microdata uses new attributes, it is a bit more technical than simply adding classes to markup. There are similar examples of Microdata patterns: Person - a person (alive, dead, undead, or fictional) Organization - an organization such as a school, NGO, corporation, club, etc. Event - an event happening at a certain time at a certain location Place - entities that have a somewhat fixed, physical extension LocalBusiness - particular physical business or branch of an organization Product - anything that is made available for sale Review - a review of an item What are they Good for? When Google (for example) presents the results of a search, sometimes you get more than just a few lines of text.
    [Show full text]
  • The Webdatacommons Microdata, Rdfa and Microformat Dataset Series
    The WebDataCommons Microdata, RDFa and Microformat Dataset Series Robert Meusel, Petar Petrovski, and Christian Bizer University of Mannheim, Germany Research Group Data and Web Science frobert,petar,[email protected] Abstract. In order to support web applications to understand the con- tent of HTML pages an increasing number of websites have started to annotate structured data within their pages using markup formats such as Microdata, RDFa, Microformats. The annotations are used by Google, Yahoo!, Yandex, Bing and Facebook to enrich search results and to display entity descriptions within their applications. In this paper, we present a series of publicly accessible Microdata, RDFa, Microformats datasets that we have extracted from three large web corpora dating from 2010, 2012 and 2013. Altogether, the datasets consist of almost 30 billion RDF quads. The most recent of the datasets contains amongst other data over 211 million product descriptions, 54 million reviews and 125 million postal addresses originating from thousands of websites. The availability of the datasets lays the foundation for further research on in- tegrating and cleansing the data as well as for exploring its utility within different application contexts. As the dataset series covers four years, it can also be used to analyze the evolution of the adoption of the markup formats. Keywords: Microdata, RDFa, Microformats, Dataset, Web Science 1 Introduction A large number of websites have started to use markup standards to annotate information about products, reviews, blog posts, people, organizations, events, and cooking recipes within their HTML pages. The most prevalent of these standards are Microformats,1 which use style definitions to annotate HTML text with terms from a fixed set of vocabularies; RDFa [1], which is used to embed any kind of RDF data into HTML pages, and Microdata [7], a recent format developed in the context of HTML5.
    [Show full text]
  • Restful Web Apis
    CHAPTER 10 The Hypermedia Zoo There are a lot of hypermedia document formats in active use. Some are designed for very specialized purposes—the people who use them may not even think of them as hypermedia formats. Other hypermedia formats are in such common usage that people don’t really think about them at all. In this chapter, I’ll take you on an educational tour of a “zoo” containing the most popular and most interesting hypermedia formats. I won’t be going into a lot of technical detail. Any one of these formats probably isn’t the one you want to use, and I’ve covered many of them earlier in the book. Many of the formats are still under active development, and their details might change. If you’re interested in one of the zoo’s specimens, the next step is to read its formal specification. My goal is to give you a sense of the many forms hypermedia can take, and to show how many times we’ve tackled the basic problems of representing it. The hypermedia zoo is so full that you probably don’t need to define a brand new media type for your API. You should be able to pick an existing media type and write a profile for it. I’ve organized the hypermedia zoo along the lines of my introduction to hypermedia. There’s a section for domain-specific formats (a la Chapter 5), a section for formats whose primary purpose is to implement the collection pattern (a la Chapter 6), and a section for general hypermedia formats (a la Chapter 7).
    [Show full text]