Getting Started with Fluidinfo
Nicholas J. Radcliffe
Nicholas H. Tollervey
Copyright 2012 Fluidinfo Inc., Nicholas Tollervey, Nicholas Radcliffe
OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (.
Nutshell Handbook, the Nutshell Handbook logo, and the OReilly logo are registered trademarks of OReilly Media, Inc. Getting Started with Fluidinfo , the image of a Stephalia jellyfish, and related trade dress are trademarks of OReilly 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 OReilly 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 authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.
O'Reilly Media
Preface
Both the authors became hooked on Fluidinfo through reading obscure material on the Web by its visionary creator, Terry Jones (@terrycojones).
Nick Radcliffe (@njr) had known Terry from conferences in the late 1980s and early 1990s, when they both did PhDs focusing on representation issues in genetic algorithms. They lost contact for over a decade, but then Radcliffe stumbled upon Terrys personal website, which included a set of papers rejected by numerous journals and conferences. These discussed information storage and espoused the view that operating systems and the Internet focus on the wrong organizational structure. The papers mapped out a vision in which, rather than being placed in particular locations, data was simply dropped into a storage system and annotated with metadata in the form of attributes that could be used to search, query, relate, and locate different items. From todays perspective, Terry was describing, before they had really been invented, not just tagging in the sense we are familiar with from Delicious, Flickr, and Gmail, but a more sophisticated version where tags could have values and be queried. He coupled this metadata-driven approach with a focus on search that seems unremarkable today, but which was far from mainstream then. Radcliffe got in touch and has been involved in Fluidinfo and its antecedents since then. After two previous abandoned implementations, Terry sold his flat to fund the creation of what has become Fluidinfo, Inc., that company that builds the Fluidinfo software and runs the Fluidinfo service.
Nicholas Tollervey (@ntoll) first learned of Fluidinfo when Tim OReilly (@timoreilly) addressed the following tweet to Robert Scoble (@scobleizer):
@Scobleizer Have you connected with @terrycojones? I believe hes in Barcelona, doing really interesting work that ought to be on your radar.[]
Nicholas watched and rewatched Scobles four-part video interview with Terry and came to the conclusion that Terry was either mad or on to something . He tracked Terry down and sent him a long email asking for clarification on many aspects of Fluidinfo. He was somewhat surprised, some months later, to receive a detailed and enthusiastic reply from Terry, which also invited him to read the new, very dry Fluidinfo API Reference. Unlikely as it sounds, this confirmed Nicholass hunch that Terry was on to something and he embarked on a series of hacks to explore the capabilities and potential of Fluidinfo. When Fluidinfo gained funding he joined the company as Guy #3.
Organization of this Book
, introduces Fluidinfo and covers key concepts at a high level.
, introduces the Fluidinfo Shell, Fish, a powerful tool for issuing commands directly to Fluidinfo using a simple command language.
, shows how you can use a variety of web-based applications to read and write Fluidinfo data. It also shows how some of the applications reuse and build upon each others data.
, explores Fluidinfo from the perspective of the software developer. Basic use of the RESTful interface is shown, using the fluidinfo.py Python library.
, introduces developers to a higher-level view of Fluidinfo. The Fluid Object Mapper (FOM) library is introduced to build a simple Python utility.
, shows an asynchronous programmatic approach using the JavaScript library fluidinfo.js to build AJAX web applications.
, explores Fluidinfos low-level HTTP API.
, explores advanced uses of Fish and some of the more arcane details of the Fluidinfo permissions system.
, discusses conventions for the primary identifier used in Fluidinfo, the about tag, as well as some more philosophical issues about the design of information architectures.
Finally, , contains a reference guide to the Fluidinfo query language.
Versions
This version of this book documents the version of Fluidinfo with release date 2012-01-10T00:34:00Z, API version 1.14. The release date and API version for the live version of Fluidinfo may be found at http://fluiddb.fluidinfo.com/about/fluidinfo/fluiddb/release-date and http://fluiddb.fluidinfo.com/about/fluidinfo/fluiddb/api-version respectively. The change log is at http://doc.fluidinfo.com/fluidDB/api/changelog.html. The version of Fish documented is version 4.00. The current documentation for Fish is available at http://fluiddb.fluidinfo.com/about/fish/fish/index.html.
Conventions Used in This Book
The following typographical conventions are used in this book:
Italic
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values determined by context.
Tip
This icon signifies a tip, suggestion, or general note.
Caution
This icon indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless youre reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from OReilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your products documentation does require permission.
We appreciate, but do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: Getting Started with Fluidinfo by Nicholas J. Radcliffe and Nicholas H. Tollervey (OReilly). Copyright 2012 Nicholas Tollervey, Nicholas Radcliffe, 978-1-449-30709-7.
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at .