John Herren’s Blog

Entries categorized as ‘mashups’

Mashup Camp 5: Dublin!

November 7, 2007 · 2 Comments

 Mashup Camp 5

It’s on, bitches.

If I make it across the ocean, I’ll be 5 for 5 in Mashup Camp attendance!

For the third ‘Camp in a row, I’ll be teaching the Intro To Mashups talk, the very first session of Mashup University. It’s basically an ice-breaker talk that gets everyone excited and inquisitive about what we’ll be doing for the next three days.

I’m looking forward to seeing the friends I’ve made from earlier camps as well as meeting new folks. The challenge this ‘Camp will definitely be maintaining the balance between hacking on mashups during speedgeeking and a stable blood alcohol level. After all, this unconference will be hosted at the Guinness Storehouse!

“There can be no tradition without innovation.”
- Earle Hitchner, Irish music journalist

Categories: mashups

IBM Releases Mashup Starter Kit

October 9, 2007 · 2 Comments

Fresh news via ZendCon: Go download the IBM Mashup Starter Kit. Included are two web applications: the Mashup Hub, which serves as a repository for data feeds, and QED Wiki, which you’ve probably heard of by now. Developed on the Zend Framework  and Dojo, QED Wiki is a PHP wiki engine specialized for mashup development, no coding needed. At this point very few non-hosted mashup development platforms exist, and to my knowledge this is the first time the source code for such an animal has been released.

You’ll need several pieces to get the Mashup Starter Kit up and running, so setup may be a challenge for some. One specific requirement is a running version of DB2. I’m going to see if I can’t get QED wiki running on MySQL first though.

Oh yeah, screenshots here.

The source release of the Mashup Starter Kit is a significant milestone for the mashup community. Point and click tools such as Dapper and Kapow will help bring mashup ability to the masses with easy to use tools, while more experienced developers will benefit from the source release as a development platform.

Categories: mashups

Gears In Motion

September 27, 2007 · No Comments

Gears In Motion

A browser-based sqlite client to access Google Gears databases. Apparently has some built in relational features using the Rails naming conventions. Built with Gears and Yahoo!’s YUI.

Categories: mashups

Yet another AuthProxy

September 21, 2007 · 1 Comment

OAuth — An open protocol to allow secure API authentication in a simple and standard method from desktop and web applications.

Not much on this site at the moment, but keep an eye on this one.

With all the talk of opening the social graph we will need an open protocol to do proxy authentication, where users log into the data provider and not the mashup. Don’t confuse this technique with OpenID; it’s almost the reverse. OpenID lets you control who owns your login credentials, and this method let’s a mashup use your remote data without knowing your login credentials. This protocol definitely needs a generic buzzword–I’m gonna call it AuthProxy until someone more important than me comes up with something better.

Development-wise we have several solutions, from Google’s AuthSub and ClientLogin to Yahoo!’s BBAuth. If you’ve ever played with a site that does stuff with your Flickr account, you’ve used AuthProxy. It usually involves a username/password login on the data provider’s site, which then redirects back to the mashup with a token. The token is passed back to the data provider’s via an API call, which allows the mashup to access  the user’s personal data, but without sharing the user’s login credentials, or sometimes any identifying information.

Categories: mashups

Google Trends has a feed.

September 21, 2007 · No Comments

Just noticed that Google Trends is now sporting RSS feeds.  So I withdraw that little bitch-fest.

Now, Google should add a date param to the URI so we can grab the historical data. It’s available in the browser, so make it available to my scripting language.

Categories: mashups

Mashup University 4: Intro To Mashups

July 16, 2007 · 3 Comments

This morning I taught the first session at Mashup University in Mountain View. Had some good questions at the end, but I wonder why people don’t ask questions during the Q&A section?

Not mentioned on the slides is Ed Finkler’s excellent Twitter app written with Adobe AIR, which I used to demo desktop mashups..

Slides are hosted on SlideShare under Creative Commons license.

Mashup University 4: Intro To Mashups » SlideShare

Categories: mashups

Teaching Mashups 101 at Mashup University

July 6, 2007 · 1 Comment

John Herren teaches RailsDave Berlind announced a couple days ago that I’ll once again be doing the introductory talk for Mashup University, the structured sessions that preceed the Mashup Camp unconference. This talk is the same subject matter I covered in January at Mashup Camp 3 at MIT. The goal of this session is more of a pep-rally to get folks excited and curious about all of the great tools and tech available to the mashup community, and to get newbies acquainted to the ideas around the mashup environment. Basically, it’s a mashup State of the Union address, with a little how-to thrown in for good measure. The intro session is really fun talk to give, and I’m honored to have Dave and Doug extend the invitation.

