43 research outputs found

    Community next steps for making globally unique identifiers work for biocollections data

    Get PDF
    Biodiversity data is being digitized and made available online at a rapidly increasing rate but current practices typically do not preserve linkages between these data, which impedes interoperation, provenance tracking, and assembly of larger datasets. For data associated with biocollections, the biodiversity community has long recognized that an essential part of establishing and preserving linkages is to apply globally unique identifiers at the point when data are generated in the field and to persist these identifiers downstream, but this is seldom implemented in practice. There has neither been coalescence towards one single identifier solution (as in some other domains), nor even a set of recommended best practices and standards to support multiple identifier schemes sharing consistent responses. In order to further progress towards a broader community consensus, a group of biocollections and informatics experts assembled in Stockholm in October 2014 to discuss community next steps to overcome current roadblocks. The workshop participants divided into four groups focusing on: identifier practice in current field biocollections; identifier application for legacy biocollections; identifiers as applied to biodiversity data records as they are published and made available in semantically marked-up publications; and cross-cutting identifier solutions that bridge across these domains. The main outcome was consensus on key issues, including recognition of differences between legacy and new biocollections processes, the need for identifier metadata profiles that can report information on identifier persistence missions, and the unambiguous indication of the type of object associated with the identifier. Current identifier characteristics are also summarized, and an overview of available schemes and practices is provided

    Product traceability in manufacturing industries: Business case and pilot project.

    Get PDF
    Innovation is increasing rapidly in every sector of the industry. This improvement and development are imperative to industries. Some are up-to-date, and others are improving. We are already witnessing the era of technology-dependent industry, where technology plays a key role in the manufacturing processes. Disruptive technologies are changing the way enterprises operate. It is essential for the industries which are focused on delivering fast and reliable service to the clients. As the technology and innovation are increasing, they could help the ceramic industry for the options presently available in interrelated technology, which are already impacting the industrial development in Industry 4.0 During previous industrialization eras there have been many improvements in different industrial sectors, which have led to rapid growth universally across industries. The present research included the review of approaches towards the ceramic traceability industry. This thesis presents a discussion on traceability of products in the ceramic industry by observing the production process. There are many stages of the production process where the materials and products are difficult to track, However, industries are concerned about the quantity and number of products produced that will meet the expectations at the end. It is challenging for the enterprises to manage, organize and trace the products throughout the manufacturing process, from raw material till final packaging. Radio Frequency Identification (RFID) systems are a common and useful tool in manufacturing, supply chain management, and retail inventory control. Optical barcodes, another universal automatic identification system, have been a familiar packaging feature on consumer items for years. Due to advances in silicon manufacturing technology, RFID costs have dropped significantly. Soon, low-cost RFID “electronic product codes” or “smart-labels” may be a practical replacement for optical barcodes on consumer items. Unfortunately, the universal deployment of RFID devices in consumer items may pose new security and privacy risks not present in closed manufacturing environments. This thesis presents an introduction to RFID technology, identifies several potential threats to security and privacy, and offers several practical proposals for efficient security mechanisms.N/

    Privacy-aware Biometric Blockchain based e-Passport System for Automatic Border Control

    Get PDF
    In the middle of 1990s, World Wide Web technology initially steps into our life. Now, 30 years after that, widespread internet access and established computing technology bring embodied real life into Metaverse by digital twin. Internet is not only blurring the concept of physical distance, but also blurring the edge between the real and virtual world. Another breakthrough in computing is the blockchain, which shifts the root of trust attached to a system administrator to the computational power of the system. Furthermore, its favourable properties such as immutable time-stamped transaction history and atomic smart contracts trigger the development of decentralized autonomous organizations (DAOs). Combining above two, this thesis presents a privacy-aware biometric Blockchain based e-passport system for automatic border control(ABC), which aims for improving the efficiency of existing ABC system. Specifically, through constructing a border control Metaverse DAO, border control workload can be autonomously self-executed by atomic smart contracts as transaction and then immutably recorded on Blockchain. What is more, to digitize border crossing documentation, biometric Blockchain based e-passport system(BBCVID) is created to generate an immutable real-world identity digital twin in the border control Metaverse DAO through Blockchain and biometric identity authentication. That is to say, by digitizing border crossing documentation and automatizing both biometric identity authentication and border crossing documentation verification, our proposal is able to significantly improve existing border control efficiency. Through system simulation and performance evaluation by Hyperledger Caliper, the proposed system turns out to be able to improve existing border control efficiency by 3.5 times more on average, which is remarkable. What is more, the dynamic digital twin constructed by BBCVID enables computing techniques such as machine learning and big data analysis applicable to real-world entity, which has a huge potential to create more value by constructing smarter ABC systems

    Privacy engineering for social networks

    Get PDF
    In this dissertation, I enumerate several privacy problems in online social networks (OSNs) and describe a system called Footlights that addresses them. Footlights is a platform for distributed social applications that allows users to control the sharing of private information. It is designed to compete with the performance of today's centralised OSNs, but it does not trust centralised infrastructure to enforce security properties. Based on several socio-technical scenarios, I extract concrete technical problems to be solved and show how the existing research literature does not solve them. Addressing these problems fully would fundamentally change users' interactions with OSNs, providing real control over online sharing. I also demonstrate that today's OSNs do not provide this control: both user data and the social graph are vulnerable to practical privacy attacks. Footlights' storage substrate provides private, scalable, sharable storage using untrusted servers. Under realistic assumptions, the direct cost of operating this storage system is less than one US dollar per user-year. It is the foundation for a practical shared filesystem, a perfectly unobservable communications channel and a distributed application platform. The Footlights application platform allows third-party developers to write social applications without direct access to users' private data. Applications run in a confined environment with a private-by-default security model: applications can only access user information with explicit user consent. I demonstrate that practical applications can be written on this platform. The security of Footlights user data is based on public-key cryptography, but users are able to log in to the system without carrying a private key on a hardware token. Instead, users authenticate to a set of authentication agents using a weak secret such as a user-chosen password or randomly-assigned 4-digit number. The protocol is designed to be secure even in the face of malicious authentication agents.This work was supported by the Rothermere Foundation and the Natural Sciences and Engineering Research Council of Canada (NSERC)

    Web service control of component-based agile manufacturing systems

    Get PDF
    Current global business competition has resulted in significant challenges for manufacturing and production sectors focused on shorter product lifecyc1es, more diverse and customized products as well as cost pressures from competitors and customers. To remain competitive, manufacturers, particularly in automotive industry, require the next generation of manufacturing paradigms supporting flexible and reconfigurable production systems that allow quick system changeovers for various types of products. In addition, closer integration of shop floor and business systems is required as indicated by the research efforts in investigating "Agile and Collaborative Manufacturing Systems" in supporting the production unit throughout the manufacturing lifecycles. The integration of a business enterprise with its shop-floor and lifecycle supply partners is currently only achieved through complex proprietary solutions due to differences in technology, particularly between automation and business systems. The situation is further complicated by the diverse types of automation control devices employed. Recently, the emerging technology of Service Oriented Architecture's (SOA's) and Web Services (WS) has been demonstrated and proved successful in linking business applications. The adoption of this Web Services approach at the automation level, that would enable a seamless integration of business enterprise and a shop-floor system, is an active research topic within the automotive domain. If successful, reconfigurable automation systems formed by a network of collaborative autonomous and open control platform in distributed, loosely coupled manufacturing environment can be realized through a unifying platform of WS interfaces for devices communication. The adoption of SOA- Web Services on embedded automation devices can be achieved employing Device Profile for Web Services (DPWS) protocols which encapsulate device control functionality as provided services (e.g. device I/O operation, device state notification, device discovery) and business application interfaces into physical control components of machining automation. This novel approach supports the possibility of integrating pervasive enterprise applications through unifying Web Services interfaces and neutral Simple Object Access Protocol (SOAP) message communication between control systems and business applications over standard Ethernet-Local Area Networks (LAN's). In addition, the re-configurability of the automation system is enhanced via the utilisation of Web Services throughout an automated control, build, installation, test, maintenance and reuse system lifecycle via device self-discovery provided by the DPWS protocol...cont'd

    A bluetooth educational content distribution system modelled on a service-oriented architecture

    Get PDF
    In this research, we design and prototype an educational content distribution system modeled on a Service-Oriented Architecture (SOA) paradigm and implemented using Web services, XML and Bluetooth technology. In the prototype, we use an Open Source Learning Management System (LMS) Sakai implemented in Java and branded Vula for the University of Cape Town (UCT). Web services and its specification of SOAP, XML and Bluetooth technology are used to integrate the disparate technologies that form the service architecture. The disparate technologies include among others Bluetooth enabled mobile phones and PDAs, services (modules) which may be running on different operating systems, and deployed over Local Area Networks (LANs) or Internet. The service is meant to leverage the existing infrastructure to provide a new, cheap channel for education content distribution to mobile devices in learning institutions especially Universities in the developing world and Africa in particular. We design, implement and evaluate the prototype for performance and scalability. During the designing and implementation of the architecture, we incorporate SOA principles of service/module re-use, service composition, loose-coupling, standard data exchange within the system or services, and extensibility of the services among others. The aim of the service is to distribute education content uploaded in Learning Management Systems (LMSs) to Bluetooth enabled mobile devices that are increasingly held by students in developing world Universities. The service is intended to supplement existing Web-based and lecture room content distribution channels by opening up the mobile device space. For the prototype, we focus on repackaging structured text content and distributing it to Bluetooth enabled phones and PDAs using Bluetooth technology. We evaluate our prototype for performance using experimental studies

    Pro Web 2.0 Mashups: Remixing Data and Web Services

    Get PDF
    XXXIII, 603 p. ; 24 cmLibro ElectrónicoEn cub.: Remix the Web to create cutting-edge web applicationsHow many times have you seen a web site and said, “This would be exactly what I wanted— if only . . .” If only you could combine the statistics here with data from your company’s earnings projections. If only you could take the addresses for those restaurants and plot them on one map. How often have you entered the date of a concert into your calendar with a single click instead of retyping? How often do you wish that you could make all the different parts of your digital world—your e-mail, your word processor documents, your photos, your search results, your maps, your presentations—work together more seamlessly? After all, it’s all digital and malleable information—shouldn’t it all just fit together? In fact, below the surface, all the data, web sites, and applications you use could fit together. This book teaches you how to forge those latent connections—to make the Web your own—by remixing information to create your own mashups. A mashup, in the words of the Wikipedia, is a web site or web application “that seamlessly combines content from more than one source into an integrated experience.”1 Learning how to draw content from the Web together into new integrated interfaces and applications, whether for yourself or for other others, is the central concern of this book.¿Cuántas veces ha visto usted a un sitio web y le dijo: "Esto sería exactamente lo que quería- si sólo. . . "Si sólo pudiera combinar las estadísticas aquí con los datos de las ganancias de su empresa proyecciones. Si tan sólo pudiera tener las direcciones de los restaurantes y colócalas en una mapa. ¿Cuántas veces has entrado en la fecha de un concierto en su calendario con un solo clic en lugar de volver a escribir? ¿Con qué frecuencia desea que usted podría hacer todas las diferentes partes de su mundo digital, el correo electrónico, los documentos procesador de textos, fotos, resultados de la búsqueda, sus mapas, sus presentaciones, trabajar juntos con mayor perfección? Después de todo, todo es digital y maleable que la información shouldn't a sólo encajan entre sí? De hecho, debajo de la superficie, todos los datos, sitios web, y aplicaciones que utiliza podría encajar. Este libro te enseña a forjar esas conexiones latentes a hacer de la web su propio por información remezcla para crear su propia mashups. Un mashup, en palabras de la Wikipedia, es un sitio web o aplicación web "que combina a la perfección el contenido de más de una fuente en una experiencia integrada. "1 Aprender a dibujar el contenido de la Web junto a nuevos interfaces integradas y aplicaciones, ya sea para usted o para otros, es el centro de preocupación de este libro.The modern Web is awash with data and services just waiting to be used, but how do you make effective use of all this information? The answer lies in APIs (such as Google Maps, Flickr, and Amazon Web Services) and remixing, or mashups. "Pro Web 2.0 Mashups: Remixing Data and Web Services" teaches you everything you need to create useful, dynamic real-world applications using APIs, web services, Ajax, web standards, and server-side languages. All you need to make full use of this book is basic knowledge of HTML, CSS, and JavaScript, and at least one server-side language (such as PHP or ASP.NET). Highlights include the following: Looks at the overall shape of todays Web from a developers point of view--what are its main features, and what is available for us to use to develop applications? Contains real-world examples of creating mashups using all the major APIs. Contains examples written in multiple server-side languages. What you'll learn Understand how the constituent parts of the modern Web fit together--web standards, Ajax, APIs, libraries, tagging, blogs, wikis, and more. Create different types of mashup, for example mapping mashups, search functionality, calendars, RSS/Atom feeds, social bookmarking, online storage systems, open document formats, and more. Build Web 2.0 applications using HTML, CSS, JavaScript, Ajax, server-side languages, APIs, and libraries Who is this book for? This book is for any web developer who is already comfortable with HTML, CSS, JavaScript, and at least one server-side language and wants to learn how to create Web 2.0 applications. About the Apress Pro Series The Apress Pro series books are practical, professionaltutorials to keep you on and moving up the professional ladder. You have gotten the job, now you need to hone your skills in these tough competitive times. The Apress Pro series expands your skills and expertise in exactly the areas you need. Master the content of a Pro book, and you will always be able to get the job done in a professional development project. Written by experts in their field, Pro series books from Apress give you the hard-won solutions to problems you will face in your professional programming career. Related Titles Beginning Google Maps Applications with PHP and Ajax: From Novice to Professional Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional Building Flickr Applications with PHP Pro DOM Scripting with Ajax, APIs and Libraries Pro Ajax and the .NET 2.0 Platform Pro Ajax and Java Frameworks.About the Author xxi About the Technical Reviewer xxiii Acknowledgments xxv Introduction xxvii PART 1 Remixing Information Without Programming CHAPTER 1 Learning from Specific Mashups 3 Looking for Patterns in Mashups 3 Housingmaps.com5 What Is Being Combined? 5 Why Are the Constituent Elements Being Combined? What’s the Problem Being Solved? 5 Where Is the Remixing Happening? 6 How Are These Elements Being Combined? 6 Comparable Mashups 7 Google Maps in Flickr 7 What Is Being Combined? 8 Why Are the Constituent Elements Being Combined? What’s the Problem Being Solved? 8 How Are These Elements Being Combined? 12 Comparable Mashups 13 LibraryLookup Bookmarklet13 Configuring a LibraryLookup Bookmarklet 14 Invoking the LibraryLookup Bookmarklet 15 How Does This Mashup Work? 16 How Can This Mashup Be Extended?17 Comparable Mashups 18 Tracking Other Mashups 18 Summary 18 vii CHAPTER 2 Uncovering the Mashup Potential of Web Sites 21 What Makes Web Sites and Applications Mashable 22 Ascertaining the Fundamental Entities of the Web Site22 Public APIs and Existing Mashups 23 Use of Ajax 24 Embedded Scriptability 24 Browser Plug-Ins 25 Getting Data In and Out of the Web Site 25 The Community of Users and Developers 25 Mobile and Alternative Interfaces and the Skinnability of the Web Site 26 Documentation 26 Is the Web Site Run on Open Source? 26 Intellectual Property, Reusability, and Creative Commons 26 Tagging, Feeds, and Weblogging27 URL Languages of Web Sites27 Some Mashups Briefly Revisited 28 Flickr: The Fundamentally Mashup-Friendly Site 29 Resources in Flickr 29 Users and Photos 30 Data Associated with an Individual Photo 33 Tags 34 User’s Archive: Browsing Photos by Date 36 Sets 37 Collections37 Favorites 37 A User’s Popular Photos 38 Contacts 38 Groups 38 Account Management40 Browsing Through Flickr40 Search 41 Geotagged Photos in Flickr 42 The Flickr Organizer 43 Recent Activities44 Mailing Interfaces 44 Interfacing to Weblogs 44 Syndication Feeds: RSS and Atom 45 Mobile Access45 Third-Party Flickr Apps 45 viii CONTENTS Creative Commons Licensing 46 Cameras 46 The Mashup-by-URL-Templating-and-Embedding Pattern 47 Google Maps 49 URL Language of Google Maps 49 Viewing KML Files in Google Maps51 Connecting Yahoo! Pipes and Google Maps 51 Other Simple Applications of the Google Maps URL Language 52 Amazon 53 Amazon Items53 Lists 55 Tags 55 Subject Headings 55 del.icio.us 56 Screen-Scraping and Bots 58 Summary 60 CHAPTER 3 Understanding Tagging and Folksonomies61 Tagging in Flickr 62 Tags in Flickr 63 How Tags Are Used in Practice 63 Creating Your Own Tags 64 Syntax of Tags in Flickr 64 Potential Weaknesses of Tags 65 Singular and Plural Forms of Tags in Flickr 65 Hacking the Tagging System: Geotagging and Machine Tags 66 Interesting Apps Using Flickr Tags 67 Tagging in del.icio.us 67 Mechanics of Adding Tags in del.icio.us 68 Dealing with Case and Multiword Phrases 68 Getting More Information 69 Gathering Content Through Tags in Technorati71 Searching Technorati with Tags71 How Technorati Finds Tags on the Web 72 Word Inflections and Syntactic Constraints in Technorati Tags 72 Using Tags to Mash Up Flickr and del.icio.us 72 Other Systems That Use Tagging 73 Relationship of Tags to Formal Classification Schemes 73 Summary 75 CONTENTS ix CHAPTER 4 Working with Feeds, RSS, and Atom77 What Are Feeds, and Why Are They Important? 78 RSS 2.0 78 RSS 1.0 80 Atom 1.0 82 Extensions to RSS 2.0 and Atom 1.0 84 Feeds from Flickr86 Flickr Feed Parameters 86 Examining the Flickr Feeds 87 Exchange Formats Other Than RSS and Atom 90 Feeds from Other Web Sites 92 Finding Feeds and Feed Autodiscovery 93 Feeds from Weblogs 94 Wikipedia Feeds94 Google and Yahoo! News 95 News Aggregators: Showing Flickr Feeds Elsewhere 96 Validating Feeds98 Scraping Feeds Using GUI Tools 98 Remixing Feeds with Feedburner 99 Remixing Feeds with Yahoo! Pipes 100 A Simple First Pipe with Yahoo! News 101 Google News and Refactoring Pipes102 Wikinews and NY Times: Filtering Feeds 103 Pulling the Feeds Together 104 Summary 104 CHAPTER 5 Integrating with Blogs 105 Integration Scenarios for Blogs 105 Sending Flickr Pictures to Blogs 106 Configuring Flickr for Integration with Blogs107 Blogging a Flickr Picture110 How Does the Flickr Blog Integration Work?110 Desktop Blogging Tools 111 Combining Feeds and Blogging to Generate Feedback Flows113 Flock: Bringing Together Blogs and Flickr 114 RSD: Discoverability of Blog APIs 115 Linkbacks 116 Wiki Integration at an Early Stage 116 Summary 117 x CONTENTS PART 2 Remixing a Single Web Application Using Its API CHAPTER 6 Learning Web Services APIs Through Flickr 121 An Introduction to the Flickr API 122 What Does This XML Response Mean? 124 What Can You Do with the XML Response? 126 API Documentation, Community, and Policy 128 Terms of Use for the API 128 Using the Flickr API Explorer and Documentation 129 Calling a Basic Flickr API Method from PHP 132 HTTP Clients 133 A Refresher on HTTP 134 XML Processing 138 Pulling It All Together: Generating Simple HTML Representations of the Photos 143 Where Does This Leave Us?145 The Flickr API in General 145 Using flickr.reflection Methods 146 Querying the Flickr Reflection Methods with PHP 149 Request and Response Formats 154 Flickr Authorization 156 Why Passing Passwords Around Doesn’t Work Too Well157 Authorization for Web Apps 157 Using Flickr API Kits 165 PEAR::Flickr_API 165 phpFlickr 166 Phlickr 168 Limitations of the Flickr API 169 Summary 170 CHAPTER 7 Exploring Other Web APIs 171 XML-RPC172 What’s Happening on the Wire? 176 Using Wireshark and curl to Analyze and Formulate HTTP Messages 177 Parsing XML-RPC Traffic178 CONTENTS xi SOAP 181 The Dream: Plug-and-Go Functionality Through WSDL and SOAP 181 geocoder.us 182 Amazon ECS 191 The Flickr API via SOAP195 Learning About Specific Web APIs 195 Programmableweb.com 196 YouTube 198 GData and the Blogger API 199 Using the Blogger API As a Uniform Interface Based on HTTP Methods203 Summary 204 CHAPTER 8 Learning Ajax/JavaScript Widgets and Their APIs 205 What You Need to Know206 What Difference Does Ajax Make? 207 Learning Firebug, DOM Inspector, and JavaScript Shell 208 Using the DOM Inspector 208 Using the Firebug Extension for Firefox 208 Using the JavaScript Shell 210 Working with JavaScript Libraries 210 YUI Widgets211 Using the YUI Calendar 211 Installing YUI on Your Host 212 Learning Google Maps 213 Accessing Flickr via JavaScript217 Using Greasemonkey to Access New York Times Permalinks 220 Learning More About JavaScript and Ajax 223 Summary 223 PART 3 Making Mashups CHAPTER 9 Moving from APIs and Remixable Elements to Mashups 227 Getting Oriented to ProgrammableWeb 228 User-Generated Data in ProgrammableWeb 228 Can Any Directory of Mashups Keep Up? 228 Learning About the Overall Mashup Scene 229 xii CONTENTS Directory of Mashups 230 Using Feeds to Track Mashups 230 Using Tags to Describe Mashups 231 API and Mashup Verticals 233 Looking at a Specific Mashup Profile233 Going from a Specific API to Mashups234 Sample Problems to Solve Using Mashups235 Tracking Interesting Books235 Knowing When to Buy Airplane Tickets 239 Finding That Dream House240 Mapping Breaking News 241 Summary 242 CHAPTER 10 Creating Mashups of Several Services 243 The Design 244 Background: Geotagging in Flickr245 Background: XMLHttpRequest and Containing Libraries 248 Using XMLHttpRequest Directly248 Using the YUI Connection Manager250 Building a Server-Side Proxy253 What Happens with XHR and Direct API Calls?253 Building a Server-Side Script for Geolocated Photos255 Building a Simple Client-Side Frame 257 Reading and Writing Elements257 Handling Simple Events to Connect Form Input and Display Calculations 260 Hooking the Client-Side Framework to Flickr 261 Writing a URL for Querying flickrgeo.php 262 Using XHR via the YUI Connection Manager to Read the JSON 262 Converting the JSON to HTML 264 Mashing Up Google Maps API with Flickr 266 Setting Up a Basic Google Map 267 Making the Map Respond to Changes in the Viewport of the Map268 Bringing Together the Flickr and GMap Code 269 Wiring Up the Bounding Box of the Google Map270 Making the Pictures Show Up in the Map 272 Google Mapplet That Shows Flickr Photos 277 Summary 281 CONTENTS xiii CHAPTER 11 Using Tools to Create Mashups 283 The Problem Mashup Tools Solve284 What You Are Making in This Chapter 284 Making the Mashup: A Step-by-Step Example286 Familiarizing Yourself with the Google Mashup Editor287 Reading and Displaying a Feed (Simple Template) 288 Introducing a Custom Template289 Using Yahoo! Pipes to Access Flickr 291 Displaying Flickr Photos Using 292 Adding JavaScript to the Mashup 294 How to Persist Feeds and Use Tabs 299 The Final Product: Showing the Saved Entries on a Map 304 Analysis of Trade-Offs in Using GME and Yahoo! Pipes309 Other Mashup Tools 310 Summary 311 CHAPTER 12 Making Your Web Site Mashable313 Why Make Your Web Site Mashable? 314 Using Techniques That Do Not Depend on APIs 314 Use a Consistent and Rich URL Language314 Use W3C Standards to Develop Your Web Site 315 Pay Attention to Web Accessibility315 Consider Allowing Users to Tag Your Content 315 Make Feeds Available 315 Make It Easy to Post Your Content to Blogs and Other Web Sites 316 Encourage the Sharing of Content with Explicit Licenses317 Develop Extensive Import and Export Options for User Content 317 Study How Users Remix Your Content and Make It Easier to Do So 317 Creating a Mashup-Friendly API 317 Learn From and Emulate Other APIs318 Keep in Mind Your Audiences for the API 318 Make Your API Easy to Learn 318 Test the Usability of Your API 319 Build a Granular, Loosely Coupled Architecture So That Creating an API Serves You As Much As It Does Others319 Embrace REST But Also Support SOAP and XML-RPC If You Can 320 xiv CONTENTS Consider Using the Atom Publishing Protocol As a Specific Instantiation of REST 320 Encourage the Development of API Kits: Third Party or In-House320 Support Extensive Error Reporting in Your APIs 321 Accept Multiple Formats for Output and Input 321 Support UI Functionality in the API 321 Include a Search API for Your Own Site 321 Version Your API 322 Foster a Community of Developers322 Don’t Try to Be Too Controlling in Your API322 Consider Producing a Service-Level Agreement (SLA) 322 Help API Users Consume Your Resources Wisely 323 Consider Open Sourcing Your Application 323 Easy-to-Understand Data Standards 323 Summary 324 PART 4 Exploring Other Mashup Topics CHAPTER 13 Remixing Online Maps and 3D Digital Globes327 The Number of Online Maps 328 Examples of Map-Based Mashups329 Making Maps Without Programming 329 Mapbuilder.net 329 Google My Maps 331 A Mashup Opportunity: Mapping Yahoo! Local Collections332 Transforming the Yahoo! Local XML into CSV for Mapbuilder.net 334 Collection Building in Microsoft’s Live Search Maps 336 Summary of Making Maps Without Programming 338 Data Exchange Formats 338 CSV338 Microformats and Metatags for HTML 338 GeoRSS 339 Yahoo!’s Use of GeoRSS and Yahoo! YMaps Extensions 341 KML 345 Interoperability Among Formats: GeoRSS vsKML346 CONTENTS xv Creating Maps by API Programming 346 Google Maps API 347 Yahoo! Maps API351 Microsoft’s Live Search Maps/Virtual Earth354 Geocoding356 Yahoo! Maps 356 Geocoder.us 357 Google Geocoder 358 Virtual Earth 361 Geocoding Non-U.SAddresses363 Google Earth and KML 364 Displaying and Handling KML As End Users 364 KML 368 Programming Google Earth via COM and AppleScript374 Mapstraction and OpenLayers 376 An Integrative Example: Showing Flickr Pictures in Google Earth376 KML NetworkLink 379 Generating the KML for the Photos382 The flickrgeo.php Code383 Summary 393 CHAPTER 14 Exploring Social Bookmarking and Bibliographic Systems 395 The Social Bookmarking Scene 396 Using Programmableweb.com to Examine the Popularity of APIs 396 del.icio.us 397 Using the del.icio.us API 398 Third-Party Tools for del.icio.us405 Third-Party API Kits 405 Yahoo! Bookmarks and MyWeb407 Connotea408 A Flickr and del.icio.us Mashup 412 Summary 416 CHAPTER 15 Accessing Online Calendars and Event Aggregators 417 Google Calendar 418 Setting Up Google Calendar As an End User 418 Exploring the Feed Formats from Google Calendar 420 xvi CONTENTS Using the GData-Based Calendar API Directly 426 Using the PHP API Kit for Google Calendar 434 Using the Python API Kit for Google Calendar 437 30boxes.com 438 An End User Tutorial 439 30boxes.com API 439 Event Aggregators 443 Upcoming.yahoo.com 443 Eventful.com452 Programming with iCalendar 458 Python and iCalendar 458 PHP and iCalendar 460 Exporting an Events Calendar to iCalendar and Google Calendar461 The Source: UC Berkeley Event Calendars 462 Creating an iCalendar Feed of Critic’s Choice Using Python462 Writing the Events to Google Calendar464 Summary 471 CHAPTER 16 Using Online Storage Services 473 Introducing Amazon S3 473 Rationale for S3 474 Conceptual Structure of Amazon S3 475 The Firefox S3 Extension Gets You Started with S3476 Using the S3 REST Interface 477 Listing Buckets Using the REST Interface 480 Using the SOAP Interface to S3481 Amazon S3 API Kits 482 PHP 483 Python 484 Summary 486 CHAPTER 17 Mashing Up Desktop and Web-Based Office Suites 487 Mashup Scenarios for Office Suites 487 The World of Document Markup 488 The OpenDocument Format488 Learning Basic ODF Tags 497 Create an ODF Text Document Without Any Styling of ODF Elements 499 Setting the Paragraph Text to text-body 503 CONTENTS xvii Formatting Lists to Distinguish Between Ordered and Unordered Lists504 Getting Bold, Italics, Font Changes, and Color Changes into Text Spans 505 API Kits for Working with ODF 507 Odfpy 507 OpenDocumentPHP 516 Leveraging OO.o to Generate ODF 518 ECMA Office Open XML (OOXML) 519 Viewers/Validators for OOXML522 Comparing ODF and OOXML 522 Online Office Suites523 Usage Scenarios for Programmable Online Spreadsheets 523 Google Spreadsheets API 524 Python API Kit 524 Mashup: Amazon Wishlist and Google Spreadsheets Mashup528 Zend PHP API Kit for Google Spreadsheets 533 A Final Variation: Amazon Wishlist to Microsoft Excel via COM 535 Zoho APIs 536 Summary 536 CHAPTER 18 Using Microformats and RDFa As Embeddable Data Formats537 Using Operator to Learn About Microformats 537 adr (Addresses) 540 hCard (Contacts) 541 hCalendar (Events)542 geo (Locations)543 tag (Tagspaces) 543 Definitions and Design Goals of Microformats 543 Microformats Design Patterns545 rel-design-pattern 545 class-design-pattern 545 abbr-design-pattern 546 include-pattern546 Examples of Microformats 547 rel-license 547 rel-tag 548 xfn548 xviii CONTENTS xFolk549 geo 549 hCard and adr550 hCalendar 551 Other Microformats 551 Microformats in Practice 552 Programming with Microformats 552 Language-Specific Libraries 552 Writing an Operator Script 553 Studying the Tutorial Script 554 Writing a Geocoding Script556 Resources (RDFa): A Promising Complement to Microformats 557 Reference for Further Study 558 Summary 558 CHAPTER 19 Integrating Search 559 Google Ajax Search 559 Manipulating Search Results 559 Yahoo! Search 561 Yahoo! Images 563 Microsoft Live.com Search 564 OpenSearch 568 Google Desktop HTTP/XML Gateway 570 Summary 571 APPENDIX 573 INDEX 57
    corecore