Making WCN database available to developers

joeymanley's picture

I am working on an open API which will allow developers to hook into information from the WCN database for use in their own applications. Examples of such applications might include:

-- Sites like OnlineComics.net that monitor webcomic updates. These sites usually rely on spiders and bots to actually download webpages, "read" them, pull the necessary data, then put it into their own database. Providing the data they need in a more-direct form would help them, and help us (by lessening the strain on our server).

-- Applications like third-party blogging tools that let people update their blog sites while offline (synchronizing later, of course).

-- A researcher might want to try to correlate update frequency with popularity, for example, and the WCN database might be a good place to look for patterns.

-- Um. I don't know. Lots of other ideas out there, I'm sure.

Developers won't have access to the full database, of course, nor will they be able to write their own sql queries against the data. Access to the database will be made available in a tightly-controlled form, using pre-defined SOAP or xml-rpc calls which can be made across the network. Data will be returned in pre-defined XML form.

Right now, I'm probably going to make the following automated queries available:

1. Updated today (includes series title, series byline, episode description if available, episode transcription if available, permalink to the update)

2. Updated on [given date]. Developer sends a date, the WCN engine returns which comics updated on that day, with all the info from above.

3. Series ID's and etc. for all WCN comics. Developer sends a query, WCN engine returns the numeric unique ID numbers and corresponding titles, byline, update frequency, etc., of all series on the site. Can be filtered for updating series, finished/oneshots, or series from a particular genre (this last item will probably be requested after #4 see below).

4. Genre ID's for all WCN comics. Developer sends a query, WCN engine returns the numeric unique ID and title of all genres in the directory, as well as how many comics are contained within that genre.

5. Complete permalink webpage url's, plus episode description, transcription, update date, etc., for every page in the archive for a particular series (after the developer has performed # 3 above and has the series ID, of course).

(3, 4, and 5 will be used in conjunction by most developers, possibly in a loop or something).

6. (This one is a potential security nightmare, so I may not actually do it): access to the WCN control panel functionality, so that people can update their WCN comics from within other user interfaces -- within desktop applications built for this purpose, for example (but only if the person using the application has an actual WCN account, of course).

7. Basic pageview data for individual series (but only if the cartoonist chooses to make this data available).

So, yeah. Developers: what other data, in what configuration, would be helpful to you? What other applications would you be interested in building on top of the WCN engine?

I won't, of course, be delivering the actual comics files, or even deeplink URL's to image files, by default, through the open API. That would irritate many of the WCN cartoonists, and it is by their mercy that I live or die. Just as I do with the tooncasting, and full-content RSS feed functionality, I will allow the cartoonists to determine just how much data they wish to make available about their comic. The default will be to provide the most restrictive set of data to the public -- cartoonists will be able to loosen up the data available for their own comic at their own discretion.

If you are a developer, what other kinds of information from the WCN database would be useful to you? Obviously, private information about the cartoonists on the site will remain private. So don't even ask about that.

Any help appreciated.

0
No votes yet
Your rating: None

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.