Archive for the ‘Mashup News’ Category

Creating Mobile Mashups

Jason Clark, Library Mashups chapter author, shared a link to a series of articles about using HTML5 to create mobile mashups via his Google Buzz page. I thought that this series would be perfect to share with you all here. The following is the summary of the series:

HTML 5 is a very hyped technology, but with good reason. It promises to be a technological tipping point for bringing desktop application capabilities to the browser. As promising as it is for traditional browsers, it has even more potential for mobile browsers. Even better, the most popular mobile browsers have already adopted and implemented many significant parts of the HTML 5 specification. In this five-part series, you will take a closer look at several of those new technologies that are part of HTML 5, that can have a huge impact on mobile Web application development. In each part of this series you will develop a working mobile Web application showcasing an HTML 5 feature that can be used on modern mobile Web browsers, like the ones found on the iPhone and Android-based devices.

Check out part one (with links to all of the other parts).

Delicious acquired by YouTube Founders

I wrote recently about the fact that Delicious might be discontinued by Yahoo!, but today I have good news! This from the Delicious blog:

Today, we’re pleased to announce that Delicious has been acquired by the founders of YouTube, Chad Hurley and Steve Chen. As creators of the largest online video platform, they have firsthand experience enabling millions of users to share their experiences with the world. They are committed to running and improving Delicious going forward.

Providing a seamless transition for users is incredibly important for both companies. Yahoo! will continue to operate Delicious until approximately July 2011. When the transition period is complete, your information will be moved over to Delicious’ new owner.

This hopefully means that your Delicious mashups will continue to work for a long long time!

TinyURL API

Just found out today from Jonathan Rochkind that TinyURL (the tool used to shorten urls for posting to sites like twitter) has an API that may be of use to your library.

tinyurl is a simple one-purpose service. And it correspondingly has a delightfully simple “api”. If you ever want to automatically create tinyurls from within an application, you can just request “http://tinyurl.com/api-create.php?url=$URL”, and you get back a text/plain document which contains the created tinyurl (and nothing else). Couldn’t be easier to use.

Learn more from Jonathan.

Yahoo! Discontinuing Delicious?

Some of you have probably heard that Delicious is possibly going to be turned off by Yahoo!. One of my favorite mashups examples is using Delicious to create ‘link rolls.’ In fact link rolls power the links pages on both this and my other book site. So the question now is what the heck do I do?

Well, first I’m all for petitioning Yahoo! to open source Delicious so that it can not online live on, but probably get more development attention than Yahoo! ever gave it. If you like this idea you can try to get that to happen by participating in this petition (click the flame to the right or this link).

Next, I recommend that you backup your links now and regularly while we wait to see what is going to happen to Delicious.

Finally, some colleagues have already switched to Diigo, a tool that I tried a while ago but ended up leaving to return to Delicious. It looks like I’ll be giving it another shot now that it might be my only option. For this post I did a search on Diigo to see if I could use it for my mashups still and have found that I can. Diigo offers linkrolls just like Delicious did. I haven’t tested them at all, but this is promising to say the least.

More Library Mashups

After the guest post last week, I got this email about more library mashups! Will Kurt, Applications Development Librarian at University of Nevada, Reno is working on two mashup projects that he will soon release into the wild:

I have 2 projects in the works that I thought you might be interested in:

The first is a mashup between the Google Books API+Library Catalog+ILL requests UNR BookFinder (http://www.youtube.com/watch?v=qaqcUSTtdVk)

and the other is a mashup between Brown’s FreeCite and OpenURL (also iLLiad) One Box Citation Finder (http://www.youtube.com/watch?v=QZw9GJUro5M)

I didn’t provide direct links because both projects are in the testing phase right now. Likewise for the source. Eventually I plan on releasing the source for these, but it still needs a little clean up ;)

Feel free to send me your success stories, tips & tricks, or other mashup related news and I will post it here.

Library Mashup Success Story: Using importXML to scrape the OPAC

The following is a guest post from Kim Gormley.


I’m a librarian at the West Chester Public Library who’s just beginning to teach myself some programming, inspired by the projects in Library Mashups and elsewhere. Thank you for compiling such a great resource – I never thought I would be excited about coding!

I’d like to share a beginner-level trick that has helped us tremendously: using the importXML feature in Google Spreadsheets to make a dynamic list of required summer reading books that are on the shelf right now at WCPL. Does it still count as a mashup if we’re only using one data source? I’ll assume it does and plow on ahead. :)

The Problem: Most kids coming in for summer reading books just want to know which titles we have now and how to get their hands on them as quickly as possible. Unfortunately, our OPAC doesn’t group all editions of a work or allow you to sort by shelf status, so the search takes ages, even if you’re a whiz at using the catalog. Which you’re not, because no one is.

The Solution: tinyurl.com/wcplsr2010

