<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" xml:base="/node/90276" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:schema="http://schema.org/">
  <channel>
    <title>NYPL Blogs: NYPL Labs</title>
    <link>/node/90276</link>
    <description></description>
    <language>en</language>
    <item>
  <title>Open Audio Weekend Hackathon: Exploring Audio Accessibility for the Public Good</title>
  <link>https://www.nypl.org/blog/2016/07/07/open-audio-weekend-hackathon</link>
  <dc:creator>Shana Kimball</dc:creator>
  <description>&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Open Audio Weekend banner&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301961%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Open%20Audio%20Weekend%20banner%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Open%20Audio%20Weekend%20banner%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;300&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/open_audio_weekend_share_05-1.png&quot; title=&quot;Open Audio Weekend banner&quot; typeof=&quot;foaf:Image&quot; width=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;On June 25 and 26, the Library welcomed developers, designers, data scientists, audio producers, and others to a two-day hackathon designed to advance the cause of audio accessibility and explore future uses of media archives online. This event built upon and extended our work on &lt;a href=&quot;http://togetherwelisten.nypl.org/&quot;&gt;Together We Listen&lt;/a&gt;, a project generously supported by a Knight Foundation prototype grant which was awarded to NYPL and our incredible partners The Moth to crowdsource corrections to computer-generated transcripts.&lt;/p&gt;

&lt;h2 dir=&quot;ltr&quot;&gt;Kicking Off the Day&lt;/h2&gt;

&lt;p&gt;Open Audio Weekend attracted a diverse group of participants, with backgrounds in libraries, oral history, software development and more.&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption&quot; style=&quot;display:inline-block&quot;&gt;&lt;img alt=&quot;Participants at Open Audio Weekend&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301960%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Participants%20at%20Open%20Audio%20Weekend%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Participants%20at%20Open%20Audio%20Weekend%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;467&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/Open%20Audio%20Weekend%20Participant%20Pie%20Chart.jpg&quot; title=&quot;Participants at Open Audio Weekend&quot; typeof=&quot;foaf:Image&quot; width=&quot;400&quot; /&gt;
		&lt;figcaption&gt;Image by Jemma Brown&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;All Open Audio Weekend participants received t-shirts designed by NYPL&#039;s &lt;a href=&quot;http://brianfoo.com/&quot;&gt;Brian Foo&lt;/a&gt;. The design is five different representations of the spoken phrase &quot;Open Audio Weekend&quot; which Brian stitched together from audio clips in the &lt;a href=&quot;http://oralhistory.nypl.org/&quot;&gt;NYPL Community Oral History project&lt;/a&gt;. The first representation is the &lt;strong&gt;words&lt;/strong&gt;, the second is the &lt;strong&gt;phonetic transcription&lt;/strong&gt;, the third is &lt;strong&gt;musical notation&lt;/strong&gt; based on the pitches and rhythms of the speakers, the fourth is the &lt;strong&gt;pitch analysis&lt;/strong&gt; based on raw frequency data of the speakers, and the last is the &lt;strong&gt;waveform&lt;/strong&gt; or amplitude of the speech.&lt;/p&gt;

&lt;div&gt;&lt;img alt=&quot;&quot; height=&quot;428&quot; src=&quot;https://lh4.googleusercontent.com/PK2_olJqPK1yUEJsp0Sc1VONOPkr4sjLYwy0L8qVKbHfKIcrAHraZ9h13NJxhFw2CqncDpZbqSJnPR4r0QsjBw1iQXPEACdAJODz9JohCjtN_5LvAFyx5HCEv8_y0OX7jPtOaLyD&quot; style=&quot;border-width: initial; border-style: none; transform: rotate(0rad);&quot; width=&quot;720&quot; /&gt;&lt;/div&gt;

&lt;p dir=&quot;ltr&quot;&gt;We shared an audio mashup (created by Tim Lou Ly) of Moth stories and excerpts from NYPL’s Community Oral History Project.&lt;/p&gt;

&lt;p&gt;&lt;iframe frameborder=&quot;no&quot; height=&quot;166&quot; scrolling=&quot;no&quot; src=&quot;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/271248606&amp;amp;color=d62828&amp;amp;auto_play=false&amp;amp;hide_related=false&amp;amp;show_comments=true&amp;amp;show_user=true&amp;amp;show_reposts=false&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 dir=&quot;ltr&quot;&gt;Open Audio Weekend Themes&lt;/h2&gt;

&lt;p dir=&quot;ltr&quot;&gt;Participants formed into small groups around the following prompts, designed to focus work around broad themes:&lt;/p&gt;

&lt;ul dir=&quot;ltr&quot;&gt;
	&lt;li&gt;Discover: What new experiences can we make around discovery of audio?&lt;/li&gt;
	&lt;li&gt;Find: How can we make it easier to search audio?&lt;/li&gt;
	&lt;li&gt;Listen: What are some meaningful ways we can augment the experience of listening to audio?&lt;/li&gt;
	&lt;li&gt;Share: How can we make it easier to share audio?&lt;/li&gt;
	&lt;li&gt;Learn: What can we learn from audio? How can audio be used in an educational context?&lt;/li&gt;
	&lt;li&gt;Engage: How can we engage a community through audio?&lt;/li&gt;
	&lt;li&gt;Access: How can we make audio collections more usable for people with disabilities?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 dir=&quot;ltr&quot;&gt;Participant-Designed Projects&lt;/h2&gt;

&lt;p dir=&quot;ltr&quot;&gt;The projects presented during our shareout on Sunday afternoon represented a rich array of prototypes and creative imaginings of the future of audio accessibility. The full list of projects is available on the &lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects&quot;&gt;GitHub&lt;/a&gt; repo for the event, and here are the highlights!&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#crowdscribe&quot;&gt;CrowdScribe&lt;/a&gt;&lt;/h3&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;crowdscribe &quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301965%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22crowdscribe%20%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22crowdscribe%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;250&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/crowdscribe.png&quot; title=&quot;crowdscribe&quot; typeof=&quot;foaf:Image&quot; width=&quot;250&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Crowdscribe is a proof of concept for a Chrome extension that supports crowdsourced transcriptions. Users can request transcriptions of media using the extension, and users who are on the same webpage at the same time will get a notification to help transcribe media on the page. This prototype raises awareness around accessibility, allows for the crowdsourcing of transcription, and is designed with live events in mind. By targeting live events, the extension builds upon existing communities and audiences.&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#bpl-sampler&quot;&gt;BPL Sampler&lt;/a&gt;&lt;/h3&gt;

&lt;p dir=&quot;ltr&quot;&gt;Have you ever wondered what an oral history would sound like overlaid on top of hip hop beats? Check out the BPL Sampler, which remixes voices excerpted from the Brooklyn Public Library &lt;a href=&quot;http://www.bklynlibrary.org/seniors/our-streets-our-stories-o&quot;&gt;Our Streets, Our Stories&lt;/a&gt; project.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;iframe height=&quot;100&quot; src=&quot;https://drive.google.com/a/nypl.org/file/d/0B1OkN0lSKMbTMS0zTHZfd05MYXM/preview&quot; width=&quot;400&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#pitchy-dawg-perfecting-interactive-technology-for-content-heard-by-you-despite-awkward-word-groupings&quot;&gt;P.I.T.C.H.Y. D.A.W.G. (Perfecting Interactive Technology for Content Heard by You Despite Awkward Word Groupings)&lt;/a&gt;&lt;/h3&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;pitchy dawg&quot; title=&quot;pitchy dawg&quot; class=&quot;media-element file-default&quot; typeof=&quot;foaf:Image&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/pdlogo.png&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;In addition to being an imaginatively named project, P.I.T.C.H.Y. D.A.W.G. combines the experience of listening to audio with exploring related media, with the option of 3 modalities: Audio Only, Highlights, Full Experience.&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#storynode&quot;&gt;Storynode&lt;/a&gt;&lt;/h3&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;storynode&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301968%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22storynode%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22storynode%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;242&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/storynode.png&quot; title=&quot;storynode&quot; typeof=&quot;foaf:Image&quot; width=&quot;300&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Mapping place names from oral history collections. To build this prototype, the group ran transcripts through the Stanford Named Entity Recognizer. These place names were then plotted on a map, creating a cartographic way of browsing audio and transcriptions.&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#instaburns&quot;&gt;InstaBurns&lt;/a&gt;&lt;/h3&gt;

&lt;p dir=&quot;ltr&quot;&gt;InstaBurns is an experiment in auto-generating common terms and their frequency from transcripts in order to explore the relationship of terms within and across audio files. The InstaBurns platform also uses significant terms to automatically generate a slideshow of related images using the Google Image API.&lt;/p&gt;

&lt;h3 dir=&quot;ltr&quot;&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#a-to-v&quot;&gt;A-to-V&lt;/a&gt;&lt;/h3&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;A to V&quot; title=&quot;A to V&quot; class=&quot;media-element file-default&quot; typeof=&quot;foaf:Image&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/atov.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A-to-V is a one-stop central database where collectors of oral histories provide searchable information about their audio files and make those files directly available to users.&lt;/p&gt;

&lt;h3&gt;&lt;a href=&quot;https://github.com/nypl-openaudio/start-here/tree/master/Projects#homemade-history&quot;&gt;Homemade History&lt;/a&gt;&lt;/h3&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Homemade History&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301970%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Homemade%20History%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Homemade%20History%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;250&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/homemadehistorylogo.png&quot; title=&quot;Homemade History&quot; typeof=&quot;foaf:Image&quot; width=&quot;140&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A project modeling potential engagement and reuse activities around oral history collections. Building on NYPL&#039;s Open Transcript Editor, this model would allow for users to clip two minutes of an oral history and record their own complimentary response to the clip which would be ingested back into the larger collection.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Last but not least, the entire event was &lt;a href=&quot;http://aloft.nu/stanley/openaudio&quot;&gt;transcribed in real time&lt;/a&gt; by &lt;a href=&quot;https://twitter.com/stanographer&quot;&gt;Stanley Sakai&lt;/a&gt; from the &lt;a href=&quot;http://www.openstenoproject.org/&quot;&gt;Open Steno Project&lt;/a&gt;.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Stanley Sakai&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22301964%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Stanley%20Sakai%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Stanley%20Sakai%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;450&quot; src=&quot;https://d140u095r09w96.cloudfront.net/sites/default/files/IMG_5878_0.JPG&quot; title=&quot;Stanley Sakai&quot; typeof=&quot;foaf:Image&quot; width=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Thanks to all the participants for making our weekend-long hackathon a great success. Thanks also goes to our great Together We Listen partners PopUp Archive and The Moth, as well as contributing partners Gimlet Media, Buzzfeed Audio, Fresh Air, WNYC Archives, Library of Congress, Brooklyn Public Library, PRI&#039;s The World in Words, Columbia University Master of Arts in Oral History Program and to the support of the Knight Foundation for making all of this possible.&lt;/p&gt;

&lt;p&gt;More scenes from the event below!&lt;/p&gt;
</description>
  <category>Disabilities and Accessibility</category>
  <comments>https://www.nypl.org/blog/2016/07/07/open-audio-weekend-hackathon#comments</comments>
  <pubDate>Thu, 07 Jul 2016 11:12:03 -0400</pubDate>
</item>
<item>
  <title>National Photo Month at the Digital Imaging Unit</title>
  <link>https://www.nypl.org/blog/2016/05/31/national-photo-month-diu</link>
  <dc:creator>Eric Shows, Assistant Director, Digital Collections Services</dc:creator>
  <description>&lt;p&gt;The Digital Imaging Unit at The New York Public Library is an extraordinary place filled with talented artists and photographers who are dedicated to providing the public with images from the library’s special collections. I’m particularly fond of the notion that the work we do helps to release information from the page and put it at the fingertips of a new kind of internet-connected public library patron. This flow of information and its impact also has a reverse component, for we often and unexpectedly find ourselves transformed in the process.&lt;/p&gt;

&lt;p&gt;Interacting with the special collections materials in the way we do, carefully and expertly handling the rarest and most fragile artifacts of our shared cultural heritage, and putting these objects in front of the highest-resolution cameras available reveals details and moments that inevitably stop us in our tracks. We see a person in a window looking back at the camera, an erasure, inky fingerprints on the back of a manuscript, the otherworldly skill and precision required to accomplish a particular drawing or print, or we pause in front of the overwhelming beauty of an object. We find ourselves seeing the objects, photography, the world, and ultimately ourselves differently after these encounters. As professional photographers, nothing brings us more pleasure than to be faced with the prints of photographic luminaries and to be able to attend to their translation into the networked landscape.&lt;/p&gt;

&lt;p&gt;Here are a few highlights from our most beloved encounters with the library’s photo collections that we’ve seen along the way. &lt;em&gt;—Eric Shows, Digitization Services Manager&lt;/em&gt;&lt;/p&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;69e52380-da45-0132-bf2e-58d385a7b928&quot; href=&quot;http://digitalcollections.nypl.org/items/69e52380-da45-0132-bf2e-58d385a7b928&quot;&gt;&lt;img alt=&quot; 5251626, New York Public Library&quot; data-id=&quot;5251626&quot; src=&quot;https://images.nypl.org/index.php?id=5251626&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Sharecroppers&#039; children on Sunday, near Little Rock, Arkansas. Image ID: 5251626&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;a4d7aa00-00af-0133-4eb5-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/a4d7aa00-00af-0133-4eb5-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5338462, New York Public Library&quot; data-id=&quot;5338462&quot; src=&quot;https://images.nypl.org/index.php?id=5338462&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Arkansas sharecropper. Image ID: 5338462&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;14a93360-fc13-0132-1e75-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/14a93360-fc13-0132-1e75-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5326678, New York Public Library&quot; data-id=&quot;5326678&quot; src=&quot;https://images.nypl.org/index.php?id=5326678&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Waiting for relief agent, Scott&#039;s Run, Monongalia County, West Virginia. Image ID: 5326678&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;I was very fortunate to handle most of the Library’s collection of Ben Shahn’s Depression-era FSA photographs. Shahn was primarily a painter and illustrator, which I think made him uninhibited behind the camera, but also very observant. He photographed his subjects in such a thoughtful way that they do not come across as victims from a bygone era, but as real and relatable people. &lt;em&gt;—Martin Parsekian, Collections Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;3a614a00-bc8d-0133-884a-00505686d14e&quot; href=&quot;http://digitalcollections.nypl.org/items/3a614a00-bc8d-0133-884a-00505686d14e&quot;&gt;&lt;img alt=&quot; 5665559, New York Public Library&quot; data-id=&quot;5665559&quot; src=&quot;https://images.nypl.org/index.php?id=5665559&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;George Avakian and Anahid Ajemian during the Ajemian sisters&#039; first European tour. Image ID: 5665559&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;f3934830-bc87-0133-e976-00505686a51c&quot; href=&quot;http://digitalcollections.nypl.org/items/f3934830-bc87-0133-e976-00505686a51c&quot;&gt;&lt;img alt=&quot; 5649287, New York Public Library&quot; data-id=&quot;5649287&quot; src=&quot;https://images.nypl.org/index.php?id=5649287&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;George Avakian recording Sidney Bechet. Image ID: 5649287&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;516e5db0-bbb4-0133-66b3-00505686a51c&quot; href=&quot;http://digitalcollections.nypl.org/items/516e5db0-bbb4-0133-66b3-00505686a51c&quot;&gt;&lt;img alt=&quot; 5649237, New York Public Library&quot; data-id=&quot;5649237&quot; src=&quot;https://images.nypl.org/index.php?id=5649237&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Earliest photo of George Avakian, with his parents in Tiflis. Image ID: 5649237&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;I selected these images because I find it fascinating that we can appreciate and witness through them the life, work, and legacy of American music producer/writer, George Avakian. I think is great that not only was he recognized for playing a major role in the development of jazz, but also for impacting the lives of many great artists through his work as a music producer. &lt;em&gt;—Jenny Jordan, Collections Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;da84a480-e906-0131-2141-3c075448cc4b&quot; href=&quot;http://digitalcollections.nypl.org/items/da84a480-e906-0131-2141-3c075448cc4b&quot;&gt;&lt;img alt=&quot; 5154611, New York Public Library&quot; data-id=&quot;5154611&quot; src=&quot;https://images.nypl.org/index.php?id=5154611&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Joan Mitchell. Image ID: 5154611&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;a61474f0-e907-0131-7bee-3c075448cc4b&quot; href=&quot;http://digitalcollections.nypl.org/items/a61474f0-e907-0131-7bee-3c075448cc4b&quot;&gt;&lt;img alt=&quot; 5154371, New York Public Library&quot; data-id=&quot;5154371&quot; src=&quot;https://images.nypl.org/index.php?id=5154371&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Helen Frankenthaler. Image ID: 5154371&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;9b0157a0-e907-0131-a462-3c075448cc4b&quot; href=&quot;http://digitalcollections.nypl.org/items/9b0157a0-e907-0131-a462-3c075448cc4b&quot;&gt;&lt;img alt=&quot; 5154297, New York Public Library&quot; data-id=&quot;5154297&quot; src=&quot;https://images.nypl.org/index.php?id=5154297&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Willem DeKooning. Image ID: 5154297&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;I selected photographs of Willem DeKooning, Helen Frankenthaler, and Joan Mitchell by Walter Silver. These images capture the people behind iconic New York School paintings. The casual studio shots help me to imagine living and working with the abstract expressionists in the 1950s New York. &lt;em&gt;—Rebecca Baldwin, Collections Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-b587-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-b587-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 110149, New York Public Library&quot; data-id=&quot;110149&quot; src=&quot;https://images.nypl.org/index.php?id=110149&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;From forest to mill. Image ID: 110149&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47e0-9c68-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47e0-9c68-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; G91F306_021F, New York Public Library&quot; data-id=&quot;G91F306_021F&quot; src=&quot;https://images.nypl.org/index.php?id=G91F306_021F&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;View of Log-raft. Columbia River. Image ID: G91F306_021F&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-b576-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-b576-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 110132, New York Public Library&quot; data-id=&quot;110132&quot; src=&quot;https://images.nypl.org/index.php?id=110132&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Sawing timber. Image ID: 110132&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;I am always amazed by how we do what we do, for better, for worse, all the while. &lt;em&gt;—Steven Crossot, Assistant Manager, Digitization Services&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47da-7b37-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47da-7b37-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 433127, New York Public Library&quot; data-id=&quot;433127&quot; src=&quot;https://images.nypl.org/index.php?id=433127&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Housetop life, Hopi. Image ID: 433127&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;3512a930-860c-0131-ae2c-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/3512a930-860c-0131-ae2c-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5111981, New York Public Library&quot; data-id=&quot;5111981&quot; src=&quot;https://images.nypl.org/index.php?id=5111981&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;“Mobile anti-aircraft searchlights…” Image ID: 5111981&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;87512700-ea71-0131-0b5c-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/87512700-ea71-0131-0b5c-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5147219, New York Public Library&quot; data-id=&quot;5147219&quot; src=&quot;https://images.nypl.org/index.php?id=5147219&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Storm. Image ID: 5147219&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
	These three images represent the peculiarity of the library’s photographic collection. The romance and exoticism of Edward Curtis’ images of Native Americans from the early 20th century, official U.S. government press photos of military from WWI, and an annotated work print from the Walter Silver collection, with unintentionally ironic subtext. &lt;em&gt;—Adam Golfer, Collections Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-4f80-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-4f80-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 482799, New York Public Library&quot; data-id=&quot;482799&quot; src=&quot;https://images.nypl.org/index.php?id=482799&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Blossom Restaurant, 103 Bowery, Manhattan. Image ID: 482799, New York Public Library&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;ba309cea-9100-4288-e040-e00a18066c61&quot; href=&quot;http://digitalcollections.nypl.org/items/ba309cea-9100-4288-e040-e00a18066c61&quot;&gt;&lt;img alt=&quot; 3999921, New York Public Library&quot; data-id=&quot;3999921&quot; src=&quot;https://images.nypl.org/index.php?id=3999921&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Testing meats at the Department of Agriculture. Beltsville, Maryland. Image ID: 3999921&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;acd97bc0-baca-0132-0362-58d385a7b928&quot; href=&quot;http://digitalcollections.nypl.org/items/acd97bc0-baca-0132-0362-58d385a7b928&quot;&gt;&lt;img alt=&quot; 5233691, New York Public Library&quot; data-id=&quot;5233691&quot; src=&quot;https://images.nypl.org/index.php?id=5233691&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Scott&#039;s Run mining camps near Morgantown, West Virginia. Domestic interior. Shack at Osage. Image ID: 5233691&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;These are a few of the photographs that have stuck with me over the years, by Berenice Abbott, Carl Mydans, and Walker Evans. Whether capturing the graphic signage and intensity of expression on people’s faces, the oddity of a testing scene or the subtle beauty and pride portrayed through a domestic scene, they all resonate with me in different ways. &lt;em&gt;—Pete Riesett, Head Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-4fb7-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-4fb7-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 482844, New York Public Library&quot; data-id=&quot;482844&quot; src=&quot;https://images.nypl.org/index.php?id=482844&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Chicken Market, 55 Hester Street, Manhattan. Image ID: 482844&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-4e64-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-4e64-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 482591, New York Public Library&quot; data-id=&quot;482591&quot; src=&quot;https://images.nypl.org/index.php?id=482591&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Bread Store, 259 Bleecker Street, Manhattan. Image ID: 482591&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47d9-4e68-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47d9-4e68-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 482595, New York Public Library&quot; data-id=&quot;482595&quot; src=&quot;https://images.nypl.org/index.php?id=482595&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Pingpank Barber Shop, 413 Bleecker Street, Manhattan. Image ID: 482595&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;I love exploring the NYPL&#039;s photography collections because of the historical and pictorial relevance of the works they hold, including Berenice Abbott&#039;s Changing New York—a series of stunning, iconic black and white photographs of the &quot;old&quot; city. Abbott was an extraordinarily skilled architectural photographer, but I especially enjoy her methodical documentation of storefronts as an integral part of the city, featuring visually glorious layers of texture and content. &lt;em&gt;—Allie Smith, Collections Photographer&lt;/em&gt;

&lt;/p&gt;&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;201b2530-a455-0130-3f9c-58d385a7b928&quot; href=&quot;http://digitalcollections.nypl.org/items/201b2530-a455-0130-3f9c-58d385a7b928&quot;&gt;&lt;img alt=&quot; 5038710, New York Public Library&quot; data-id=&quot;5038710&quot; src=&quot;https://images.nypl.org/index.php?id=5038710&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Tiger Man: Animal Graffiti, 14 St. Image ID: 5038710&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;65f01db0-a456-0130-f2a5-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/65f01db0-a456-0130-f2a5-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5038738, New York Public Library&quot; data-id=&quot;5038738&quot; src=&quot;https://images.nypl.org/index.php?id=5038738&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Pretty Long Haired Woman Looking Up: Pretty Man in White Polo Looking Down. Image ID: 5038738&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;7809a970-a456-0130-8b8e-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/7809a970-a456-0130-8b8e-58d385a7bbd0&quot;&gt;&lt;img alt=&quot; 5038756, New York Public Library&quot; data-id=&quot;5038756&quot; src=&quot;https://images.nypl.org/index.php?id=5038756&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Woman Through Graffiti Window is Caught Unaware By Camera: Crowded Group in Car, Woman in Fur Coat and Wool Hat Looks at Camera. Image ID: 5038756&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;These are just a few images in a wonderful series by photographer Alen MacWeeney that were taken in 1977 in the NYC subway. At first glance I love these photographs because of how cool and stylized they look depicting the 1970s graffiti covered New York. Then you peer in closer and you see how MacWeeney added his own twist to the images by pairing two separate images to create diptychs which at first sight might appear to be one image. That creates an interesting narrative between the cast of characters. Added plus with these images is that no one is typing away on their phones and it doesn’t appear as crowded and jam packed with people as it is today. But there are things in the photos that never change on the subway and are timeless. &lt;em&gt;—Marietta Davis, Collections Photographer&lt;/em&gt;
&lt;/p&gt;</description>
  <category>Image Collections</category>
  <comments>https://www.nypl.org/blog/2016/05/31/national-photo-month-diu#comments</comments>
  <pubDate>Tue, 31 May 2016 15:22:46 -0400</pubDate>
</item>
<item>
  <title>The OldNYC App Is Here! We Spoke with Its Creators</title>
  <link>https://www.nypl.org/blog/2016/05/04/oldnyc-app</link>
  <dc:creator>Shana Kimball</dc:creator>
  <description>&lt;p&gt;In May 2015, Brooklyn-based developer Dan Vanderkam launched &lt;a href=&quot;http://www.oldnyc.org/&quot; rel=&quot;nofollow&quot;&gt;OldNYC&lt;/a&gt;, providing users a new way to experience NYPL&#039;s &lt;a href=&quot;http://digitalgallery.nypl.org/nypldigital/explore/dgexplore.cfm?col_id=219&quot;&gt;Photographic Views of New York City&lt;/a&gt; collection and discover the history behind the places New Yorkers see everyday. Now Orian Breaux and Christina Leuci—fans of NYC history, maps, and technology—have brought the OldNYC experience to mobile phones. I spoke with them to find out more about the development of this app, which is now available in the &lt;a href=&quot;https://itunes.apple.com/us/app/oldnyc-explore-historical/id1097347396&quot; rel=&quot;nofollow&quot;&gt;iTunes App Store&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who are you, and what do you do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orian: We both work in NYC’s tech world. I’m a product manager, currently focused on user growth at LiveAuctioneers. I love exploring topics like data visualization, urban science, and user behavior. On the side, I mentor aspiring technologists at a tech school called General Assembly and build projects like &lt;a href=&quot;http://timemachine.vestigesofnewyork.com/&quot; rel=&quot;nofollow&quot;&gt;NYC Time Machine&lt;/a&gt;. Before entering tech, I studied aeronautical engineering at Rensselaer Polytechnic Institute (RPI).&lt;/p&gt;

&lt;p&gt;Christina: As for me, I&#039;m a software developer at Cyrus Innovation, where we help companies build and scale their software products. Previously, I studied web development at Flatiron School, after attending Rutgers University for two years. When we’re not working, you can find us dancing Swing or Argentine Tango!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did you decide to make a mobile app for OldNYC?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orian: It was totally spontaneous. Since &lt;a href=&quot;https://www.oldnyc.org/&quot; rel=&quot;nofollow&quot;&gt;OldNYC&lt;/a&gt; launched last May, I had spent many hours admiringly exploring its photographs. In a November mailing list update, creator Dan Vanderkam asked if anyone wanted to build a mobile app for OldNYC. As someone who loves this intersection of NYC history, maps, and technology, it was an automatic “Yes!” for me. Coincidentally, Christina had been talking about creating an iPhone app, so I immediately volunteered ourselves.&lt;/p&gt;

&lt;p&gt;Christina: It was an exciting project to start, and we’re thankful for Dan’s openness to our building off his work. After exchanging emails, we all met for coffee one winter morning, then Orian and I got to work. Admittedly, neither of us had built an iOS app before, but with our combined coding, product, and design experience, we thought we could learn quickly enough to build a solid app.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;OldNYC Map Screen &quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/map_screen.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Map Screen &quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What was your process?&lt;/strong&gt;&lt;img alt=&quot;OldNYC Launch Screen &quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/launch_screen.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Launch Screen &quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Orian: We started with a question: “How can we use the mobile platform to enable an experience not possible on a regular desktop website?” From the beginning, we had this vision where you could walk down a street and easily access historical photos nearest to your location. Like a self-guided historical tour, where you’re encouraged to discover “what was there” anywhere you go.&lt;/p&gt;

&lt;p&gt;We worked backwards from that idea, breaking down the pieces of design, development, and research work we needed to do. Dan had already built some infrastructure for storing photos and related data, so we spent some time figuring out what we could use and what we had to build ourselves.&lt;/p&gt;

&lt;p&gt;Christina: For our version 1 release, we focused on foundational features, like map navigation, photo viewing, and allowing the user to center on their location. We did several iterations of wireframes on paper, thinking about how the user would interact with each of these features. From there, mocking up the experience in Sketch, a digital design tool, helped us refine the user interface and interactions further.&lt;/p&gt;

&lt;p&gt;Of course, we spent most of our time coding the app. We were both new to iOS development, so for everything we built, we spent time teaching ourselves.&lt;/p&gt;

&lt;p&gt;Orian: All throughout, we tested the app often. I made it a point to test not only while walking in the streets, but on boats, in the subway, and deep inside buildings. Since our app relies on location and downloading images from the NYPL’s website, testing helped us find and fix bugs to ensure the app runs smoothly.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;OldNYC Screen Example&quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/image_screen.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Screen Example&quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is most interesting about bringing 1900s photographs to 2016 phones?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Orian: The idea that technological progress is constantly redefining our relationship with the past. To retrieve a historical record 100 years ago meant pinpointing its specific location within a specific library or museum. Only in the last few decades have computers and the Internet allowed us to centralize, organize, and distribute that information throughout the world.&lt;/p&gt;

&lt;p&gt;Beyond making information accessible and searchable, I think the next problem is discovery. With so much of the world’s information available online, it’s easy to find something when you generally know what you’re looking for. But how do you find information that you would love when you don’t know it exists?&lt;/p&gt;

&lt;p&gt;This fundamental problem of discovery is why Amazon and Spotify build recommendation engines and why Pinterest tells you about trending pins. They are methods for surfacing content you’re unlikely to find by yourself. I see OldNYC’s map interface + location tracking as an extension of that idea, where a user can discover new photos highly relevant to where they are in the present moment.&lt;/p&gt;

&lt;p&gt;It’s fun to envision what new ways future technology will help us discover the past. I’m personally waiting for the day I can take a virtual reality tour of 1600s New Amsterdam!&lt;/p&gt;

&lt;p&gt;Christina: For me, the most interesting thing is the discussion that will rise from these resurfaced pieces of history. By exploring photos from New York City’s past, you really get a sense of the society that was present from the late 1800s into the early 1900s and how it has changed throughout the years.&lt;/p&gt;

&lt;p&gt;People are now able to step through the city’s life and watch as it has grown and changed into the metropolis it is now. Can you imagine, hearing stories from your Grandmother who lived in New York City in the 1930s and being able to find the intersection she lived at and explore that photo in detail?&lt;/p&gt;

&lt;p&gt;The stories we discover are preserved through their documented photos and text and provide a sense of identity for the city. As we expand our dataset, users will be able to trace any NYC intersection’s life from a drawing of farmland to a modern skyscraper.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;OldNYC Screen Example&quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/image_screen2.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Screen Example&quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s next for your app?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Christina: We’re just getting started! We have a full backlog of features and improvements to make the app experience more special. Our app users can give feedback from within the app, which also helps us prioritize what to build next.&lt;/p&gt;

&lt;p&gt;For incremental improvements, we’d like to increase photo resolution, improve the photo viewing interface, and enable search by location. We also need to include Dan’s feature of allowing users to submit corrections of photograph descriptions.&lt;/p&gt;

&lt;p&gt;Not all improvements are user-facing though; there’s a lot we can do to improve our data architecture and make the app run more efficiently.&lt;/p&gt;

&lt;p&gt;Orian: That said, we’re most excited for the bigger initiatives, including:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Commenting on photographs, so app users can tell their stories. The OldNYC desktop site captured thousands of comments, so we’ll make these readable from the app, as well.&lt;/li&gt;
	&lt;li&gt;Enabling users to easily generate and share before-and-after photos. It’s a thrill to discover “what was there” in the areas we live and visit often. We want to help people share that moment of discovery with the world.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img alt=&quot;OldNYC Screen Example&quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/image_screen3.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Screen Example&quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;OldNYC Screen Example&quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/image_screen4.png&quot; style=&quot;float:right&quot; title=&quot;OldNYC Screen Example&quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What other NYPL data sets or resources would you like to explore or build on?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Christina: If we could wave a magic wand, every historical record would be discoverable by location. All datasets are fair game, but the next logical step is to incorporate more photographs. Currently, OldNYC only uses photographs from the Milstein Collection’s “&lt;a href=&quot;http://digitalgallery.nypl.org/nypldigital/explore/dgexplore.cfm?col_id=219&quot;&gt;Photographic Views of New York City, 1870s-1990s&lt;/a&gt;”&lt;/p&gt;

&lt;p&gt;Beyond that, we’d love to include lithographs that capture scenes from the 1600s to 1870s, as well as any oral records. Imagine walking around the city with the ability to explore every facet of your current location’s history!&lt;/p&gt;

&lt;p&gt;Orian: We’re also exploring using rectified maps from NYPL Map Warper, like the&lt;a href=&quot;http://maps.nypl.org/warper/maps/16758&quot;&gt; 1920s Aerial survey map&lt;/a&gt;. The idea is that app users can use a “timeline slider” to sift through the layers of history, to see photographs in their historical context.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;NYC Time Machine&quot; class=&quot;media-element file-default&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/NYC_Time_Machine.png&quot; style=&quot;float:right&quot; title=&quot;NYC Time Machine&quot; width=&quot;169&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can libraries—or any holder of large open datasets—make it easier for developers to make new things with our collections?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Christina: I think the key ingredients are: 1) helping developers feel supported and 2) maintaining clean and open datasets.&lt;/p&gt;

&lt;p&gt;As a developer, I feel supported when an organization is actively giving me the tools and instruction I need to start working with the data. A library can do this by offering tutorials/code samples and walkthroughs and by describing interesting use cases for the datasets. All this cuts down on “research time” and empowers developers to take action.&lt;a href=&quot;http://api.repo.nypl.org/&quot;&gt; The NYPL Digital Collections API&lt;/a&gt; is a great approach for libraries to model. It’s an open database that gives developers the chance to build applications that access NYPL data.&lt;/p&gt;

&lt;p&gt;Over time, as developers build applications off a dataset, you can foster community by showcasing work. This encourages more developers to join and extend the work of others, like how Orian and I have done with Dan’s OldNYC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for speaking with us!&lt;/strong&gt;&lt;/p&gt;
</description>
  <category></category>
  <comments>https://www.nypl.org/blog/2016/05/04/oldnyc-app#comments</comments>
  <pubDate>Wed, 04 May 2016 10:32:53 -0400</pubDate>
