Trillian currently uses a system where they distribute with their im client a list of all the article titles, and it compares all incoming strings on im, irc, etc.. against the titles. It then turns the strings into links that when hovered over, initiate a request to the Trillian servers for the entire text of the article, which is then displayed as a hover box. The article text is cached for future use.
If a pay-per-basis api is available, they may want to incorporate a small fee into the cost of the client which would allow each individual to access the wikipedia api, rather than trillian's servers. This benefits them for not having to handle so much traffic, and benefits the end-user because they get completely fresh data (not from a stale copy on trillian's servers), and it (may) benefit the foundation because it is incoming money, unless the service is provided at-cost.
Just wanted to present this as a possible real-world solution that is indicative of what folks are going to want to do with an API...
/Alterego
On 6/25/05, Jimmy Wales jwales@wikia.com wrote:
It seems that a lot of people are excited about the concept of KDE integration (and of course integration beyond that), and I am thinking that we should start to think now a little bit about the load on the webservers and how to manage it.
My thought is that a well behaved application should produce no more load than people surfing our site with a traditional browser. But it is possible (likely, even) that some applications will not be well-behaved.
If we have a single generic interface where everyone pulls in exactly the same way, then we have no way to block abusive applications without blocking everyone.
Something as simple as requiring a "user agent" string might be enough?
This issue is quite similar to the issue of people pulling pages from our site "live" to make a mirror. It's not a good thing to do if done abusively. But with web hosts, it is easy enough to simply block them if they misbehave. A misbehaving application will come in through many ip numbers.
I have been thinking a little bit as well about a model with full blown keys (like the Google API) -- the point could be that for free software, we can give out free keys and support those users at our own expense. But for proprietary software, we can charge money for the keys.
Anyone who doesn't want to pay can still get the database dumps from time to time.
--Jimbo
Wikitech-l mailing list Wikitech-l@wikimedia.org http://mail.wikipedia.org/mailman/listinfo/wikitech-l