Download the Kiva toolbar! - (what's this?)

February 10, 2012, 09:04:43 PM *
Welcome, Guest. Please login or register (it's quick and free!) for full access to all community features and functions, including instant messaging and message viewing preferences.

Login with username, password and session length

Cool Forum Options
: Not available. Login or register :)
: Popular Topics on Kiva Friends

Kivapedia
: View recent changes on Kivapedia
: Online shopping that helps support Kiva
: List of Kiva microfinance institutions
: List of Kiva group lenders
: Kiva Timeline : More...


.
Welcome to Kiva Friends, an active community for Kiva users, staff and supporters. Don't know what Kiva is? Read this!
   
   Home   Search Calendar Help Tags Login Register  

Pages: 1 ... 6 7 [8] 9 10   Go Down
  Bookmark This  |  E-Mail This  |  Print It  
Author Topic: The Kiva Developer Program  (Read 9395 times)
0 Members and 1 Guest were last seen viewing this topic.
Peter S
Kiva Supporter
CA
*****
Posts: 2038



View Profile
« Reply To This #70 on: February 05, 2009, 03:24:16 PM »

I wouldn't know an API if it came up and bit me on the nose, but I was interested in this article I saw today by someone who seems to know what he's talking about, prompted by news of the release of Kiva's API.  It's quite interesting to see someone knowledgeable being so unimpressed with the idea...

Please stop it with the APIs
. . .
When I read that non-profit microfinancing startup Kiva is now offering an API, I couldn't help but roll my eyes.

First, let me make it clear: I love what Kiva is doing. Microfinancing is a great thing and I think organizations like Kiva are making great use of the internet to do really meaningful things.

But Kiva's API, which enables third party developers to access key data points from the service, seems a little bit like overkill.
. . .
[amongst questions that companies need to ask themselves when considering an API]

Is an API really necessary? An API isn't always the best solution. Companies can provide access to key data without having to create a full-blown API. In the case of Kiva, a lot of the loan data that it provides via the API could probably be provided in a simpler form, either through a reporting application Kiva develops or raw data feeds.

Does it make sense to entrust others with development? The thought that there are developers out there who would be eager to build great features and additions to your existing service at no cost to you is a nice one. But oftentimes you get what you pay for. Kiva suggests, for instance, that its new API could be used to build iPhone and Blackberry applications. That's great, but if those would be really valuable to Kiva's users, shouldn't it build them? After all, Kiva knows Kiva best.

Are we prepared to support the API? In my opinion, open APIs aren't all they're cracked up to be. Developers have to be supported and by opening up access to your application and data to third parties, new risks are created. I'm familiar with a number of popular services offering APIs that have to deal big time with the performance implications of all the API requests that they process.

. . .
Just like everything else, APIs can be great - provided that there's a valid business case for their use. Unfortunately I think there often isn't and many organizations, including Kiva, would probably be doing themselves a favor by building out their own new features and services in a focused manner instead of hoping that a few good developers will do the work for them.




My view (as usual for what it's worth, which is perhaps less than usual in this case because of my unfamiliarity with the way these API thingies work..) is that while the Developer Program might be fine for applications that exploit the public data, it is going to run up against a whole load of resistance from users if it does ever get to the stage of developers having access to lenders' portfolios.  Which the "roadmap" says is in prospect.  I can envisage no circumstances in which I would ever hand over my Kiva login and password to a third-party application, even if Kiva had somehow "certified" the developer -- (would that be like certifying an MFI as an appropriate and trustworthy recipient of lenders' money? - hmmm, you can see the difficulties...).  How would one know that the third-party program wasn't storing the login and password somewhere for future use?  What controls would there be against that happening?  Once signed in, it is pitifully easy to change the PayPal account for receiving withdrawals.

One application that I think is desperately needed for anyone with more than a tiny portfolio is a coherent and well thought out set of portfolio analysis tools.  If the only way I as a lender will ever get that is through a third-party developer, then it's never going to happen, because no third-party developer is ever going to get anywhere near my Kiva password.

Sorry if this sounds sour in any way, but on the Kiva team page I see 10 full-time members of the engineering team.  Is it really the case that between them they can't find the time to develop (for example) a useful set of portfolio analysis tools -- I want to know which loans are delinquent please, and what percentage of my portfolio's active loans are in country X -- but must rely on some unpaid third-party developer doing it for them?

P
Logged

verba volant, littera scripta manet
YowieFreak
Kiva Supporter
*****
Posts: 1509



View Profile
« Reply To This #71 on: February 05, 2009, 03:43:48 PM »

I want to know which loans are delinquent please, and what percentage of my portfolio's active loans are in country X

Peter,

That sounds like exactly the information that is produced in the spreadsheet Christopher produced, and then RichardF modified, and then I modified, and then I rewrote.  (See these two threads: http://www.kivafriends.org/index.php/topic,1301.0.html and http://www.kivafriends.org/index.php/topic,3153.0.html)

One drawback of each of those spreadsheets is that they can't correctly calculate delinquencies, etc, because they rely on the Loan and Transaction exports from Kiva and those exports don't contain the necessary repayment schedule info.

My latest spreadsheet allows the user to (optionally) manually enter the repayment schedule details, and it then calculates (hopefully) correct details regarding delinquencies, etc.  (If the user doesn't enter the repayment schedule, the spreadsheet guesstimates when repayments are due.)  It also calculates the various statistical info you would be after.

Now that the Developer Program has been released, I am in the process of rewriting my latest spreadsheet so that it will actually go and grab the repayment schedule details directly from Kiva, thus saving the user the trouble of manually entering them.

I also hope to grab other useful info such as number of journal entries, sector, activity, business count (although that doesn't seem to be coming through correctly).

Ian

P.S.  The Kiva API isn't really what I would call an API - all it seems to be is a reformatting of output so that it is in either XML or JSON format instead of in HTML format.
Logged
Peter S
Kiva Supporter
CA
*****
Posts: 2038



View Profile
« Reply To This #72 on: February 05, 2009, 05:26:08 PM »

yes Ian, I appreciate that, and I appreciate the great work you and Christopher and Richard have put into those spreadsheets.  I found Christopher's very useful when PA-1 was still in operation, and I plan to use yours very soon.

The point however was more that Kiva should be very careful about going any further along the route of abdicating responsibility for the intelligibility of lender portfolios, especially the larger ones.  Those export files assume a familiarity with Excel that I would say 99% of Kiva lenders don't have.  They seem to operate on the assumption that Kiva lenders are technically clued-in like (most of) the people who work at Kiva.

All the data is buried away there, but I'm not going to wade through 500 or so active loans looking painstakingly for the ones that are delinquent, or seeing which Field Partner constitutes more than say 5% of my active portfolio.

I think Kiva needs to commit some of its own resources (those 10 staffers in engineering..) to a radical improvement of portfolio management tools, which at present really do deserve to be called pathetic.  In my view it is simply not good enough to rely on third-party developers to help users make sense of it all.

Peter
Logged

verba volant, littera scripta manet
Jeremy
Kiva Supporter
***
Posts: 34


View Profile
« Reply To This #73 on: February 05, 2009, 05:45:46 PM »

I think that you may be imparting some meaning to the release of the APIs that probably isn't there.

I'm sure that their 10 developers aren't just sitting around, waiting for outside developers to do their work for them. Rather, APIs give power to developers to do things that are outside of the scope of what the Kiva developers are/should be working on. For example, maybe someone wants to create an application that sends an SMS to their phone whenever a new loan from Uganda is added. This is the sort of thing that the Kiva developers shouldn't be spending their time on, but it might be worth the time investment for a developer that really wants those alerts. Maybe that developer puts it on his website, and a few dozen people also choose to use it.

That way, everyone wins: Kiva makes some data available, the developer gets his SMS messages, and a few dozen people get the functionality they were looking for, without Kiva spending their developer time (and donated money) to create apps for a few dozen people.
Logged
RichardF
Kiva Supporter
*****
Posts: 3938



View Profile
« Reply To This #74 on: February 05, 2009, 06:40:29 PM »

Judy, did you just suggest (through six degrees of Kiva Friends posts, that I might be one...

of the younger people
?  Cool  Kiss
Hey, it's possible! Wink  Roll Eyes Laugh




Logged

Soul lives by giving.
skylar
Kiva Supporter
San Francisco, CA
*
Gender: Male
Posts: 8



View Profile
« Reply To This #75 on: February 05, 2009, 07:13:07 PM »

Hi Everyone,

I'm peeping a head up from working on various engineering tasks to speak to some of these concerns. We definitely want to clear up some of the questions raised.

Starting with the most recent point, Kiva has 5 full-time engineers. (we are looking to hire a sixth).  The "Kiva Engineering Team" (aka, BrainCrave) is more what you would call a "product development team" at traditional companies. So, we also have 2 full-time product managers.  Roma and Casey design features, collect input, prioritize tasks, and fill in tons of other tasks that keep the team moving along.  They do this for the lender-focused website, which you see, but also the enormous part of Kiva you don't see which are tools for translators, field partners, customer service, fellows, and Kiva staff.  I'm sure many of you know about the largest beast of all of these, which is PA2.  In addition, BrainCrave has IT staff (keep the printers and email going) and people to help keep the production environment up (keeps servers from crashing or burning). I myself wear many hats and focus on designing and building features for developers - including developers who work here at Kiva!  Given that about half of engineering time is devoted to maintaining all of our software (for lenders, partners, and volunteers) we have to be judicious about what new features we invest in.

Which brings me to the developer program.  First off, I'm glad someone posted the "Stop It With the APIs" post because the author points out some important questions we weighed carefully when considering investing more in APIs and Platforms.  I encourage those of you interested in this thread to read my response at:

   http://econsultancy.com/blog/3246-please-stop-it-with-the-apis#comments

Now as to a couple of concerns about the evolution of the API itself, I'll make a couple points that should put some of you at ease:

1) To Peter's concern about 3rd party apps & passwords, this is a great point.  You should never give anyone your Kiva password except Kiva. Make sure you can always see "kiva.org" in the browser Location field (URL) before you enter your password on a website.  The current Kiva API does not support user login, so all applications should work perfectly w/o your password. Some applications may ask for your "Lender Page ID" or your "Lender ID" and you will have to decide if you want to put this in an application. If you're lender page is public then your "Lender ID" is already public, so there's really no risk here. The application probably just wants to help you customize your experience based on loans you've made.  For example, I think someone is already working on a plug-in that users can add to a blog so they can advertise their recent loans on their personal site or blog.

In the future, we will allow access by third party applications to Kiva Lender data on a per-user approval basis. Figuring out who to trust is not easy, and how to help lenders with this is a problem we are working on before launching these features.  However, in the end, it will be your decision.  Mint.com is a similar site which wants access to your bank accounts to help you manage your money. How do you decide if you should trust Mint.com with your financial data?  It's a tough question for sure.

Our current plan is to allow you to "authorize" applications to have various permissions.  You might approve an application to facilitate loans for you.  You might trust the app to look at your detailed loan history or account balance and calculate statistics.  The most important point is you would be able to revoke application access from Kiva.org at anytime. (You could see a similar model to this "trust" between applications and users at Flickr.com or another site i worked on, Fireeagle.com).  If all this sounds scary and confusing, you shouldn't use third party applications, but our hope is that you'll wait until all this is figured out and released before making a decision.  Smiley

2) To Ian's point that the API is not really an API, it is true that what we offer now is a very much like what is on the site, but in computer-friendly formats (ie, JSON, XML).  However, by providing powerful search capabilities (more to come) and key identifiers to relate data together, there is a lot more power available here than just web pages.  Also, the current API is a set of building blocks for actions that will come later where you can change things... make a loan, give a gift, join a team, etc.

3) Finally, there is a lot of concern about "bots" or what not that will snatch up loans. We certainly want to take caution here.  Third party applications should add to the Kiva experience, fill in feature gaps, and introduce innovative new ideas, not detract from the current experience.  All Kiva Developers are bound to the Kiva API Terms of Service, and must abide by our Code of Conduct.  Additionally, we'll take technical measures to make sure applications don't inadvertently cause significant disruptions.  Currently it is not technically possible for an application to put loans in a basket, but that's a hurdle we plan to remove soon.  The result we are hoping for is more loans is baskets because the end goal of the API is get more people involved in helping more entrepreneurs with loans. More loans in more baskets (with the right provisions) is a good thing. Inadvertent or malicious abuse of Kiva and it's content is a bad thing and is behavior we will not tolerate.

Thanks to everyone for your interest in the Kiva Developer Program.  We hope you're as excited about it as we are.  We at BrainCrave don't have time to create every feature the community wants, but we are committed to building features that get more lenders more engaged to bringing relief to those living in poverty. Where we can't get to a request, we hope the Kiva API empowers developers (and lenders!) to fill in the gaps.  I personally am very excited to see what develops.

Cheers,
skylar
Logged
YowieFreak
Kiva Supporter
*****
Posts: 1509



View Profile
« Reply To This #76 on: February 05, 2009, 07:51:05 PM »

One good (? ? ? ?) thing about the developer program - you  can see the loans even before they are posted (i.e. while they still have a status of "inactive").

Methinks that might not be meant to be happening!! Cheesy Cheesy

EDIT:  On second thoughts, maybe it is meant to be allowed.  If it wasn't allowed, developers wouldn't be able to develop apps to assist the MFIs and/or translators.  But it does have the side effect that you can pick loans you like in advance of them commencing fund-raising, and then just sit and wait until it changes to fund-raising status so that you can go and lend to it.
« Last Edit: February 05, 2009, 08:09:40 PM by YowieFreak » Logged
wthepoo
Kiva Supporter
Berlin
*****
Gender: Male
Posts: 2412



View Profile
« Reply To This #77 on: February 05, 2009, 08:09:19 PM »

Cheesy Out of curiosity, Ian: how many "inactive" loans are there at the moment?

Best wishes, thanks,
Wolfgang.
Logged
YowieFreak
Kiva Supporter
*****
Posts: 1509



View Profile
« Reply To This #78 on: February 05, 2009, 08:15:34 PM »

Cheesy Out of curiosity, Ian: how many "inactive" loans are there at the moment?

Best wishes, thanks,
Wolfgang.

Bit hard to tell - you can only see them by putting their business ids in to the query, so you have to do it one by one.  (Although an app could just try all business ids starting with the most recent one it knew about, incrementing the id by 1 each time, stopping when it had been unsuccessful in getting say 10 in a row.)

As I post this, this one is "inactive" - Parvina Kurbonova
« Last Edit: February 05, 2009, 08:16:00 PM by YowieFreak » Logged
wthepoo
Kiva Supporter
Berlin
*****
Gender: Male
Posts: 2412



View Profile
« Reply To This #79 on: February 05, 2009, 08:22:05 PM »

Thank you, Ian!

Your suggested method of tracing them might not work because sometimes loans don't just get posted in the order of business IDs - for example, loans of Field Partners that are over their quota might get held back or translations delay the process (like with Parvina Kurbanova, I guess).

Still: fascinating to look behind the scenes, like that.

Best wishes,
Wolfgang.
Logged
Pages: 1 ... 6 7 [8] 9 10   Go Up
  Bookmark This  |  E-Mail This  |  Print It  
 
Jump to:  

 
Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC
Thanks to PixelSlot
Valid XHTML 1.0! Valid CSS!
Page created in 0.165 seconds with 23 queries.