</item>
<item>
  <title>Together We Listen: Make Hundreds of NYC Stories Accessible—One Word at a Time</title>
  <link>https://www.nypl.org/blog/2016/04/05/together-listen-oral-history-transcription</link>
  <dc:creator>Alexandra Kelly, Outreach Services and Adult Programming</dc:creator>
  <description>&lt;p&gt;&lt;em&gt;The following blog post is co-authored by Willa Armstrong (NYPL Labs) and Alex Kelly (Adult Programming and Outreach Services).&lt;/em&gt;&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22297004%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22%22%7D,%22type%22:%22media%22%7D&quot; height=&quot;300&quot; src=&quot;//www.nypl.org/sites/default/files/2_1_ratio_0.png&quot; width=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;&lt;span&gt;Are you familiar with the NYPL Community Oral History Project? Take a few moments to listen to some &lt;a href=&quot;http://www.nypl.org/blog/2015/02/06/audio-highlights-community-oral-history&quot;&gt;highlights&lt;/a&gt; or just dive right into &lt;a href=&quot;http://oralhistory.nypl.org/&quot;&gt;our full collection of stories&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;The NYPL Community Oral History Project is truly the people’s project. It’s powered by the public, as hundreds of engaged community members come together to gather oral histories from each other in order to preserve the rich and constantly changing history of New York City. Beginning in 2013 at Jefferson Market Library in Greenwich Village and building momentum, oral histories have been collected in six additional neighborhoods. Visible Lives, an oral history project on the disability experience is another large scale collection effort, based out of Andrew Heiskell Braille and Talking Book Library. Read more about our growing collection at &lt;a href=&quot;http://oralhistory.nypl.org/about&quot;&gt;oralhistory.nypl.org/about&lt;/a&gt;.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;To date, the Community Oral History collection contains over 1,000 stories, with more on the way! This is very exciting, but here’s the issue: We’re faced with the challenge of making this large corpus of audio accessible and searchable to the public. It’s a challenge faced by many organizations and institutions with audio-based collections and archives.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;When working to make audio accessible, transcripts are important because they make audio content searchable online, and accessible to people with hearing disabilities. Recent advances in speech-to-text technologies have made great progress in opening audio to the web, but the transcripts they produce are still error-prone and can only be considered first drafts. Though they’re a good start, careful human editing is required to provide polish these computer-generated drafts and ensure accurate, high quality transcripts.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;&lt;em&gt;So, how are we going to transcribe these hundreds of audio hours quickly and cost effectively?&lt;/em&gt;  People and computers need to collaborate.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;&lt;strong&gt;And this brings us to our big announcement: &lt;/strong&gt;NYPL Labs has built a brand new Open Transcript Editor to engage the public in helping to make our oral history collection accessible—one word at a time. The Open Transcript Editor is an interactive transcript editor allowing multiple people to perform the final layer of polish and proofreading on computer-generated transcripts. It’s a big undertaking and we’re inviting the public to pitch in and help correct computer-generated transcripts from our NYPL Community Oral History Project.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Visit &lt;a href=&quot;http://transcribe.oralhistory.nypl.org&quot;&gt;transcribe.oralhistory.nypl.org&lt;/a&gt; to get started and help make this public treasure trove of NYC stories accessible.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Since we’re not the only ones tackling this challenge, the NYPL has teamed up with &lt;a href=&quot;http://themoth.org&quot;&gt;The Moth&lt;/a&gt;, a live storytelling organization with its own growing audio archive, for &lt;a href=&quot;http://togetherwelisten.nypl.org/&quot;&gt;Together We Listen&lt;/a&gt;, a community program that invites our respective audiences to correct transcripts online using this new tool. To get our initial, computer-generated transcripts, both partners have sent their stories through &lt;a href=&quot;https://www.popuparchive.com/&quot;&gt;Pop Up Archive&lt;/a&gt;, a speech-to-text service that works extensively with the public media and cultural heritage sectors. This project was made possible with generous support provided by the &lt;a href=&quot;http://knightfoundation.org/funding-initiatives/knight-prototype-fund/&quot;&gt;Knight Foundation Protoype Fund&lt;/a&gt;, an initiative of the John S. and James L. Knight Foundation. The &lt;a href=&quot;https://github.com/NYPL/transcript-editor&quot;&gt;Open Transcript Editor&lt;/a&gt; codebase itself is open source and is available to be used and further developed around other audio archives.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Anyone can contribute to this effort online and, for the first time ever, NYPL is also organizing &lt;a href=&quot;http://www.nypl.org/events/calendar?keyword=&amp;amp;location=&amp;amp;type=&amp;amp;topic=&amp;amp;audience=&amp;amp;series=342176&amp;amp;date_op=GREATER_EQUAL&amp;amp;date1=03%2F21%2F2016&quot;&gt;in-person events&lt;/a&gt; at various library locations to encourage people to get together and help transcribe the oral histories for their own communities. We hope you can join us at an event in your neighborhood!&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;By editing transcripts, you&#039;re helping to create truly accurate transcripts in order to share hundreds of stories from the ongoing Community Oral History Project. Once they have been edited with agreement from enough contributors, completed transcripts will be available to read and download at &lt;a href=&quot;http://oralhistory.nypl.org&quot;&gt;oralhistory.nypl.org&lt;/a&gt;, along with the audio recordings.&lt;/p&gt;

&lt;h2 dir=&quot;ltr&quot;&gt;Pitch in now: &lt;a href=&quot;http://transcribe.oralhistory.nypl.org&quot;&gt;Tune in and transcribe&lt;/a&gt;!&lt;/h2&gt;