Categories: Geeking Out · mashups

Build Me It - Volume I: TiddlyWiki + Google Gears

June 9, 2007 · 3 Comments

Build Me It

A version of TiddlyWiki that uses Google Gears for data storage.

Why

TiddlyWiki IMO has been for the recent past the killer offline app. It’s a brower-based wiki that uses amazing Javascript skills to power itself completely client-side. The entire application is a single HTML file that you can save to your machine and access through a browser. The only drawback is that data is stored in the same file as the application, so as your wiki grows, so does your file. Google Gears could be used as the data persistence layer as a solution.

Hint

TiddlyWiki has a new and improved persistence and synchronization interface, so this should be easy. Right? Right??

Categories: BuildMeIt · Geeking Out · mashups

ORM for Google Gears

June 4, 2007 · 1 Comment

Since it looks like sqlite is going to be the db layer for Google Gears, a database abstraction layer may not be a very important feature, since we don’t exactly need portable SQL. However, an object-relational mapping library could come in handy.

gears-dblib didn’t take long to pop up, and you can bet we’ll see something close to ActiveRecord very, very soon. One less reason to get started with those offline-capable apps.

Here’s the example useage for gears-dblib

 var db = new GearsDB('gears-test');

    var bob = {id: 3, name: 'Bob', url: 'http://bob.com', description: 'whee'};
    db.insertRow('person', bob);
    db.insertRow('person', bob, 'name = ?', ['Bob']);

    db.selectAll('select * from person', null, function(person) {
       document.getElementById('selectAll').innerHTML += ' ' + person.name;
    });

    db.selectRows('person', 'name like ?', ['%'], function(person) {
       document.getElementById('selectRows').innerHTML += ' ' + person.name;
    });

    var person = db.selectRow('person', 'id = 1');
    document.getElementById('selectRow').innerHTML = person.name;  

    // update
    person.name = 'Harry';
    db.updateRow('person', person);
    person = db.selectRow('person', 'id = 1');
    document.getElementById('updateRow').innerHTML = person.name;

    // force
    person.name = 'Sally';
    db.forceRow('person', person);
    person = db.selectRow('person', 'id = 1');
    document.getElementById('forceRow').innerHTML = person.name;

    var adam = {name: 'Adam', url: 'http://adam.com', description: 'long hair'};
    db.forceRow('person', adam);
    person = db.selectRow('person', 'id = 4');
    document.getElementById('forceRow2').innerHTML = person.name;

    db.deleteRow('person', bob);

Categories: mashups

Google goes nuts with new developer tools

May 30, 2007 · 1 Comment

Dang, it’s been a while since I’ve made any mashup toys, but I’m all abuzz over Google’s new offerings. I’m moving back South in two weeks, so free time is scarce, but I’ll no doubt have to do some things with:

Google Mashup Editor - Mashup Framework - In limited roll-out, so sign up quickly. Still waiting for my invite.

Google AJAX Search API - Access RSS feeds with Javascript using Google’s cache. Evidently powered by the same backend that powers Google Reader. Great for building scalable feed reading apps, which is something I failed at miserably during my first attempt.

Google Mapplets - Extended functionality for map mashups that can be embedded in Google Maps (the Google-hosted version). Perfect if you want to play with maps and don’t want to host the application yourself.

Google Gears (BETA) - There’s a low rumble that offline-capable web apps will be one of the next big things–maybe even the secret sauce behind what will be called “Web 3.0″. Dojo supports client-side storage and Firefox 3 is going to enable offline apps natively in the browser. Google Gears is a Firefox extension that lets you develop offline apps now.

Google Reader already supports offline feed reading via Gears. I tested it out this evening and it worked fine on my laptop. Basically, going to “offline” mode stores the latest 2000 items to a local database, and going back “online” synchronizes your offline reading, starring, etc. to your online account.

Google Gears uses three components:

  • LocalServer- Handles caching of URL resources on the local file system.
  • Database- Gears uses sqlite databases for storage. You can even find the databases on your file system and browse them with any sqlite compatible tool. I did. It works.
  • WorkerPool- A job threading API to perform asynchronous operations so your app stays snappy and doesn’t hang. Check out the Fibonacci demo to see it in action.

Categories: Geeking Out · mashups