Yes, there are probably much better ways to do this (Ajax? JavaScript?). It’s a kludge, but a surprisingly simple and effective kludge. The spreadsheet recovers quickly from its occasional loading problems, and doing 200+ imports every two minutes hasn’t hurt our server. For a non-programmer newbie (like me) it’s an easy win. You can set up a list in a matter of days, bask in the gratitude of patrons and librarians alike, and do it all with just three Spreadsheet formulas.

Other possible uses: “Reading Olympics” books, princess books (we get that one all the time), new music CDs, new DVDs, bestsellers, Oprah’s picks, etc.

Here’s a bit of the cheat sheet I made for my coworkers, just in case you want it. It has the three formulas.

1. An import function looking for any copies of 1984 that are on our shelves

=importXml(“http://catalog.ccls.org/search~S1?/Xt:%281984%29+and+a:%28orwell%29&searchscope=1&l=eng&m=a&b=wc&SORT=D/Xt:%281984%29+and+a:%28orwell%29&searchscope=1&l=eng&m=a&b=wc&SORT=D&SUBKEY=t%3A%281984%29%20and%20a%3A%28orwell%29/1,1,1,B/holdings&FF=Xt%3A%281984%29+and+a%3A%28orwell%29&1,1,”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”//td[contains(.,'ON SHELF') or contains(.,'Recent')]/ancestor::tr/td[contains(.,'WC')]/following-sibling::td[1]“)

You will have to repeat this formula for each edition with a separate catalog record. Group all of these imports into one block so that you can easily use…

2. A formula to grab the import information from #1 and smoosh all the unique call numbers neatly into one cell

=arrayformula(concatenate(unique(substitute(D2:E20;”field v”;CHAR(13)))))

(I imported the field elements in #1 so I could transform them into carriage returns here.) Google limits you to 50 import functions per spreadsheet, so large lists have to be chunked into several “feeder” documents, which are then meta-scraped by the final document. Formulas #1 and #2 are in a feeder document.

Put all the #2 formula cells into one column so that you can import the whole range into the final document using…

3. A final import formula to get the call number data from the feeder

=arrayformula(if(importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)=”#VALUE!”;”Not on Shelf”;if(importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)=”";”Not on Shelf”;concat(concat(“On Shelf:”,CHAR(13)),importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)))))

The feeder document contained 40 titles, with the #2 formula cells collected in B2:B41. Titles not on the shelf could result in either a blank cell or a VALUE! error, so I had to account for both possibilities.

That’s it. Just copy and paste the formulas, changing the URLs and data ranges as necessary.

Mashup Excel Data with Google Maps

There are are many ways to create Google Maps for integration in your library website. The newest edition to this list of map making tools is BatchGeo. Using this tool you can enter address info into an Excel Spreadsheet and paste it into BatchGeo and generate a Google Map. After you have created your map, BatchGeo will email you the code needed to embed the map into your site.

You can give it a whirl using the sample data that BatchGeo has on its homepage.

Trulia Adds Apartment Search

In my mashups workshops I teach attendees about Trulia. It only makes sense that I update you all (those who have attended my workshops) on the fact that Trulia is now adding apartment listings and other rental listings. This from the press release:

Trulia.com (www.trulia.com), smart real estate search to help consumers make better decisions, today announced the launch of its advanced search for rental listings. Trulia users can now take advantage of Trulia’s smart search engine to find the perfect home to rent or buy. In addition to more than 4 million homes for sale, consumers will now have access to millions of rentals across the United States.

Thanks to Lifehacker for pointing this upgrade out to me.

Mashups 5 Years Old

Programmable Web had a post a couple weeks about announcing the 5th birthday of the first web mashup:

Five years ago Paul Rademacher reverse engineered Google Maps to put Craigslist homes and rentals on a map on his site. The site essentially pre-launched the map mashup category, because there was no Google Maps API at the time. Even now, Paul’s HousingMaps.com is the prototypical example mashup and still used by many to find their new homes (and our HousingMaps profile is of course one of the first mashups added to our directory back in 2005). Since then, as we’ve seen, the Google Maps API has gone on to be the most popular API to use.

I have to admit that in all of my research, I didn’t realize that HousingMaps.com was the first ever web mashup. Learn more on ProgrammableWeb.

More Social Mashable Content

A new service was announced by Mashable that will give us access to even more social data for mashing up:

Today, Yahoo is releasing a new service: Firehose, a real-time, searchable index of social content aggregated from around the web.

Accessible via YQL, Yahoo’s SQL-like query language, the Firehose will gather data from status updates, user ratings and reviews, comment threads, Google Buzz, Flickr, Delicious, Twitter, YouTube, Last.fm and a range of other sites and apps, as well. The Firehose is part of Yahoo’s family of Social APIs, a suite that includes APIs for contacts/directories as well as update/status data.