&lt;div id=&quot;fb-root&quot;&gt; &lt;/div&gt;
&lt;script&gt;
&lt;!--//--&gt;&lt;![CDATA[// &gt;&lt;!--
(function(d, s, id) {  var js, fjs = d.getElementsByTagName(s)[0];  if (d.getElementById(id)) return;  js = d.createElement(s); js.id = id;  js.src = &quot;//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.3&quot;;  fjs.parentNode.insertBefore(js, fjs);}(document, &#039;script&#039;, &#039;facebook-jssdk&#039;));
//--&gt;&lt;!]]&gt;
&lt;/script&gt;

&lt;div class=&quot;fb-video&quot; data-allowfullscreen=&quot;1&quot; data-href=&quot;https://www.facebook.com/nypl/videos/10154099509102351/&quot;&gt;
	&lt;div class=&quot;fb-xfbml-parse-ignore&quot;&gt;
		&lt;blockquote cite=&quot;https://www.facebook.com/nypl/videos/10154099509102351/&quot;&gt;&lt;a href=&quot;https://www.facebook.com/nypl/videos/10154099509102351/&quot;&gt;Join the Together We Listen project!&lt;/a&gt;

			&lt;p&gt;Join our initiative to make New York City history accessible one story at a time! We&#039;ve partnered with The Moth to create a transcription tool that will allow you to help us improve upon computer-generated transcripts for over 1,000 stories from our Community Oral History Project. Be a part of history today: http://on.nypl.org/1RZCn8A&lt;/p&gt;
			Posted by &lt;a href=&quot;https://www.facebook.com/nypl/&quot;&gt;NYPL The New York Public Library&lt;/a&gt; on Tuesday, April 5, 2016&lt;/blockquote&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;p dir=&quot;ltr&quot;&gt;&lt;em&gt;Want to receive updates about NYPL digital initiatives? Sign up for our &lt;a href=&quot;http://pages.email.nypl.org/nypldigitalnews/&quot;&gt;e-mail newsletter&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
  <category>Technology</category>
  <comments>https://www.nypl.org/blog/2016/04/05/together-listen-oral-history-transcription#comments</comments>
  <pubDate>Tue, 05 Apr 2016 12:05:35 -0400</pubDate>
</item>
<item>
  <title>Introducing the Photographers’ Identities Catalog</title>
  <link>https://www.nypl.org/blog/2016/03/25/introducing-pic</link>
  <dc:creator>David Lowe</dc:creator>
  <description>&lt;p id=&quot;docs-internal-guid-75ab57f0-aef7-bcbc-14fb-5e6352894c87&quot;&gt;Today the New York Public Library is pleased to announce the launch of &lt;a href=&quot;http://pic.nypl.org&quot;&gt;Photographers’ Identities Catalog&lt;/a&gt; (PIC), a collection of biographical data for over 115,000 photographers, studios, manufacturers, dealers, and others involved in the production of photographs. PIC is world-wide in scope and spans the the entire history of photography. So if you’re a historian, student, archivist, cataloger or genealogist, we hope you’ll make it a first stop for your research. And if you’re into data and maps, you’re in luck, too: all of the data and code are free to take and use as you wish.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Globe&quot; class=&quot;media-element file-default&quot; height=&quot;285&quot; src=&quot;//www.nypl.org/sites/default/files/globe%20screenshot.png&quot; title=&quot;Globe&quot; width=&quot;300&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Each entry has a name, nationality, dates, relevant locations and the sources from which we’ve gotten the information—so you can double check our work, or perhaps find more information that we don’t include. Also, you might find genders, photo processes and formats they used, even collections known to have their work. It’s a lot of information for you to query or filter, delimit by dates, or zoom in and explore on the map. And you can share or export your results.&lt;/p&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47da-06e8-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47da-06e8-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot; 78659&quot; data-id=&quot;78659&quot; src=&quot;https://images.nypl.org/index.php?id=78659&amp;amp;t=w&quot; width=&quot;300px&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Blanche Bates. Image ID: 78659&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;How might PIC be useful for you? Well, here’s one simple way we make use of it in the Photography Collection: dating photographs. NYPL has a handful of cabinet card portraits of the actress &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?filters%5BnamePart_mtxt_s%5D%5B%5D=Klein%20%26%20Guttenstein%20%28Milwaukee%2C%20Wis.%29&amp;amp;keywords=&amp;amp;layout=false&quot;&gt; Blanche Bates&lt;/a&gt;, but they are either undated or have a very wide range of dates given.&lt;/p&gt;

&lt;p&gt;The photographer’s name and address are given: the Klein &amp;amp; Guttenstein studio at 164 Wisconsin Street, Milwaukee. &lt;a href=&quot;http://pic.nypl.org/map/?address.AddressTypeID=*&amp;amp;address.CountryID=*&amp;amp;Nationality=*&amp;amp;gender.TermID=*&amp;amp;process.TermID=*&amp;amp;role.TermID=*&amp;amp;format.TermID=*&amp;amp;biography.TermID=*&amp;amp;collection.TermID=*&amp;amp;bbox=*&amp;amp;DisplayName=(Klein%20Guttenstein*)&amp;amp;Date=*&quot;&gt; Search by the studio name&lt;/a&gt;, and select them from the list. In the locations tab you’ll find them at that address for only one year before they moved down the street; so, our photos were taken in 1899. You could even get clever and see if you can find out the identities of the two partners in the studio (hint: try using the &lt;a href=&quot;http://pic.nypl.org/map/?address.AddressTypeID=*&amp;amp;address.CountryID=*&amp;amp;Nationality=*&amp;amp;gender.TermID=*&amp;amp;process.TermID=*&amp;amp;role.TermID=*&amp;amp;format.TermID=*&amp;amp;biography.TermID=*&amp;amp;collection.TermID=*&amp;amp;bbox=-87.9929_43.0146_-87.8419_43.0946&amp;amp;DisplayName=(Klein%20Guttenstein*)&amp;amp;Date=*&quot;&gt; In Map Area &lt;/a&gt; option).&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Klein Guttenstein globe&quot; class=&quot;media-element file-default&quot; height=&quot;386&quot; src=&quot;//www.nypl.org/sites/default/files/KleinGuttenstein%20screenshot.png&quot; title=&quot;Klein Guttenstein globe&quot; width=&quot;680&quot; /&gt;

&lt;/p&gt;&lt;p&gt;But there’s much more to explore with PIC: you can &lt;a href=&quot;http://pic.nypl.org/map/?address.AddressTypeID=2&amp;amp;address.CountryID=3&amp;amp;Nationality=*&amp;amp;gender.TermID=2027998&amp;amp;process.TermID=*&amp;amp;role.TermID=*&amp;amp;format.TermID=*&amp;amp;biography.TermID=*&amp;amp;collection.TermID=*&amp;amp;bbox=*&amp;amp;DisplayName=*&amp;amp;Date=*&quot;&gt; find female photographers with studios in particular countries&lt;/a&gt;, learn about the world’s &lt;a href=&quot;http://pic.nypl.org/map/?address.AddressTypeID=7&amp;amp;address.CountryID=*&amp;amp;Nationality=*&amp;amp;gender.TermID=*&amp;amp;process.TermID=*&amp;amp;role.TermID=2028040&amp;amp;format.TermID=*&amp;amp;biography.TermID=*&amp;amp;collection.TermID=*&amp;amp;bbox=*&amp;amp;DisplayName=*&amp;amp;Date=[1687%20TO%201850]&quot;&gt; earliest photographers&lt;/a&gt;, and find photographers in the most unlikely places…&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;Moon&quot; title=&quot;Moon&quot; class=&quot;media-element file-default&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/moon screenshot.png&quot; /&gt;

&lt;/p&gt;&lt;p&gt;Often PIC has a lot of information or can point you to sources that do, but there may be errors or missing information. If you have suggestions or corrections, let us know through the Feedback form. If you’re a museum, library, historical society or other public collection and would like to let us know what photographers you’ve got, talk to us. If you’re a scholar or historian with names and locations of photographers and studios—particularly in under-represented areas—we’d love to hear from you, too!&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Berenice Abbott screenshot&quot; class=&quot;media-element file-default&quot; height=&quot;388&quot; src=&quot;//www.nypl.org/sites/default/files/Abbott%20Screenshot.png&quot; title=&quot;Berenice Abbott screenshot&quot; width=&quot;680&quot; /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;
</description>
  <category>Library Catalogs</category>
  <comments>https://www.nypl.org/blog/2016/03/25/introducing-pic#comments</comments>
  <pubDate>Fri, 25 Mar 2016 14:27:36 -0400</pubDate>
</item>
<item>
  <title>Emigrant City: A Collaborative Resource</title>
  <link>https://www.nypl.org/blog/2016/03/07/emigrant-city-collaborative-resource</link>
  <dc:creator>Willa Armstrong</dc:creator>
  <description>&lt;p&gt;&lt;a href=&quot;http://emigrantcity.nypl.org/#/about&quot;&gt;Emigrant City&lt;/a&gt;, a project for transcribing 19th and early 20th century real estate records from the Emigrant Savings Bank, launched last November. As the Library’s newest participatory project, we were excited to share it and are even more excited about the support and contributions of the last four months. There have over &lt;strong&gt;475,000&lt;/strong&gt; contributions by over &lt;strong&gt;5,000 &lt;/strong&gt;participants! Those are impressive numbers! A hearty thanks to all the remarkable participants collaborating on this project!&lt;/p&gt;

&lt;p&gt;The work of accurately transcribing these historic mortgage records is broken into three tasks. With every box drawn in Mark, entry made in Transcribe, and vote cast in Verify, that contribution count grows and we rapidly approach the end goal of a complete, searchable index of names and mortgage details. &lt;/p&gt;

&lt;p&gt;
  &lt;img alt=&quot;Record Browse Screenshot&quot; title=&quot;Sample Record View&quot; height=&quot;252&quot; width=&quot;350&quot; style=&quot;float:left&quot; class=&quot;media-element file-default&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/ECBrowse.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;As of this week, contributors have identified some 9,370 records. It’s time to start sharing these records! We’ve built an interface for you to &lt;a href=&quot;http://emigrantcity.nypl.org/#/data&quot;&gt;browse the records&lt;/a&gt; after searching names, addresses, and other fields. If you’re eager to find your great-great-uncle or the former owner of your apartment building, our &lt;a href=&quot;http://emigrantcity.nypl.org/#/data/tips&quot;&gt;Tips &amp;amp; Tricks&lt;/a&gt; page will get you started.&lt;/p&gt;

&lt;p&gt;You can also &lt;a href=&quot;http://emigrantcity.nypl.org/#/data/download&quot;&gt;download a bulk data set&lt;/a&gt; of all the project data in JSON format. Remember, with your help this resource is still growing! You can still contribute to the project by &lt;a href=&quot;http://emigrantcity.nypl.org/#/transcribe&quot;&gt;transcribing&lt;/a&gt; and &lt;a href=&quot;http://emigrantcity.nypl.org/#/verify&quot;&gt;verifying&lt;/a&gt; data. The browsable and downloadable records will be refreshed weekly with new contributions as we continue to complete the dataset.&lt;/p&gt;

&lt;p&gt;This resource is only possible with your help. In addition to building the records available to browse, your contributions informed the design and format of these records and the project. Frequently asked questions, such as how to deal with multiple mortgage numbers on one record, have helped hone help text and clarify the process for the next volunteer. (If you do come across multiple mortgage numbers, mark them each individually!) If you’re interested to hear more about how the project was built, read Paul Beaudoin’s &lt;a href=&quot;http://www.nypl.org/blog/2015/11/23/scribe-framework-community-transcription&quot;&gt;post on Scribe&lt;/a&gt;, the new framework powering Emigrant City.  Thanks again for lending and hand and working with us. We hope you enjoy perusing the records you’ve helped create.&lt;/p&gt;

&lt;h2&gt;Additional Resources&lt;/h2&gt;

&lt;p&gt;Emigrant City provides a resource for discovering individual records. The entire physical collection is accessible at the Library&#039;s &lt;a href=&quot;http://archives.nypl.org/mss/925&quot;&gt;Archives &amp;amp; Manuscripts&lt;/a&gt; portal, and digitized materials are available for exploration and download on our &lt;a href=&quot;http://digitalcollections.nypl.org/collections/emigrant-savings-bank-records#/?tab=about&quot;&gt;Digital Collections&lt;/a&gt; website (including the records indexed in Emigrant City.) The Library also provides on-site access to &lt;a href=&quot;http://www.nypl.org/collections/articles-databases/ancestry-library-edition&quot;&gt;Ancestry Library Edition&lt;/a&gt; which includes digitized resources from the Deposit-Account Ledger, Index Book, Test Books, and Transfer, Signature, and Test Books of the New York Emigrant Savings Bank records from 1850-1883.&lt;/p&gt;
</description>
  <category>Genealogy</category>
  <comments>https://www.nypl.org/blog/2016/03/07/emigrant-city-collaborative-resource#comments</comments>
  <pubDate>Mon, 07 Mar 2016 14:59:35 -0500</pubDate>
</item>
<item>
  <title>Nomadic Classification: Classmark History and New Browsing Tool</title>
  <link>https://www.nypl.org/blog/2016/01/27/nomadic-classification-billi</link>
  <dc:creator>Matt Miller, NYPL Labs</dc:creator>
  <description>&lt;p&gt;In the past few months,  &lt;a href=&quot;http://labs.nypl.org&quot;&gt;NYPL Labs &lt;/a&gt;has embarked upon a series of investigations into how legacy classification systems at the library can be used to generate new data and power additional forms of discovery. What follows is some background on the project and some of the institutional context that has prompted these examinations. One of the tools we’re introducing here is “&lt;a href=&quot;http://billi.nypl.org/&quot;&gt;BILLI:  Bibliographic Identifiers for Library Location Information&lt;/a&gt;;” read on for more background, and be sure to try the tool out for yourself.&lt;/p&gt;

&lt;blockquote&gt;
	&lt;div&gt;
		&lt;p&gt;Then there is a completely other type of distribution or hierarchy which must be called nomadic, a nomad nomos, without property, enclosure or measure. Here, there is no longer a division of that which is distributed but rather a division among those who distribute themselves in an open space — a space which is unlimited, or at least without precise limits… Even when it concerns the serious business of life, it is more like a space of play, or a rule of play… To fill a space, to be distributed within it, is very different from distributing the space. &lt;em&gt;—Gilles Deleuze, Difference &amp;amp; Repetition&lt;/em&gt;
	&lt;/p&gt;&lt;/div&gt;
&lt;/blockquote&gt;

&lt;p&gt;Classification, the basic process of categorization, is simple in theory but becomes complex in practice. Examples of classification can be seen all around us, from the practical use of organizing the food found in your local grocery store into aisles, to the very specialized &lt;a href=&quot;https://en.wikipedia.org/wiki/Taxonomy_(biology)&quot; rel=&quot;nofollow&quot;&gt;taxonomy&lt;/a&gt; system that separates the hundreds of different species of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tardigrade&quot; rel=&quot;nofollow&quot;&gt;micro-animal Tardigrada&lt;/a&gt;. At their core these various systems of categorization are simply based on good faith judgments. Whoever organized your local grocery thought: “Cookies seem pretty similar to crackers, I will put them together in the same aisle.”&lt;/p&gt;

&lt;p&gt;A similar, but more evidence based process developed the system that categorizes hundreds of thousands of biological species. Classification systems are usually logical but are inherently arbitrary. Uniform application of classification is what makes a system useful. Yet, uniformity is difficult to maintain over long periods of time. Institutional focus shifts, the meaning of words drift, and even our culture itself changes when measuring time in decades. Faced with these challenges, in the age of barcodes, databases, and networks, the role of traditional classification systems are not diminished but could benefit by thinking how they could practically leverage this new environment.&lt;/p&gt;

&lt;div&gt;&lt;em&gt;**Nerd Alert! If 19th century classification history is not your thing you might want to skip to &lt;a href=&quot;#alinkedspace&quot;&gt;A Linked Space&lt;/a&gt;.**&lt;/em&gt;&lt;/div&gt;

&lt;div&gt;
	&lt;h2&gt;Problem Space&lt;/h2&gt;

	&lt;p&gt;Libraries are founded on the principle of classification, the most common and well known form being the call number. This is the code that appears on the spine of a book keeping track of where it should be stored and usually the subject of its content. The most well known form of call number is, of course, the iconic &lt;a href=&quot;https://en.wikipedia.org/wiki/Dewey_Decimal_Classification&quot; rel=&quot;nofollow&quot;&gt;Dewey Decimal System&lt;/a&gt;. But there are many other systems employed by libraries due to the nature of the resources being organized and the strengths and weaknesses of a specific classification system. Just as there is no single tool for every job there is no universal system for classification.&lt;/p&gt;

	&lt;p&gt;The New York Public Library is a good example of that realization as seen in the adoption of multiple call number systems over its 120-year history. The very first system used at the library was developed in 1899 by NYPL’s first president, &lt;a href=&quot;https://en.wikipedia.org/wiki/John_Shaw_Billings&quot; rel=&quot;nofollow&quot;&gt;John Shaw Billings&lt;/a&gt;. He wanted to develop a system that could efficiently organize the materials being stored in the library’s soon-to-open main branch, the &lt;a href=&quot;http://www.nypl.org/about/locations/schwarzman/visitor-guide&quot;&gt;Stephen A. Schwarzman building&lt;/a&gt;. In fact, Billings also contributed to how the new main building should be physically designed:&lt;/p&gt;

	&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
		&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;510d47da-ea1f-a3d9-e040-e00a18064a99&quot; href=&quot;http://digitalcollections.nypl.org/items/510d47da-ea1f-a3d9-e040-e00a18064a99&quot;&gt;&lt;img alt=&quot;John Shaw Billings, sketch of the main building layout &quot; data-id=&quot;465480&quot; src=&quot;https://images.nypl.org/index.php?id=465480&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

			&lt;figcaption class=&quot;digcol-caption&quot;&gt;John Shaw Billings, sketch of the main building layout. Image ID: 465480&lt;/figcaption&gt;
		&lt;/figure&gt;
	&lt;/div&gt;

	&lt;p&gt;The classification scheme he came up with, known as the Billings system, could be thought of as a reflection the physical layout of the main branch circa 1911. Billings was very practical in the description of his creation, writing:&lt;/p&gt;

	&lt;blockquote&gt;
		&lt;p&gt;Upon this classification it may be remarked that it is not a copy of any classification used elsewhere; that it is not especially original; that is is not logical so far as the succession of different departments in relation to the operations of the human mind is concerned; that it is not recommended for any other library, and that no librarian of another library would approve of it.&lt;/p&gt;
	&lt;/blockquote&gt;

	&lt;p&gt;The system groups materials together by assigning each area of research a letter, A-Z (minus the letter J, more on that later). This letter, the first part of the call number, is known as a classmark.&lt;/p&gt;

	&lt;p&gt;For example, books cataloged under this system that are Biographies would have the first letter of their classmark, “A”. History is “B”, Literature is “N”, and so on through “Z”, which is Religion. More letters can be added to denote more specific areas within that subject. For example, “ZH” is about Ritual and Liturgy and “ZHW” is more specifically about Ancient and Medieval Ritual and Liturgy.&lt;/p&gt;

	&lt;p&gt;While this system was used to classify the materials held in the main branch’s stacks, there were also materials held in the reading rooms or special collections around the building. To organize these materials, he reused the same system but added an asterisk in front of the letter to make what he called the star groups — i.e., a classmark starting with a “K” is about Geography, but “*K” is a resource kept in the Rare Books division though not necessarily about Geography. With these star groups,  the Billings system became a conflation of a subject, location, and material-based systems. This overview document gives a good idea of the large range classification that the Billings system covered:&lt;/p&gt;

	&lt;div style=&quot;text-align:center&quot;&gt;
		&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Top level Billings classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_all_billings.png&quot; style=&quot;width:50%; height:auto&quot; /&gt;
			&lt;figcaption&gt;Top level Billings classmarks&lt;/figcaption&gt;
		&lt;/figure&gt;
	&lt;/div&gt;

	&lt;p&gt;&lt;br /&gt;
		In the 1950s, the uptick in the acquisition of materials made the Billings system too inefficient to quickly catalog materials. While parts of the Billing system continued being used, even through to today, a general shift to a new fixed order system was made in 1956 and then refined in 1970.&lt;/p&gt;

	&lt;p&gt;The idea behind the fixed order systems is to group materials together by size to most efficiently store them. The library decided that discovery of materials could be achieved not by the classmark but by the resource’s subject headings. Subject headings are added to the record while it is being cataloged and provide a vector of discovery if the same subjects are uniformly applied.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;In the United States the most common vocabulary of subject headings is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Library_of_Congress_Subject_Headings&quot; rel=&quot;nofollow&quot;&gt;Library of Congress Subject Headings&lt;/a&gt;. Enabling resource  discovery through subject headings obviates the need for call numbers to organize materials. The call number can just be an identifier to physically locate the resource. The first fixed order system grouped items only by size:&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Old fixed order system classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_old_fixed_order.png&quot; style=&quot;width:50%; height:auto&quot; /&gt;
		&lt;figcaption&gt;Old fixed order system classmarks&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;The call numbers would look something like “B-10 200”, meaning it was the 200th 17cm monograph cataloged. This system was refined in 1970 to included a bit more contextual information about what the materials were about:&lt;/p&gt;

&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Revised fixed order system classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_new_fixed_order.png&quot; style=&quot;width:50%; height:auto&quot; /&gt;
	&lt;figcaption&gt;Revised fixed order system classmarks&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Since the J letter was previously unused in the Billing system it was used here as a prefix to the size system to add more context to the fixed order classification. For example, a “JFB 00-200” means it is still a 17cm monograph but is generally about the Humanities &amp;amp; Social Sciences.&lt;/p&gt;

&lt;p&gt;While this fixed order system is used for the majority of the monographs acquired by the library there are special collections in the &lt;a href=&quot;http://www.nypl.org/research-divisions/&quot;&gt;research divisions&lt;/a&gt; that use their own call number systems. Resources like &lt;a href=&quot;http://archives.nypl.org&quot;&gt;archival collections&lt;/a&gt; or &lt;a href=&quot;http://wallachprintsandphotos.nypl.org/&quot;&gt;prints and photographs&lt;/a&gt; have records in the catalog that help locate them in their own division. For example, archival collections often have a call number that starts with “&lt;a href=&quot;https://catalog.nypl.org/search~S1/?searchtype=c&amp;amp;searcharg=MssCol&amp;amp;searchscope=1&amp;amp;sortdropdown=-&amp;amp;SORT=D&amp;amp;extended=0&amp;amp;SUBMIT=Search&quot;&gt;MssCol&lt;/a&gt;” while rare books at the Schomburg Center start with “&lt;a href=&quot;https://catalog.nypl.org/search~S1/?searchtype=c&amp;amp;searcharg=Sc%20Rare&amp;amp;searchscope=1&amp;amp;sortdropdown=-&amp;amp;SORT=D&amp;amp;extended=1&amp;amp;SUBMIT=Search&amp;amp;searchlimits=&amp;amp;searchorigarg=cSc%20Rare&quot;&gt;Sc Rare&lt;/a&gt;”. This final diverse category of classification at NYPL drives home the obvious problem: the sheer number of classification systems at work reduces the call number to an esoteric identifier—especially for obsolete and legacy systems—useful to only the most veteran staff member. These identifiers have great potential to develop new avenues of discovery if they can be leveraged.&lt;/p&gt;

&lt;h2&gt;&lt;a id=&quot;alinkedspace&quot; name=&quot;alinkedspace&quot;&gt;&lt;/a&gt;A Linked Space&lt;/h2&gt;

&lt;p&gt;An ambitious 19th-century librarian faced with this problem might come up with a simple solution: Let’s invent a new classification system that incorporates all these various types of call numbers into one centralized system. With the emergence of &lt;a href=&quot;https://en.wikipedia.org/wiki/Linked_data&quot; rel=&quot;nofollow&quot;&gt;linked data&lt;/a&gt; in library metadata practice, however, when relationships between resources are gaining increased importance, a 21st-century librarian has an even better idea: Let’s link everything together!&lt;/p&gt;

&lt;p&gt;In most existing library metadata systems, the call number is a property of the record; it is a field in the metadata that helps to describe the resource. The linked data alternative is to make the classmark its own entity and give it an identifier (&lt;a href=&quot;https://en.wikipedia.org/wiki/Uniform_Resource_Identifier&quot; rel=&quot;nofollow&quot;&gt;URI&lt;/a&gt;), which allows us to describe the classmark and start making statements about it. This is nothing new in the library linked data world; the &lt;a href=&quot;http://id.loc.gov&quot; rel=&quot;nofollow&quot;&gt;Library of Congress&lt;/a&gt; for example, started doing this for some of their vocabularies (including some LCC classmarks) years ago. But to accomplish this task at NYPL it took a combination of technical work, institutional knowledge sleuthing, and a lot of data cleanup.&lt;/p&gt;

&lt;p&gt;The first step is to simply get a handle on what classmarks are in use at the library. By aggregating over 24 million catalog records and identifying the unique classmarks, we are able to create a dataset that contains all possible classmarks at the library. This new bottom-up approach to our call number data enables the next step of organization and description.&lt;/p&gt;

&lt;p&gt;Institutional knowledge is hard to retain over 120 years of history. It takes the form of old documents and outdated technical memos. The Billings classification was first documented in a schedule (a monograph book) that lists each classmark and its meaning. Some of these original bound resources are still around the library and have gone through their own data migration journey.&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Revised fixed order system classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_book.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
		&lt;figcaption&gt;Page from the bound Billings schedule&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;While the bound books are still in use today, most with copious marginalia, over the years this resource was converted to a typed document and then converted into the digital realm in the form of a MS Word document. This data was stewarded by our colleagues in &lt;a href=&quot;http://bookops.org&quot; rel=&quot;nofollow&quot;&gt;BookOps&lt;/a&gt; who are the authority for cataloging at NYPL. We took this data and converted it into an &lt;a href=&quot;https://en.wikipedia.org/wiki/Simple_Knowledge_Organization_System&quot; rel=&quot;nofollow&quot;&gt;RDF SKOS&lt;/a&gt; vocabulary and reconciled it with the raw classmark data aggregated from the catalog. This new dataset is comprehensive because it aligns what classmarks are supposed to be in use, from the documentation, with what is actually in use, from the data aggregation. Each classmark now has its own URI persistent identifier which we can begin making statements about:&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Example triple statements for *H classmark (Libraries)&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_triples.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
		&lt;figcaption&gt;Example triple statements for *H classmark - Libraries&lt;/figcaption&gt;
	&lt;/figure&gt;
	This confusing looking jumble of text is a bunch of &lt;a href=&quot;https://en.wikipedia.org/wiki/Resource_Description_Framework&quot; rel=&quot;nofollow&quot;&gt;RDF triples&lt;/a&gt; in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Turtle_(syntax)&quot; rel=&quot;nofollow&quot;&gt;Turtle Syntax&lt;/a&gt; talking about the *H (Libraries) classmark. It is describing the name of the classmark, the type of classmark it is, what narrower classmarks are related to it, how many resources use it in the catalog and some mappings to other classifications systems among other data. Now that we have all the classmarks in a highly structured semantic data model we can publish all these statements and start doing even more interesting things with them.&lt;/div&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;BILLI Home page&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_billi_homepage.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
		&lt;figcaption&gt;BILLI Home page&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;div&gt;
	&lt;p&gt;All of these statements about our classmarks are hosted on a system we are calling &lt;a href=&quot;http://billi.nypl.org/&quot;&gt;BILLI:  Bibliographic Identifiers for Library Location Information&lt;/a&gt;, an homage to NYPL’s mustachioed first president John Shaw Billings.&lt;/p&gt;

	&lt;p&gt;The BILLI system allows you to explore the classmarks in use at the library, traverse the hierarchies, and link out to resources in the catalog. But the real power of having our classmark information in this linked data form is the ability to start building relationships by creating new data statements.&lt;/p&gt;

	&lt;p&gt;A logged in staff member can add notes or change the description of a classmark but, more importantly, is able to start linking to other linked data resources. Right now, staff members are able to connect our classmarks to &lt;a href=&quot;http://wikidata.org&quot; rel=&quot;nofollow&quot;&gt;Wikidata&lt;/a&gt; and &lt;a href=&quot;http://wiki.dbpedia.org/&quot; rel=&quot;nofollow&quot;&gt;DBpedia&lt;/a&gt;, two linked data sources connected to Wikipedia:&lt;/p&gt;

	&lt;div style=&quot;text-align:center&quot;&gt;
		&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Staff interface for mapping classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_connect.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
			&lt;figcaption&gt;Staff interface for mapping classmarks&lt;/figcaption&gt;
		&lt;/figure&gt;
	&lt;/div&gt;
	&lt;br /&gt;
	The system auto-suggests some possible connections, here for the *H Library classmark, and the staff member can select or search for a more appropriate entity. Once connected, we pull in some basic information to enrich the classmark page:&lt;/div&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Classmarks page displaying external data&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_library.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
		&lt;figcaption&gt;Classmarks page displaying external data&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;&lt;br /&gt;
	As well as the the mapping relations:&lt;/p&gt;

&lt;div style=&quot;text-align:center&quot;&gt;
	&lt;figure class=&quot;caption caption caption&quot;&gt;&lt;img alt=&quot;Staff interface for mapping classmarks&quot; src=&quot;//www.nypl.org/sites/default/files/billi_blog_mapping.png&quot; style=&quot;width:75%; height:auto&quot; /&gt;
		&lt;figcaption&gt;New mapping relationships created&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;Now that a link has been established we can use the metadata found in those &lt;a href=&quot;https://www.wikidata.org/wiki/Q7075&quot; rel=&quot;nofollow&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://dbpedia.org/page/Library&quot; rel=&quot;nofollow&quot;&gt;sources&lt;/a&gt; in our own discovery system and even apply some of it to the resources in our catalog that use this classmark. While the system is currently only able to build these connections with Wikidata/DBpedia, we can explore other resources that it would make sense to map to and expand the network to library and non-library based linked data sources.&lt;/p&gt;

&lt;p&gt;While these classmark pages are here for us humans to interact with, computers can also “read” these pages automatically as they are machine readable through &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_negotiation&quot; rel=&quot;nofollow&quot;&gt;content negotiation&lt;/a&gt;. To a computer requesting *H data, the page would appear like this: &lt;a href=&quot;http://billi.nypl.org/classmark/*H/nt&quot;&gt;http://billi.nypl.org/classmark/*H/nt&lt;/a&gt;

&lt;/p&gt;&lt;h2&gt;A Space of Play&lt;/h2&gt;

&lt;p&gt;If classification is arbitrary it is true there are a number of other systems that the library’s materials could be organized under. The only limitation is that it would be cost prohibitive to apply a new system to millions of resources. But in this virtual space, existing and even newly-invented systems can be easily overlaid and applied to our materials.&lt;/p&gt;

&lt;p&gt;The first classmarks listed on &lt;a href=&quot;http://billi.nypl.org/&quot;&gt;BILLI&lt;/a&gt; are grouped under “LCC Range.” This classmark system is based on the existing &lt;a href=&quot;https://www.loc.gov/catdir/cpso/lcco/&quot; rel=&quot;nofollow&quot;&gt;Library of Congress Classification&lt;/a&gt;, a system which has historically not been used at NYPL. LCC is traditionally used at most research libraries, but because NYPL used the Billings and then Fixed Order systems it was never adopted here. Due to new linked data services, however, we were able to retroactively reclassify our entire catalog with LCC classmarks.&lt;/p&gt;

&lt;p&gt;Using &lt;a href=&quot;http://classify.oclc.org/classify2/&quot; rel=&quot;nofollow&quot;&gt;OCLC’s Classify&lt;/a&gt;—a service that returns aggregate data about a resource from all institutions in the OCLC consortium—we are able to find out a resource’s LCC classmark from other libraries that holds the same title. While we were not able to match 100% of our resources to a Classify result we were able to apply a significant number of LCC classmarks to our materials.&lt;/p&gt;

&lt;p&gt;Of the materials for which we were unable to obtain a LCC, we can use some simple statistics to draw concordances between Billings and LCC. For example, if we have enough resources that have the same LCC and Billings classmark we can assume that the two are equivalent and apply that LCC to all the materials with that Billings classmark. One caveat is that LCC numbers can be very specific in their classification, much more so than Billings. What we need to do in order to map Billings to LCC is create more generalized, or coarser, LCC classmarks.&lt;/p&gt;

&lt;p&gt;To accomplish this &lt;a href=&quot;https://github.com/thisismattmiller/lcc-pdf-to-json&quot; rel=&quot;nofollow&quot;&gt;we parsed&lt;/a&gt; the freely available &lt;a href=&quot;http://www.loc.gov/aba/publications/FreeLCC/freelcc.html&quot; rel=&quot;nofollow&quot;&gt;PDF LCC outlines&lt;/a&gt; found online into a new dataset with each classmark representing a large range of LCC numbers. Using this invented, yet still related, LCC range classmark we can map our Billings classmarks to their coarse LCC equivalents. Now, a researcher who is perhaps more familiar with LCC can easily navigate to corresponding Billings resources.&lt;/p&gt;

&lt;p&gt;The LCC range classmark example represents an exciting opportunity to organize our materials in new ways within a virtual space. In this networked environment classification shifts from rigid hierarchy to a fluid interconnected mappings—the difference between dividing space and filling it.&lt;/p&gt;
</description>
  <category>Books and Libraries</category>
  <comments>https://www.nypl.org/blog/2016/01/27/nomadic-classification-billi#comments</comments>
  <pubDate>Wed, 27 Jan 2016 14:58:19 -0500</pubDate>
</item>
<item>
  <title>Free for All: NYPL Enhances Public Domain Collections For Sharing and Reuse</title>
  <link>https://www.nypl.org/blog/2016/01/05/share-public-domain-collections</link>
  <dc:creator>Shana Kimball</dc:creator>
  <description>&lt;p dir=&quot;ltr&quot;&gt;&lt;img alt=&quot;Explore NYPL&amp;amp;#039;s Public Domain Collections&quot; class=&quot;media-element file-default&quot; data-file_info=&quot;%7B%22fid%22:%22293823%22,%22view_mode%22:%22default%22,%22fields%22:%7B%22format%22:%22default%22,%22field_file_image_alt_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Explore%20NYPL&#039;s%20Public%20Domain%20Collections%22,%22field_file_image_title_text%5Bund%5D%5B0%5D%5Bvalue%5D%22:%22Explore%20NYPL&#039;s%20Public%20Domain%20Collections%22%7D,%22type%22:%22media%22%7D&quot; src=&quot;/sites/default/files/pd_banner_magnified_3.png&quot; title=&quot;Explore NYPL&amp;amp;#039;s Public Domain Collections&quot; width=&quot;360&quot; /&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;Today we are proud to announce that out-of-copyright materials in &lt;a href=&quot;http://digitalcollections.nypl.org&quot;&gt;NYPL Digital Collections&lt;/a&gt; are now available as high-resolution downloads. No permission required, no hoops to jump through: just go forth and reuse! &lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;The release of more than 180,000 digitized items represents both a simplification and an enhancement of digital access to a trove of unique and rare materials: a removal of administration fees and processes from public domain content, and also improvements to interfaces — popular and technical — to the digital assets themselves. Online users of the &lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;NYPL Digital Collections&lt;/a&gt; website will find more prominent download links and filters highlighting restriction-free content; while more technically inclined users will also benefit from updates to the &lt;a href=&quot;http://api.repo.nypl.org&quot;&gt;Digital Collections API&lt;/a&gt; enabling bulk use and analysis, as well as data exports and utilities posted to &lt;a href=&quot;https://github.com/NYPL-publicdomain/data-and-utilities&quot;&gt;NYPL&#039;s GitHub account&lt;/a&gt;. These changes are intended to facilitate sharing, research and reuse by scholars, artists, educators, technologists, publishers, and Internet users of all kinds. All subsequently digitized public domain collections will be made available in the same way, joining a growing repository of open materials.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;To encourage novel uses of our digital resources, we are also now accepting applications for a new &lt;a href=&quot;/help/about-nypl/fellowships-institutes/remix&quot;&gt;Remix Residency&lt;/a&gt; program. Administered by the Library&#039;s digitization and innovation team, &lt;a href=&quot;http://labs.nypl.org&quot;&gt;NYPL Labs&lt;/a&gt;, the residency is intended for artists, information designers, software developers, data scientists, journalists, digital researchers, and others to make transformative and creative uses of digital collections and data,and the public domain assets in particular. Two projects will be selected, receiving financial and consultative support from Library curators and technologists.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;To provide further inspiration for reuse, the NYPL Labs team has also released several demonstration projects delving into specific collections, as well as a &lt;a href=&quot;http://publicdomain.nypl.org/pd-visualization/&quot;&gt;visual browsing tool&lt;/a&gt; allowing users to explore the public domain collections at scale. These projects, which suggest just a few of the myriad investigations made possible by fully opening these collections, include:&lt;/p&gt;

&lt;ul dir=&quot;ltr&quot;&gt;
	&lt;li&gt;a &quot;&lt;a href=&quot;http://publicdomain.nypl.org/mansion-maniac/&quot;&gt;mansion builder&lt;/a&gt;&quot; game, exploring floor plans of grand turn-of-the-century New York apartments; &lt;/li&gt;
	&lt;li&gt;a &lt;a href=&quot;http://publicdomain.nypl.org/fifth-avenue/&quot;&gt;then-and-now comparison of New York&#039;s Fifth Avenue&lt;/a&gt;, juxtaposing 1911 wide angle photographs with Google Street View; and&lt;/li&gt;
	&lt;li&gt;a &lt;a href=&quot;http://publicdomain.nypl.org/greenbook-map/&quot;&gt;&quot;trip planner&quot;&lt;/a&gt; using locations extracted from mid-20th century motor guides that listed hotels, restaurants, bars, and other destinations where Black travelers would be welcome.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The public domain release spans the breadth and depth of NYPL&#039;s holdings, from the Library&#039;s rich New York City collection, historic maps, botanical illustrations, unique manuscripts, photographs, ancient religious texts, and more. Materials include:&lt;/p&gt;

&lt;ul dir=&quot;ltr&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/changing-new-york#/?tab=about&quot;&gt;Berenice Abbott&#039;s iconic documentation of 1930s New York for the Federal Art Project&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/e5462600-c5d9-012f-a6a3-58d385a7bc34#/?tab=navigation&quot;&gt;Farm Security Administration photographs&lt;/a&gt; by Walker Evans, Dorothea Lange, Gordon Parks, and others&lt;/li&gt;
	&lt;li&gt;Manuscripts of American literary masters like&lt;a href=&quot;http://digitalcollections.nypl.org/collections/walt-whitman-papers-1854-1892#/?tab=about&quot;&gt; Walt Whitman&lt;/a&gt;,&lt;a href=&quot;http://digitalcollections.nypl.org/collections/henry-david-thoreau-papers-1837-1917-bulk-1837-1860#/?tab=about&quot;&gt; Henry David Thoreau&lt;/a&gt;, and&lt;a href=&quot;http://digitalcollections.nypl.org/collections/nathaniel-hawthorne-collection-of-papers-1694-1931-bulk-1817-1864#/?tab=about&quot;&gt; Nathaniel Hawthorne&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Papers and correspondence of founding American political figures like &lt;a href=&quot;http://digitalcollections.nypl.org/collections/alexander-hamilton-papers#/?tab=about&quot;&gt;Alexander Hamilton&lt;/a&gt;, &lt;a href=&quot;http://digitalcollections.nypl.org/collections/thomas-jefferson-papers#/?tab=about&quot;&gt;Thomas Jefferson&lt;/a&gt;, and &lt;a href=&quot;http://digitalcollections.nypl.org/collections/james-madison-papers#/?tab=about&quot;&gt;James Madison&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/american-popular-songs#/?tab=navigation&amp;amp;roots=8:cc8d3f10-c592-012f-079d-58d385a7bc34&quot;&gt;Sheet music for popular American songs&lt;/a&gt; at the turn of the 20th century&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/works-progress-administration-wpa-art#/?tab=about&quot;&gt;WPA-era lithographs, etchings, and pastels by African American artists&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/b039b670-c608-012f-8f64-58d385a7bc34#/?tab=about&quot;&gt;Lewis Hine&#039;s photographs of Ellis Island immigrants and social conditions in early 20th century America&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/photographs-of-british-algae-cyanotype-impressions#/?tab=about&quot;&gt;Anna Atkins&#039; cyanotypes of British algae&lt;/a&gt;, the first recorded photographic work by a woman (1843)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/607c2c10-c6b4-012f-8cbf-3c075448cc4b#/?tab=navigation&quot;&gt;Handscrolls of the Tale of Genji, created in 1554&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/medieval-and-renaissance-illuminated-manuscripts-from-western-europe#/?tab=about&quot;&gt;Medieval and Renaissance illuminated manuscripts from Western Europe&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Over 20,000 maps and atlases documenting &lt;a href=&quot;http://digitalcollections.nypl.org/collections/de1dcfb0-c5f6-012f-1dfc-58d385a7bc34#/?tab=about&quot;&gt;New York City&lt;/a&gt;, &lt;a href=&quot;http://digitalcollections.nypl.org/collections/5cd94760-c52a-012f-bcd4-3c075448cc4b#/?tab=about&quot;&gt;North America&lt;/a&gt;, and &lt;a href=&quot;http://digitalcollections.nypl.org/collections/6a373d50-c5d3-012f-a6fb-58d385a7bc34#/?tab=about&quot;&gt;the world&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/robert-n-dennis-collection-of-stereoscopic-views#/?tab=about&amp;amp;roots=5302e210-c52e-012f-4579-58d385a7bc34/536296d0-c52e-012f-406b-58d385a7bc34&quot;&gt;More than 40,000 stereoscopic views&lt;/a&gt; documenting all regions of the United States&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We&#039;ve made it easier than ever to search, browse, and download public domain items in Digital Collections. This video shows you how:&lt;/p&gt;

&lt;div id=&quot;fb-root&quot;&gt; &lt;/div&gt;
&lt;script&gt;
&lt;!--//--&gt;&lt;![CDATA[// &gt;&lt;!--
(function(d, s, id) {  var js, fjs = d.getElementsByTagName(s)[0];  if (d.getElementById(id)) return;  js = d.createElement(s); js.id = id;  js.src = &quot;//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.3&quot;;  fjs.parentNode.insertBefore(js, fjs);}(document, &#039;script&#039;, &#039;facebook-jssdk&#039;));
//--&gt;&lt;!]]&gt;
&lt;/script&gt;

&lt;div class=&quot;fb-video&quot; data-allowfullscreen=&quot;1&quot; data-href=&quot;/nypl/videos/vb.21557622350/10153868083397351/?type=3&quot;&gt;
	&lt;div class=&quot;fb-xfbml-parse-ignore&quot;&gt;
		&lt;blockquote cite=&quot;https://www.facebook.com/nypl/videos/10153868083397351/&quot;&gt;&lt;a href=&quot;https://www.facebook.com/nypl/videos/10153868083397351/&quot;&gt;Explore the Public Domain&lt;/a&gt;&lt;/blockquote&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;p dir=&quot;ltr&quot;&gt;Visit &lt;a href=&quot;http://nypl.org/publicdomain&quot;&gt;nypl.org/publicdomain&lt;/a&gt; for information about the materials related to the public domain update and links to all of the projects demonstrating creative reuse of public domain materials. Go forth, and reuse!&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;&lt;em&gt;Have you been inspired by or created new works by re-using items in NYPL’s Digital Collections? We would love to hear about your work! Please share it with us using #nyplremix or by email at &lt;a href=&quot;mailto:digitalcollections@nypl.org&quot;&gt;digitalcollections@nypl.org&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
  <category>Image Collections</category>
  <comments>https://www.nypl.org/blog/2016/01/05/share-public-domain-collections#comments</comments>
  <pubDate>Tue, 05 Jan 2016 18:07:46 -0500</pubDate>
</item>
<item>
  <title>Scribe: Toward a General Framework for Community Transcription</title>
  <link>https://www.nypl.org/blog/2015/11/23/scribe-framework-community-transcription</link>
  <dc:creator>Paul Beaudoin</dc:creator>
  <description>&lt;p&gt;A couple of weeks ago, &lt;a href=&quot;http://labs.nypl.org&quot;&gt;NYPL Labs&lt;/a&gt; was very excited to release &lt;a href=&quot;http://emigrantcity.nypl.org/&quot;&gt;Emigrant City&lt;/a&gt;, the Library&#039;s latest effort to unlock the data found within our collections.&lt;/p&gt;

&lt;p&gt;But Emigrant City is a bit different from the other projects we’ve released in one very important way: this one is built on top of a totally new framework called &lt;a href=&quot;http://scribeproject.github.io/&quot; rel=&quot;nofollow&quot;&gt;Scribe&lt;/a&gt;, built in collaboration with &lt;a href=&quot;http://zooniverse.org&quot; rel=&quot;nofollow&quot;&gt;Zooniverse&lt;/a&gt; and funded by a grant from the &lt;a href=&quot;http://www.neh.gov/divisions/odh&quot; rel=&quot;nofollow&quot;&gt;NEH Office of Digital Humanities&lt;/a&gt; along with funds from the University of Minnesota. Scribe is the codebase working behind the scenes to support this project.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Screenshot of scribeproject.github.io&quot; class=&quot;media-element file-default&quot; height=&quot;503&quot; src=&quot;https://www.nypl.org/sites/default/files/scribe_1.jpg&quot; title=&quot;ScribeProject.github.io&quot; width=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;What is Scribe?&lt;/h2&gt;

&lt;p&gt;Scribe is a highly configurable, open-source framework for setting up community transcription projects around handwritten or OCR-resistant texts. Scribe provides the foundation of code for a developer to configure and launch a project far more easily than if starting from scratch.&lt;/p&gt;

&lt;p&gt;NYPL Labs R&amp;amp;D has built a few community transcription apps over the years. In general, these applications are custom built to suit the material. But Scribe prototypes a way to describe the essential work happening at the center of those projects. With Scribe, we propose a rough grammar for describing materials, workflows, tasks, and consensus. It’s not our last word on the topic, but we think it’s a fine first pass proposal for supporting the fundamental work shared by many community transcription projects.&lt;/p&gt;

&lt;h2&gt;So, what’s happening in all of these projects?&lt;/h2&gt;

&lt;p&gt;Our previous community transcription projects run the gamut from requesting very simple, nearly binary input like “Is this a valid polygon?” (as in the case of &lt;a href=&quot;http://buildinginspector.nypl.org/&quot;&gt;Building Inspector&lt;/a&gt;) to more complex prompts like “Identify every production staff member in this multi-page playbill” (as in the case of &lt;a href=&quot;http://ensemble.nypl.org/&quot;&gt;Ensemble&lt;/a&gt;). Common tasks include:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Identify a point/region in a digitized document or image&lt;/li&gt;
	&lt;li&gt;Answer a question about all or part of an image&lt;/li&gt;
	&lt;li&gt;Flag an image as invalid (meaning it’s blank or does not include any pertinent information)&lt;/li&gt;
	&lt;li&gt;Flag other’s contributions as valid/invalid&lt;/li&gt;
	&lt;li&gt;Flag a page or group of pages as “done”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are many more project-specific concerns, but we think the features above form the core work. How does Scribe approach the problem?&lt;/p&gt;

&lt;p&gt;Scribe reduces the problem space to “subjects” and “classifications.” In Scribe, everything is either a subject or a classification: Subjects are the things to be acted upon, classifications are created when you act. Creating a classification has the potential to generate a new subject, which in turn can be classified, which in turn may generate a subject, and so on.&lt;/p&gt;

&lt;p&gt;This simplification allows us to reduce complex document transcription to a series of smaller decisions that can be tackled individually. We think reducing the atomicity of tasks makes projects less daunting for volunteers to begin and easier to continue. This simplification doesn’t come at the expense of quality, however, as projects can be configured to require multiple rounds of review.&lt;/p&gt;

&lt;p&gt;The final subjects produced by this chain of workflows represent the work of several people carrying an initial identification all the way through to final vetted data. The journey comprises a chain of subjects linked by classifications connected by project-specific rules governing exposure and consensus. Every region annotated is eventually either deleted by consensus or further annotated with data entered by several hands and, potentially, approved by several reviewers. The final subjects that emerge represent singular assertions about the data contained in a document validated by between three and 25 people.&lt;/p&gt;

&lt;p&gt;In the case of Emigrant City specifically, individual bond records are represented as subjects. When participants mark those records up, they produce “mark” subjects, which appear in Transcribe. In the Transcribe workflow, other contributors transcribe the text they see, which are combined with others’ transcriptions as “transcribe” subjects. If there’s any disagreement among the transcriptions, those transcribe subjects appear in Verify where additional classifications are added by other contributors as votes for one or another transcription. But this is just the configuration that made sense for Emigrant City. Scribe lays the groundwork to support other configurations.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;Screenshot of emigrantcity.nypl.org&quot; class=&quot;media-element file-default&quot; height=&quot;504&quot; src=&quot;https://www.nypl.org/sites/default/files/emigrants.jpg&quot; title=&quot;Emigrant City&quot; width=&quot;600&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Is it working?&lt;/h2&gt;

&lt;p&gt;I sure hope so! In any case, the classifications are mounting for Emigrant City. At writing we’ve gathered 227,638 classifications comprising marks, transcriptions, and verifications from nearly 3,000 contributors. That’s about 76 classifications each, on average, which is certainly encouraging as we assess the stickiness of the interface.&lt;/p&gt;

&lt;p&gt;We’ve had to adjust a few things here and there. Bugs have surfaced that weren’t apparent before testing at scale. Most issues have been patched and data seems to be flowing in the right directions from one workflow to the next. We’ve already collected complete, verified data for several documents.&lt;/p&gt;

&lt;p&gt;Reviewing each of these documents, I’ve been heartened by the willingness of a dozen strangers spread between the US, Europe, and Australia to meditate on some scribbles in a 120 year old mortgage record. I see them plugging away when I’m up at 2 a.m. looking for a safe time to deploy fixes.&lt;/p&gt;

&lt;h2&gt;What’s next?&lt;/h2&gt;

&lt;p&gt;As touched on above, Scribe is primarily a prototype of a grammar for describing community transcription projects in general. The concepts underlying Scribe formed over a several-month collaboration between remote teams. We built the things we needed as we needed them. The codebase is thus a little confusing in areas, reflecting several mental right turns when we found the way forward required an additional configuration item or chain of communication. So one thing I’d like to tackle is reigning in some of the areas that have drifted from the initial elegance of the model. The notion that subjects and workflows could be rearranged and chained in any configuration has been a driving idea, but in practice the system obliges only a few arrangements.&lt;/p&gt;

&lt;p&gt;An increasingly more pressing desire, however, is developing an interface to explore and vet the data assembled by the system. We spent a lot of time developing the parts that gather data, but perhaps not enough on interfaces to analyze it. Because we’ve reduced document transcription into several disconnected tasks, the process to reassemble the resultant data into a single cohesive whole is complicated. That complexity requires a sophisticated interface to understand how we arrived at a document’s final set of assertions from the the chain of contributions that produced it. Luckily we now have a lot of contributions around which to build that interface.&lt;/p&gt;

&lt;p&gt;Most importantly, the code is now out in the wild, along with live projects that rely on it. We’re already grateful for the tens of thousands of contributions people have made on the transcription and verification front, and we’d likewise be immensely grateful for any thoughts or comments on the framework itself—let us know in the comments, or directly via &lt;a href=&quot;https://github.com/zooniverse/scribeAPI&quot; rel=&quot;nofollow&quot;&gt;Github&lt;/a&gt;, and thanks for helping us get this far.&lt;/p&gt;

&lt;p&gt;Also, check out the other community transcription efforts built on Scribe. &lt;a href=&quot;http://www.measuringtheanzacs.org&quot; rel=&quot;nofollow&quot;&gt;Measuring the Anzacs&lt;/a&gt; collects first-hand accounts from New Zealanders in WWI. Coming soon, “Old Weather: Whaling” gathers Arctic ships’ logs from the late 19th and early 20th centuries.&lt;/p&gt;
</description>
  <category>History</category>
  <comments>https://www.nypl.org/blog/2015/11/23/scribe-framework-community-transcription#comments</comments>
  <pubDate>Mon, 23 Nov 2015 17:08:30 -0500</pubDate>
</item>
<item>
  <title>Emigrant City: An Introduction</title>
  <link>https://www.nypl.org/blog/2015/11/04/emigrant-city</link>
  <dc:creator>Willa Armstrong</dc:creator>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.nypl.org/collections/labs&quot;&gt;NYPL Labs&lt;/a&gt; and the &lt;a href=&quot;http://www.nypl.org/locations/divisions/milstein&quot;&gt;Irma and Paul Milstein Division of United States History, Local History and Genealogy&lt;/a&gt; are excited to announce the launch of &lt;a href=&quot;http://emigrantcity.nypl.org/#/&quot;&gt;Emigrant City&lt;/a&gt;, the Library&#039;s newest, online participatory project. Emigrant City invites you to help transcribe recently digitized mortgage and bond record books from the Library’s collection of &lt;a href=&quot;http://archives.nypl.org/mss/925&quot;&gt;Emigrant Savings Bank records&lt;/a&gt;. Your transcriptions will help make the materials digitally accessible to all, including genealogists, educators, historians. In the process, you&#039;ll get a detailed glimpse of real estate transactions and immigrant life during a foundational period of New York City&#039;s history. Help the Library build this exciting new resource!&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;Emigrant City Home Page Screen Short&quot; title=&quot;Emigrant City Home Page&quot; height=&quot;410&quot; width=&quot;520&quot; class=&quot;media-element file-default&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/Home.png&quot; /&gt;&lt;/p&gt;

&lt;p id=&quot;docs-internal-guid-ad7bfa6b-d2f3-88b5-b16c-83bc4bae08fc&quot;&gt;Still operating today, &lt;a href=&quot;https://www.emigrant.com/Information/aboutus/AboutUs.jsp&quot; rel=&quot;nofollow&quot;&gt;Emigrant Bank&lt;/a&gt; is the oldest savings bank in New York City and the ninth-largest privately owned bank in the country. It was founded in 1850 by 18 members of the Irish Emigrant Society with the goal of serving the needs of the immigrant community in New York. NYPL’s &lt;a href=&quot;http://www.nypl.org/locations/divisions/manuscripts-division&quot;&gt;Manuscripts and Archives Division&lt;/a&gt; houses the Library’s collection of the early records from the bank. The collection’s first mortgage record is dated February 20, 1851. From the mid-19th century through the 1920s, there are an estimated 6,400 mortgages, each telling a story of upward mobility in a rapidly expanding city. (Two of these stories are found in mortgages 1 and 87, belonging to Francis A. Kipp and Mary O&#039;Connor, respectively. Stay tuned for a forthcoming blog post detailing their stories.)&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;First Mortgage&quot; title=&quot;Francis A. Kipp Mortgage&quot; height=&quot;356&quot; width=&quot;520&quot; class=&quot;media-element file-default&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/Mortgage_1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;These real estate records have remained largely invisible and difficult to search. However, the full Emigrant Savings Bank collection is frequently consulted by genealogists and historians, among others. This collection contains a wide variety of materials about the bank&#039;s depositors and borrowers, including minutes of the board of trustees and finance committee. Portions of this larger collection, the test books,  have even been digitized and made available through &lt;a href=&quot;http://www.nypl.org/collections/articles-databases/ancestry-library-edition&quot;&gt;Ancestry.com&lt;/a&gt;. (This &lt;a href=&quot;http://search.ancestrylibrary.com/search/db.aspx?dbid=8760&quot; rel=&quot;nofollow&quot;&gt;resource&lt;/a&gt; is available onsite at all NYPL locations.) Through digitization of the real estate records, and transcribing the hand-written information they contain, we hope to expose this underused portion of the collection to enable new discoveries and research.&lt;/p&gt;

&lt;p&gt;Emigrant City is also an experiment. Digitizing materials is much more than simply creating a digital image of a manuscript or artifact. Though computers have made fantastic advances in automatically converting digitized pages into searchable text, vast troves of information exist in libraries and archives that require careful human labor to unlock their deeper contents to search engines and digital researchers. So here at NYPL Labs, we’ve been working with the citizen science mavens at &lt;a href=&quot;https://www.zooniverse.org/&quot; rel=&quot;nofollow&quot;&gt;Zooniverse&lt;/a&gt;, with generous support from the National Endowment for the Humanities, to prototype of a highly configurable crowdsourcing framework called &lt;a href=&quot;http://scribeproject.github.io&quot; rel=&quot;nofollow&quot;&gt;Scribe&lt;/a&gt; that could be used on a wide range of historical and archival material.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;
  &lt;img alt=&quot;Emigrant City Mark Task&quot; title=&quot;Emigrant City&amp;#039;s Marking Task&quot; height=&quot;411&quot; width=&quot;520&quot; class=&quot;media-element file-default&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/mark.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Emigrant City joins a collection of crowdsourcing projects launched by NYPL in recent years, including &lt;a href=&quot;http://buildinginspector.nypl.org/&quot;&gt;Building Inspector&lt;/a&gt; and &lt;a href=&quot;http://menus.nypl.org/&quot;&gt;What&#039;s on the Menu?&lt;/a&gt; Go to &lt;a href=&quot;http://emigrantcity.nypl.org/#/&quot;&gt;emigrantcity.nypl.org&lt;/a&gt; to get started! There are lots of records to go through, and when finished, we’ll have a robust data-set of verified, structured data. Meanwhile, the team is working to create browsing and bulk download options for this wealth of information. With the growing data set, we’ll be able to find myriad stories, like those of Francis Kipp and Mary O&#039;Connor, and to ask innumerable questions. It’s a lot of work, but we’re confident we can do it. Join us!&lt;/p&gt;
</description>
  <category>Genealogy</category>
  <comments>https://www.nypl.org/blog/2015/11/04/emigrant-city#comments</comments>
  <pubDate>Wed, 04 Nov 2015 12:09:30 -0500</pubDate>
</item>
<item>
  <title>NYPL Labs Residency with Triple Canopy</title>
  <link>https://www.nypl.org/blog/2015/10/15/nypl-labs-residency-triple-canopy</link>
  <dc:creator>Shana Kimball</dc:creator>
  <description>&lt;p&gt;NYPL Labs is pleased to announce Anjuli Raza Kolb, Jaffer Kolb, and Kameelah Janan Rasheed as the recipients of first residency co-hosted &lt;a href=&quot;https://www.canopycanopycanopy.com/&quot; rel=&quot;nofollow&quot;&gt;Triple Canopy&lt;/a&gt; magazine. Engaging materials in The New York Public Library’s holdings both critically and imaginatively, as documents of past events and practices as well as bases for new creative work, these projects enact new modes of reading and writing history.&lt;/p&gt;

&lt;p&gt;Over the next year, recipients will work closely with Triple Canopy editors toward the creative and technical realization of their projects, which may be published in a variety of formats, ranging from public performance to print pamphlet to hand-coded Web work. To this end, recipients receive six months of access to one of the research study rooms at the Stephen A. Schwarzman Building; access to reference librarians and the NYPL Labs team for one-on-one consultations; and an honorarium of $2,000 from Triple Canopy. Their projects will be published in Triple Canopy&#039;s online magazine and also represented through public programs at the New York Public Library, as part of NYPL Labs’ ongoing effort to engage digital practitioners in new forms of knowledge creation and dissemination.&lt;/p&gt;

&lt;p&gt;Triple Canopy received numerous well-conceived proposals in response to our call. We would especially like to acknowledge finalists Jenna Bliss, Adeola Enigbokan, Alan Felensthal, and Alan Reid, who submitted particularly strong and compelling projects.&lt;/p&gt;

&lt;p&gt;We thank everyone who applied to the call and congratulate this year’s recipients!&lt;/p&gt;

&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;94b7acd9-dc81-74f7-e040-e00a18063585&quot; href=&quot;http://digitalcollections.nypl.org/items/94b7acd9-dc81-74f7-e040-e00a18063585&quot;&gt;&lt;img alt=&quot;Men Standing on Willowdell Arch&quot; data-id=&quot;psnypl_rbk_881&quot; src=&quot;https://images.nypl.org/index.php?id=psnypl_rbk_881&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Victor Prevost, Men Standing on Willowdell Arch, 1862. Image ID: psnypl_rbk_881&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Anjuli Raza Kolb and Jaffer Kolb are siblings working at the intersection of visual and scholarly practice. Anjuli is a professor of English and comparative literature at Williams College and Jaffer is a designer and lecturer at Princeton University&#039;s School of Architecture. For their Triple Canopy commission, the Kolbs will explore the social and architectural history of the Central Park Ramble. Frederick Law Olmsted and Calvert Vaux, along with master gardener Ignaz Anton Pilát, designed the 38-acre Ramble to bring the  “mysterious illusion of lush, tropical vegetation” into an otherwise highly rational park. The perfect combination of wildness and density, invisibility and navigability, the Ramble has served as one of the city’s most significant wilds, a space for orgiastic reverie, for community and solidarity, and for refuge and love during the darkest days of the AIDS crisis. The Kolbs’s research will draw upon the library’s Pilát papers and the Gay Activists Alliance records.&lt;/p&gt;

&lt;div&gt;
	&lt;div class=&quot;digcol-image align-center align-center&quot;&gt;
		&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;187626e0-9903-0132-01d4-58d385a7b928&quot; href=&quot;http://digitalcollections.nypl.org/items/187626e0-9903-0132-01d4-58d385a7b928&quot;&gt;&lt;img alt=&quot;Prophet Noble Drew Ali&quot; data-id=&quot;5217112&quot; src=&quot;https://images.nypl.org/index.php?id=5217112&amp;amp;t=w&quot; width=&quot;100%&quot; /&gt;&lt;/a&gt;

			&lt;figcaption class=&quot;digcol-caption&quot;&gt;Prophet Noble Drew Ali (standing center) and temple members, at religious service of the Moorish Science Temple of America, circa late 1920s. Image ID: 5217112&lt;/figcaption&gt;
		&lt;/figure&gt;
	&lt;/div&gt;

	&lt;div&gt; &lt;/div&gt;
&lt;/div&gt;

&lt;div&gt;
	&lt;p&gt;Kameelah Janan Rasheed is an artist-archivist whose work has been exhibited at the Studio Museum in Harlem, the Queens Museum, the Bronx Museum, the Schomburg Center for Research in Black Culture, and the Weeksville Heritage Center, among other venues. Rasheed’s project focuses on printed matter, sermons, and religious iconography produced in the late nineteenth and early twentieth centuries within black religious movements in the United States. She will explore how self-anointed black prophets created and sustained post-slavery communities, inspiring a sense of belonging on the part of followers. Her research will involve sermons, song lyrics, proselytizing materials, photographs, FBI investigation files, and ephemera related to the Church of God and Saints of Christ, the Moorish Science Temple of America, and the International Peace Mission, all housed at the New York Public Library’s Schomberg Center. Rasheed will write a sermon for the eve of the twenty-second century that draws on these documents, as well as an essay that includes annotated archival materials and video interviews with contemporary adherents of these movements.&lt;/p&gt;
&lt;/div&gt;
</description>
  <category></category>
  <comments>https://www.nypl.org/blog/2015/10/15/nypl-labs-residency-triple-canopy#comments</comments>
  <pubDate>Thu, 15 Oct 2015 10:41:07 -0400</pubDate>
</item>
<item>
  <title>The Internet Loves Digital Collections: April 2015</title>
  <link>https://www.nypl.org/blog/2015/05/04/internet-loves-digital-collections</link>
  <dc:creator>Josh Hadro</dc:creator>
  <description>&lt;div class=&quot;digcol-image align-right align-right inline inline&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;ae2f51ec-be28-66c6-e040-e00a18066cf3#/?uuid=ae2f51ec-be29-66c6-e040-e00a18066cf3&quot; href=&quot;http://digitalcollections.nypl.org/items/ae2f51ec-be28-66c6-e040-e00a18066cf3#/?uuid=ae2f51ec-be29-66c6-e040-e00a18066cf3&quot;&gt;&lt;img alt=&quot;1969 Oak Room menu from the Plaza Hotel &quot; data-id=&quot;3951046&quot; src=&quot;https://images.nypl.org/index.php?id=3951046&amp;amp;t=w&quot; width=&quot;300px&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;January 18, 1969 menu from the Oak Room at the Plaza Hotel&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;What was the most viewed image on &lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;NYPL&#039;s Digital Collections&lt;/a&gt; platform in April 2015?&lt;/p&gt;

&lt;p&gt;It was a menu.&lt;/p&gt;

&lt;p&gt;Specifically, &lt;a href=&quot;http://digitalcollections.nypl.org/items/ae2f51ec-be28-66c6-e040-e00a18066cf3&quot;&gt;a menu from the Oak Room at the Plaza Hotel&lt;/a&gt;, dated January 18, 1969.&lt;/p&gt;

&lt;p&gt;How did that happen?&lt;/p&gt;

&lt;p&gt;Seems that a little show called &lt;em&gt;Mad Men&lt;/em&gt; featured a mention of the Oak Room at the Plaza Hotel in the third episode of this final season. Following the airing of that episode a few weeks ago, Gothamist posted a recap and review titled &quot;&lt;a href=&quot;http://gothamist.com/2015/04/20/unpacking_last_nights_mad_men_11.php&quot; rel=&quot;nofollow&quot;&gt;Unpacking Last Night&#039;s Mad Men: From The Oak Room To Port Authority&lt;/a&gt;,&quot; featuring some color commentary about the various settings and details in the show. That recap featured a link to the menu above from our Digital Collections, and made that image the most viewed in April 2015.&lt;/p&gt;

&lt;p&gt;What sorts of things were the &lt;em&gt;Mad Men&lt;/em&gt; characters dining on in January 1969 (or similarly in 1970, where the show&#039;s chronology has now arrived)?&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Shrimp Cocktail ($2.10)&lt;/li&gt;
	&lt;li&gt;Terrine of Imported Foie Gras ($3.65)&lt;/li&gt;
	&lt;li&gt;Sirloin steak (for 2, at $19.70)&lt;/li&gt;
	&lt;li&gt;Pot of coffee ($0.70)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conveniently, you can see &lt;a href=&quot;http://menus.nypl.org/menus/27721&quot;&gt;all the dishes on the Oak Room menu&lt;/a&gt; transcribed via our &quot;&lt;a href=&quot;http://menus.nypl.org&quot;&gt;What&#039;s on the Menu?&lt;/a&gt;&quot; transcription tool.&lt;/p&gt;

&lt;div class=&quot;digcol-image align-right align-right inline inline&quot;&gt;
	&lt;figure class=&quot;caption caption caption digcol-image&quot;&gt;&lt;a data-url=&quot;ee5fa080-7238-0131-a8e6-58d385a7bbd0#/?uuid=ee073800-7238-0131-e78b-58d385a7bbd0&quot; href=&quot;http://digitalcollections.nypl.org/items/ee5fa080-7238-0131-a8e6-58d385a7bbd0#/?uuid=ee073800-7238-0131-e78b-58d385a7bbd0&quot;&gt;&lt;img alt=&quot;Tour Book symbol guide&quot; data-id=&quot;5090451&quot; src=&quot;https://images.nypl.org/index.php?id=5090451&amp;amp;t=w&quot; width=&quot;300px&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;Guide to symbols in a 1910 Tour Book from the Automobile Club of America&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;Meanwhile, a close second was a 1910 &quot;&lt;a href=&quot;http://digitalcollections.nypl.org/items/ed8abf80-7238-0131-b7ea-58d385a7bbd0#/?uuid=ee5fa080-7238-0131-a8e6-58d385a7bbd0&quot;&gt;Tour Book&lt;/a&gt;&quot; from the Automobile Club of America (better browsed via our &lt;a href=&quot;http://digitalcollections.nypl.org/items/ed8abf80-7238-0131-b7ea-58d385a7bbd0/book#page/11/mode/2up&quot;&gt;book viewer&lt;/a&gt;). That traffic came via a post on Slate&#039;s &quot;Vault&quot; blog (featuring &quot;historical treasures, oddities, and delights&quot;) titled &quot;&lt;a href=&quot;http://www.slate.com/blogs/the_vault/2015/04/10/history_of_automobile_touring_the_symbols_early_motorists_used_for_wayfinding.html&quot; rel=&quot;nofollow&quot;&gt;The Complex Series of Symbols Early Motorists Used for Wayfinding&lt;/a&gt;,&quot; which showcased the fascinating set of symbols used in early motorist route descriptions.&lt;/p&gt;

&lt;p&gt;Another popular collection that got a lot of notice last month is our nearly complete set of &quot;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/the-green-book#/?tab=about&quot;&gt;The Green Books&lt;/a&gt;&quot; from 1936-1967, which was just recently put online.&lt;/p&gt;

&lt;p&gt;Digital Curatorial Assistant K Menick described &lt;a href=&quot;http://www.nypl.org/blog/2015/03/24/schomburg-treasures-green-book&quot;&gt;the collection in a blog post&lt;/a&gt;, noting how these historical documents highlight the contours of a segregated nation listing &quot;hotels, restaurants, beauty salons, nightclubs, bars, gas stations, etc. where black travelers would be welcome. In an age of sundown towns, segregation, and lynching, the Green Book became an indispensable tool for safe navigation.&quot;&lt;/p&gt;

&lt;p&gt;That&#039;s the story for this month! Check back in a few weeks for more stories from our Digital Collections.&lt;/p&gt;
</description>
  <category>Image Collections</category>
  <comments>https://www.nypl.org/blog/2015/05/04/internet-loves-digital-collections#comments</comments>
  <pubDate>Mon, 04 May 2015 10:15:15 -0400</pubDate>
</item>
<item>
  <title>Du papier au Web : créez vos propres cartes interactives</title>
  <link>https://www.nypl.org/blog/2015/04/13/du-papier-au-web-cr%C3%A9ez-vos-propres-cartes-interactives</link>
  <dc:creator>Mauricio Giraldo Arteaga</dc:creator>
  <description>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--/*--&gt;&lt;![CDATA[/* &gt;&lt;!--*/
.field-items img {
max-width: 730px;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.35);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.35);
box-shadow: 0 0 5px rgba(0,0,0,0.35);
}
blockquote {
background-color: #FEF4E5;
padding: 5px 10px;
}
code {
background-color: #E4E4E4;
}

/*--&gt;&lt;!]]&gt;*/
&lt;/style&gt;


&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;This is a translation to french of &lt;a href=&quot;http://www.nypl.org/blog/2015/01/05/web-maps-primer&quot;&gt;“From paper maps to the Web : A DIY Digital Maps Primer”&lt;/a&gt; by &lt;a href=&quot;https://twitter.com/c_chemel&quot;&gt;Claire Chemel&lt;/a&gt;, library curator and digital manager at the &lt;a href=&quot;http://www.bnf.fr/fr/collections_et_services/dpt_cpl/s.actualites_cartes_plans.html?first_Art=oui&quot;&gt;Département des Cartes et plans of the Bibliothèque nationale de France&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.nypl.org/blog/2015/02/24/del-papel-la-web-haz-tus-propios-mapas-interactivos&quot;&gt;Leer versión en español&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En novembre 2014, j’ai été invité à la &lt;a href=&quot;http://www.bibliotecanacional.gov.co/content/segunda-semana-del-libro-digital-2014&quot;&gt;2e Semaine du livre numérique&lt;/a&gt; organisée par la Bibliothèque nationale de Colombie. J’y ai présenté les projets développés par le NYPL Labs, et animé un atelier consacré aux outils actuels de cartographie numérique. Voici le contenu de cet atelier, qui vous expliquera comment créer vos propres cartes géo-référencées à l’aide d’outils Web gratuits.&lt;/p&gt;

&lt;h2 id=&quot;en-bref&quot;&gt;En bref&lt;/h2&gt;

&lt;p&gt;Nous allons créer &lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;ceci&lt;/a&gt;. Ce tutoriel nécessite que vous disposiez d’une carte numérisée et de données à lui superposer. Les principales étapes décrites sont:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;géo-référencer la carte numérisée pour générer des tuiles,&lt;/li&gt;
&lt;li&gt;créer des données GeoJSON à superposer à la carte numérisée,&lt;/li&gt;
&lt;li&gt;créer un fond de carte personnalisé comme référence actuelle,&lt;/li&gt;
&lt;li&gt;assembler tous les éléments sur une page Web interactive.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Ce tutoriel suppose que vous utilisiez &lt;a href=&quot;https://www.mozilla.org/fr/firefox/new/&quot;&gt;Mozilla Firefox&lt;/a&gt;, &lt;a href=&quot;https://www.apple.com/fr/safari/&quot;&gt;Apple Safari&lt;/a&gt; ou &lt;a href=&quot;https://www.google.fr/chrome/browser/desktop/&quot;&gt;Google Chrome&lt;/a&gt;. Nous allons utiliser la console développeur, et je ne dispose pas d’instructions pour tous les navigateurs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;pour-commencer&quot;&gt;Pour commencer&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;Voici ce que nous voulons obtenir&lt;/a&gt;. Il s’agit d’une carte de Bogota en 1891, &lt;a href=&quot;http://www.bibliotecanacional.gov.co/ultimo2/tools/marco.php?idcategoria=45223&quot;&gt;conservée à la Bibliothèque nationale de Colombie&lt;/a&gt; (lien Flash Player), enrichie de données trouvées dans &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;un annuaire de Bogota de 1888&lt;/a&gt;.&lt;/p&gt;



&lt;h3 id=&quot;1-geo-référencement&quot;&gt;1) Geo-référencement&lt;/h3&gt;

&lt;p&gt;Après numérisation de la carte, la première étape est de lui ajouter des données géographiques, d’établir des correspondances entre les pixels de l’image et les lieux qu’ils représentent : il s’agit du géo-référencement. Ce procédé va déformer l’image numérisée : &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Original scan&quot; src=&quot;https://i.imgur.com/UTGlBEk.jpg&quot; width=&quot;50%&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Le scan original (réduit, évidemment)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;…pour l’aligner sur la &lt;a href=&quot;https://fr.wikipedia.org/wiki/Projection_de_Mercator&quot;&gt;projection de Mercator&lt;/a&gt; qui est utilisée dans la plupart des projets de cartographie en ligne comme OpenStreetMap ou Google Maps:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Geo-referenced scan in Mercator projection&quot; width=&quot;50%&quot; src=&quot;https://i.imgur.com/M6whllY.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Scan géo-référencé aligné sur la projection de Mercator&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Le degré de déformation dépendra de la qualité du relevé, de l’état de conservation et de la projection originelle de la carte. Vous vous demandez sans doute comment cela fonctionne. Des logiciels commerciaux ou open-source permettent de géo-référencer des images, mais le principe de ce tutoriel est d’obtenir le même résultat en utilisant uniquement votre navigateur Internet. Voici donc &lt;a href=&quot;http://mapwarper.net/&quot;&gt;Map Warper&lt;/a&gt;! Map Warper est un outil en ligne qui permet de télécharger vos cartes numérisées et fournit une interface simple pour les géo-référencer (ou les “rectifier”). Géo-référencer consiste à faire correspondre une partie de la carte numérisée (à gauche) à une partie du fond de carte Mercator (à droite) :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Map Warper&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/XveF5Q5.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
&lt;em&gt;L’interface de rectification en vis-à-vis de Map Warper&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Vous remarquerez les repères sur chaque image. Chaque repère porte un numéro, et figure dans les deux vues. Ils permettent de savoir que le nord se trouve à gauche sur l’image numérisée, et l’est vers le haut. &lt;strong&gt;Plus vous ajouterez de repères, plus le géo-référencement sera précis, mais plus l’image finale prendra du temps à générer.&lt;/strong&gt; Toutefois, la génération d’image est une opération unique, donc ne vous inquiétez pas trop à ce sujet. Il s’agit plus de savoir combien de repères vous voulez ajouter. La carte utilisée dans ce tutoriel en a 101.&lt;/p&gt;

&lt;p&gt;Dernier point, il faut être sûr d’obtenir une image géo-référencée de haute qualité après qu’elle ait été modifiée. L’action de déformer l’image de départ s’appelle le &lt;a href=&quot;https://fr.wikipedia.org/wiki/Redimensionnement_d%27image&quot;&gt;réechantillonage&lt;/a&gt;&lt;a href=&quot;#fn:resampling&quot; id=&quot;fnref:resampling&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;1&lt;/a&gt; (“resampling” en anglais). Dans les options avancées de Map Warper, vous pouvez choisir entre deux méthodes, “Nearest Neighbour” (qualité basse mais rapide) ou “Cubic Spline” (qualité haute mais lente) :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Resampling method selection&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/h5s13Mm.png&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Choisir “Cubic Spline” dans l’option “Resampling Method”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mapwarper.net/maps/4949#Preview_Map_tab&quot;&gt;Vous pouvez voir le résultat final ici&lt;/a&gt;.  Vous pouvez aussi télécharger cette carte en haute résolution dans l’onglet “Export”. &lt;br /&gt;
Mais à mon avis l’élément &lt;strong&gt;le plus important&lt;/strong&gt; à obtenir de Map Warper, ce sont les &lt;strong&gt;tuiles&lt;/strong&gt;.  Voici le modèle de leur URL :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Map Warper&quot; src=&quot;https://i.imgur.com/KP75kOT.png&quot; width=&quot;100%&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Vous trouverez l’URL de la tuile dans l’onglet “Export”.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Le modèle de leur adresse est : &lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://mapwarper.net/maps/tile/4949/{z}/{x}/{y}.png&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Gardez précieusement cet URL, vous en aurez besoin. L’outil de création de tuiles de Map Warper utilise l’image géo-référencée pour produire des tuiles carrées, à différents niveaux de zoom et avec des coordonnées propres, de manière à ne montrer que les parties utiles de votre carte interactive quand vous la consultez&lt;a href=&quot;#fn:maptiles&quot; id=&quot;fnref:maptiles&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;2&lt;/a&gt;. &lt;br /&gt;
En voici un exemple : &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;a web map tile&quot; src=&quot;http://mapwarper.net/maps/tile/4949/17/38565/63860.png&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Les cartes en lignes sont constituées de millions de tuiles comme celle-ci.&lt;/em&gt;&lt;/p&gt;



&lt;h3 id=&quot;2-extraction-des-données&quot;&gt;2) Extraction des données&lt;/h3&gt;

&lt;p&gt;Nous avons la carte, maintenant il nous faut choisir quelles données y afficher. Notre exemple utilise &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;l’annuaire&lt;/a&gt; de la capitale de la Colombie, Bogota, en 1888. Cet annuaire regorge d’informations, regroupant les noms de dizaines de milliers de personnes (chacune avec son adresse et sa profession), des dizaines de métiers (décrits en &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/4/mode/2up&quot;&gt;page 4&lt;/a&gt;) et des publicités, listant aussi de nombreux commerces (avec leurs adresses et propriétaires).  &lt;br /&gt;
Cet annuaire nous donne un aperçu intéressant de la vie en Colombie à la fin du XIXe siècle : avocats, photographes et comptables en partagent les pages avec selliers et forgerons. &lt;br /&gt;
Je n’ai pas été très original, et j’ai cherché des hommes politiques importants de l’époque, comme le président en exercice (&lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/222/mode/2up&quot;&gt;page 222&lt;/a&gt;, premier nom de la seconde colonne). Il y a sept personnes &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;sur notre liste&lt;/a&gt; : quatre présidents, un vice-président, un ministre et un président par interim&lt;a href=&quot;#fn:caveat&quot; id=&quot;fnref:caveat&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;3&lt;/a&gt;. Cette liste précise les : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nom&lt;/li&gt;
&lt;li&gt;fonction (poste le plus élevé occupé au sein du pouvoir exécutif colombien)&lt;/li&gt;
&lt;li&gt;mandat&lt;/li&gt;
&lt;li&gt;page (d’apparition dans l’annuaire)&lt;/li&gt;
&lt;li&gt;profession (telle qu’indiquée dans l’annuaire)&lt;/li&gt;
&lt;li&gt;adresse&lt;/li&gt;
&lt;li&gt;URL de la photo dans Wikimedia Commons&lt;/li&gt;
&lt;li&gt;latitude, longitude (une valeur défaut située au centre-ville de Bogota, que nous allons modifier).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;Télécharger la liste en format CSV&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez bien sûr créer votre propre liste avec des données plus intéressantes ou plus utiles pour vous. &lt;br /&gt;
&lt;strong&gt;N’oubliez pas de créer des colonnes latitude et longitude.&lt;/strong&gt; &lt;br /&gt;
Sauvegardez sous forme de liste CSV (“&lt;a href=&quot;https://fr.wikipedia.org/wiki/Comma-separated_values&quot;&gt;comma-separated values&lt;/a&gt;”).&lt;/p&gt;



&lt;h4 id=&quot;geojson&quot;&gt;GeoJSON&lt;/h4&gt;

&lt;p&gt;Pour le moment, nos données sont contenues dans une liste CSV, mais les outils cartographiques en ligne utilisent généralement le &lt;a href=&quot;http://geojson.org/&quot;&gt;format GeoJSON&lt;/a&gt;. GeoJSON est fondé sur la norme JSON, un des formats de données les plus courants sur le Web. GeoJSON utilise le concept d’entités (“features”) pour décrire une information géographique. Ces entités peuvent être des points (comme dans notre exemple) ou des éléments géométriques &lt;a href=&quot;https://fr.wikipedia.org/wiki/GeoJSON&quot;&gt;plus complexes&lt;/a&gt; comme des lignes simples ou des multilignes, des polygones… Chaque entité est définie par une géométrie –&lt;code&gt;geometry&lt;/code&gt;–  (point, ligne, polygone…) et des propriétés –&lt;code&gt;properties&lt;/code&gt;– liées, qui sont les données que vous voulez lui associer (pour nous, les nom, adresse, photo… d’un individu). Par exemple&lt;a href=&quot;#fn:geojson&quot; id=&quot;fnref:geojson&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;:&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=example.json&quot;&gt;&lt;/script&gt;

&lt;p&gt;Nous devons convertir notre tableau en un objet GeoJSON, puis remplacer les valeurs par défaut de latitude et longitude par les valeurs exactes, qui nous seront indiquées par la carte elle-même. Il nous faut un outil permettant de générer et de manipuler facilement du GeoJSON : voici donc &lt;a href=&quot;http://geojson.io/&quot;&gt;GeoJSON.io&lt;/a&gt;! Il s’agit d’un “outil rapide et simple pour créer, visualiser et partager des cartes”. Il possède une interface bien pratique pour créer le GeoJSON dont nous avons besoin.&lt;/p&gt;

&lt;p&gt;Ouvrez donc &lt;a href=&quot;http://geojson.io/&quot;&gt;GeoJSON.io&lt;/a&gt; dans une nouvelle fenêtre de votre navigateur. Vous verrez la carte par défaut, sans aucun zoom. Maintenant, bricolons un peu. Faites un clic droit n’importe où sur la carte, et choisissez &lt;code&gt;Examiner l’élément&lt;/code&gt; (&lt;code&gt;Inspect Element&lt;/code&gt; en anglais):&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Right-Click -&amp;gt; Inspect Element&quot; width=&quot;90%&quot; src=&quot;http://i.imgur.com/EIqHCRu.gif&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Clic droit→ Examiner l’élément&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ceci ouvrira un affichage avancé permettant de lire et de modifier le code de la page vue (ici, l’interface cartographique). GeoJSON.io comprend une interface de programmation (API) pour contrôler la carte affichée. Le noyau du site est &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt;, lui-même construit sur &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt;, une “bibliothèque JavaScript open-source pour des cartes interactives adaptées aux mobiles”. Je mentionne les deux, puisque, la plupart du temps, ce qui fonctionne dans l’un fonctionne dans l’autre (documentez-vous bien avant de choisir!), et j’utiliserai le terme Leaflet au lieu de  MapBoxJS.&lt;/p&gt;

&lt;p&gt;Dans l’onglet Console vous verrez du texte et, en bas, un curseur là où vous pouvez exécuter du code JavaScript. Vous remarquerez également des commentaires du &lt;a href=&quot;https://twitter.com/tmcw&quot;&gt;créateur de GeoJSON.io&lt;/a&gt;. Une ligne est prévue pour entrer du JavaScript supplémentaire, tapez-y le contenu du GIF suivant et appuyez sur Entrée :&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;La carte sera centrée et zoomée sur Bogota, Colombie, la zone couverte par la carte de 1891. Maintenant tapez ceci :&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…et faites Entrée. Cela ajoutera la couche de tuiles proprement dite. Cette ligne de code comprend &lt;strong&gt;l’URL que vous aviez copiée à l’étape 1.&lt;/strong&gt; Le résultat donnera quelque chose comme ça :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Before and after executing the commands&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/81lQIRG.gif&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Un petit “bricolage” dans GeoJSON.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez maintenant fermer la console de développement (mais pas le navigateur!).&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Il faudra entrer ce code à chaque fois que vous accéderez à GeoJSON.io, puisqu’il ne sauvegarde pas les modifications faites dans la console. Vous pouvez par contre conserver les données que vous ajoutez à la carte en vous connectant.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h4 id=&quot;ajouter-des-données-dans-geojsonio&quot;&gt;Ajouter des données dans GeoJSON.io&lt;/h4&gt;

&lt;p&gt;Nous allons maintenant utiliser cette version modifiée de la carte comme base pour géo-localiser correctement &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;notre liste CSV&lt;/a&gt; des présidents. &lt;br /&gt;
Faites glisser sur la carte le fichier CSV que vous avez téléchargé : &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;drag and drop magic&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/YL0VrXE.gif&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;La magie du glisser-déposer dans GeoJSON.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Vous remarquerez que les données sont automatiquement converties en GeoJSON (à droite) et que la carte zoome sur les repères correspondant à chaque président (à gauche). Un message (sur fond vert en haut à gauche) nous informe que sept entités ont été importées.&lt;/p&gt;

&lt;p&gt;Mais où est passée la carte de 1891? Pas de panique, la carte est juste à un niveau de zoom trop avancé, et notre jeu de tuiles ne dispose pas d’images à cette échelle. Dézoomez un peu, et vous verrez réapparaitre la carte de 1891.&lt;/p&gt;



&lt;h4 id=&quot;localiser-les-points-de-repère&quot;&gt;Localiser les points de repère&lt;/h4&gt;

&lt;p&gt;Les points indiqués dans notre CSV sont tous localisés les uns sur les autres, sur la &lt;a href=&quot;https://fr.wikipedia.org/wiki/Place_Bol%C3%ADvar&quot;&gt;Plaza de Bolívar&lt;/a&gt;. Il faut les déplacer sur leur emplacement correct. Si vous cliquez sur le marqueur gris, vous verrez les données attribuées au repère du dessus (General Rafael Reyes). Il habitait alors au 50, Calle 16. Trouvons cette adresse sur la carte.&lt;/p&gt;

&lt;p&gt;Il est relativement facile de trouver les adresses puisque les coins de chaque pâté de maisons indiquent les numéros des immeubles correspondants. La numérotation des “carreras” (rues verticales) va du sud vers le nord, et se répartit entre pairs à l’ouest et impairs à l’est ; alors que celle des “calles” (rues horizontales) va de l’est à l’ouest, avec les numéros pairs au nord et impairs au sud :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Address numbers&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/RAQxw8q.gif&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Plaçons-nous sur une adresse approximative, en nous repérant sur les coins de rues. Pour ce faire, ouvrez le mode édition en cliquant sur l’icône &lt;img alt=&quot;Edit icon&quot; src=&quot;https://i.imgur.com/52FWtfw.png&quot; title=&quot;&quot; /&gt; . Les marqueurs sont encadrés en rose, et vous pouvez les déplacer. Placez-les à l’endroit voulu, cliquez sur “Save” pour enregistrer les modifications : &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Moving points around&quot; width=&quot;75%&quot; src=&quot;http://i.imgur.com/LEfv82X.gif&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Certaines adresses sont délicates à placer, mais il est plaisant de pouvoir se perdre ainsi dans le Bogota de 1891. &lt;br /&gt;
Vous remarquerez que sur cette carte les bâtiments gouvernementaux portent les couleurs du &lt;a href=&quot;https://fr.wikipedia.org/wiki/Drapeau_de_la_Colombie&quot;&gt;drapeau colombien&lt;/a&gt;. Quand on place &lt;a href=&quot;https://fr.wikipedia.org/wiki/Rafael_N%C3%BA%C3%B1ez&quot;&gt;Rafael Núñez Moledo&lt;/a&gt;, le président en exercice à cette date, son adresse correspond à un de ces bâtiments, la &lt;a href=&quot;https://fr.wikipedia.org/wiki/Casa_de_Nari%C3%B1o&quot;&gt;Casa de Nariño&lt;/a&gt;.&lt;/p&gt;



&lt;h4 id=&quot;sauvegarder-le-fichier-geojson&quot;&gt;Sauvegarder le fichier GeoJSON&lt;/h4&gt;

&lt;p&gt;Maintenant il faut générer le GeoJSON final, que nous utiliserons pour créer notre carte interactive. Choisissez simplement &lt;code&gt;Save &amp;gt; GeoJSON&lt;/code&gt; dans le menu. Un fichier nommé &lt;code&gt;map.geojson&lt;/code&gt; sera généré et enregistré sur votre ordinateur. Pour tricher, vous pouvez aussi télécharger &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/924b6bf7cc34402d2cae/raw/377d533d5047905ccbb91d1535cfb604468ea0d0/directorio%20bogota%CC%81%201888.geojson&quot;&gt;celui que j’ai créé&lt;/a&gt;… &lt;/p&gt;



&lt;h3 id=&quot;3-créer-une-carte-personnalisée-de-2014-facultatif&quot;&gt;3) Créer une carte personnalisée de 2014 (facultatif)&lt;/h3&gt;

&lt;p&gt;Nous voulons comparer cette carte de 1891 avec le Bogota d’aujourd’hui, afin d’étudier les changements dans le temps. Il nous faut une carte de base, qui est ce que GeoJSON offre quand vous chargez la page : une carte du monde toute simple (et exacte, espérons-le), affichant les rues actuelles. Nous pouvons utiliser les  &lt;a href=&quot;http://wiki.openstreetmap.org/wiki/Tiles&quot;&gt;tuiles standard d’OpenStreetMap&lt;/a&gt; ou un service comme &lt;a href=&quot;https://www.mapbox.com/&quot;&gt;MapBox&lt;/a&gt;  pour produire une carte complétement personnalisée (MapBox s’appuie sur les données d’OpenStreetMap). MapBox peut faire beaucoup de choses : il permet de changer les couleurs, de choisir ce qui est affiché (rues, bâtiments, parcs, etc.) et même d’avoir recours à l’imagerie satellite! Je ne vais pas expliquer comment utiliser MapBox, vous pouvez vous référer à leur &lt;a href=&quot;https://www.mapbox.com/guides/customizing-the-map/&quot;&gt;excellent tutoriel&lt;/a&gt;. &lt;br /&gt;
Quand vous aurez fini, notez bien l’identifiant de la carte (“Map ID”), qui se présentera sur le modèle &lt;code&gt;username.k53dp4io&lt;/code&gt;. La page “Projects” de MapBox permet de voir toutes vos cartes et de copier directement les identifiants dans votre presse-papiers :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;MapBox Map ID&quot; src=&quot;http://i.imgur.com/se6Hmtd.png&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; Si vous ne voulez pas créer votre propre carte personnalisée, je donnerai plus loin un exemple de MapBox ID.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h3 id=&quot;4-assemblage-final&quot;&gt;4) Assemblage final&lt;/h3&gt;

&lt;p&gt;Nous disposons maintenant de tous les éléments nécessaires à l’assemblage de notre carte interactive :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;des données géographiques en format GeoJSON, &lt;/li&gt;
&lt;li&gt;des tuiles pour la carte de 1891,   &lt;/li&gt;
&lt;li&gt;des tuiles ou une MapBox ID pour la carte de 2014.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nous afficherons un prototype dans &lt;a href=&quot;http://jsfiddle.net/&quot;&gt;JSFiddle&lt;/a&gt;, un outil permettant de rapidement créer et tester du code HTML, JavaScript et CSS. Familiarisez-vous avec l’interface grâce à &lt;a href=&quot;http://doc.jsfiddle.net/tutorial.html&quot;&gt;ce tutoriel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;JSFiddle affiche quatre volets principaux :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;code HTML (en haut à gauche),&lt;/li&gt;
&lt;li&gt;code CSS (en haut à droite)&lt;/li&gt;
&lt;li&gt;JavaScript (en bas à gauche), &lt;/li&gt;
&lt;li&gt;et le résultat final (en bas à droite).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JSFiddle se charge d’assembler les trois codes et d’en afficher le résultat chaque fois que vous cliquez sur “Run” (en haute, dans la barre bleue).&lt;/p&gt;



&lt;h4 id=&quot;html-et-css&quot;&gt;HTML et CSS&lt;/h4&gt;

&lt;p&gt;Dans cet exemple, les éléments HTM et CSS sont très simples. Nous avons uniquement besoin d’une zone rectangulaire de la page affichant la carte et ses commandes. &lt;br /&gt;
Il nous faut un élément HTML là où sera placée la carte. Tapez ou collez ceci dans le volet HTML :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=div.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;Avec ce code nous créons un élément &lt;code&gt;div&lt;/code&gt; identifié comme une carte et qui, vous l’aurez compris, contiendra la carte. Il faut ensuite donner un style à cet élément : une hauteur, une largeur et, si vous voulez, une bordure ou d’autres attributs. Le style est contrôlé par le code CSS. Tapez ou collez ceci dans le volet CSS :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=style.css&quot;&gt;&lt;/script&gt;

&lt;p&gt;Une hauteur et une largeur de 400 pixels seront attribuées à l’élément dont l’identifiant est &lt;code&gt;map&lt;/code&gt; (le préfixe &lt;code&gt;#&lt;/code&gt; signifie identifiant en CSS). Bien sûr vous pouvez créer un rectangle plus grand (si votre écran peut l’afficher) et indiquer d’autres attributs entre ces accolades &lt;code&gt;{ }&lt;/code&gt; (par exemple,  &lt;code&gt;background-color: #f00;&lt;/code&gt; pour un arrière-plan rouge si vous souhaitez voir l’élément sans carte), mais j’ai voulu garder les choses simples.&lt;/p&gt;

&lt;p&gt;Si vous cliquez sur “Run” maintenant, vous ne verrez pas grand-chose (à moins que vous n’ayez ajouté une couleur d’arrière-plan ou une bordure). Nous n’avons plus besoin d’HTML et de CSS pour le moment.&lt;/p&gt;



&lt;h4 id=&quot;ajouter-mapboxjs&quot;&gt;Ajouter MapBoxJS&lt;/h4&gt;

&lt;p&gt;Pour visualiser la carte et la rendre interactive, nous avons besoin d’éléments supplémentaires et de JavaScript. J’ai déjà parlé de &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt; et de &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt;: Leaflet est inclus dans MapBoxJS, donc nous nous préoccuperons uniquement de ce dernier. MapBoxJS est composé de deux fichiers: un fichier JS et un fichier CSS. Vous savez déjà ce que fait le CSS. Le fichier JavaScript renferme tout l’interactivité magique de notre carte. Voici les URL des fichiers en question (NB : il ne s’agit pas de la dernière version de MapBoxJS, mais cela fonctionnera quand même) :&lt;/p&gt;

&lt;p&gt;Fichier CSS :  &lt;br /&gt;
&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.css&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Fichier JavaScript : &lt;br /&gt;
&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.js&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Dans la colonne de gauche de JSFiddle, ouvrez la section “External Resources”. Copiez ces URL et collez chacune d’elle dans la zone &lt;code&gt;JavaScript/CSS URI&lt;/code&gt;, puis cliquez sur le bouton “+”. Vous verrez alors quelque chose comme cela :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;jQuery in JSFiddle&quot; src=&quot;https://i.imgur.com/FTBBQmq.png&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Votre page JSFiddle après l’ajout des deux fichiers MapBoxJS&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Désormais, JSFiddle chargera ces fichiers quand vous cliquerez sur “Run”. &lt;/p&gt;

&lt;h4 id=&quot;bonjour-la-carte&quot;&gt;Bonjour la carte!&lt;/h4&gt;

&lt;p&gt;Et maintenant, le moment que vous attendez tous! Créons un peu de JavaScript pour voir la carte de 1891. Écrivez ceci dans le volet JavaScript :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…et cliquez sur “Run”. Voici ce que vous devriez voir :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Hello map&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/C1bj4Pj.png&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Votre première carte Web!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Grâce à Leaflet, créer des cartes en ligne est aussi facile que ça.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Je n’entre pas ici dans les détails des API Leaflet ou MapBoxJS. Il existe des &lt;a href=&quot;http://leafletjs.com/examples.html&quot;&gt;tutoriels&lt;/a&gt; et des &lt;a href=&quot;https://www.mapbox.com/mapbox.js/example/v1.0.0/&quot;&gt;exemples&lt;/a&gt; pour les deux. A la place, je vais vous donner des fragments de code, en expliquant brièvement ce qu’ils font. Vous allez copier, coller, cliquer sur “Run” et le résultat sera &lt;strong&gt;magique&lt;/strong&gt;&lt;a href=&quot;#fn:magic&quot; id=&quot;fnref:magic&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;5&lt;/a&gt;. Plus tard vous découvrirez par vous-même comment faire encore mieux.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h4 id=&quot;combiner-plusieurs-jeux-de-tuiles&quot;&gt;Combiner plusieurs jeux de tuiles&lt;/h4&gt;

&lt;p&gt;Vous avez vu que la carte est vide, sauf pour la partie correspondant à 1891 : c’est normal. L’URL de ce jeu de tuiles ne contient que la carte rectifiée, et rien d’autre. Il nous faut un jeu de tuiles supplémentaire pour comparer avec 2014 (je vais utiliser un exemple de MapBox Map ID, au cas où vous n’auriez pas créé le vôtre à l’étape 3). Nous allons remplacer le code JS par un nouveau, contenant :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;les informations de provenance de la carte,&lt;/li&gt;
&lt;li&gt;les tuiles pour 2014,&lt;/li&gt;
&lt;li&gt;une commande pour passer d’un jeu de tuiles à l’autre.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ce code doit &lt;strong&gt;remplacer votre JS précédent&lt;/strong&gt; :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Vous remarquerez que ce code est assez similaire à l’autre. Les différences principales sont l’attribution des données et les jeux de tuiles MapBox (par le biais de la Map ID). La commande elle-même consiste en deux lignes : une pour créer une variable baseMaps qui supportera les tuiles (vous pouvez ajouter autant de jeux que vous voulez) et une autre pour créer une commande de bascule et l’ajouter à la carte. La voici en action:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Tile set magic&quot; src=&quot;http://i.imgur.com/EHuMxuX.gif&quot; width=&quot;70%&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;La mention de provenance de l’image change avec le jeu de tuiles.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Nous y sommes presque! Il faut maintenant afficher nos données. Leaflet nous facilite le travail, puisque il est par défaut compatible avec GeoJSON. Cette étape tient en quelques lignes, mais d’abord, supprimez la fonction de zoom &lt;code&gt;map.setView([4.598056, -74.075833],14)&lt;/code&gt;. Maintenant collez ce code en bas du volet JS :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x3.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Copiez le GeoJSON depuis le fichier texte que vous avez téléchargé dans GeoJSON.io et collez-le là où vous lisez &lt;code&gt;&#039;paste_geojson_here_keep_quotes&#039;&lt;/code&gt;. &lt;strong&gt;Gardez bien les guillemets!&lt;/strong&gt; Cette ligne devrait ressembler à ceci : &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x4.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Nous avons remplacé la fonction zoom par  &lt;code&gt;map.fitBounds(geolayer.getBounds())&lt;/code&gt;. Cela rend la carte plus “intelligente” : nous ne rentrons pas manuellement longitude, latitude et niveau de zoom, nous laissons Leaflet calculer la zone occupée par l’ensemble des marqueurs avec &lt;code&gt;getBounds()&lt;/code&gt; et ajouter cette valeur à la fonction &lt;code&gt;fitBounds()&lt;/code&gt;. Voilà, la carte est maintenant zoomée pour montrer tous nos marqueurs. Si vous en ajoutez de nouveaux, les limites de la zone s’ajusteront automatiquement!&lt;/p&gt;

&lt;p&gt;Vous pouvez également ajouter des points de repères ou d’autres informations à la bascule de couches. Il faut juste créer une variable comparable à celle que vous avez créée pour les jeux de tuiles et mettre à jour le code de création de commande :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x5.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Vous verrez quelque chose comme ceci en cliquant sur “Run” :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Hello pins&quot; width=&quot;70%&quot; src=&quot;http://i.imgur.com/jE881o7.png&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Votre carte et ses données personnalisées&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Pensez bien à déplacer le code de création de commande &lt;code&gt;L.control.layers&lt;/code&gt; &lt;strong&gt;en dessous de l’analyse de GeoJSON&lt;/strong&gt;. La variable&lt;code&gt;geolayer&lt;/code&gt; a besoin d’exister pour être ajoutée à d’autres couches (&lt;code&gt;overlays&lt;/code&gt;). Consultez mes &lt;a href=&quot;http://bit.ly/1K1RcRd&quot;&gt;résultats JSFiddle&lt;/a&gt; pour plus de détails. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Une autre ligne importante est celle contenant la fonction &lt;code&gt;L.geoJson()&lt;/code&gt;. Celle-ci analyse toutes les entités décrites par le fichier &lt;code&gt;map.geojson&lt;/code&gt;. Leaflet/MapBoxJS affiche par défaut des marqueurs bleus pour les entités points, &lt;a href=&quot;http://leafletjs.com/reference.html#icon&quot;&gt;que vous pouvez personnaliser&lt;/a&gt;. &lt;code&gt;L.geoJson()&lt;/code&gt; permet aussi d’ajouter de l’interactivité aux marqueurs, car pour le moment il ne se passe rien si vous cliquez dessus.&lt;/p&gt;



&lt;h4 id=&quot;animer-les-marqueurs&quot;&gt;Animer les marqueurs&lt;/h4&gt;

&lt;p&gt;Nous voulons pouvoir cliquer sur nos points de repère et afficher une fenêtre pop-up avec les données que nous leur avons associées (dans les propriétés de l’entité). Il y a deux choses à faire :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;créer une fonction qui créera et affichera un pop-up pour chaque entité point,&lt;/li&gt;
&lt;li&gt;et modifier l’appel &lt;code&gt;L.geoJson()&lt;/code&gt; pour utiliser cette fonction.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;C’est ce que fait la fonction &lt;code&gt;bindPopup()&lt;/code&gt; de Leaflet : afficher une boite de texte pour une couche donnée. Le texte peut être balisé en HTML. Collez ce code sous tout ce que vous avez jusqu’à présent : &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x6.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Cette fonction &lt;code&gt;showPopup()&lt;/code&gt;reçoit une entité (&lt;code&gt;feature&lt;/code&gt;), l’élément de GeoJSON qui renferme toutes nos informations (une géométrie et des propriétés), et une couche (&lt;code&gt;layer&lt;/code&gt;), dans notre exemple, le marqueur bleu. Ces deux paramètres sont traités automatiquement par la fonction &lt;code&gt;L.geoJson()&lt;/code&gt;. &lt;code&gt;showPopup()&lt;/code&gt; extrait ensuite les propriétés de chaque entité (nom, adresse, etc.) et construit une chaîne HTML, utilisée pour créer le pop-up. &lt;/p&gt;

&lt;p&gt;Modifiez votre ligne &lt;code&gt;L.geoJson&lt;/code&gt;comme ceci pour connecter &lt;code&gt;showPopup&lt;/code&gt;: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x7.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…vous ajoutez &lt;code&gt;, {onEachFeature: showPopup}&lt;/code&gt; après &lt;code&gt;geodata&lt;/code&gt;. Ceci indique à Leaflet d’appliquer la fonction &lt;code&gt;showPopup&lt;/code&gt; à chaque entité GeoJSON.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Si votre GeoJSON comporte plusieurs catégories d’entités (points, lignes, polygones…), il faut savoir que &lt;strong&gt;la même fonction sera appliquée à toutes&lt;/strong&gt;. Par exemple, les polygones ont des limites, mais pas les points. Vérifiez si l’entité sur laquelle vous avez cliquée a bien des limites avant d’utiliser la fonction&lt;code&gt;fitBounds&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Si vous chargez la carte et cliquez sur un repère, vous verrez quelque chose comme cela :&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;A popup!&quot; src=&quot;http://i.imgur.com/gz58uZb.png&quot; width=&quot;70%&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;C’est déjà très bien, mais ce serait encore mieux en affichant la photo, et en liant le numéro de page à l’annuaire numérisé. C’est ce que nous allons faire. Remplacez la fonction &lt;code&gt;showPopup&lt;/code&gt; par celle-ci :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x8.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Nous avons juste ajouté une action sous condition : si &lt;code&gt;key&lt;/code&gt; est égal à “Page” un lien est créé vers l’annuaire, et si &lt;code&gt;key&lt;/code&gt; est égal à “Photo” une vignette est affichée, avec une hauteur limitée à 150 pixels (au cas où l’image serait trop grande).&lt;/p&gt;

&lt;p&gt;Voici à quoi ressemble M. Núñez maintenant : &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Rafael Núñez bio&quot; src=&quot;http://i.imgur.com/0LFioyt.png&quot; width=&quot;50%&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;…tout à fait présidentiel!&lt;/p&gt;

&lt;p&gt;Et nous en avons fini!&lt;/p&gt;



&lt;h4 id=&quot;pour-conclure&quot;&gt;Pour conclure&lt;/h4&gt;

&lt;p&gt;Il vous faudra compiler ces trois fragments de code dans une page HTML pour publier votre nouvelle carte quelque part. Pas d’inquiétude, voici du code avec les zones nécessaires pour y coller vos CSS, HTML et JS. Sauvegardez le tout dans un fichier .html et publiez-le :&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=template.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;Voici la carte finie&lt;/a&gt;. J’ai fait quelques petites modifications au CSS pour remplir la fenêtre du navigateur.&lt;/p&gt;

&lt;p&gt;J’espère que ce tutoriel vous aura été utile. N’hésitez pas à &lt;a href=&quot;https://twitter.com/mgiraldo&quot;&gt;me contacter&lt;/a&gt; pour tout commentaire ou question!&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id=&quot;fn:resampling&quot;&gt;
A comparer avec &lt;a href=&quot;https://en.wikipedia.org/wiki/Sample_rate_conversion&quot;&gt;ce qui se passe&lt;/a&gt; lorsque l’on convertit du son depuis un CD vers un MP3.
 &lt;a href=&quot;#fnref:resampling&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:maptiles&quot;&gt;
&lt;a href=&quot;https://www.mapbox.com/foundations/how-web-maps-work/&quot;&gt;Voici une introduction&lt;/a&gt; au fonctionnement des tuiles des cartes Web.
 &lt;a href=&quot;#fnref:maptiles&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:caveat&quot;&gt;
Je n’ai pas fait de recherche poussée sur ces noms, donc il est possible (mais peu probable) qu’il s’agisse d’homonymes.
 &lt;a href=&quot;#fnref:caveat&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:geojson&quot;&gt;Depuis &lt;a href=&quot;http://geojson.org/&quot;&gt;GeoJSON.org&lt;/a&gt; &lt;a href=&quot;#fnref:geojson&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:magic&quot;&gt;
Si tout pouvait fonctionner comme ça!
 &lt;a href=&quot;#fnref:magic&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</description>
  <category>Computers</category>
  <comments>https://www.nypl.org/blog/2015/04/13/du-papier-au-web-cr%C3%A9ez-vos-propres-cartes-interactives#comments</comments>
  <pubDate>Mon, 13 Apr 2015 14:26:55 -0400</pubDate>
</item>
<item>
  <title>The Internet Loves Digital Collections (March 2015)</title>
  <link>https://www.nypl.org/blog/2015/04/01/internet-loves-digital-collections-march-2015</link>
  <dc:creator>Josh Hadro</dc:creator>
  <description>&lt;div class=&quot;digcol-image align-right inline&quot;&gt;
	&lt;figure class=&quot;caption digcol-image&quot;&gt;&lt;a data-url=&quot;aea7cced-6f0f-982c-e040-e00a1806318e&quot; href=&quot;http://digitalcollections.nypl.org/items/aea7cced-6f0f-982c-e040-e00a1806318e&quot;&gt;&lt;img alt=&quot;Roy Colmer Door&quot; data-id=&quot;colmer_001_0001&quot; src=&quot;https://images.nypl.org/index.php?id=colmer_001_0001&amp;amp;t=w&quot; width=&quot;300px&quot; /&gt;&lt;/a&gt;

		&lt;figcaption class=&quot;digcol-caption&quot;&gt;West 52nd Street between 5th Avenue and 6th Avenue. Odd Numbers.&lt;/figcaption&gt;
	&lt;/figure&gt;
&lt;/div&gt;

&lt;p&gt;What was the most viewed image on &lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;NYPL&#039;s Digital Collections&lt;/a&gt; platform in March 2015?&lt;/p&gt;

&lt;p&gt;It was a door.&lt;/p&gt;

&lt;p&gt;Specifically, a door on the north side of &lt;a href=&quot;http://digitalcollections.nypl.org/collections/doors-nyc#/?tab=navigation&amp;amp;roots=0fa57250-c5ae-012f-2c5e-58d385a7bc34&quot;&gt;52nd Street between 5th Avenue and 6th Avenue&lt;/a&gt;. (Pictured at right; you can see what it looks like today at the bottom of this post.)&lt;/p&gt;

&lt;p&gt;Why was that image the most viewed? Here&#039;s the story: The image comes from &quot;&lt;a href=&quot;http://digitalcollections.nypl.org/collections/doors-nyc#/?tab=navigation&quot;&gt;The Roy Colmer New York City doors photograph collection&lt;/a&gt;,&quot; which includes 3,122 images related to a set of &quot;photographic prints used in Colmer&#039;s conceptual art piece, Doors, NYC (1976)&quot; (from the collection description).&lt;/p&gt;

&lt;p&gt;A &lt;a href=&quot;http://www.nypl.org/blog/2014/01/30/roy-colmer-in-memoriam&quot;&gt;blog post from early 2014 commemorating Colmer and his work&lt;/a&gt; describes the project a bit more fully:&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;From November 1975 to September 1976, Colmer photographed more than 3,000 doors, inclusive and in sequence, on 120 intersections and streets of Manhattan from Wall Street to Fort Washington. The project, although documentary in nature, was essentially conceptual to Colmer, for whom Doors, NYC was as much an exploration of the serial possibilities of photography as of its ability to capture a place.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Meanwhile, for quite some time &lt;a href=&quot;http://www.nypl.org/blog/author/597&quot;&gt;David Lowe&lt;/a&gt;, a specialist in our photography division, has been working with the division&#039;s metadata to create what he calls the &lt;a href=&quot;https://pic.cartodb.com/maps&quot;&gt;Photo Geographies&lt;/a&gt;. Colmer&#039;s door project was among the first mapping projects of Lowe&#039;s geodata work (see map embedded below).&lt;/p&gt;

&lt;p&gt;This project in turn attracted the attention of &lt;a href=&quot;http://www.npr.org/blogs/npr-history-dept&quot;&gt;NPR&#039;s History Dept.&lt;/a&gt; (&lt;a href=&quot;http://www.citylab.com/tech/2015/01/tour-the-doorways-of-1970s-manhattan-with-this-new-interactive-map/384836/&quot;&gt;among&lt;/a&gt; &lt;a href=&quot;http://animalnewyork.com/2015/guy-took-selfies-photos-nyc-doors-70s/&quot;&gt;others&lt;/a&gt;). And it was this NPR post that drove the most traffic to our Digital Collections site, and the photo above in particular.&lt;/p&gt;

&lt;p&gt;That&#039;s the story for this month! Check back in a few weeks for more stories from our Digital Collections.&lt;/p&gt;
&lt;br /&gt;

&lt;iframe width=&quot;100%&quot; height=&quot;520&quot; frameborder=&quot;0&quot; src=&quot;https://pic.cartodb.com/viz/9f7c823e-7914-11e4-aa29-0e018d66dc29/embed_map&quot; allowfullscreen=&quot;&quot; webkitallowfullscreen=&quot;&quot; mozallowfullscreen=&quot;&quot; oallowfullscreen=&quot;&quot; msallowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;br /&gt;
&lt;p&gt;The view of 52nd st. today:&lt;/p&gt;

&lt;p&gt;&lt;iframe frameborder=&quot;0&quot; height=&quot;300&quot; src=&quot;https://www.google.com/maps/embed?pb=!1m0!3m2!1sen!2sus!4v1427857248860!6m8!1m7!1s1w6h-xxKUNhnFMNdI1vKow!2m2!1d40.759918!2d-73.976597!3f63.58439000075014!4f-7.6444986016888805!5f0.7820865974627469&quot; style=&quot;border:0&quot; width=&quot;730&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
</description>
  <category>Architecture</category>
  <comments>https://www.nypl.org/blog/2015/04/01/internet-loves-digital-collections-march-2015#comments</comments>
  <pubDate>Wed, 01 Apr 2015 10:49:03 -0400</pubDate>
</item>
<item>
  <title>Del papel a la web: haz tus propios mapas interactivos.</title>
  <link>https://www.nypl.org/blog/2015/02/24/del-papel-la-web-haz-tus-propios-mapas-interactivos</link>
  <dc:creator>Mauricio Giraldo Arteaga</dc:creator>
  <description>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--/*--&gt;&lt;![CDATA[/* &gt;&lt;!--*/
.field-items img {
max-width: 730px;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.35);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.35);
box-shadow: 0 0 5px rgba(0,0,0,0.35);
}
blockquote {
background-color: #FEF4E5;
padding: 5px 10px;
}
code {
background-color: #E4E4E4;
}

/*--&gt;&lt;!]]&gt;*/
&lt;/style&gt;
&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;This is a translation to spanish of &lt;a href=&quot;http://www.nypl.org/blog/2015/01/05/web-maps-primer&quot;&gt;“From Paper Maps to the Web: A DIY Digital Maps Primer”&lt;/a&gt; written by &lt;a href=&quot;//twitter.com/dani_schutte&quot;&gt;Daniela Schütte&lt;/a&gt;, manager of the &lt;a href=&quot;http://www.memoriachilena.cl&quot;&gt;Memoria Chilena project of the Biblioteca Nacional de Chile&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
  
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; hay terminología que debe mantenerse en inglés puesto que así debe escribirse en el código.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.nypl.org/blog/2015/04/13/du-papier-au-web-cr%C3%A9ez-vos-propres-cartes-interactives&quot;&gt;Lire en Français&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En noviembre del 2014, fui invitado a la &lt;a href=&quot;http://www.bibliotecanacional.gov.co/content/segunda-semana-del-libro-digital-2014&quot;&gt;2&lt;sup&gt;a&lt;/sup&gt; semana del libro digital&lt;/a&gt; organizado por la Biblioteca Nacional de Colombia. La idea era  presentar los proyectos que estamos desarrollando en el NYP Labs y también, dictar un taller sobre herramientas para geolocalización de mapas. Pienso que puede ser útil compartir los contenidos de ese taller, ya que integra diversas herramientas y procesos que permiten que la cartografía digital sea, hoy en día, accesible para todos.  &lt;br /&gt;
Se trata de un paso a paso que, utilizando herramientas de georeferenciación gratuitas, te enseñará a hacer tu propio e increíble mapa georeferenciado.&lt;/p&gt;



&lt;h2 id=&quot;resumiendo&quot;&gt;RESUMIENDO…&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;Esto&lt;/a&gt; es lo que haremos. Este tutorial asume que ya tienes un mapa digitalizado y que tienes claro qué información quieres incorporar. Usualmente, los pasos son: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Georeferenciar el mapa escaneado para poder generar la cuadrícula (“tileset” en inglés) del mapa; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Procesar los datos en GeoJSON para sobreponerlos al mapa escaneado; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Crear un mapa personalizado que servirá de referencia como mapa de la actualidad; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Integrar todos los elementos en una página web interactiva. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; Este tutorial asume que estás usando &lt;a href=&quot;https://www.mozilla.org/en-US/firefox/&quot;&gt;Mozilla Firefox&lt;/a&gt;, &lt;a href=&quot;https://www.apple.com/safari/&quot;&gt;Apple Safari&lt;/a&gt; o &lt;a href=&quot;http://www.google.com/chrome/&quot;&gt;Google Chrome&lt;/a&gt;. Tendremos que jugar con la consola de desarrollo y no tengo instrucciones multinavegador.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;h2 id=&quot;empecemos&quot;&gt;¡Empecemos!&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;Esto es lo que queremos hacer&lt;/a&gt;. Un mapa de Bogotá de 1891 &lt;a href=&quot;http://www.bibliotecanacional.gov.co/ultimo2/tools/marco.php?idcategoria=45223&quot;&gt;conservado en la Biblioteca Nacional de Colombia&lt;/a&gt; (el link requiere Flash Player) enriquecido con datos extraídos de un &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;directorio de Bogotá de 1888&lt;/a&gt;. &lt;/p&gt;



&lt;h3 id=&quot;1-geo-localizando&quot;&gt;1) Geo-localizando.&lt;/h3&gt;

&lt;p&gt;El primer paso, luego de digitalizar el mapa, es agregar la información geográfica. Para esto, es necesario establecer la equivalencia entre pixeles y ubicación exacta que ellos representan. Esto se conoce con el nombre de geolocalización. Este proceso distorsionará la imagen digitalizada: &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Original scan&quot; src=&quot;https://i.imgur.com/UTGlBEk.jpg&quot; title=&quot;&quot; width=&quot;50%&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;Imagen original digitalizada (encogida, por supuesto)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;…Al hacerla calzar con la &lt;a href=&quot;https://es.wikipedia.org/wiki/Proyecci%C3%B3n_cartogr%C3%A1fica&quot;&gt;proyección de Mercator&lt;/a&gt; que es la que se utiliza en la mayoría de los proyectos que utilizan mapas digitales como OpenStreetMap or Google Maps: &lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Mapa en proyeccion Mercator&quot; src=&quot;https://i.imgur.com/M6whllY.png&quot; title=&quot;&quot; width=&quot;50%&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Proyección Mercator de la imagen original geolocalizada&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;El porcentaje de distorsión dependerá de la calidad de la muestra –el mapa digitalizado–, su estado de conservación y la proyección del mapa original. Es posible que te estés preguntando ¿y cómo ocurrirá esto? Existen softwares propietarios y open-source que permiten geolocalizar imágenes de un modo sencillo. Sin embargo, el objetivo de este tutorial es lograrlo &lt;em&gt;sin que tengas que instalar ningún programa que no sea tu navegador&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;Para empezar, anda a: &lt;a href=&quot;http://mapwarper.net/&quot;&gt;Map Warper&lt;/a&gt;. Esta es una herramienta web que te permite subir tu mapa digitalizado para luego, a través de una sencilla interfaz, geolocalizarlo (o “rectificarlo” para hablar como cartógrafos). En el lado izquierdo verás el mapa digitalizado y en el lado derecho, la proyección Mercator.&lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;https://i.imgur.com/XveF5Q5.png&quot; alt=&quot;Map Warper&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;Así se ve la interfaz dividida para la rectificación en Map Warper&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Fíjate en los marcadores de la imagen. Cada pin tiene un número y el mismo marcador se ve en ambos lados de la imagen. Asimismo, cada uno de ellos te servirá para darte cuenta que en el mapa digitalizado, el Norte está hacia el lado izquierdo, mientras que el Este está hacia arriba. &lt;strong&gt;Si bien, cuantos más marcadores agregues, más precisa será la referenciación; debes considerar que también será más lento el procesamiento de la imagen final&lt;/strong&gt;. No obstante, la imagen se genera sólo una vez, así que yo no me preocuparía demasiado por eso. De lo que sí debes preocuparte es de cuántos marcadores estás dispuesto a agregar. El mapa de este tutorial, por ejemplo, tiene 101.&lt;/p&gt;

&lt;p&gt;Una consideración final en este proceso es estar seguros que, luego de la distorsión producida por la geolocalización de la imagen, tienes una imagen de alta calidad. El proceso de distorsionar la imagen original se llama &lt;a href=&quot;https://en.wikipedia.org/wiki/Image_scaling&quot;&gt;resamplear&lt;/a&gt; &lt;a href=&quot;#fn:resampling&quot; id=&quot;fnref:resampling&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. En  las opciones avanzadas de Map Warper puedes definir si quieres que el proceso sea rápido pero de inferior calidad (seleccionando la opción “Nearest Neighbour”) o un poco más lento, pero de mejor calidad (seleccionando “Cubic Spline”): &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;https://i.imgur.com/h5s13Mm.png&quot; alt=&quot;Resampling method selection&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;Selecciona “Cubic Spline” en el menú “Resampling Method option”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mapwarper.net/maps/4949#Preview_Map_tab&quot;&gt;Puedes ver el mapa final aquí&lt;/a&gt;. También puedes descargarlo en alta resolución en la pestaña “Export”. Sin embargo, pienso que  el &lt;strong&gt;insumo principal&lt;/strong&gt;  que se obtiene de Map Warper  es la  &lt;strong&gt;cuadrícula o baldosas&lt;/strong&gt; (“tileset” en inglés), como prefieran llamarlas. Y que en el fondo, es la URL que se ve aquí: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;https://i.imgur.com/KP75kOT.png&quot; alt=&quot;Map Warper&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;Puedes encontrar la URL del tileset en la pestaña “Export”&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Y el template es: &lt;code&gt;http://mapwarper.net/maps/tile/4949/{z}/{x}/{y}.png&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Para seguir trabajando necesitarás esta URL así que guárdala en un lugar seguro, un bloc de notas por ejemplo, para ir dejando todos estos datos, que luego ocuparemos. Map Warper tiene un motor que utiliza la imagen geolocalizada para generar un tileset en el mapa que opera a distintos niveles del zoom. Así que sólo se nuestra la parte en la que estás trabajando &lt;a href=&quot;#fn:maptiles&quot; id=&quot;fnref:maptiles&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;. Esta es una baldosa o una parte del tileset de ejemplo: &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://mapwarper.net/maps/tile/4949/17/38565/63860.png&quot; alt=&quot;a web map tile&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Un mapa Web está hecho de millones de estas&lt;/em&gt; &lt;/p&gt;



&lt;h3 id=&quot;2-extracción-de-datos&quot;&gt;2) Extracción de datos.&lt;/h3&gt;

