Just a quick update: We all know that CCP has introduced customizable API keys a couple weeks ago. Basically every developer is advised to change their applications to support the new keys since the old limited/full keys will be revoked and disabled someday(tm).
TL;DR: I’m working on the implementation and will remove all old keys and will only allow new keys (hard switch) soon(tm).
These new fully customizable API keys are nice from a user perspective and even for us developer. But still they give us a couple headaches. In the old system we had only 2 keys (full/limited) per account with a unique identifier (userID). This makes the life of database designs pretty easy since there can only be one valid key set per char/account.
With the new key system you can now create multiple keys for the same account or character. Even better, you change the key settings afterwords and change your previous account key into a character key or vice versa. If you’re developing your own application this has to be taken care of. Either you invalidate a key if something changes or you’ve to update your database to reflect the new settings. If you allow users to enter and manage multiple API keys you should not forget that you can end up in a situation where you’ve multiple keys belonging to the same character. This is where you must make a decision on either use all keys to update the same char over and over again or just stick to one key based on criteria like: CharacterKey > AccountKey, BetterAccessMask > SimpleAccessMask, higher keyID, etc, or plain and simple: Let the user choose which key he wanna use for a specific operation.
Sure it would be simpler for us developer if the main key attributes like KeyType + Selected Character wouldn’t change after you created a key, but well … in the end it’s just a matter of code and key management. And yes we’re all happy now that we can create simple keys to give away keys to public killboards without reveal your corporation assets, wallets and starbase locations.
Anyway: As far as find the time between work and family, I’m working on DOTLAN EveMaps to switch to the new API keys. To make things easier for me, the database and you I’ll do a hard cut, delete all existing api keys and allow only new custom keys to be entered. ATM there’re not many parts of DOTLAN that utilize the API Keys, but maybe one day … when I find time …