On 06/12/2012 04:24 AM, Gabriel Hurley wrote:
Mark,

Apparently you must have missed my lightning talk at the Essex summit... ;-) 
(http://gabrielhurley.github.com/slides/openstack/apis_like_orms/index.html)

Filtering, pagination, and many other API features are *critical* for a rich 
dashboard experience. If you want to talk specifics, the entire Horizon team 
would be happy to have a long chat with you.

That said, we have also considered the case you propose where you effectively "request 
everything and handle it on the client-side"... however, I see that as a tremendously lazy 
solution. On the service-provider end you have access to powerful database methods that can do 
these operations in fractions of the time the client-side can (especially with good indexes, etc.). 
And if you've ever worked in mobile applications you'll know that minimizing data across the wire 
is crucial. The only argument I've heard in favor of that is basically "it's easier for us not 
to add API features".

To speak on the specific feature of pagination, the problem of 'corruption' by 
simultaneous writers is no excuse for not implementing it. You think Google, Facebook, 
Flickr, etc. etc. etc. don't have this problem? If you consume their feeds you'll notice 
you can fetch offset-based pagination with ease. You'd never expect to see a navigation 
element at the bottom of Google search results that said "take me to results 
starting with the letter m".

None of this is a case of "someone might use it". The Horizon team has been 
loudly asking for these features for 8+ months now. And not just from Keystone but from 
all the projects. I have a list a mile long of API features we need to really deliver a 
compelling experience. I was just adding some items to it today, in fact.

The rest of your points I have no strong feelings on and generally agree, but 
when it comes to API features... I feel *very* strongly.

As do I. Couldn't agree more. Pagination and filtering are critical components to the API, which is why we've tried as much as possible in Glance to support as many types of filters as we can.

Best,
-jay

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to