&lt;p&gt;Ya tenemos el mapa. Ahora tenemos que pensar qué información queremos mostrar en él. Nuestro ejemplo utiliza &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;este directorio de la ciudad de Bogotá de  1888&lt;/a&gt;, la capital de Colombia. Este documento tiene información valiosa sobre: decenas de miles de personas, cada una de ellas con su nombre completo, ocupación y dirección; docenas de ocupaciones diferentes (descritas en la &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/4/mode/2up&quot;&gt;página 4&lt;/a&gt;) y avisos publicitarios (junto con la dirección de locales comerciales y los nombres de sus dueños). Este directorio  constituye un interesante retrato de la vida colombiana en la segunda mitad del siglo XIX: abogados, fotógrafos y contadores comparten páginas con talabarteros y herreros. Yo me fui por el camino aburrido y decidí buscar políticos influyentes de la época, como por ejemplo el presidente en ejercicio (&lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/222/mode/2up&quot;&gt;página 222&lt;/a&gt;, primero en la segunda columna). La &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;lista&lt;/a&gt; tiene los nombres de siete personas: cuatro presidentes, un vicepresidente, un ministro, y un presidente en ejercicio &lt;a href=&quot;#fn:caveat&quot; id=&quot;fnref:caveat&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;. En ella se incluye:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nombre; &lt;/li&gt;
&lt;li&gt;cargo (El cargo más alto en el poder ejecutivo colombiano); &lt;/li&gt;
&lt;li&gt;período de ejercicio; &lt;/li&gt;
&lt;li&gt;página (en la que aparece en el directorio);&lt;/li&gt;
&lt;li&gt;ocupación (de acuerdo con la tipificación del directorio); &lt;/li&gt;
&lt;li&gt;dirección; &lt;/li&gt;
&lt;li&gt;La URL de una fotografía de Wikimedia (en caso de existir una); &lt;/li&gt;
&lt;li&gt;latitud, longitud (un marcador de posición del centro de Bogotá que modificaremos en esta etapa). &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;Descarga la lista en CSV&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Puedes crear tu propia lista con otros datos que te parezcan más interesantes o más útiles. &lt;strong&gt;Sólo debes asegurarte de incluir una columna para indicar la “latitud” y la “longitud” &lt;/strong&gt; y guardarla en una &lt;a href=&quot;https://es.wikipedia.org/wiki/CSV&quot;&gt;lista de valores separados por comas&lt;/a&gt;. &lt;/p&gt;



