Tuesday, June 11, 2013

Dream Job Longshot - Course Re-evaluation

So here I am, very impressed with Drupal and reading an awesome book about it and I finally realize the obvious. For the purpose of my two-page demo site, using Drupal is the equivalent of getting yourself a pool with a wave machine in order to splash water on your face. Drupal is definitely still on my to-do list. I’m making it a personal goal to learn Drupal and hopefully work on a Drupal mod, scheme, or program that will allow libraries to start utilizing Drupal the way Openscholar has helped universities. I’d like to help libraries tie their easily configurable Drupal sites into their catalogs, federated searches, and library user info in a way that will allow small local libraries or community college libraries to expand their sites beyond the common where we are/policies/search our catalog sites that they have now.
However all those big dreams are not relevant to my current goal. The two obvious first steps to my goal are going to be to download and start using a free web editing software, and to find all the free search APIs that I can, sign up for them if need be, and start poring over the code examples to figure out how I can integrate as many of them as possible into one search box interface. I will need a CSS page to help standardize, theme, and define my whole site, at least two – likely three HTML pages, and an unknown number of PHP pages to make the scripting work.
Based on the recommendation of my partner I selected Eclipse. Understanding everything the Eclipse Foundation does would be well beyond me, but to sum quickly as I understand it is that they provide free runtime writing and testing environments for all kinds of code or programming infrastructures. Though it took a separate web search to understand this, I just wanted their web development platform. This was hidden inside a larger bundle of platforms which is why it wasn't immediately apparent, but I soon found and downloaded the Eclipse IDE for Java EE Developers. To complete this I just went to the Eclipse Downloads page, made sure I had the right OS in their drop-down menu, and then selected the right version for my computer. I made sure by right-clicking the computers tab from my windows tab and matching what I saw on the screen there. You then pick a download mirror and get your download, which of course came zipped. To unzip it I went and downloaded 7zip, a free and open-source file extraction program. Then I installed Eclipse, created a new dynamic web project – and I was off and running.
However having a use-able tool to create my website was only the barest beginnings of a first step. I needed to locate free search API utilities on the internet. There are many existing sites that already exist that already do what I am doing such as metacrawler.com and dogpile.com. I found this encouraging, as the blatant existence of these sites meant that what I was attempting to do is neither illegal nor discouraged by the builders of the search APIs. It meant that I would not likely be violating any API agreements. However I still intend to review these carefully as I build up my interface.
So what did I find out there when I started exploring freely accessible search APIs? Well I have to admit I was rather surprised. Only two of three commonly used APIs for the previously mentioned federated search sites are actually free. It turns out that Yahoo! no longer offers a free search API. I will admit that the pricing is cheap in the order of dimes on the dollar per 1000 queries per type (i.e. web, image, etc.) of queries that you do per day. What Yahoo! offers now is Yahoo! Boss Search, and though it appears to be a solid and reasonably priced product; it does not fit into my overall budget (of $0).
Next I researched Google’s API, the original Google search API had been deprecated meaning that Google no longer offers it for development and points everyone towards Google Custom Search API.  After you login to Google with a Google account setting up a Google Custom Search is the easiest I've seen yet. Though this search API is obviously intended to search a specific site for you, I found easy directions  provided by Google to tweak this to whole internet searches. After having tweaked these instructions and played around with the features it is easy to get code samples and an API key. So at this point I moved on to find more accessible search APIs to integrate.
The next place I ended up at was Bing. Bing is the other large search engine that is somewhat famous in America as it is the one developed by MicrosoftBing does have a free to use basic search API, their Bing API has extensive documentation on its implementation. All I had to do to get access to this one was sign up for a Microsoft Account and sign up to use the API on their Azure Marketplace.

I found three other free APIs which I will continue to look into tomorrow. They are the Faroo Free API, the Entireweb Search API, and the Yandex API. Not all of these may prove useable, or useable all at once like I hope. To be continued.

No comments:

Post a Comment