Re: [IndexedDB] Proposal for async API changes

On 5/20/2010 11:30 AM, Andrei Popescu wrote:
> As someone new to this API, I thought the naming used in the current
> draft is somewhat confusing. Consider the following interfaces:
>
> IndexedDatabase
> IndexedDatabaseRequest,
> IDBDatabaseRequest,
> IDBDatabase,
> IDBRequest
>
> Just by looking at this, it is pretty hard to understand what the
> relationship between these interfaces really is and what role do they
> play in the API. For instance, I thought that the IDBDatabaseRequest
> is some type of Request when, in fact, it isn't a Request at all. It
> also isn't immediately obvious what the difference between
> IndexedDatabase and IDBDatabase really is, etc.
It should be noted that we did not want to rock the boat too much with 
our proposal, so we stuck with the existing names.  I think the current 
spec as written has the same issues.

> - I know we need to keep the "IDB" prefix in order to avoid collisions
> with other APIs. I would therefore think we should keep the IDB prefix
> and make sure all the interfaces start with it (right now they don't).
I agree with this.  We should probably file a bug about this.

> - The "Request" suffix is now used to denote the asynchronous versions
> of the API interfaces. These interfaces aren't actually Requests of
> any kind, so I would like to suggest changing this suffix. In fact, if
> the primary usage of this API is via its async version, we could even
> drop this suffix altogether and just add "Sync" to the synchronous
> versions?
I agree that Request seems confusing and seems to be contrary to what 
other specs use.  We should try to follow what other specs do here.

> - Some of the interfaces could have names that would more closely
> reflect their roles in the API. For instance, IDBDatabase could be
> renamed to IDBConnection, since in the spec it is described as "a
> connection to the database". Likewise, IndexedDatabase could become
> IDBFactory since it is used to create database connections or key
> ranges.
This sounds good as well.

> In any case, I want to make it clear that the current naming works
> once one takes the time to understand it. On the other hand, if we
> make it easier for people to understand the API, we could hopefully
> get feedback from more developers.
Making it easier for someone to look at the method names and just know 
how to use the API seems like a good goal in my book.

Cheers,

Shawn

Received on Thursday, 20 May 2010 18:53:48 UTC