&lt;h4 id=&quot;geojson&quot;&gt;GeoJSON.&lt;/h4&gt;

&lt;p&gt;Hasta acá, tus datos están almacenados en una lista de valores separados por comas, pero las herramientas para geolocalización en la web, generalmente utilizan el &lt;a href=&quot;http://geojson.org/&quot;&gt;estándar de datos GeoJSON&lt;/a&gt;. GeoJSON está basado en JSON que es una de las formas más populares de estructurar datos en la web. GeoJSON utiliza el concepto de “atributos” para describir los datos geográficos. Estos atributos pueden ser puntos (como en este caso) o &lt;a href=&quot;https://en.wikipedia.org/wiki/GeoJSON&quot;&gt;formas geométricas complejas&lt;/a&gt; como líneas sencillas, compuestas o polígonos. Cada atributo es descrito por su geometría, en inglés &lt;code&gt;geometry&lt;/code&gt;, (el punto, la línea o el polígono en sí mismo) y por sus propiedades, en inglés &lt;code&gt;properties&lt;/code&gt;, que en el fondo son todos los datos extra que quieras asociar a ellos (en este caso, el nombre de la persona, su dirección, fotografía, etc.). Por ejemplo&lt;a href=&quot;#fn:geojson&quot; id=&quot;fnref:geojson&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=example.json&quot;&gt;&lt;/script&gt;

&lt;p&gt;Ahora tenemos que convertir la hoja de datos en un objeto GeoJSON y actualizar los valores de latitud y longitud, en inglés &lt;code&gt;latitude&lt;/code&gt; y &lt;code&gt;longitude&lt;/code&gt;, de los marcadores de posición. Para esto, utilizaremos el mismo mapa. Pero necesitaremos una herramienta que nos permita generar el archivo GeoJSON y manipularlo fácilmente.&lt;/p&gt;

&lt;p&gt;Lo que nos lleva a &lt;a href=&quot;http://geojson.io/&quot;&gt;GeoJSON.io&lt;/a&gt;. Es “una rápida y sencilla herramienta para crear, visualizar y compartir mapas”. GeoJSON.io tiene una elegante interfaz que nos permitirá crear el archivo GeoJSON que necesitamos. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://geojson.io/&quot;&gt;Carga la página de GeoJSON.io&lt;/a&gt; en una nueva pestaña del navegador. Lo primero que verás será un mapa por defecto en un zoom out completo. Entonces, tendremos que intervenir un poco.  Haz click con el botón derecho en algún punto del mapa y selecciona &lt;code&gt;Inspeccionar elemento&lt;/code&gt; (o &lt;code&gt;Inspect element&lt;/code&gt; si tienes el navegador en inglés): &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;90%&quot; src=&quot;http://i.imgur.com/EIqHCRu.gif&quot; alt=&quot;Right-Click -&amp;gt; Inspect Element&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;&lt;br /&gt;
&lt;em&gt;Click botón derecho → Inspeccionar elemento&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Al hacer esto, tendrás una visualización avanzada para desarrolladores, esto significa que podrás ver y modificar el código de la página que estás viendo (en este caso, la interfaz del mapa). GeoJSON.io incluye una interfaz para programación (API) que te permitirá también, controlar el despliegue del mapa. El núcleo de este sitio es &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt;, que está construido en &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt;, una “librería JavaScript de código abierto para el desarrollo de mapas interactivos compatibles con dispositivos móviles”. Menciono ambos asuntos porque, en la mayoría de los casos, lo que funciona en uno de ellos, funcionará también en el otro. (&lt;em&gt;Es importante&lt;/em&gt; que leas toda la documentación antes de tomar cualquier decisión). De ahora en adelante, me referiré a Leaflet en lugar de MapBoxJS. &lt;/p&gt;

&lt;p&gt;En la pestaña “Consola” (o “Console” en inglés) verás algo de texto y, al final, un cursor en el que podrás ejecutar el código JavaScript. También te darás cuenta que hay algunos comentarios del &lt;a href=&quot;https://twitter.com/tmcw&quot;&gt;creador de GeoJSON.io&lt;/a&gt;. Escribe esto en el área que mencioné y presiona ENTER (fíjate en el GIF animado de más abajo): &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Con esto, lograrás que el mapa se centre y haga un “zoom” en Bogotá, Colombia, el área comprendida por el mapa de 1891. Ahora escribe esto:&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;y presiona ENTER. Al hacerlo, agregarás el tileset que ya habíamos creado. Fíjate que la línea de código que acabamos de escribir &lt;strong&gt;incluye la URL que copiamos en el paso 1&lt;/strong&gt;. El resultado, debiera verse más o menos así: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;http://i.imgur.com/81lQIRG.gif&quot; alt=&quot;Antes y despues de ejecutar los comandos&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Una rápida “intervención” a GeoJSON.io&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Ahora, puedes cerrar la ventana de consola (&lt;em&gt;No&lt;/em&gt; la ventana del navegador).&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; Será necesario que apliques este código cada vez que cargues GeoJSON.io ya que &lt;em&gt;no guarda&lt;/em&gt; las modificaciones vía consola. Lo que &lt;em&gt;sí&lt;/em&gt; puedes hacer es registrarte y así guardar los datos que agregaste a tu mapa. &lt;/p&gt;
&lt;/blockquote&gt;



&lt;h4 id=&quot;agregando-datos-a-geojsonio&quot;&gt;Agregando datos a GeoJSON.io.&lt;/h4&gt;

&lt;p&gt;Ahora usaremos la versión modificada del mapa como base para geolocalizar correctamente la &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;lista CSV de presidentes&lt;/a&gt;. Arrastra la lista CSV que descargaste sobre el mapa: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;http://i.imgur.com/YL0VrXE.gif&quot; alt=&quot;drag and drop magic&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;La magia de arrastrar y soltar en GeoJSON.io&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Te darás cuenta cómo los datos inmediatamente son convertidos a GeoJSON (panel derecho) y el mapa muestra los marcadores de cada presidente (panel izquierdo). Aparecerá un pequeño mensaje verde (arriba a la izquierda) que indica que siete atributos fueron importados. &lt;/p&gt;

&lt;p&gt;Pero… ¡El mapa de 1891 desapareció! No te asustes. Esto sólo significa que el mapa ha hecho un zoom “demasiado cerca de la tierra” y la URL del tileset no tiene imágenes a esa escala. Haz un zoom out y verás que el mapa de 1891 aparece otra vez. &lt;/p&gt;



&lt;h4 id=&quot;moviendo-lo-marcadores&quot;&gt;Moviendo lo marcadores.&lt;/h4&gt;

&lt;p&gt;Como podrás darte cuenta, los marcadores de la lista CSV quedaron geolocalizados, uno encima de otro, en la misma ubicación, la &lt;a href=&quot;https://es.wikipedia.org/wiki/Plaza_de_Bol%C3%ADvar&quot;&gt;Plaza de Bolívar&lt;/a&gt; en Bogotá. Así que tendremos que moverlos a su ubicación correcta. Si haces click sobre el marcador gris, verás los datos adicionales del primero en la lista (el General Rafael Reyes). Su dirección, en ese entonces, era 50, Calle 16 (el número 50  de la Calle 16). Encontrar la dirección en el mapa será relativamente sencillo ya que cada cuadra tiene la numeración de inicio y término escrita en cada esquina. Si te fijas, la numeración de las “Carreras” (vías verticales) aumenta hacia el Norte con los números pares e impares de Este a Oeste, mientras que la numeración de las “Calles” (vías horizontales) aumenta hacia el Oeste con los números pares e impares de Norte a Sur: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;https://i.imgur.com/RAQxw8q.gif&quot; alt=&quot;Address numbers&quot; title=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p&gt;Como puede ser que no sepamos exactamente dónde estaba una dirección, pondremos los marcadores en su ubicación estimada. Para hacerlo, es necesario que actives el modo de edición, haciendo click en el ícono editar:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/52FWtfw.png&quot; alt=&quot;Edit icon&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Los marcadores tendrán ahora un borde rosado y los podrás mover donde quieras. Una vez ubicados en su posición correcta, recuerda guardar, haciendo click sobre el botón “Save”: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;75%&quot; src=&quot;http://i.imgur.com/LEfv82X.gif&quot; alt=&quot;Moving points around&quot; title=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p&gt;Hay algunas direcciones más complejas que otras, pero como podrás imaginarte, esta es una tarea bastante agradable, porque literalmente, te pierdes en las calles de Bogotá de 1891. Un aspecto interesante de este mapa es que los edificios de gobierno aparecen coloreados con los tonos de la &lt;a href=&quot;https://es.wikipedia.org/wiki/Bandera_de_Colombia&quot;&gt;bandera colombiana&lt;/a&gt;. Cuando encuentres la casa de &lt;a href=&quot;https://es.wikipedia.org/wiki/Rafael_Núñez&quot;&gt;Rafael Núñez Moledo&lt;/a&gt;, el entonces presidente en ejercicio, notarás que su dirección coincide con uno de esos edificios del color de la bandera colombiana; esa es la &lt;a href=&quot;https://es.wikipedia.org/wiki/Casa_de_Nari%C3%B1o&quot;&gt;Casa de Nariño&lt;/a&gt;. &lt;/p&gt;



&lt;h4 id=&quot;guardando-el-geojson&quot;&gt;Guardando el GeoJSON.&lt;/h4&gt;

&lt;p&gt;Ahora, tenemos que generar la versión final del archivo GeoJSON para crear el mapa interactivo. Simplemente selecciona &lt;code&gt;Save &amp;gt; GeoJSON&lt;/code&gt; en el menú de GeoJSON.io. Un archivo llamado &lt;code&gt;map.geojson&lt;/code&gt; se descargará en tu computador. Si prefieres, puedes &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/924b6bf7cc34402d2cae/raw/377d533d5047905ccbb91d1535cfb604468ea0d0/directorio%20bogota%CC%81%201888.geojson&quot;&gt;descargar el que hice yo&lt;/a&gt;.&lt;/p&gt;



&lt;h3 id=&quot;3-haciendo-un-mapa-del-2014-personalizado-opcional&quot;&gt;3) Haciendo un mapa del 2014 personalizado (opcional).&lt;/h3&gt;

&lt;p&gt;En verdad, lo que queremos es poder comparar cómo ha cambiado Bogotá desde 1891 a nuestros días. Entonces, lo que necesitamos es un “mapa base”, que básicamente, es lo que aparece en tu pantalla cuando cargas GeoJSON.io: un mapa (esperemos, exacto) “color vainilla” de calles del mundo actual. Puedes usar la cuadrídula estándar de &lt;a href=&quot;http://wiki.openstreetmap.org/wiki/Tiles&quot;&gt;OpenStreetMap&lt;/a&gt; o también, puedes usar un servicio como &lt;a href=&quot;https://www.mapbox.com/&quot;&gt;MapBox&lt;/a&gt; para generar un mapa completamente a tu gusto (MapBox usa datos OSM). MapBox ofrece bastantes alternativas: te deja cambiar los colores, elegir qué se muestra (calles, edificios, parques, etc.) e incluso te permite usar imágenes satelitales. &lt;/p&gt;

&lt;p&gt;No voy a describir cómo hacer tu propio mapa en MapBox. Mejor, puedes leerlo en su &lt;a href=&quot;https://www.mapbox.com/mapbox-studio/style-quickstart/&quot;&gt;excelente tutorial&lt;/a&gt;. Una vez que estén listos, tienen que guardar el identificador del mapa que crearon, que es algo así como &lt;code&gt;usuario.k53dp4io&lt;/code&gt;. Puedes usar la página de proyectos de MapBox  para ver todos sus mapas y copiar fácilmente el ID al bloc de notas: &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/se6Hmtd.png&quot; alt=&quot;MapBox Map ID&quot; title=&quot;&quot; /&gt; &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; Si no quieren explorar el proceso de personalizar su propio mapa, pueden usar el ID de alguno de los ejemplos de MapBox. &lt;/p&gt;
&lt;/blockquote&gt;



&lt;h3 id=&quot;4-el-montaje-final&quot;&gt;4) El montaje final.&lt;/h3&gt;

&lt;p&gt;Ya tenemos todas las piezas para ensamblar nuestro mapa interactivo. Para eso tenemos:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;los datos del mapa en formato GeoJSON;&lt;/li&gt;
&lt;li&gt;el tileset del mapa de 1891;&lt;/li&gt;
&lt;li&gt;el tileset del mapa actual o el ID de MapBox del mapa de 2014.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El prototipo del mapa interactivo lo armaremos en &lt;a href=&quot;http://jsfiddle.net/&quot;&gt;JSFiddle&lt;/a&gt;, una herramienta que permite crear y testear rápidamente código HTML/JavaScript/CSS. Revisa &lt;a href=&quot;http://doc.jsfiddle.net/tutorial.html&quot;&gt;este breve tutorial&lt;/a&gt; para que te familiarices con la interfaz.&lt;/p&gt;

&lt;p&gt;JSFiddle tiene cuatro paneles principales: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Código HTML (arriba a la izquierda); &lt;/li&gt;
&lt;li&gt;Código CSS (arriba a la derecha); &lt;/li&gt;
&lt;li&gt;Código JavaScript (abajo a la izquierda); &lt;/li&gt;
&lt;li&gt;Resultado final (abajo a la derecha). &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JSFiddle se encarga de ensamblar los componentes de los tres códigos en el resultado, cada vez que presionas “Run” (arriba, barra azul). &lt;/p&gt;



&lt;h4 id=&quot;html-css&quot;&gt;HTML &amp;amp; CSS.&lt;/h4&gt;

&lt;p&gt;En este ejemplo, la parte de HTML y CSS son &lt;em&gt;muy&lt;/em&gt; sencillas. Sólo necesitamos un área rectangular en la página, en la que ubicaremos el mapa y todos sus controles. &lt;/p&gt;

&lt;p&gt;Primero, el elemento HTML en el que ubicaremos el mapa. Escribe o copia y pega esto en el panel HTML:&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=div.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;Con este código, creas un elemento &lt;code&gt;div&lt;/code&gt; cuyo identificador es &lt;code&gt;map&lt;/code&gt; y, como te podrás imaginar, contendrá al mapa. Ahora, necesitamos darle “estilo” a este elemento (debe tener alto, ancho, altura y, si queremos, bordes y otros atributos). El estilo se controla con el código CSS.  Escribe o copia y pega lo siguiente en el panel CSS: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=style.css&quot;&gt;&lt;/script&gt;

&lt;p&gt;Al hacer esto, el elemento, cuyo identificador es &lt;code&gt;map&lt;/code&gt;, tendrá una altura y un ancho de 400 pixeles (el prefijo &lt;code&gt;#&lt;/code&gt; significa “ID” en CSS). Por supuesto que pueden hacer el rectángulo más grande (si tu monitor es lo suficientemente grande) o aplicarle algunos otros atributos entre las llaves &lt;code&gt;{ }&lt;/code&gt; (por ejemplo: &lt;code&gt;background-color: #f00;&lt;/code&gt; para un fondo rojo, si quieres ver el elemento sin el mapa) pero en realidad, preferiría que lo mantuvieras lo más sencillo posible. &lt;/p&gt;

&lt;p&gt;Si presionas “Run” en este momento, no verás mucho (a menos que hayas añadido algún color de fondo o borde al elemento). En cualquier caso, ese es &lt;em&gt;todo&lt;/em&gt; el HTML y CSS que necesitas por el momento.&lt;/p&gt;



&lt;h4 id=&quot;agregar-el-mapboxjs&quot;&gt;Agregar el MapBoxJS.&lt;/h4&gt;

&lt;p&gt;Para visualizar el mapa y hacerlo interactivo necesitaremos de algunas piezas adicionales y un poco de JavaScript. Mencioné hace un rato &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt; y &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt;. Leaflet está incluido en MapBoxJS, así que más tarde nos ocuparemos de él. &lt;/p&gt;

&lt;p&gt;MapBoxJS se compone de dos archivos separados: uno JS y otro CSS. Ya tenemos una idea de qué es lo que hace el CSS. El archivo JavaScript contiene toda la magia del mapeo interactivo. Estas son las URLs de los archivos en cuestión (Esta no es la más reciente versión de MapBoxJS pero no hay que preocuparse, funcionará): &lt;/p&gt;

&lt;p&gt;Archivo CSS: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.css&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;Archivo JavaScript: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.js&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;En la columna de la izquierda de JSFiddle busca la sección “External Resources”. Ahora, copia estas URLs y pégalas en la caja &lt;code&gt;JavaScript/CSS URI&lt;/code&gt; y luego presiona el botón &lt;code&gt;+&lt;/code&gt;. Verás que algo como esto aparece después de hacerlo: &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/FTBBQmq.png&quot; alt=&quot;jQuery in JSFiddle&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;em&gt;Este es tu “fiddle” una vez has agregado los dos archivos de MapBoxJS&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Esto hará que JSFiddle cargue los archivos la próxima vez que hagas clic en el botón “Run”. &lt;/p&gt;



&lt;h4 id=&quot;hola-mapa&quot;&gt;¡Hola mapa!&lt;/h4&gt;

&lt;p&gt;¡&lt;em&gt;Ahora sí&lt;/em&gt; viene la parte que hemos estado esperando! Escribamos unas líneas de JavaScript para poder ver el mapa de 1891. Copia y pega esto en el panel de JavaScript: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/bb98fd95e3dc9166e39a.js?file=x1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…y presiona “Run”. Esto es lo que deberías ver: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;100%&quot; src=&quot;http://i.imgur.com/C1bj4Pj.png&quot; alt=&quot;Hello map&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;¡Tu primer mapa web!&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Gracias a Leaflet, es &lt;em&gt;así&lt;/em&gt; de fácil trabajar con mapas web. &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; No voy a entrar en detalles respecto de los diferentes aspectos de las APIs de Leaflet o MapBoxJS. Cada uno tiene sus propios &lt;a href=&quot;http://leafletjs.com/examples.html&quot;&gt;tutoriales&lt;/a&gt; y &lt;a href=&quot;https://www.mapbox.com/mapbox.js/example/v1.0.0/&quot;&gt;ejemplos&lt;/a&gt;. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Lo que sí voy a hacer es dar algunos &lt;em&gt;snippets&lt;/em&gt; y explicar, en términos sencillos, para qué sirven. La idea es que copies, pegues, hagas clic en “Run” y que la &lt;strong&gt;magia&lt;/strong&gt; ocurra&lt;a href=&quot;#fn:magic&quot; id=&quot;fnref:magic&quot; title=&quot;See footnote&quot; class=&quot;footnote&quot;&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;. Luego podrás investigar, probar y resolver cómo hacer otras cosas por tu cuenta.&lt;/p&gt;



&lt;h4 id=&quot;trabajando-con-múltiples-tilesets&quot;&gt;Trabajando con múltiples tilesets.&lt;/h4&gt;

&lt;p&gt;Habrás notado que el mapa es completamente blanco, a excepción del mapa de 1891. Esto es bueno y ocurre porque el tileset sólo tiene el mapa rectificado y nada más. Necesitamos un tileset adicional, del 2014, para poder comparar (podemos usar el ID de un mapa de MapBox, en caso de que no hayas creado el tuyo en el paso 3 de más arriba). Reemplazaremos el código JS con uno nuevo que incluirá:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Información de la fuente y/o atribución del mapa; &lt;/li&gt;
&lt;li&gt;el tileset del 2014;&lt;/li&gt;
&lt;li&gt;una herramineta de control que nos permitirá cambiar entre un tileset y otro.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Este código debe &lt;strong&gt;reemplazar el anterior código JS:&lt;/strong&gt; &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/bb98fd95e3dc9166e39a.js?file=x2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Si miras con detención este código, te darás cuenta que es bastante similar al que habíamos usado antes. La diferencia principal está en los datos de atribución y en los tilesets de MapBox (que incorporamos con su respectivo ID del mapa). La herramienta de control, son sólo dos líneas: la primera, que crea la variable “mapa base” y que soporta los tilesets (puedes agregar cuantos sets quieras); y la segunda, que crea “el control” y lo incrusta en el mapa. Veamos el control en acción: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;70%&quot; src=&quot;http://i.imgur.com/EHuMxuX.gif&quot; alt=&quot;Tile set magic&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;Fíjate cómo cambia la atribución (al pie del mapa) al cambiar de un tileset a otro&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;¡Ya casi terminamos! &lt;/p&gt;

&lt;p&gt;Ahora lo único que falta es que podamos desplegar nuestros datos. Leaflet hace este proceso bastante sencillo porque es soporte nativo de GeoJSON. Bastan unas pocas líneas de código… pero &lt;strong&gt;primero debes borrar la linea que hace zoom&lt;/strong&gt; &lt;code&gt;map.setView([4.598056, -74.075833],14)&lt;/code&gt;. Ahora pega este código en la parte de abajo del panel JS: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/bb98fd95e3dc9166e39a.js?file=x3.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Debes copiar el código GeoJSON del archivo de texto que descargaste de GeoJSON.io y pegarlo en donde dice &lt;code&gt;&#039;pegar_geojson_aca_mantener_comillas&#039;&lt;/code&gt;. &lt;strong&gt;Asegúrate de conservar las comillas sencillas:  &lt;code&gt;&#039;&#039;&lt;/code&gt;&lt;/strong&gt;. Hecho el cambio, esa línea debiera verse como esta (por brevedad reemplacé el contenido de las “features” con un …):&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x4.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Ahora, reemplacemos la función del zoom con &lt;code&gt;map.fitBounds(geolayer.getBounds())&lt;/code&gt;. Esto hace al mapa “más inteligente”: en lugar de especificar de forma manual la longitud, latitud y el nivel del zoom, dejamos que Leaflet calcule el área que ocupa el set de marcadores con &lt;code&gt;getBounds()&lt;/code&gt; y entregue ese valor al mapa mediante la función &lt;code&gt;fitBounds()&lt;/code&gt;. Voilá, el zoom del mapa muestra ahora todos los marcadores. Si quieres agregar algunos más… ¡el área cambiará automáticamente!&lt;/p&gt;

&lt;p&gt;También puedes agregar puntos u otra información adicional sobrepuesta en el control de capas. Sólo tienes que crear una variable similar a la que creamos anteriormente y actualizar el código de creación, por ejemplo:&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/bb98fd95e3dc9166e39a.js?file=x5.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Cuando presiones “Run” deberás ver algo así: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;70%&quot; src=&quot;http://i.imgur.com/jE881o7.png&quot; alt=&quot;Hello pins&quot; title=&quot;&quot; /&gt;  &lt;br /&gt;
&lt;em&gt;El mapa con datos&lt;/em&gt; &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; Asegúrate de mover el código de creación del control &lt;code&gt;L.control.layers&lt;/code&gt; &lt;strong&gt;por debajo de donde está el GeoJSON&lt;/strong&gt;. La variable &lt;code&gt;geolayer&lt;/code&gt; necesita existir para poder ser añadida a as otras capas. Puedes guiarte por &lt;a href=&quot;http://bit.ly/1K1RcRd&quot;&gt;mi resultado en JSFiddle&lt;/a&gt; si necesitas más detalles. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Otra línea importante es la de la función &lt;code&gt;L.geoJson()&lt;/code&gt; que es la encargada de regular el comportamiento de todos los atributos descritos por &lt;code&gt;map.geojson&lt;/code&gt;. Leaflet/MapBoxJS tiene por defecto íconos azules para los marcadores, pero &lt;a href=&quot;http://leafletjs.com/reference.html#icon&quot;&gt;pueden ser modificados si quisieran&lt;/a&gt;. &lt;code&gt;L.geoJson()&lt;/code&gt; también permite agregar interacción a los marcadores. Si ahora hacemos click con el botón derecho, no pasa nada. &lt;/p&gt;



&lt;h4 id=&quot;marcadores-que-cobran-vida&quot;&gt;Marcadores que cobran vida.&lt;/h4&gt;

&lt;p&gt;Me gustaría que, al hacer clic sobre un marcador, apareciera una ventana o “popup” con la información que asociamos a cada uno de ellos (en las &lt;code&gt;properties&lt;/code&gt; de cada punto). Para lograrlo, tenemos que hacer dos cosas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Crear una función que construya y despliegue el popup para cada punto (marcador).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Modificar el llamado &lt;code&gt;L.geoJson()&lt;/code&gt; para que utilice esta función.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Leaflet tiene la función &lt;code&gt;bindPopup()&lt;/code&gt;, que hace precisamente eso: dibuja una caja con un texto para un determinado &lt;code&gt;layer&lt;/code&gt; (el término en inglés para los elementos que se dibujan en el mapa). Este texto puede incluir HTML. Copia y pega este código, debajo de todo lo que llevas hasta el momento:&lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x6.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Esta función &lt;code&gt;showPopup()&lt;/code&gt; recibe un &lt;code&gt;feature&lt;/code&gt;, la pieza de GeoJSON que contiene toda la información (geometría y propiedades), y un &lt;code&gt;layer&lt;/code&gt; (en nuestro caso, el marcador azul). Estos dos parámetros son procesados automáticamente por la función &lt;code&gt;L.geoJson()&lt;/code&gt;. &lt;code&gt;showPopup()&lt;/code&gt; extrae las propiedades de cada atributo (nombre, dirección, etc.) y las articula en una cadena HTML que luego es usada para crear el popup. &lt;/p&gt;

&lt;p&gt;Pero para que funcione, tenemos que conectar la función &lt;code&gt;showPopup&lt;/code&gt; a algo. Para hacerlo, debemos modificar la actual línea de &lt;code&gt;L.geoJson&lt;/code&gt; de la siguiente forma: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x7.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…solamente estamos agregando &lt;code&gt;, {onEachFeature: showPopup}&lt;/code&gt; después de &lt;code&gt;geodata&lt;/code&gt;. Lo que hicimos fue decirle a Leaflet que aplique la función &lt;code&gt;showPopup&lt;/code&gt; a cada atributo en GeoJSON. &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;NOTA:&lt;/strong&gt; Si nuestro GeoJSON tiene multiples tipos de atributos (por ejemplo: puntos, líneas o polígonos) es importante tener en mente que &lt;strong&gt;la misma función será aplicada a cada uno de ellos&lt;/strong&gt;. Por ejemplo, los polígonos tienen un área, pero los puntos no; entonces será necesario que revisemos si el atributo sobre el que clickeamos tiene área antes de intentar usar la función &lt;code&gt;fitBounds&lt;/code&gt; en el mapa. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Al cargar el mapa y hacer clic sobre un marcador, debiera verse así:&lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;70%&quot; src=&quot;http://i.imgur.com/gz58uZb.png&quot; alt=&quot;A popup!&quot; title=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p&gt;Se ve bastante bien y todo, pero… ¿no sería mejor &lt;em&gt;ver&lt;/em&gt; la foto y quizás linkear a la página que corresponde del directorio? &lt;/p&gt;

&lt;p&gt;¡Hagamos eso! &lt;/p&gt;

&lt;p&gt;Remplacemos la función &lt;code&gt;showPopup&lt;/code&gt; con esta: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x8.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;Lo que acabamos de hacer fue agregar una cosa más para el popup: Si &lt;code&gt;key&lt;/code&gt; es igual a “Page” linkeamos al directorio y si &lt;code&gt;key&lt;/code&gt; es igual a “Photo” construimos un contenedor para la imagen que la despliega a 150 pixels de alto (sólo en caso de que sea demasiado grande). &lt;/p&gt;

&lt;p&gt;Así es como se veía el Sr. Núñez: &lt;/p&gt;

&lt;p&gt;&lt;img width=&quot;50%&quot; src=&quot;http://i.imgur.com/0LFioyt.png&quot; alt=&quot;Rafael Núñez bio&quot; title=&quot;&quot; /&gt; &lt;/p&gt;

&lt;p&gt;…digno de un presidente! &lt;/p&gt;

&lt;p&gt;Y, ahora sí, &lt;strong&gt;casi terminamos&lt;/strong&gt;. &lt;/p&gt;



&lt;h4 id=&quot;empaquetando&quot;&gt;Empaquetando.&lt;/h4&gt;

&lt;p&gt;Lo último sería compilar estos tres &lt;em&gt;snippets&lt;/em&gt; de código en una página HTML para que puedas publicar tu nuevo mapa en alguna parte. No te preocupes, para esto hay otra plantilla que tiene marcados los sitios en los que debes pegar el CSS, HTML y JS.  Guarda todo el código como un archivo &lt;code&gt;.html&lt;/code&gt; y publícalo donde quieras: &lt;/p&gt;



&lt;script src=&quot;https://gist.github.com/mgiraldo/bb98fd95e3dc9166e39a.js?file=template.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;Puedes ver el mapa terminado aquí&lt;/a&gt;. Sólo hice algunas modificaciones mínimas al CSS para que se viera mejor en la ventana del navegador.&lt;/p&gt;

&lt;p&gt;Ojalá este tutorial sea útil. &lt;a href=&quot;https://twitter.com/mgiraldo&quot;&gt;Cuéntame&lt;/a&gt; si tienes algún comentario o sugerencia.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id=&quot;fn:resampling&quot;&gt;Similar a lo que ocurre &lt;a href=&quot;https://en.wikipedia.org/wiki/Sample_rate_conversion&quot;&gt;con la música&lt;/a&gt; cuando se convierte de calidad CD a MP3.  &lt;a href=&quot;#fnref:resampling&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:maptiles&quot;&gt;&lt;a href=&quot;https://www.mapbox.com/foundations/how-web-maps-work/&quot;&gt;Esta explicación puede ser útil&lt;/a&gt; para una introducción más profunda sobre cómo funcionan los tilesets en los mapas web.  &lt;a href=&quot;#fnref:maptiles&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:caveat&quot;&gt;No hice una investigación acuciosa de los nombres, así que puede ser (aunque es improbable) que existan homónimos.  &lt;a href=&quot;#fnref:caveat&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:geojson&quot;&gt;De &lt;a href=&quot;http://geojson.org/&quot;&gt;GeoJSON.org&lt;/a&gt; &lt;a href=&quot;#fnref:geojson&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;li id=&quot;fn:magic&quot;&gt;¡Todo debiera funcionar así! &lt;a href=&quot;#fnref:magic&quot; title=&quot;Return to article&quot; class=&quot;reversefootnote&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</description>
  <category>Computers</category>
  <comments>https://www.nypl.org/blog/2015/02/24/del-papel-la-web-haz-tus-propios-mapas-interactivos#comments</comments>
  <pubDate>Tue, 24 Feb 2015 11:42:42 -0500</pubDate>
</item>
<item>
  <title>NYPL Digital Collections Platform: An Introduction</title>
  <link>https://www.nypl.org/blog/2015/01/21/digital-collections-platform-intro</link>
  <dc:creator>Josh Hadro</dc:creator>
  <description>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--/*--&gt;&lt;![CDATA[/* &gt;&lt;!--*/
.field-items img {
max-width: 730px;
margin: 0px 15px;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.35);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.35);
box-shadow: 0 0 5px rgba(0,0,0,0.35);
}

/*--&gt;&lt;!]]&gt;*/
&lt;/style&gt;

&lt;p&gt;Nearly ten years ago, in March 2005, The New York Public Library (NYPL) debuted an amazing site of digitized images called Digital Gallery.&lt;/p&gt;

&lt;p&gt;Just a few weeks ago we released a new iteration—the spiritual successor to Digital Gallery, which we call &lt;a href=&quot;http://digitalcollections.nypl.org&quot;&gt;Digital Collections&lt;/a&gt;.&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;
&lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;&lt;img alt=&quot;Lion home page&quot; src=&quot;http://i.imgur.com/XdVDYLS.jpg&quot; width=&quot;90%&quot; title=&quot;lion home page&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Digital Collections contains more than 800,000 digitized items, and that number grows every day. While that’s a small fraction of the New York Public Library’s overall holdings, the aim of Digital Collections is to provide context for the materials we have digitized and to inspire people to &lt;a href=&quot;http://digitalcollections.nypl.org/about#use&quot;&gt;use and reuse the media and data&lt;/a&gt; on offer there to advance knowledge and create new works.&lt;/p&gt;

&lt;p&gt;While the aim of Digital Gallery was similar, we’ve now moved beyond just static images, and the platform includes &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?filters%5Btype%5D%5B%5D=moving+image&amp;amp;keywords=&amp;amp;sort=mainTitle_ns+desc#/?scroll=0&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?context=&amp;amp;filters%5Btype%5D=sound+recording&amp;amp;keywords=&quot;&gt;audio&lt;/a&gt;, and &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?context=&amp;amp;filters%5Btype%5D=text&amp;amp;keywords=#/?tab=filter&amp;amp;scroll=0#/?tab=filter&quot;&gt;texts&lt;/a&gt;, as well as more interplay with our collections experiments (more on that below).&lt;/p&gt;

&lt;p&gt;I couldn’t be more proud of this joint effort of a variety of teams across the library, including librarians, curators, the NYPL Technology Group, NYPL Labs, and many others. I’m pleased to present this post as a kind of primer to the features large and small that we’ve included in the platform.&lt;/p&gt;

&lt;p&gt;As ever, this is a work in progress, and we’re eager for any feedback you may have—leave a comment below, or let us know at DigitalCollections@nypl.org.&lt;/p&gt;

&lt;hr /&gt;
&lt;h2 id=&quot;browsing-digital-collections&quot;&gt;Browsing Digital Collections&lt;/h2&gt;

&lt;p&gt;Let’s start with one of our main goals with the revamp of the site, which was to make collections browsing and discovery a core element of the Digital Collections experience.&lt;/p&gt;

&lt;p&gt;Materials on our Digital Collections site are currently organized in a simple hierarchy. Every item belongs to at least two defining hierarchical levels: it must belong to a parent Division, and within that Division it must belong to a top-level Collection. Many collections have levels of hierarchy beyond that, but those are the only two that are required.&lt;/p&gt;

&lt;p&gt;As a result, you can &lt;a href=&quot;http://digitalcollections.nypl.org/divisions&quot;&gt;browse by Division&lt;/a&gt;, which essentially corresponds to the organization unit within the Library that is responsible for the physical materials represented on this site. On each individual Division page (e.g., &lt;a href=&quot;http://digitalcollections.nypl.org/divisions/irma-and-paul-milstein-division-of-united-states-history-local-history&quot;&gt;the Irma and Paul Milstein Division of United States History, Local History and Genealogy&lt;/a&gt;), you’ll find a brief description of the division with a link to Contact Info for that location, as well as a lane of recently digitized items and the Collections of digitized material within the Division.&lt;/p&gt; 
&lt;p&gt;
&lt;img alt=&quot;division&quot; src=&quot;http://i.imgur.com/5xapW9R.png&quot; width=&quot;90%&quot; title=&quot;divisions&quot; /&gt;&lt;/p&gt;

&lt;p&gt;You can also &lt;a href=&quot;http://digitalcollections.nypl.org/collections&quot;&gt;browse by Collection&lt;/a&gt;, which allows you to start exploring at the highest level of how we’ve arranged the materials, across all Divisions. If you’re interested in something particular, you can filter by collection title using the filter box at the top of that page.&lt;/p&gt; 
&lt;p&gt;
&lt;!--&lt;img alt=&quot;collections&quot; src=&quot;http://i.imgur.com/xkg5s0U.png&quot; width=&quot;90%&quot; title=&quot;collections&quot;&gt;&lt;/p&gt;--&gt;

&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;hierarchy&quot; src=&quot;http://i.imgur.com/W4esatE.png&quot; width=&quot;50%&quot; style=&quot;float: right;&quot; title=&quot;hierarchy&quot; /&gt;&lt;/p&gt; &lt;p&gt;
We’ve also built some navigational tools that allow you to traverse the sub-containers within many collections. &lt;a href=&quot;http://digitalcollections.nypl.org/collections/vinkhuijzen-collection-of-military-uniforms#/?tab=navigation&quot;&gt;The Vinkhuijzen collection of military uniforms&lt;/a&gt; is a great example: this collection is divided into containers by country. Within those countries are examples of military costumes from different periods in that country’s history. Take a look at &lt;a href=&quot;http://digitalcollections.nypl.org/collections/vinkhuijzen-collection-of-military-uniforms#/?tab=navigation&amp;amp;scroll=0&amp;amp;roots=7:af103af0-c532-012f-e88b-58d385a7bc34&amp;amp;page=1&quot;&gt;Denmark&lt;/a&gt;: within the Denmark container, there are nine sub-containers that will filter the results set to periods between &lt;a href=&quot;http://digitalcollections.nypl.org/collections/vinkhuijzen-collection-of-military-uniforms#/?tab=navigation&amp;amp;scroll=0&amp;amp;roots=7:af103af0-c532-012f-e88b-58d385a7bc34/af72e7b0-c532-012f-2c77-58d385a7bc34&amp;amp;page=1&quot;&gt;1760&lt;/a&gt; and &lt;a href=&quot;http://digitalcollections.nypl.org/collections/vinkhuijzen-collection-of-military-uniforms#/?tab=navigation&amp;amp;scroll=0&amp;amp;roots=7:af103af0-c532-012f-e88b-58d385a7bc34/8:b774c910-c533-012f-3f22-58d385a7bc34&amp;amp;page=1&quot;&gt;1885&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Anytime you see a “+” next to an element of hierarchy in this browse view, that means there’s at least another level of hierarchy to explore—just click the container with the “+” in the title, and more options will expand beneath it. The image set on the right will automatically filter to show you just the images within the section of the hierarchy you’ve selected. (You’ll also notice this same hierarchy displays on every item page as well; we’ll get to those features in a minute.)&lt;/p&gt;
 &lt;p&gt;
A couple of tabs appear above the Collections options panel on the left. If a collection has any hierarchical elements, you’ll be able to browse them via the “Navigation” tab.&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;navigation tabs&quot; src=&quot;http://i.imgur.com/AuZGx5y.png&quot; width=&quot;50%&quot; style=&quot;float: right;&quot; title=&quot;navigation tabs&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Meanwhile, all collections (and search results, for that matter) have a “Filters” tab, which gives you options to further narrow the results set by keyword, topic, name, date, material type, and more.&lt;/p&gt;

&lt;p&gt;The “About” tab features as much information as we can derive from the metadata of that collection. In many cases, there is descriptive text giving some history and background for the collection. In other cases there will only be some basic collections details, such as the owning division, local identifiers, and a few more tidbits.&lt;/p&gt;

&lt;p&gt;You can see all three of these possible tabs on the &lt;a href=&quot;http://digitalcollections.nypl.org/collections/renaissance-and-medieval-manuscripts-collection-ca-850-ca-1600#/?tab=navigation&quot;&gt;Renaissance and medieval manuscripts collection&lt;/a&gt;, for example.&lt;/p&gt;

&lt;p&gt;One other way we’ve attempted to inject some serendipitous discovery and highlights into the browsing experience is via the “lanes” on &lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;the home page&lt;/a&gt;. There you’ll find groupings of collections on certain topics and themes, though these are not necessarily the full extent of what Digital Collections has to offer—for that, try searching the full breadth of the content.&lt;/p&gt; 
&lt;!-- &lt;p&gt;
	&lt;img alt=&quot;lanes&quot; src=&quot;http://i.imgur.com/BVmUuEy.png&quot; title=&quot;lanes&quot;&gt;&lt;/p&gt; --&gt;

&lt;h2 id=&quot;searching-digital-collections&quot;&gt;Searching Digital Collections&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&quot;search results&quot; src=&quot;http://i.imgur.com/T79WAs8.png&quot; title=&quot;search results&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You can search Digital Collections from &lt;a href=&quot;http://digitalcollections.nypl.org/&quot;&gt;the home page&lt;/a&gt;, or via the persistent search box in the upper right hand corner of any other page.&lt;/p&gt;

&lt;p&gt;For all searches, you’ll see a body of search results on the right and a set of faceting tools on the left. The tools on the left help you filter and narrow your search. Each time you choose a facet, you’ll see the search results on the right side refresh to include just the ones that match the keyword and other criteria you’ve selected. To undo a facet selection, just click the little “x” next to the label in the line above the search results, or in the lefthand pane.&lt;/p&gt;


&lt;p&gt;
&lt;img alt=&quot;facets&quot; src=&quot;http://i.imgur.com/QXjl9Pr.png&quot; width=&quot;50%&quot; style=&quot;float:right;&quot; title=&quot;facets&quot; /&gt;&lt;/p&gt; 

&lt;p&gt;When there are a lot of options under a given facet, you can click “more” which will expose an expanded list of possibilities. Here, you can filter the options available before making a selection that will apply to all the search results on the right.&lt;/p&gt; 
&lt;p&gt;
If you search for a general topic—&lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=%E2%9C%93&amp;amp;keywords=Posters&quot;&gt;posters&lt;/a&gt;, for example—you’ll see the search results on the right, the set of faceting tools on the left, but you’ll also see some suggestions at the top of the results set under  the “Looking for one of these collections?” label. If there’s one or more collections that include a lot of items matching the searched keyword, Digital Collections will suggest those collections as browse paths above the search results. Give it a try—it works for &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=maps&quot;&gt;lots&lt;/a&gt; of &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=Dance&quot;&gt;general&lt;/a&gt; &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=Brooklyn&quot;&gt;topics&lt;/a&gt;, and some &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=Walt+Whitman&quot;&gt;specific&lt;/a&gt; &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=Menus&quot;&gt;ones&lt;/a&gt;, too.&lt;/p&gt; &lt;p&gt;
	&lt;img alt=&quot;collections-suggestions&quot; src=&quot;http://i.imgur.com/vToJQWz.png&quot; title=&quot;collections suggestions&quot; /&gt;&lt;/p&gt;

&lt;p&gt;One other search that we’re particularly proud of including with this revamp of Digital Collections: a &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?utf8=✓&amp;amp;keywords=&amp;amp;filters%5brights%5d%5b%5d=pd&quot;&gt;search for Public Domain materials&lt;/a&gt; (technically, for a variety of reasons, these are labeled on our site as “no known US copyright restrictions,” and that’s how I’ll refer to them from here on out).&lt;/p&gt;

&lt;p&gt;
	&lt;img alt=&quot;pd-button&quot; src=&quot;http://i.imgur.com/3Xdbff0.png&quot; style=&quot;float: right;&quot; title=&quot;pd button&quot; /&gt;&lt;/p&gt; 
&lt;!--&lt;p&gt;&lt;img alt=&quot;pd-label&quot; src=&quot;http://i.imgur.com/notNKny.png&quot;  width=&quot;50%&quot; style=&quot;float: right;&quot; title=&quot;pd label&quot;&gt;&lt;/p&gt;--&gt;

&lt;p&gt;The New York Public Library is actively reviewing and labeling materials in our Digital Collections with statements that indicate how you may reuse the image, and what sort of permission, if any, you need to do so. You can find all items similarly marked as having no US copyright restrictions via the search above (you can also see the label indicating as much on the individual item pages, which we’ll get to momentarily).&lt;/p&gt;

&lt;p&gt;Meanwhile, below the filters on all search results pages, you’ll also see a button you can select labeled “only Public Domain.” For any search, selecting this option will filter to only the subset of results you searched for that have so far been marked as having no known US copyright restrictions. We’re reviewing more material every day to allow you to use and reuse as many of the materials from our collections as possible, so we hope you’ll use that filter &lt;a href=&quot;http://copyright.gov/title17/92preface.html&quot;&gt;to promote the progress of science and useful arts&lt;/a&gt; and lots of other things, too!&lt;/p&gt; 
	&lt;!--&lt;p&gt;&lt;img alt=&quot;pd-search&quot; src=&quot;http://i.imgur.com/AttMR8k.png&quot; title=&quot;pd search&quot;&gt;&lt;/p&gt;--&gt;

&lt;h2 id=&quot;item-information-tools-and-citations&quot;&gt;Item information, tools, and citations&lt;/h2&gt;

&lt;p&gt;Every item page on the site has a couple of sections, all designed to bring you more contextual information about the material and to connect you to other items relevant to your interests. (If you don’t already have an item page handy, check out &lt;a href=&quot;http://digitalcollections.nypl.org/items/8c4f63bc-04aa-933b-e040-e00a18062714&quot;&gt;one of my favorite example items&lt;/a&gt;, in case you want to follow along at home.)&lt;/p&gt;

&lt;p&gt;First, of course, is an image of the item itself (or a streaming media player for audio and video files). If an item &lt;a href=&quot;http://digitalcollections.nypl.org/items/645a8810-85f4-0131-a4a9-58d385a7b928&quot;&gt;has more than one image associated with it&lt;/a&gt;, you’ll see thumbnails for those just below and to the right of the image. (You can also navigate these using the arrow keys.) You’ll also find a few tools below and to the left which allow you to perform actions like zoom, rotate, print, and more.&lt;/p&gt;

&lt;p&gt;
	Below this are some basic metadata elements—think of these as the basic facts about the item, including creator, date, library location, and more. When an image has no known US copyright, you’ll see a label to that effect here as well. There is a tab with “sharing” options which lets you send a link to the item to Twitter, Pinterest, and Facebook. Finally, there’s a tab that gives you options to download versions of the file, as well as links to order decorative prints or high-resolution files.&lt;/p&gt; 
	&lt;p&gt;&lt;img alt=&quot;metadata-card&quot; src=&quot;http://i.imgur.com/wbFWWnn.png&quot; style=&quot;margin: 0 auto;&quot; title=&quot;metadata card&quot; /&gt;&lt;/p&gt;
	&lt;p&gt;
	&lt;img alt=&quot;sharing&quot; src=&quot;http://i.imgur.com/pylcSyX.png&quot; title=&quot;sharing&quot; style=&quot;margin: 0 auto;&quot; /&gt;&lt;/p&gt; &lt;p&gt;
	&lt;img alt=&quot;download&quot; src=&quot;http://i.imgur.com/DuyalDU.png&quot; title=&quot;download&quot; style=&quot;margin: 0 auto;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;At the very bottom of the page, there’s a more extensive metadata section labeled “item data.” Here we list everything we know about an item including topical connections, material type listings, various identifiers, collections hierarchy, notes, and more. Wherever possible, we link these values to filtered searches so that with one click you can see other similar items with those same attributes.&lt;/p&gt; &lt;p&gt;
	&lt;img alt=&quot;item-data&quot; src=&quot;http://i.imgur.com/AwzL2dX.png&quot; title=&quot;item data&quot; /&gt;&lt;/p&gt; &lt;p&gt;
	Next to the section heading “Item Data,” there’s also a “Cite this Item” tab. Here we provide our best attempt at an automatically generated cut-and-paste citation in MLA, Chicago/Turabian, and APA formats. However, as with all citations, you should should double check the generated elements of the citation to make sure all the information is correct. We’ve also included a pre-formatted Wikipedia citation code block which should make it easy for you to make reference to an item from Digital Collections on any Wikipedia page.&lt;/p&gt;

&lt;p&gt;Finally, at the very bottom of each item page, we’ve included an automatically generated timeline which examines the item metadata and pulls out all of the relevant dates we can parse to try and give you a snapshot view of the physical and digital life cycle of the item you’ve found.&lt;/p&gt; &lt;p&gt;
	&lt;img alt=&quot;timeline&quot; src=&quot;http://i.imgur.com/zkUFeFD.png&quot; title=&quot;timeline&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;collections-context-and-collections-experiments&quot;&gt;Collections context and collections experiments&lt;/h2&gt;

&lt;p&gt;If you’ve been following along up to this point, you’ll notice that, in describing the various elements and their functionality, I skipped over a big chunk of the item page. Let’s return to it now, and wrap this up with some pointers to future connections we hope to make.&lt;/p&gt;

&lt;p&gt;The middle section of every item page has two columns: one on the left labeled “Library Division &amp;amp; Collection with this item,” and one on the right labeled “View this item elsewhere.”&lt;/p&gt; &lt;p&gt;
	&lt;img alt=&quot;hierarchy&quot; src=&quot;http://i.imgur.com/XzkLoWZ.png&quot; title=&quot;hierarchy&quot; /&gt;&lt;/p&gt; &lt;p&gt;
	The left-hand section here displays what we know about an item in terms of the division that owns it and the collection that contains it, including all the layers of containers between the item and the library division. This reflects the same hierarchy elements mentioned earlier in this post. If you hover over any level of this hierarchy, you’ll see some example thumbnails of other items belonging to those containers and, of course, you can click through to see all the matching items via the collections navigation view.&lt;/p&gt;

&lt;p&gt;Some items have deep hierarchies and some shallow, but in every case we hope this gives you some insight into how the item relates to other materials held by the same division and highlights other parts of our collections that you might not otherwise have encountered.&lt;/p&gt;

&lt;p&gt;The “View this item elsewhere” section is also meant as an exercise in making contextual links to other NYPL resources and beyond. The most common references you’ll see in this section:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;The &lt;a href=&quot;https://catalog.nypl.org/&quot;&gt;NYPL Catalog&lt;/a&gt; (essentially, our inventory tracking and bibliographic description system across all Library divisions)&lt;/li&gt;
	&lt;li&gt;The &lt;a href=&quot;http://archives.nypl.org/&quot;&gt;NYPL Archives Portal&lt;/a&gt; (describing 10,000 archival and manuscript collections comprising over 50,000 linear feet of material in nearly every format imaginable)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://dp.la/&quot;&gt;The Digital Public Library of America&lt;/a&gt; (a national effort that makes NYPL collections searchable along with those of hundreds of other institutions)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Meanwhile, we’re also hard at work extracting data from historical sources and materials, and we’ve incorporated contextual links to those data extraction experiments wherever possible. Some of those include:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;http://maps.nypl.org/warper/&quot;&gt;The Map Warper&lt;/a&gt; (See &lt;a href=&quot;http://digitalcollections.nypl.org/items/510d47e2-086e-a3d9-e040-e00a18064a99&quot;&gt;an example&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://buildinginspector.nypl.org/&quot;&gt;Building Inspector&lt;/a&gt; (See &lt;a href=&quot;http://digitalcollections.nypl.org/items/510d47e0-bf3e-a3d9-e040-e00a18064a99&quot;&gt;an example&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://stereo.nypl.org/&quot;&gt;Stereogranimator&lt;/a&gt; (See &lt;a href=&quot;http://digitalcollections.nypl.org/items/5e66b3e8-f484-d471-e040-e00a180654d7&quot;&gt;an example&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://menus.nypl.org/&quot;&gt;What’s on the Menu&lt;/a&gt; (See &lt;a href=&quot;http://digitalcollections.nypl.org/items/c1e518e3-db8f-5ef2-e040-e00a18063c7a&quot;&gt;an example&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As we undertake more research and development on the possibilities of working with our collections data and helping make as many connections among materials as possible, we hope to expand the list of “See also” references included on the site.&lt;/p&gt;

&lt;p&gt;What are the connections you’d like to see? How can we make the digitized portions of NYPL’s collections more useful and relevant to you?&lt;/p&gt;

&lt;p&gt;Let us know in the comments, or email us at DigitalCollections@nypl.org.&lt;/p&gt;
</description>
  <category>Image Collections</category>
  <comments>https://www.nypl.org/blog/2015/01/21/digital-collections-platform-intro#comments</comments>
  <pubDate>Wed, 21 Jan 2015 16:01:13 -0500</pubDate>
</item>
<item>
  <title>From Paper Maps to the Web: A DIY Digital Maps Primer</title>
  <link>https://www.nypl.org/blog/2015/01/05/web-maps-primer</link>
  <dc:creator>Mauricio Giraldo Arteaga</dc:creator>
  <description>&lt;style type=&quot;text/css&quot;&gt;
&lt;!--/*--&gt;&lt;![CDATA[/* &gt;&lt;!--*/
.field-items img {
max-width: 730px;
-moz-box-shadow: 0 0 5px rgba(0,0,0,0.35);
-webkit-box-shadow: 0 0 5px rgba(0,0,0,0.35);
box-shadow: 0 0 5px rgba(0,0,0,0.35);
}
blockquote {
background-color: #FEF4E5;
padding: 5px 10px;
}
code {
background-color: #E4E4E4;
}

/*--&gt;&lt;!]]&gt;*/
&lt;/style&gt;
&lt;br /&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.nypl.org/blog/2015/02/24/del-papel-la-web-haz-tus-propios-mapas-interactivos&quot;&gt;Leer versión en español&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://www.nypl.org/blog/2015/04/13/du-papier-au-web-cr%C3%A9ez-vos-propres-cartes-interactives&quot;&gt;Lire en Français&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I was invited to the National Library of Colombia’s &lt;a href=&quot;http://www.bibliotecanacional.gov.co/content/segunda-semana-del-libro-digital-2014&quot;&gt;2&lt;sup&gt;nd&lt;/sup&gt; Digital Book Week&lt;/a&gt; as a speaker and to give a workshop on digital mapping tools. I thought it would be useful to share that workshop since it encompasses a lot of different processes and tools that make digital cartography today very accessible. It is a primer on working with various free web mapping tools so you can make your own awesome maps.&lt;/p&gt;

&lt;h2 id=&quot;tldr&quot;&gt;TL;DR&lt;/h2&gt;

&lt;p&gt;You will make &lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;this&lt;/a&gt;. This tutorial assumes you have a digitized map and some data you want to overlay on it. The general steps covered are:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;geo-referencing the scanned map so that web tiles can be generated&lt;/li&gt;
	&lt;li&gt;generating GeoJSON data to be overlaid&lt;/li&gt;
	&lt;li&gt;creating a custom base map (to serve as reference/present day)&lt;/li&gt;
	&lt;li&gt;integrating all assets in an interactive web page&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This tutorial assumes you are using &lt;a href=&quot;https://www.mozilla.org/en-US/firefox/&quot;&gt;Mozilla Firefox&lt;/a&gt;, &lt;a href=&quot;https://www.apple.com/safari/&quot;&gt;Apple Safari&lt;/a&gt; or &lt;a href=&quot;http://www.google.com/chrome/&quot;&gt;Google Chrome&lt;/a&gt;. You will be playing with the developer console and I don’t have multi-browser instructions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;lets-get-started&quot;&gt;Let’s get started!&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;This is what we want to make&lt;/a&gt;. It is an 1891 map of Bogotá &lt;a href=&quot;http://www.bibliotecanacional.gov.co/ultimo2/tools/marco.php?idcategoria=45223&quot;&gt;available in the National Library of Colombia&lt;/a&gt; (link requires Flash Player) annotated with some data found in an &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;1888 Bogotá City Directory&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;1-geo-referencing&quot;&gt;1) Geo-referencing&lt;/h3&gt;

&lt;p&gt;The first step after scanning a map is to add geographical data to it; to establish an equivalence between its pixels and the geographic location they represent. This is called geo-referencing. This process will distort the scanned image:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Original scan&quot; src=&quot;https://i.imgur.com/UTGlBEk.jpg&quot; width=&quot;50%&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Original scan (shrunk, of course)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;…to match the &lt;a href=&quot;https://en.wikipedia.org/wiki/Mercator_projection&quot;&gt;Mercator projection&lt;/a&gt; which is used in most web mapping projects such as OpenStreetMap or Google Maps:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Geo-referenced scan in Mercator projection&quot; width=&quot;50%&quot; src=&quot;https://i.imgur.com/M6whllY.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Geo-referenced scan in Mercator projection&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The amount of distortion will depend on the quality of the survey, preservation state and original projection of the map. You may be asking: how did this magically happen? There’s commercial and open-source software that allows you to geo-reference images but the point of this tutorial is doing all of this &lt;em&gt;without installing any software other than your web browser&lt;/em&gt;. Enter: The &lt;a href=&quot;http://mapwarper.net/&quot;&gt;Map Warper&lt;/a&gt;! Map Warper is a web tool that lets you upload your scanned maps and provides a simple interface for you to geo-reference them (or “rectify” in geo parlance). Referencing boils down to you telling what part of the scanned map (left) corresponds to what part of the Mercator projection (right):&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Map Warper&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/XveF5Q5.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;The split-view rectification interface in Map Warper&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Notice the pins in the image. Each pin has a number and the same pin is present in both views. From them you can tell that North in the scan is pointing leftwards while East is pointing upwards. &lt;strong&gt;The more pins you add, the more precise the referencing will be but the slower the final image generation.&lt;/strong&gt; However, image generation happens only once so I wouldn’t worry too much about that. It’s more an issue of how many pins you are willing to add. The map in this tutorial has 101 pins.&lt;/p&gt;

&lt;p&gt;A final consideration in this process is to make sure you get a high-quality geo-referenced image after distortion. The process of distorting the original image is called &lt;a href=&quot;https://en.wikipedia.org/wiki/Image_scaling&quot;&gt;resampling&lt;/a&gt; &lt;sup id=&quot;fnref:resampling&quot;&gt;&lt;a class=&quot;footnote&quot; href=&quot;#fn:resampling&quot; title=&quot;See footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. In the Map Warper’s &lt;code&gt;Advanced options&lt;/code&gt; you can set the method from the low-quality but fast &lt;code&gt;Nearest Neighbour&lt;/code&gt; to high-quality but slow &lt;code&gt;Cubic Spline&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Resampling method selection&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/h5s13Mm.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Select “Cubic Spline” in the Resampling Method option&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://mapwarper.net/maps/4949#Preview_Map_tab&quot;&gt;You can view the final map here&lt;/a&gt;. You can also download high-resolution assets in the &lt;code&gt;Export&lt;/code&gt; tab. However, I think the &lt;strong&gt;main perk&lt;/strong&gt; you get from the Map Warper are the &lt;strong&gt;tiles&lt;/strong&gt;. It’s that URL template you see here:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Map Warper&quot; src=&quot;https://i.imgur.com/KP75kOT.png&quot; width=&quot;100%&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;You can find the tile URL in the “Export” tab&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The template is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;http://mapwarper.net/maps/tile/4949/{z}/{x}/{y}.png&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will need this URL! Keep it somewhere safe. Map Warper has a tile-generating engine that uses the geo-referenced image to produce square map tiles at different zoom levels and coordinates so that only the necessary parts of the interactive map get displayed as you use it&lt;a class=&quot;footnote&quot; href=&quot;#fn:maptiles&quot; id=&quot;fnref:maptiles&quot; title=&quot;See footnote&quot; rel=&quot;footnote&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;. This is an example tile:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;a web map tile&quot; src=&quot;http://mapwarper.net/maps/tile/4949/17/38565/63860.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Web maps are made up of millions of these&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;2-data-extraction&quot;&gt;2) Data extraction&lt;/h3&gt;

&lt;p&gt;We have the map. Now we want to figure out what data to show on it. Our example uses &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/&quot;&gt;this 1888 City Directory of Bogotá&lt;/a&gt;, Colombia’s capital city. This directory is information-rich, containing tens of thousands of person names (each with address and occupation), dozens of different occupations (described in &lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/4/mode/2up&quot;&gt;page 4&lt;/a&gt;) and advertisements (along with many store addresses and owner names).&lt;/p&gt;

&lt;p&gt;The directory provides an interesting view of life in late XIX century Colombia: lawyers, photographers and accountants share pages with saddlers and blacksmiths. I went the boring route and looked for some prominent politicians of the time, such as then-sitting president (&lt;a href=&quot;http://www.bibliotecanacional.gov.co/recursos_user/bookreader/1889_sala3a_12756/#page/222/mode/2up&quot;&gt;page 222&lt;/a&gt;, first in the second column). The &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;current list&lt;/a&gt; contains seven people: four presidents, a vice-president, a minister and an acting president&lt;a class=&quot;footnote&quot; href=&quot;#fn:caveat&quot; id=&quot;fnref:caveat&quot; title=&quot;See footnote&quot; rel=&quot;footnote&quot;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;. The list includes:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;name&lt;/li&gt;
	&lt;li&gt;office (highest office held in the Colombian executive branch)&lt;/li&gt;
	&lt;li&gt;term&lt;/li&gt;
	&lt;li&gt;page (where it appears in the directory)&lt;/li&gt;
	&lt;li&gt;occupation (as displayed in the directory)&lt;/li&gt;
	&lt;li&gt;address&lt;/li&gt;
	&lt;li&gt;Wikimedia Commons photo URL&lt;/li&gt;
	&lt;li&gt;latitude, longitude (a placeholder set to downtown Bogotá that we will change in this step)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;Download the CSV list&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can create your own list from other data you find more interesting or useful. &lt;strong&gt;Make sure to include &lt;code&gt;latitude&lt;/code&gt; and &lt;code&gt;longitude&lt;/code&gt; columns&lt;/strong&gt; and save it as a &lt;a href=&quot;https://en.wikipedia.org/wiki/Comma-separated_values&quot;&gt;comma-separated list&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;geojson&quot;&gt;GeoJSON&lt;/h4&gt;

&lt;p&gt;So far our data is contained in a comma-separated list, but web mapping tools generally use the &lt;a href=&quot;http://geojson.org/&quot;&gt;GeoJSON standard&lt;/a&gt;. GeoJSON is based on JSON which is one of the most popular ways of structuring data in the web. GeoJSON uses the concept of “features” to describe geographic data. Those features can be points (as is our current case) or &lt;a href=&quot;https://en.wikipedia.org/wiki/GeoJSON&quot;&gt;more complex geometries&lt;/a&gt; such as lines, multilines and polygons. Each feature is described by its &lt;code&gt;geometry&lt;/code&gt; (the point, line, polygon itself) accompanied by its &lt;code&gt;properties&lt;/code&gt; which is whatever extra data you want to associate with it (in our case, a person’s name, address, photo, etc.). For example&lt;a class=&quot;footnote&quot; href=&quot;#fn:geojson&quot; id=&quot;fnref:geojson&quot; title=&quot;See footnote&quot; rel=&quot;footnote&quot;&gt;&lt;sup&gt;4&lt;/sup&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=example.json&quot;&gt;&lt;/script&gt;

&lt;p&gt;We need to convert our spreadsheet into a GeoJSON object and then update the placeholder &lt;code&gt;latitude&lt;/code&gt; and &lt;code&gt;longitude&lt;/code&gt; values to the proper values. We will use the map itself to help us figure out those. We need a tool that lets us generate GeoJSON that we can easily manipulate.&lt;/p&gt;

&lt;p&gt;Enter &lt;a href=&quot;http://geojson.io/&quot;&gt;GeoJSON.io&lt;/a&gt;! This is “a quick, simple tool for creating, viewing, and sharing maps”. GeoJSON.io has this nifty interface we can use to create the GeoJSON we need.&lt;/p&gt;

&lt;p&gt;Go ahead and &lt;a href=&quot;http://geojson.io/&quot;&gt;open GeoJSON.io&lt;/a&gt; in a new browser window. you will see the default map at full zoom out. Now we need to do a little hacking. Right-click somewhere on the map and select &lt;code&gt;Inspect Element&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Right-Click -&amp;gt; Inspect Element&quot; width=&quot;90%&quot; src=&quot;http://i.imgur.com/EIqHCRu.gif&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Right-Click → Inspect Element&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This opens an advanced developer view that let’s you view and modify the code of the page you are viewing (in this case, the map interface). GeoJSON.io includes a programming interface (API) that lets you control the map being displayed. The core of this site is &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt;, which is itself built on top of &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt;, an “Open-Source JavaScript Library for Mobile-Friendly Interactive Maps”. I mention both because, for the most part, whatever works on one of them works on the other (&lt;em&gt;do&lt;/em&gt; read the documentation before making any decisions!) and I will be referring to it as Leaflet instead of MapBoxJS.&lt;/p&gt;

&lt;p&gt;In the Console tab you’ll see some text and, at the bottom, a cursor where you can execute JavaScript code. You’ll see some comments from the &lt;a href=&quot;https://twitter.com/tmcw&quot;&gt;creator of GeoJSON.io&lt;/a&gt; and a row where you can type new JavaScript commands. Type this in that area and press ENTER (refer to the animated GIF below):&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;This will center and zoom the map in Bogotá, Colombia, the area covered by the 1891 map. Now type this:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=geojsonio2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…and press ENTER. This will add the tile layer itself. Notice that line of code &lt;strong&gt;includes the URL you copied in step 1&lt;/strong&gt;. The end result will look something like this:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Before and after executing the commands&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/81lQIRG.gif&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;A quick “hacking” of GeoJSON.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can now close the development window (&lt;em&gt;not&lt;/em&gt; the browser window!).&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You will need to re-apply this code every time you load GeoJSON.io since it doesn’t save modifications made via console. You &lt;em&gt;can&lt;/em&gt; save the data you add to the map by logging in.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4 id=&quot;adding-data-to-geojsonio&quot;&gt;Adding data to GeoJSON.io&lt;/h4&gt;

&lt;p&gt;Now we will use this modified version of the map as a base to properly geo-locate the &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/adc66ff03fc41c88a9ef/raw/db06e19048e1bee737c8897b65517e2e2916af44/directorio%20bogota%CC%81%201888.csv&quot;&gt;CSV list of presidents&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Drag the CSV file you downloaded on the map:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;drag and drop magic&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/YL0VrXE.gif&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Drag and drop magic in GeoJSON.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You will notice how the data is immediately converted to GeoJSON (right pane) and the map zooms in to show the points that represent each president (left pane). You can see a small green message (top left) showing seven features were imported.&lt;/p&gt;

&lt;p&gt;But the 1891 map disappears! No worries. This just means that the map is zoomed in “too close to the ground” and the tile URL template does not have images up to that level. Zoom out a bit and you will see the 1891 map appear again.&lt;/p&gt;

&lt;h4 id=&quot;moving-the-points-around&quot;&gt;Moving the points around&lt;/h4&gt;

&lt;p&gt;The points in the CSV are all geo-located on top of each other on the same point in Bogotá’s &lt;a href=&quot;https://en.wikipedia.org/wiki/Bol%C3%ADvar_Square&quot;&gt;Plaza de Bolívar&lt;/a&gt;. We need to move them to their proper location. If you click the gray pin you will see the additional data for the topmost one (General Rafael Reyes). His address at the time was 50, Calle 16 (50 16th Street). We need to find that address in the map.&lt;/p&gt;

&lt;p&gt;Finding the address will be relatively easy since each block has its starting and ending address numbers written on the corners. You will notice that “Carrera” (vertical-ish streets) numbers increase northward with odd numbers east and even numbers west while “Calle” (horizontal-ish streets) numbers increase westward with odd numbers south and even numbers north:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Address numbers&quot; width=&quot;100%&quot; src=&quot;https://i.imgur.com/RAQxw8q.gif&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We will place the point in the approximate location between corners in a given block. To do so, activate editing mode by clicking the &lt;img alt=&quot;Edit icon&quot; src=&quot;https://i.imgur.com/52FWtfw.png&quot; title=&quot;&quot; /&gt; icon. Pins will have a pink outline and you can move them around. Place the pins in the desired location and click “Save” to commit the changes:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Moving points around&quot; width=&quot;75%&quot; src=&quot;http://i.imgur.com/LEfv82X.gif&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There are some tricky addresses but this task can be quite enjoyable since you literally get lost in 1891 Bogotá. An interesting aspect of this map is that government buildings are colored with the &lt;a href=&quot;https://en.wikipedia.org/wiki/Flag_of_Colombia&quot;&gt;Colombian flag&lt;/a&gt;. When you place &lt;a href=&quot;https://es.wikipedia.org/wiki/Rafael_N%C3%BA%C3%B1ez&quot;&gt;Rafael Núñez Moledo&lt;/a&gt;, the sitting president at the time, you will notice that his address matches one of those flag-colored buildings (the &lt;a href=&quot;https://es.wikipedia.org/wiki/Casa_de_Nari%C3%B1o&quot;&gt;Casa de Nariño&lt;/a&gt;).&lt;/p&gt;

&lt;h4 id=&quot;saving-the-geojson&quot;&gt;Saving the GeoJSON&lt;/h4&gt;

&lt;p&gt;Now we must generate the final GeoJSON that we will use to create our interactive map. Simply select &lt;code&gt;Save &amp;gt; GeoJSON&lt;/code&gt; in the editor menu. A file called &lt;code&gt;map.geojson&lt;/code&gt; will be generated and downloaded to your computer. You can also just &lt;a href=&quot;https://gist.githubusercontent.com/mgiraldo/924b6bf7cc34402d2cae/raw/377d533d5047905ccbb91d1535cfb604468ea0d0/directorio%20bogota%CC%81%201888.geojson&quot;&gt;download the one I did&lt;/a&gt;, cheater!&lt;/p&gt;

&lt;h3 id=&quot;3-creating-a-2014-custom-map-optional&quot;&gt;3) Creating a 2014 custom map (optional)&lt;/h3&gt;

&lt;p&gt;We want to be able to compare this 1891 map with present day Bogotá so we can see how things have changed over time. We need a “base map” which is basically what GeoJSON.io has when you load it: a (hopefully accurate) “plain vanilla” street map of the present day world. You could use the &lt;a href=&quot;http://wiki.openstreetmap.org/wiki/Tiles&quot;&gt;standard OpenStreetMap tiles&lt;/a&gt; or use a service such as &lt;a href=&quot;https://www.mapbox.com/&quot;&gt;MapBox&lt;/a&gt; to produce a completely custom map (MapBox uses OSM data). MapBox is quite powerful: it lets you change colors, customize what gets shown (streets, buildings, parks, etc.) and even use satellite imagery!&lt;/p&gt;

&lt;p&gt;I’m not going to describe how to create your own map in MapBox. I will leave that to their &lt;a href=&quot;https://www.mapbox.com/guides/intro-to-studio/&quot;&gt;excellent tutorial&lt;/a&gt;. When you’re done, you will need to write down the Map ID which looks something like &lt;code&gt;username.k53dp4io&lt;/code&gt;. You can use the MapBox projects page to see all your maps and easily copy the ID to clipboard:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;MapBox Map ID&quot; src=&quot;http://i.imgur.com/se6Hmtd.png&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If you don’t want to go through the process of customizing your map, you can use an example MapBox ID later.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;4-final-assembly&quot;&gt;4) Final assembly&lt;/h3&gt;

&lt;p&gt;We now have all the assets required to assemble our interactive map:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;map data in GeoJSON format&lt;/li&gt;
	&lt;li&gt;a tile template for the 1891 map&lt;/li&gt;
	&lt;li&gt;a tile template or MapBox ID for the 2014 map&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We will prototype the interactive map in &lt;a href=&quot;http://jsfiddle.net/&quot;&gt;JSFiddle&lt;/a&gt;, a tool that lets you quickly create and test HTML/JavaScript/CSS code. Check out &lt;a href=&quot;http://doc.jsfiddle.net/tutorial.html&quot;&gt;this quick tutorial&lt;/a&gt; to familiarize yourself with the interface.&lt;/p&gt;

&lt;p&gt;JSFiddle has four main panes:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;HTML code (top left)&lt;/li&gt;
	&lt;li&gt;CSS code (top right)&lt;/li&gt;
	&lt;li&gt;JavaScript code (bottom left)&lt;/li&gt;
	&lt;li&gt;The end result (bottom right)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JSFiddle takes care of assembling the three code components into the result every time you click “Run” (in top, blue bar).&lt;/p&gt;

&lt;h4 id=&quot;html-css&quot;&gt;HTML &amp;amp; CSS&lt;/h4&gt;

&lt;p&gt;In this example the HTML and CSS parts are &lt;em&gt;very&lt;/em&gt; simple. We only need a rectangular area in the page that will display the map and all its controls.&lt;/p&gt;

&lt;p&gt;We need an HTML element where the map will go. Type or copy/paste this in the HTML pane:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=div.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;With this code we create a &lt;code&gt;div&lt;/code&gt; element whose identifier is &lt;code&gt;map&lt;/code&gt; and, as you can imagine, it will contain the map. We now need to “style” the element (give it a width and a height and, if you want to, borders and other attributes). Styling is controlled with CSS. Type or copy/paste this in the CSS pane:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=style.css&quot;&gt;&lt;/script&gt;

&lt;p&gt;This applies a width and a height of 400 pixels to the element whose identifier is &lt;code&gt;map&lt;/code&gt; (the &lt;code&gt;#&lt;/code&gt; prefix means “id” in CSS). Of course you can make the rectangle bigger (if your monitor is big enough) and apply other attributes between those &lt;code&gt;{ }&lt;/code&gt; brackets (e.g.: &lt;code&gt;background-color: #f00;&lt;/code&gt; for a red background if you want to see the element with no map) but I just wanted to keep it very simple.&lt;/p&gt;

&lt;p&gt;If you click “Run” now you won’t see much (unless you added a background color or a border to the element). That’s all the HTML and CSS you will need for now.&lt;/p&gt;

&lt;h4 id=&quot;adding-mapboxjs&quot;&gt;Adding MapBoxJS&lt;/h4&gt;

&lt;p&gt;To present the map and make it interactive we will need some external assets and JavaScript. I mentioned &lt;a href=&quot;http://leafletjs.com/&quot;&gt;Leaflet&lt;/a&gt; and &lt;a href=&quot;https://www.mapbox.com/mapbox.js/&quot;&gt;MapBoxJS&lt;/a&gt; before. We are going to need them in order to present and control the map. Leaflet is included in MapBoxJS so we just need to worry about the latter. MapBoxJS is composed of two separate files: a JS file and a CSS file. You already have an idea of what the CSS file does. The JavaScript file contains all the interactive mapping magic. These are the URLs to the files in question (note that it is not the latest MapBoxJS version but no worries, it will work):&lt;/p&gt;

&lt;p&gt;CSS file:&lt;br /&gt;
	&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.css&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;JavaScript file:&lt;br /&gt;
	&lt;code&gt;https://api.tiles.mapbox.com/mapbox.js/v1.5.0/mapbox.js&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the left column in JSFiddle find the “External Resources” section. You need to copy those URLs and paste each in the &lt;code&gt;JavaScript/CSS URI&lt;/code&gt; box and click the &lt;code&gt;+&lt;/code&gt; button. You will see something like this after you do it:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;jQuery in JSFiddle&quot; src=&quot;https://i.imgur.com/FTBBQmq.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Your “fiddle” once you add the two MapBoxJS files&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This will make JSFiddle load those files the next time you click “Run” and from then on.&lt;/p&gt;

&lt;h4 id=&quot;hello-map&quot;&gt;Hello map!&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Now&lt;/em&gt; comes the part we’ve been waiting for! Let’s write some JavaScript so we can see the 1891 map. Write this in the JavaScript pane:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x1.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…and click “Run”. This is what you should see:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Hello map&quot; width=&quot;100%&quot; src=&quot;http://i.imgur.com/C1bj4Pj.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;You first web map!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Thanks to Leaflet, it’s &lt;em&gt;that&lt;/em&gt; easy to work with web maps.&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I’m not going into details here about the different aspects of the Leaflet or MapBoxJS APIs. They each have their own &lt;a href=&quot;http://leafletjs.com/examples.html&quot;&gt;tutorials&lt;/a&gt; and &lt;a href=&quot;https://www.mapbox.com/mapbox.js/example/v1.0.0/&quot;&gt;examples&lt;/a&gt;. I will instead give some code snippets and superficially explain what they do. You will copy, paste and click “Run” and &lt;strong&gt;magic&lt;/strong&gt; will happen&lt;a class=&quot;footnote&quot; href=&quot;#fn:magic&quot; id=&quot;fnref:magic&quot; title=&quot;See footnote&quot; rel=&quot;footnote&quot;&gt;&lt;sup&gt;5&lt;/sup&gt;&lt;/a&gt;. You will later figure out how to do more awesome things on your own.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4 id=&quot;managing-multiple-tile-sets&quot;&gt;Managing multiple tile sets&lt;/h4&gt;

&lt;p&gt;You may notice that the map is all white except for the 1891 map and that is good. The tile set URL only has the rectified map on it and nothing else. We need to have an additional 2014 tile set to compare (I will use an example MapBox Map ID, in case you did not create your own in step 3 above). We will replace the JS code with new one that will contain:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;some attribution information for the map (useful for when you want to, you know, attribute data in the map)&lt;/li&gt;
	&lt;li&gt;the 2014 tile set&lt;/li&gt;
	&lt;li&gt;a control that will let us swap one tile set for another&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This code should &lt;strong&gt;replace your previous JS:&lt;/strong&gt;&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x2.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;If you look throught this code you will notice it is quite similar to what we had before. The main differences are the addition of attributions and MapBox tile sets (via the map ID). The control itself is two lines: one to create a &lt;code&gt;baseMaps&lt;/code&gt; variable that will hold the tile sets (you can add as many tile sets as you want) and another to create the control and add it to the map. Behold the control in action:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Tile set magic&quot; src=&quot;http://i.imgur.com/EHuMxuX.gif&quot; width=&quot;70%&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Notice how the attribution changes when you toggle the tile sets&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We’re almost there! We now need to display our data. Leaflet makes this process quite easy since it natively supports GeoJSON. The process is just a few lines, but &lt;strong&gt;first remove the map zoom function&lt;/strong&gt; &lt;code&gt;map.setView([4.598056, -74.075833],14)&lt;/code&gt;. Now paste this code at the bottom of the JS pane:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x3.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;You need to copy the GeoJSON output from the text file you downloaded from GeoJSON.io and paste it where you see &lt;code&gt;&#039;paste_geojson_here_keep_quotes&#039;&lt;/code&gt;. &lt;strong&gt;Make sure you keep those quotes!&lt;/strong&gt; That line should end up looking something like:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x4.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;We replaced the zoom function with &lt;code&gt;map.fitBounds(geolayer.getBounds())&lt;/code&gt;. This makes the map “smarter”: instead of us typing longitude, latitude and zoom level by hand we let Leaflet calculate the bounding area for the set of points provided with &lt;code&gt;getBounds()&lt;/code&gt; and pass that as a value to the map’s &lt;code&gt;fitBounds()&lt;/code&gt; function. Voilá, the map now zooms to show all the points in the set. If you add more points the bounds will change automatically!&lt;/p&gt;

&lt;p&gt;You can also add the points and any other data overlay to the layer toggler. You just need to create a variable similar to the one you created for the tile sets and update the control creation code:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x5.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;You will see something like this when you click “Run”:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Hello pins&quot; width=&quot;70%&quot; src=&quot;http://i.imgur.com/jE881o7.png&quot; title=&quot;&quot; /&gt;&lt;br /&gt;
	&lt;em&gt;Your map with custom data on it&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Make sure to move the control creation code &lt;code&gt;L.control.layers&lt;/code&gt; to a point &lt;strong&gt;below where the GeoJSON is being parsed&lt;/strong&gt;. The &lt;code&gt;geolayer&lt;/code&gt; variable needs to exist for it to be added to the &lt;code&gt;overlays&lt;/code&gt;. Refer to &lt;a href=&quot;http://bit.ly/1K1RcRd&quot;&gt;my JSFiddle result&lt;/a&gt; for details.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Another important line is the one with the &lt;code&gt;L.geoJson()&lt;/code&gt; function. This function parses all the features described by the &lt;code&gt;map.geojson&lt;/code&gt;. Leaflet/MapBoxJS have default blue pin icons for point features which you can &lt;a href=&quot;http://leafletjs.com/reference.html#icon&quot;&gt;customize if you want&lt;/a&gt;. &lt;code&gt;L.geoJson()&lt;/code&gt; will also let us add some interaction to the pins. Right now clicking them does nothing.&lt;/p&gt;

&lt;h4 id=&quot;making-the-pins-come-alive&quot;&gt;Making the pins come alive&lt;/h4&gt;

&lt;p&gt;We want to click on the pins and show a popup box with the data we have associated to it (in the feature’s &lt;code&gt;properties&lt;/code&gt;). We need to do two things:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;a function that will build and present the popup for a given feature (point)&lt;/li&gt;
	&lt;li&gt;modify the &lt;code&gt;L.geoJson()&lt;/code&gt; call to use this function&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Leaflet’s &lt;code&gt;bindPopup()&lt;/code&gt; layer function does just that: draws a box with text next to a given &lt;code&gt;layer&lt;/code&gt;. This text can be marked up with HTML. Copy/paste this code below all you have so far:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x6.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;This &lt;code&gt;showPopup()&lt;/code&gt; function receives a &lt;code&gt;feature&lt;/code&gt;, the piece of GeoJSON that contains all the information (geometry and properties), and a &lt;code&gt;layer&lt;/code&gt;, the same GeoJSON as displayed by Leaflet (in our case, the blue pin). These two parameters are passed automatically by the &lt;code&gt;L.geoJson()&lt;/code&gt; function. &lt;code&gt;showPopup()&lt;/code&gt; then loops through each property in the feature (name, address, etc.) and builds an HTML string. This string is used as the markup for the popup.&lt;/p&gt;

&lt;p&gt;We have not connected &lt;code&gt;showPopup&lt;/code&gt; to anything. Modify your current &lt;code&gt;L.geoJson&lt;/code&gt; line as follows:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x7.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;…you are just adding &lt;code&gt;, {onEachFeature: showPopup}&lt;/code&gt; after &lt;code&gt;geodata&lt;/code&gt;. This tells Leaflet to apply the &lt;code&gt;showPopup&lt;/code&gt; function for each feature in the GeoJSON.&lt;/p&gt;

&lt;blockquote&gt;
	&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If your GeoJSON contains multiple types of features (e.g.: points, lines and polygons) you need to keep in mind &lt;strong&gt;the same function will be applied to all of them&lt;/strong&gt;. For example, polygons have &lt;code&gt;bounds&lt;/code&gt; but points do not. You will need to check to see if the feature being clicked has &lt;code&gt;bounds&lt;/code&gt; before trying to &lt;code&gt;fitBounds&lt;/code&gt; the map.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Running the map and clicking on a pin will result in something like this:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;A popup!&quot; src=&quot;http://i.imgur.com/gz58uZb.png&quot; width=&quot;70%&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is nice and all but wouldn’t it be better to actually &lt;em&gt;see&lt;/em&gt; the photo and maybe link that page number to the directory itself? Let’s do just that! Replace the &lt;code&gt;showPopup&lt;/code&gt; function with this one:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=x8.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;We just added a check in the loop: if &lt;code&gt;key&lt;/code&gt; equals “Page” we build a link to the directory and if &lt;code&gt;key&lt;/code&gt; equals “Photo” we build an image tag and constrain the height to 150 pixels (just in case the image is too big).&lt;/p&gt;

&lt;p&gt;This is how Mr. Núñez looks like now:&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;Rafael Núñez bio&quot; src=&quot;http://i.imgur.com/0LFioyt.png&quot; width=&quot;50%&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;…worthy of a president!&lt;/p&gt;

&lt;p&gt;And we’re done!&lt;/p&gt;

&lt;h4 id=&quot;wrapping-it-all-up&quot;&gt;Wrapping it all up&lt;/h4&gt;

&lt;p&gt;You will want to compile these three code snippets in an HTML page to publish your new map somewhere. Worry not, below is a code snippet that has the requisite spots for you to paste CSS, HTML and JS. Save all the code as a &lt;code&gt;.html&lt;/code&gt; file and publish it somewhere:&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/mgiraldo/93c3457c4f512b34433f.js?file=template.html&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;a href=&quot;http://bit.ly/nypllabs-geo101-result&quot;&gt;You can see the finished map here&lt;/a&gt;. I made minor modifications to the CSS to fill the browser window.&lt;/p&gt;

&lt;p&gt;Hope you found this tutorial useful. &lt;a href=&quot;https://twitter.com/mgiraldo&quot;&gt;Drop me a line&lt;/a&gt; if you have any comments or questions!&lt;/p&gt;

&lt;div class=&quot;footnotes&quot;&gt;
	&lt;hr /&gt;
	&lt;ol&gt;
		&lt;li id=&quot;fn:resampling&quot;&gt;Similar to &lt;a href=&quot;https://en.wikipedia.org/wiki/Sample_rate_conversion&quot;&gt;what happens with music&lt;/a&gt; when converted from CD quality to MP3. &lt;a class=&quot;reversefootnote&quot; href=&quot;#fnref:resampling&quot; title=&quot;Return to article&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
		&lt;li id=&quot;fn:maptiles&quot;&gt;&lt;a href=&quot;https://www.mapbox.com/foundations/how-web-maps-work/&quot;&gt;Read this explanation&lt;/a&gt; for a better introduction on how web map tiles work. &lt;a class=&quot;reversefootnote&quot; href=&quot;#fnref:maptiles&quot; title=&quot;Return to article&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
		&lt;li id=&quot;fn:caveat&quot;&gt;I did not thoroughly research the names in question so it may be (however unlikely) that they are homonyms. &lt;a class=&quot;reversefootnote&quot; href=&quot;#fnref:caveat&quot; title=&quot;Return to article&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
		&lt;li id=&quot;fn:geojson&quot;&gt;From &lt;a href=&quot;http://geojson.org/&quot;&gt;GeoJSON.org&lt;/a&gt; &lt;a class=&quot;reversefootnote&quot; href=&quot;#fnref:geojson&quot; title=&quot;Return to article&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
		&lt;li id=&quot;fn:magic&quot;&gt;Everything should work this way! &lt;a class=&quot;reversefootnote&quot; href=&quot;#fnref:magic&quot; title=&quot;Return to article&quot;&gt;↩&lt;/a&gt;&lt;/li&gt;
	&lt;/ol&gt;
&lt;/div&gt;
</description>
  <category>Computers</category>
  <comments>https://www.nypl.org/blog/2015/01/05/web-maps-primer#comments</comments>
  <pubDate>Mon, 05 Jan 2015 16:38:06 -0500</pubDate>
</item>
<item>
  <title>Generative eBook Covers</title>
  <link>https://www.nypl.org/blog/2014/09/03/generative-ebook-covers</link>
  <dc:creator>Mauricio Giraldo Arteaga</dc:creator>
  <description>&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/pdLwuTZ.png&quot; alt=&quot;header&quot; title=&quot;&quot; width=&quot;90%&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;finding-better-covers-for-public-domain-ebooks&quot;&gt;Finding better covers for public domain ebooks&lt;/h4&gt;

&lt;p&gt;Here at &lt;a href=&quot;http://www.nypl.org/collections/labs&quot;&gt;NYPL Labs&lt;/a&gt; we’re working on an ebook-borrowing and reading app. On the technical side, &lt;a href=&quot;https://twitter.com/leonardr&quot;&gt;Leonard Richardson&lt;/a&gt; is doing all the back end magic, consolidating multiple data sources for each book into a single concise format: title, author, book cover and description. John Nowak is writing the code of the app itself (that you will be able to download to your phone). I am doing the design (and writing blog posts). Many of the ebooks we will be offering come from public domain sites such as &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt;. If you spend a few minutes browsing that site you will notice that many of its ebooks either have a really crappy cover image or none at all:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.gutenberg.org/ebooks/46683&quot;&gt;&lt;img src=&quot;http://www.gutenberg.org/cache/epub/46683/pg46683.cover.small.jpg&quot; alt=&quot;PG cover&quot; title=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.gutenberg.org/ebooks/46681&quot;&gt;&lt;img src=&quot;http://www.gutenberg.org/cache/epub/46681/pg46681.cover.small.jpg&quot; alt=&quot;PG cover&quot; title=&quot;&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://www.gutenberg.org/ebooks/46672&quot;&gt;&lt;img src=&quot;http://www.gutenberg.org/cache/epub/46672/pg46672.cover.small.jpg&quot; alt=&quot;PG cover&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Book covers weren’t a big deal until the 20th century, but now they’re how people first interact with a book, so not having one really puts a book at a disadvantage. They are problematic, and not only in ebooks. It’s difficult to find high-quality, reusable covers of out-of-print or public domain books. There are some projects such as &lt;a href=&quot;http://recoveringtheclassics.com/&quot;&gt;Recovering the Classics&lt;/a&gt; that approach this problem in interesting ways. However, we at NYPL are still left with very limited (and expensive) solutions to this problem.&lt;/p&gt;

&lt;p&gt;Given that the app’s visual quality is highly dependant on ebook cover quality (a wall of bad book covers makes the whole app look bad) we had to have a solution for displaying ebooks with no cover or a bad cover. The easy answer in this situation is doing what retail websites do for products with no associated image: display a generic image.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/nszu54A.jpg&quot; alt=&quot;iTunes no cover&quot; title=&quot;&quot; height=&quot;120&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/J5LVHEL.jpg&quot; alt=&quot;S&amp;amp;S no cover&quot; title=&quot;&quot; height=&quot;200&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/sJ3CT4V.gif&quot; alt=&quot;Abrams no cover&quot; title=&quot;&quot; height=&quot;200&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is not a very elegant solution. When dealing with books, it seems lazy to have a “nothing to see here” image. We will have at least a title and an author to work with. The next obvious choice is to make a generic cover that incorporates the book’s title and author. This is also a common choice in software such as iBooks:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/YqjnSsF.png&quot; alt=&quot;iBooks cover&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Skeuomorph&quot;&gt;Skeuomorphism&lt;/a&gt; aside, it is a decent book cover. However, it feels a bit cheesy and I wanted something more in line with the rest of the design of the app (a design which I am leaving for a future post). We need a design that can display very long titles (up to 80 characters) but that would also look good with short ones (two or three characters); it should allow for one credited author, multiple authors or none at all. I decided on a more plain and generic cover image:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/JQjY36C.png&quot; alt=&quot;NYPL cover 1&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Needless to say this didn’t impress anyone; which is OK because the point was not to impress; we needed &lt;em&gt;a&lt;/em&gt; cover that displayed author and title information and was legible to most people and this checked every box… but… at the same time… &lt;em&gt;wouldn’t it be cool if&lt;/em&gt;…&lt;/p&gt;

&lt;h1 id=&quot;10-print-book-cover&quot;&gt;10 PRINT “BOOK COVER”&lt;/h1&gt;

&lt;p&gt;While discussing options for doing a better generative cover I remembered &lt;em&gt;&lt;a href=&quot;http://10print.org/&quot;&gt;10 PRINT&lt;/a&gt;&lt;/em&gt;, a generative-art project and book led by Casey Reas that explores one line of Commodore 64 (C64) code:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;10 PRINT CHR$(205.5+RND(1)); : GOTO 10&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This code draws one of two possible characters (diagonal up or diagonal down) on the screen at random, over and over again. The C64 screen can show up to 40 characters in a row. The end result is a maze-like graphic like the one seen in this video:&lt;/p&gt;

&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;//www.youtube.com/embed/m9joBLOZVEo&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;At the 2012 Eyeo festival, Casey Reas talked about this project, which involves nine other authors who are collected in &lt;a href=&quot;http://10print.org/&quot;&gt;this book&lt;/a&gt;. I &lt;em&gt;highly recommend&lt;/em&gt; &lt;a href=&quot;https://vimeo.com/45851523#t=30m11s&quot;&gt;watching Reas’s presentation&lt;/a&gt; (link jumps to 30:11 when &lt;em&gt;10 PRINT&lt;/em&gt; is mentioned). The two characters–diagonal up and diagonal down–come from the C64 PETSCII character list which is laid out here on the Commodore keyboard:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/ee1qIPG.png&quot; alt=&quot;PETSCII&quot; title=&quot;&quot; width=&quot;100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Each key on the PETSCII keyboard has a geometric shape associated with it. These shapes can be used to generate primitive graphics in the C64 operating system. For example, here is a rounded rectangle (I added some space to make it easier to see each character):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/61xJ5a5.png&quot; alt=&quot;5&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/zHx7ke0.png&quot; alt=&quot;9&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;img src=&quot;http://i.imgur.com/MVOeQK4.png&quot; alt=&quot;2&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/MVOeQK4.png&quot; alt=&quot;2&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;img src=&quot;http://i.imgur.com/MVOeQK4.png&quot; alt=&quot;2&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/pvF4JZr.png&quot; alt=&quot;0&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/MVOeQK4.png&quot; alt=&quot;2&quot; title=&quot;&quot; /&gt; &lt;br /&gt;
&lt;img src=&quot;http://i.imgur.com/5hKRP5S.png&quot; alt=&quot;a&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/CFr9mB4.png&quot; alt=&quot;3&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/MgqFkjR.png&quot; alt=&quot;b&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In terms of the letters on the same keyboard, that rectangle looks like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
UCCCI
B   B
B   B
JCCCK
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;10 PRINT&lt;/em&gt; was the starting point for my next ebook cover generator. In &lt;em&gt;10 PRINT&lt;/em&gt; a non-alphanumeric character is chosen by a random “coin toss” and displayed as a graphic. In my cover generator, a book’s title is transformed into a graphic. Each letter A-Z and digit 0-9 is replaced with its PETSCII graphic equivalent (e.g. the W gets replaced with an empty circle). I used &lt;a href=&quot;http://processing.org&quot;&gt;Processing&lt;/a&gt; to quickly create sketches that allowed for some parameter control such as line thickness and grid size. For characters not on the PETSCII “keyboard” (such as accented Latin letters or Chinese characters) I chose a replacement graphic based on the output of passing the character into Processing’s &lt;code&gt;int()&lt;/code&gt; function.&lt;/p&gt;

&lt;h2 id=&quot;colors-and-fonts&quot;&gt;Colors and fonts&lt;/h2&gt;

&lt;p&gt;In order to have a variety of colors across the books, I decided to use the combined length of the book title and the author’s name as a seed number, and use that seed to generate a color. This color and its complementary are used for drawing the shapes. Processing has a few functions that let you easily create colors. I used the &lt;a href=&quot;https://en.wikipedia.org/wiki/HSL_and_HSV&quot;&gt;HSL color space&lt;/a&gt; which facilitates generating complementary colors (each color, or hue in HSL parlance, is located in a point on a circle, its complementary is the diametrically opposite point). The gist code:&lt;/p&gt;

&lt;pre class=&quot;prettyprint&quot;&gt;&lt;code class=&quot;language-java hljs &quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; counts = title.length() + author.length();
&lt;span class=&quot;hljs-comment&quot;&gt;// map the count to a number between 30 and 260&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot;&gt;// (seemed to give the best results)&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; colorSeed = &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt;(map(counts, &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;80&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;30&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;260&lt;/span&gt;));
&lt;span class=&quot;hljs-comment&quot;&gt;// use HSL color space&lt;/span&gt;
colorMode(HSB, &lt;span class=&quot;hljs-number&quot;&gt;360&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;100&lt;/span&gt;, &lt;span class=&quot;hljs-number&quot;&gt;100&lt;/span&gt;);
&lt;span class=&quot;hljs-comment&quot;&gt;// main color is darker&lt;/span&gt;
shapeColor = color(colorSeed, baseSaturation, baseBrightness-(counts%&lt;span class=&quot;hljs-number&quot;&gt;20&lt;/span&gt;));
&lt;span class=&quot;hljs-comment&quot;&gt;// complementary color&lt;/span&gt;
baseColor = color((colorSeed+&lt;span class=&quot;hljs-number&quot;&gt;180&lt;/span&gt;)%&lt;span class=&quot;hljs-number&quot;&gt;360&lt;/span&gt;, baseSaturation, baseBrightness); &lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This results in something like:&lt;/p&gt;

&lt;img src=&quot;http://i.imgur.com/uuMcbA0.png&quot; alt=&quot;hsl&quot; title=&quot;&quot; width=&quot;80%&quot; /&gt;

&lt;p&gt;To ensure legibility and avoid clashes with the generated colors, I always use black on white for text. I chose &lt;a href=&quot;http://www.fonts.com/font/linotype/avenir-next&quot;&gt;Avenir Next&lt;/a&gt; as the font. The app as a whole uses that font for its interface, it’s already installed on the OS and it contains glyphs for multiple languages.&lt;/p&gt;

&lt;p&gt;There are more (and better) ways to create colors using code. I didn’t really go down the rabbit hole here but if you feel so inclined, take a look at &lt;a href=&quot;http://devmag.org.za/2012/07/29/how-to-choose-colours-procedurally-algorithms/&quot;&gt;Herman Tulleken’s work with procedural color palettes&lt;/a&gt;, &lt;a href=&quot;http://earthobservatory.nasa.gov/blogs/elegantfigures/2013/08/05/subtleties-of-color-part-1-of-6/&quot;&gt;Rob Simmon’s extensive work on color&lt;/a&gt;, or this cool post on &lt;a href=&quot;http://www.panic.com/blog/itunes-11-and-colors/&quot;&gt;emulating iTunes 11’s album cover color extractor&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;shapes&quot;&gt;Shapes&lt;/h2&gt;

&lt;p&gt;I created a function that draws graphic alternate characters for the letters A-Z and the digits 0-9. I decided to simplify a few graphics to more basic shapes: the PETSCII club (X) became three dots, and the spade (A) became a triangle.&lt;/p&gt;

&lt;p&gt;I wrote a function that draws a shape given a character &lt;code&gt;k&lt;/code&gt;, a position &lt;code&gt;x,y&lt;/code&gt; and a size &lt;code&gt;s&lt;/code&gt;. Here you can see the code for drawing the graphics for the letter Q (a filled circle) and the letter W (an open circle).&lt;/p&gt;

&lt;pre class=&quot;prettyprint&quot;&gt;&lt;code class=&quot;language-java hljs &quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;void&lt;/span&gt; drawShape(&lt;span class=&quot;hljs-keyword&quot;&gt;char&lt;/span&gt; k, &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; x, &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; y, &lt;span class=&quot;hljs-keyword&quot;&gt;int&lt;/span&gt; s) {
  ellipseMode(CORNER);
  fill(shapeColor);
  &lt;span class=&quot;hljs-keyword&quot;&gt;switch&lt;/span&gt; (k) {
    &lt;span class=&quot;hljs-keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&#039;q&#039;&lt;/span&gt;:
    &lt;span class=&quot;hljs-keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&#039;Q&#039;&lt;/span&gt;:
      ellipse(x, y, s, s);
      &lt;span class=&quot;hljs-keyword&quot;&gt;break&lt;/span&gt;;
    &lt;span class=&quot;hljs-keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&#039;w&#039;&lt;/span&gt;:
    &lt;span class=&quot;hljs-keyword&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&#039;W&#039;&lt;/span&gt;:
      ellipse(x, y, s, s);
      s = s-(shapeThickness*&lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;);
      fill(baseColor);
      ellipse(x+shapeThickness, y+shapeThickness, s, s);
      &lt;span class=&quot;hljs-keyword&quot;&gt;break&lt;/span&gt;;
    &lt;span class=&quot;hljs-comment&quot;&gt;// plus all the other letters below&lt;/span&gt;
  }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;My cover generator calls &lt;code&gt;drawShape&lt;/code&gt; repeatedly for each character in a book’s title. The size of the shape is controlled by the length of the title: the longer the title, the smaller the shape.&lt;/p&gt;

&lt;p&gt;Each letter in the title is replaced by a graphic and repeated as many times as it can fit in the space allotted. The resulting grid is a sort of visualization of the title; an alternate alphabet. In the example below, the M in “Macbeth” is replaced by a diagonal downwards stroke (the same character used to great effect in &lt;em&gt;10 PRINT&lt;/em&gt;). The A is replaced by a triangle (rather than the club found on the PETSCII keyboard). The C becomes a horizontal line offset from the top, the B a vertical line offset from the left, and so on. Since the title is short, the grid is large, and the full title is not visible, but you get the idea:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/lZXynwS.jpg&quot; alt=&quot;10 PRINT &amp;quot;BOOK COVER&amp;quot;&quot; title=&quot;&quot; width=&quot;100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;There is a &lt;a href=&quot;https://github.com/mgiraldo/tenprintcover-p5&quot;&gt;Git repository for this cover generator&lt;/a&gt; you can play with.&lt;/p&gt;

&lt;p&gt;Some more examples (notice how “Moby Dick”, nine characters including the space, does fit in the 3x3 grid below and how the M in “Max” is repeated):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/UxE9F4t.png&quot; alt=&quot;Macbeth&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;MOB
Y D
ICK
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/QnxW60L.png&quot; alt=&quot;Max&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;MA
XM
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And so on:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/SbbvlS2.png&quot; alt=&quot;Douglass&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/KD9t5XZ.png&quot; alt=&quot;Aesop&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The original design featured the cover on a white (or very light) background. This proved problematic, as the text could be dissociated from the artwork, so we went for a more “enclosed” version (I especially like how the Ruzhen Li cover turned out!):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/6niAJai.png&quot; alt=&quot;Doctorow&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/zt5DhWt.png&quot; alt=&quot;Li&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/dar2fwM.png&quot; alt=&quot;Justice&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;We initially thought about generating all these images and putting them on a server along with the ebooks themselves, but 1) it is an inefficient use of network resources since we needed several different sizes and resolutions and 2) when converted to PNG the covers lose a lot of their quality. I ended up producing an Objective-C version of this code (&lt;a href=&quot;https://github.com/mgiraldo/tenprintcover-ios&quot;&gt;Git repo&lt;/a&gt;) that will run on the device and generate a cover on-the-fly when no cover is available. The Obj-C version subclasses &lt;code&gt;UIView&lt;/code&gt; and can be used as a fancy-ish “no cover found” replacement.&lt;/p&gt;

&lt;h1 id=&quot;cover-illustrated&quot;&gt;Cover, illustrated&lt;/h1&gt;

&lt;p&gt;Of course, these covers do not reflect the content of the book. You can’t get an idea of what the book is about by looking at the cover. However, Leonard brought up the fact that many Project Gutenberg books, &lt;a href=&quot;http://www.gutenberg.org/files/20299/20299-h/20299-h.htm&quot;&gt;such as this one&lt;/a&gt;, include illustrations embedded as JPG or PNG files. We decided to use those images, when they are available, as a starting point for a generated cover. Our idea is to generate one cover for each illustration in a book and let people decide which cover is best using a simple web interface.&lt;/p&gt;

&lt;p&gt;I tried a very basic first pass using Python (which I later abandoned for Processing):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/7aPvLJG.png&quot; alt=&quot;Sherlock&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This lacks personality and becomes problematic as titles get longer. I then ran into &lt;a href=&quot;http://www.lightindustry.org/editions/&quot;&gt;Chris Marker and Jason Simon’s work&lt;/a&gt;, and was inspired:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/rOgGvdM.jpg&quot; alt=&quot;Marker &amp;amp; Simon&quot; title=&quot;&quot; width=&quot;100%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I liked the desaturated color and emphasis on faces. Faces can be automatically detected in images using computer-vision algorithms, and some of those are included in &lt;a href=&quot;http://opencv.org/&quot;&gt;OpenCV&lt;/a&gt;, an open-source library that &lt;a href=&quot;https://github.com/atduskgreg/opencv-processing&quot;&gt;can be used in Processing&lt;/a&gt;. Here’s my first attempt in the style of Marker and Simon, with and without face detection added:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/aBo9ZUy.png&quot; alt=&quot;no cv&quot; title=&quot;&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/dLy56BY.png&quot; alt=&quot;cv&quot; title=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I also tried variations on the design, adding or removing elements, and inverting the colors:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/Gq4jmPN.png&quot; alt=&quot;no cv line&quot; title=&quot;&quot; width=&quot;25%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/HmF49cu.png&quot; alt=&quot;cv line&quot; title=&quot;&quot; width=&quot;25%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/STjUjPd.png&quot; alt=&quot;no cv inverted&quot; title=&quot;&quot; width=&quot;25%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Since Leonard and I couldn’t agree on which variation was best, we decided to create a &lt;a href=&quot;https://www.surveymonkey.com/s/NTNMZKV&quot;&gt;survey&lt;/a&gt; and let the people decide (I am not a fan of this approach, which can easily become a &lt;a href=&quot;http://www.zeldman.com/2009/03/20/41-shades-of-blue/&quot;&gt;41 shades of blue&lt;/a&gt; situation but I also didn’t have a compelling case for either version). The clear winner was, to my surprise, using inverted colors and no face detection:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/GyUiYzT.png&quot; alt=&quot;flatland&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/5pz7JXo.png&quot; alt=&quot;ten girls&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt; &lt;img src=&quot;http://i.imgur.com/ydKpz5C.png&quot; alt=&quot;procopius&quot; title=&quot;&quot; width=&quot;30%&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The final Processing sketch (&lt;a href=&quot;https://github.com/mgiraldo/imagecoverp5tint&quot;&gt;Git repo&lt;/a&gt;) has many more parameters than the 10 PRINT generator:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://i.imgur.com/vJKKaex.jpg&quot; alt=&quot;Image Cover P5&quot; title=&quot;&quot; width=&quot;100%&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;As with many subjects, you can go &lt;em&gt;really&lt;/em&gt; deep down the rabbit hole when it comes to creating the &lt;em&gt;perfect&lt;/em&gt; automated book cover. What if we detect illustrations vs. photographs and produce a different style for each? What about detecting where the main image is so we can crop it better? What if we do some OCR on the images to automatically exclude text-heavy images which will probably not work as covers?&lt;/p&gt;

&lt;p&gt;This can become a never-ending project and we have an app to ship. This is &lt;em&gt;good enough&lt;/em&gt; for now. Of course, you are welcome to play with and improve on it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mgiraldo/tenprintcover-p5&quot;&gt;10 PRINT “BOOK COVER” (Processing version)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mgiraldo/tenprintcover-ios&quot;&gt;10 PRINT “BOOK COVER” (iOS version)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/mgiraldo/imagecoverp5tint&quot;&gt;Cover Illustrated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
  <category>News Media, Journalism and Publishing</category>
  <comments>https://www.nypl.org/blog/2014/09/03/generative-ebook-covers#comments</comments>
  <pubDate>Wed, 03 Sep 2014 12:50:45 -0400</pubDate>
</item>
<item>
  <title>NYPL Labs and Map Division host first library Net Artist Residency</title>
  <link>https://www.nypl.org/blog/2014/08/07/net-artist-residency</link>
  <dc:creator>Ben Vershbow</dc:creator>
  <description>&lt;p&gt;&lt;strong&gt;&amp;lt;UPDATE&amp;gt; Submissions are now closed. We will be announcing the selected resident in mid-September. Thanks to all who applied!&amp;lt;/UPDATE&amp;gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://labs.nypl.org&quot;&gt;NYPL Labs&lt;/a&gt; is pleased to announce the Library&#039;s first-ever &lt;a href=&quot;http://www.electricobjects.com/artists&quot; rel=&quot;nofollow&quot;&gt;Net Artist Residency&lt;/a&gt;, in partnership with local hardware startup Electric Objects.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.electricobjects.com/artists&quot; rel=&quot;nofollow&quot;&gt;
  &lt;img class=&quot;media-element file-default&quot; alt=&quot;NYPL Labs Net Artist Residency&quot; title=&quot;NYPL Labs Net Artist Residency&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/nypl-eo-labs3_0.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Based in the East Village, &lt;a href=&quot;http://www.electricobjects.com&quot; rel=&quot;nofollow&quot;&gt;Electric Objects&lt;/a&gt; (EO) has an intriguing idea: what if there was a computer dedicated to the sole purpose of exhibiting digital artwork? To find out, they&#039;re making one. The E01 will be digital environment -- a screen -- that is free from the distractions and constant pings and alerts of our daily devices. A &lt;em&gt;slowed-down&lt;/em&gt; part of the internet that you can display in your home, office, or what have you, as you would a painting or photograph.&lt;/p&gt;

&lt;p&gt;
  &lt;img class=&quot;media-element file-default&quot; alt=&quot;Electrict Objects example&quot; title=&quot;Electric Objects example&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/eo-piano_0.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;EO is in the early stages of designing and prototyping, and they&#039;re just wrapping up a &lt;a href=&quot;https://www.kickstarter.com/projects/electricobjects/electric-objects-a-computer-made-for-art&quot; rel=&quot;nofollow&quot;&gt;Kickstarter campaign&lt;/a&gt; to raise funds to manufacture their first generation of screens. To begin exploring the possibilities of the platform, they&#039;ve started an &lt;a href=&quot;http://www.electricobjects.com/artists&quot; rel=&quot;nofollow&quot;&gt;artist residency program&lt;/a&gt;. NYPL Labs is excited to be among their first partners.&lt;/p&gt;

&lt;p&gt;As the first of what we hope to be many such opportunities, we&#039;re asking applicants to see what beautiful things can be made from our map and NYC history collections. This includes:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;More than 20,000 historical maps &lt;a href=&quot;http://www.nypl.org/blog/2014/03/28/open-access-maps&quot;&gt;available in high resolution&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;19th century city data (old NYC building footprints, addresses, residential &amp;amp; business info) from our &lt;a href=&quot;http://buildinginspector.nypl.org&quot;&gt;Building Inspector &lt;/a&gt;project&lt;/li&gt;
	&lt;li&gt;an &lt;a href=&quot;http://digitalcollections.nypl.org/search/index?filters%5Btitle_uuid_s%5D%5B%5D=The%20New-York%20City%20directory,%20for%201854-1855%20:%20thirteenth%20publication%7C%7C41a5a9b0-c5db-012f-d26d-58d385a7bc34&amp;amp;keywords=&amp;amp;layout=false&quot;&gt;1854/5 Doggett&#039;s New York City directory&lt;/a&gt; containing tens of thousands of ghosts of mid-19th century Gotham&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We&#039;re accepting applications until &lt;strong&gt;August 20&lt;/strong&gt; (2014). The selected artist will receive:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;EO Prototype Kit (approx. $400)&lt;/li&gt;
	&lt;li&gt;$500 stipend&lt;/li&gt;
	&lt;li&gt;Full rights to re-sell / re-share / re-display any work produced&lt;/li&gt;
	&lt;li&gt;Time with Jacob Bijani, who leads the Electric Objects development team&lt;/li&gt;
	&lt;li&gt;Time with the NYPL Labs team and Geospatial Librarian Matt Knutzen&lt;/li&gt;
	&lt;li&gt;The opportunity to present your work at NYPL (physically and online)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And we&#039;ve assembled an awesome judges panel working at the intersection of digital maps and digital arts+crafts:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Alyssa Wright, &lt;a href=&quot;https://mapzen.com/&quot; rel=&quot;nofollow&quot;&gt;Mapzen&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Aaron Cope, &lt;a href=&quot;http://labs.cooperhewitt.org/&quot; rel=&quot;nofollow&quot;&gt;Cooper-Hewitt Labs&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Matt Knutzen, &lt;a href=&quot;http://www.nypl.org/locations/schwarzman/map-division&quot;&gt;NYPL Map Division &lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Zoë Salditch, &lt;a href=&quot;http://www.electricobjects.com&quot; rel=&quot;nofollow&quot;&gt;Electric Objects&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Jacob Bijani, &lt;a href=&quot;http://www.electricobjects.com&quot; rel=&quot;nofollow&quot;&gt;Electric Objects&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Mauricio Giraldo, &lt;a href=&quot;http://labs.nypl.org&quot;&gt;NYPL Labs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Get the full details at the &lt;a href=&quot;http://www.electricobjects.com/artists&quot; rel=&quot;nofollow&quot;&gt;Electric Objects artists page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.electricobjects.com/artists&quot; rel=&quot;nofollow&quot;&gt;
  &lt;img class=&quot;media-element file-default&quot; alt=&quot; &amp;quot;Internet, Relax&amp;quot;&quot; title=&quot; &amp;quot;Internet, Relax&amp;quot;&quot; src=&quot;https://live-cdn-www.nypl.org/s3fs-public/eo-internet-relax.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
  <category>Computers</category>
  <comments>https://www.nypl.org/blog/2014/08/07/net-artist-residency#comments</comments>
  <pubDate>Thu, 07 Aug 2014 07:39:02 -0400</pubDate>
</item>
<item>
  <title>The Networked Catalog</title>
  <link>https://www.nypl.org/blog/2014/07/31/networked-catalog</link>
  <dc:creator>Matt Miller, NYPL Labs</dc:creator>
  <description>&lt;p&gt;The catalog could be considered the backbone of any working library. Performing an essential service, the catalog informs staff and patrons what materials are held and where in the library they can be found. As libraries have changed throughout history, the catalog, and how it has been used, has evolved as well.&lt;!--break--&gt; Some of the earliest catalogs still in existence, originating from medieval libraries, were simply lists written on the inside covers and margins of books in the collection. For these early libraries, containing a couple hundred volumes at most, this system was sufficient to keep track of the collection. However, during the Renaissance, as libraries grew in size, external catalogs started being produced which listed all the works held in the library. This guide was primarily for the library staff to consult when a visitor was interested in a specific volume. They would then go off and retrieve the item. It wasn&#039;t until Victorian Britain that the printed catalog was produced with the thought of patron use in mind, ushering in a new concept: The catalog as tool for discovery. Of course catalogs continued to evolve, inhabiting the iconic card catalog in the late 19th century and then into computerized systems in the late 20th century, but with the same mandate, organization and discovery.&lt;/p&gt;

&lt;p&gt;At &lt;a href=&quot;http://www.nypl.org/collections/labs&quot;&gt;NYPL Labs&lt;/a&gt;, we are fascinated with our catalog and the possibilities its data represents. Just as the catalog has changed in the past we wonder what other possible forms it could take today, and in the future. With this driving thought we conducted a preliminary experiment: what if the catalog had a &quot;See All&quot; button? What if you could see everything at once, to get the big picture about what subjects the library has information on and what are the related topics? To even imagine this conceptually is no easy task, unlike our medieval predecessors, The New York Public Library holds many millions of items. But the catalog comes to the rescue, every item has been manually assigned &lt;a href=&quot;http://en.wikipedia.org/wiki/Library_of_Congress_Subject_Headings&quot;&gt;subject headings or terms&lt;/a&gt; that describe what that resource is about. For example, here are the subject headings for Doris Kearns Goodwin&#039;s &lt;a href=&quot;https://browse.nypl.org/iii/encore/record/C__Rb17592638?lang=eng&quot;&gt;&lt;em&gt;A Team of Rivals&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;

&lt;p style=&quot;text-align:center;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;//www.nypl.org/sites/default/files/Screenshot%202014-07-23%2007.48.23_smaller.png&quot; style=&quot;width: 100%; height: auto;&quot; /&gt;&lt;br /&gt;
	Subjects Headings for &lt;em&gt;A Team of Rivals&lt;/em&gt;&lt;/p&gt;

&lt;p dir=&quot;ltr&quot;&gt;If we were to aggregate the subject headings for all of our resources we would be able to see the big picture, what subjects the library has the most information about. This idea of knowledge mapping has been around for hundreds of years, usually emerging from the desire to map the history of ideas or time. They have traditionally been visually conveyed as a temporal map or timeline. For example, Joseph Priestley&#039;s A New Chart of History from 1769.&lt;/p&gt;

&lt;p dir=&quot;ltr&quot; style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;//www.nypl.org/sites/default/files/1024px-A_New_Chart_of_History_color_smaller.jpg&quot; style=&quot;width: 100%; height: auto;&quot; /&gt;&lt;br /&gt;
	Joseph Priestley&#039;s A New Chart of History from 1769. &lt;a href=&quot;http://commons.wikimedia.org/wiki/File:A_New_Chart_of_History_color.jpg&quot;&gt;Courtesy of MediaWiki Commons&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Returning to our subject headings we can notice another quality, not only do they categorize the item, they also indicate a relationship between the subjects. Because of this relationship we can rightly assume that the topic of Abraham Lincoln is related in some way to United States.&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;//www.nypl.org/sites/default/files/subject%20relationships_smaller_0.png&quot; style=&quot;width: 100%; height: auto;&quot; /&gt;&lt;br /&gt;
	Possible subjects heading relationships for A Team of Rivals&lt;/p&gt;

&lt;p&gt;Combining these two concepts we get a complete statement: The more a subject heading is used indicates a strength in NYPL&#039;s collection, and a large co-occurrence of subjects points to a strong relationship between those two subjects. When thinking about the catalog in these terms it takes on the form of a large network, a galaxy of interconnected subject headings. This network metaphor fits well when it comes to thinking about the library and all the interconnected knowledge it holds.&lt;/p&gt;

&lt;p&gt;To transform this thought experiment into reality we used tools from the field of Network Analysis to process our catalog. Simply put, the form of network analysis we used could be thought of as a physics simulation. You put in a bunch of connected subject headings of various sizes (number of uses), set the gravity and repulsion strengths, and press play. The result is a self-organization of the subject headings based on how large they are and their relationships to other subjects. For example, if Abraham Lincoln was in one part of the network and the United States is in another, and they have a very strong relationship (meaning used together many times) then they are going to want to be together in the network. Using networks in this way is a fantastic way to start seeing patterns and groupings of related subjects.&lt;/p&gt;

&lt;p&gt;We ran this simulation for over 430,000 subject headings that were interconnected with 11 million relationships. Below is a time-lapse video of the simulation playing out over the course of five days: &lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;500&quot; mozallowfullscreen=&quot;&quot; src=&quot;//player.vimeo.com/video/91428315&quot; webkitallowfullscreen=&quot;&quot; width=&quot;500&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://vimeo.com/91428315&quot;&gt;NYPL Subject Heading Network&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user25785417&quot;&gt;NYPL Labs&lt;/a&gt; on &lt;a href=&quot;https://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is a extremely zoomed out view of the process, each tiny speck represents a subject headings trying to find a place in the larger network based on its relationship. After the dust settled we took that information and drew an image based on where every subject heading ended up. We also ran some algorithms to group the subject headings together into communities based on their shared connection and assigned that group a color. The result was an impressive view of our catalog:&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;a href=&quot;http://bit.ly/nyplnetwork&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;//www.nypl.org/sites/default/files/bigpicture.png&quot; style=&quot;width: 100%; height: auto;&quot; /&gt;&lt;br /&gt;
	Click to view interactive version.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We also created &lt;a href=&quot;http://bit.ly/nyplnetwork&quot;&gt;an interactive view of the network&lt;/a&gt;, allowing you zoom in and explore. Click on subject to see some possible resources and a search tool that gets you in the vicinity of a requested subject. This visualization could be considered a map of NYPL&#039;s knowledge, showing what the major subjects we have holdings for:&lt;/p&gt;

&lt;p style=&quot;text-align:center&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;//www.nypl.org/sites/default/files/mappicture.png&quot; style=&quot;width: 100%; height: auto;&quot; /&gt;&lt;br /&gt;
	Mapped sections of the network.&lt;/p&gt;

&lt;p&gt;As this is the first pass at thinking of the catalog as a network you notice a few kinks, with some subjects overly bunched together or overlapping. But it is an exciting first step. We will continue to refine this network approach to the catalog but we are always thinking ahead. What other new forms could the catalog take to help explore the vast materials living at NYPL? Stay tuned.&lt;/p&gt;

&lt;hr /&gt;
&lt;h2&gt;Notes&lt;/h2&gt;

&lt;ul&gt;
	&lt;li&gt;If you&#039;re a tech person and want some more details on how we made our network check out the &lt;a href=&quot;https://dl.dropboxusercontent.com/u/16562899/catalog_as_network.pdf&quot;&gt;slides of this presentation&lt;/a&gt; that outlines more of the technical side.&lt;/li&gt;
	&lt;li&gt;For an evocative introduction to library history and the source of the catalog history facts check out &lt;a href=&quot;https://browse.nypl.org/iii/encore/record/C__Rb17886741?lang=eng&quot;&gt;Matthew Battles, Libraries: &lt;em&gt;An unquiet history&lt;/em&gt;. &lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;For more old charts and timelines check out &lt;a href=&quot;https://browse.nypl.org/iii/encore/record/C__Rb18317938?lang=eng&quot;&gt;Daniel Rosenberg&#039;s &lt;em&gt;Cartographies of Time&lt;/em&gt;&lt;/a&gt; (&lt;a href=&quot;https://browse.nypl.org/iii/encore/record/C__Rb20008413?lang=eng&quot;&gt;ebook version&lt;/a&gt;) &lt;/li&gt;
	&lt;li&gt;If you’re interested in the concept of network analysis take a look at Wikipedia for: &lt;a href=&quot;http://en.wikipedia.org/wiki/Network_theory%20&quot;&gt;Network theory&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Social_network_analysis&quot;&gt;Social network analysis&lt;/a&gt; to get a basic intro.&lt;/li&gt;
&lt;/ul&gt;
</description>
  <category>Computers</category>
  <comments>https://www.nypl.org/blog/2014/07/31/networked-catalog#comments</comments>
  <pubDate>Thu, 31 Jul 2014 13:46:18 -0400</pubDate>
</item>
  </channel>
</rss>
