Migrated WoWProgress to the new Profile API some time ago. The experience of consuming the API degraded a lot:
- messed up guild activity timestamps even more
- now need to do 6 requests instead of one
- why adding separate /status request instead of including “status” field in the main request?
I know what people will say here: it needed to be done because it was “the right way” and now this new API will allow to add more data easily.
Guess what? I remember that when the old “Community API” was introduced, they said almost exactly the same.
This JSON structure gymnastics again… Move fields, rename fields, transform associative structure to lists with sequence keys, all that fun again.
And most important, split everything to as many requests as possible. This is good in theory. And this is fun for someone who wants to practice the new great and the new right way to make things done (and more complex).
Why do you need this separated “/status” request? The main request “/” is not heavy, you could just add “status” field there. Or even more simple, just return 404 if the character data needs been hidden.
You could even add it to the guild roster for each character. You could even add last updated timestamp to the guild roster. That what we were asking to implement for several years now. Since then servers in general got much more RAM to have guild roster in more actual state. But no, instead we’ve got next new great API with new “right things” and new bugs.
The most annoying part is trying to use guild activity to find new boss kills of guilds.
That was coded by someone who doesn’t understand timestamp concept.
Timestamp is a very simple way to have a single number to represent a moment of time not depending of time zone.
In guild activity timestamps were shifted by -2, -1, 1, 2 hours depending on realm. The logic is unknown (probably related to time zones). I had to find these shifts by logging these wrong values and building a table with shifts to work around this creative and delicate use of “timestamps”.
New API is out, now guess what, timestamps fixed? No. Guild activity tells us that character will kill a boss in 4 hours (in future). These shifts are now different. More different than before.
If we cannot use guild activity, we need to scan a whole roster.
Roster with 300 high level characters, 6 requests per character. 1800 requests just to check whether the guild killed a boss.
And I need to scan all progress guilds at least once a week or data is lost because someone decided that it is better to have timestamp of last boss kill instead of first boss kill.
The request queues got overgrown.
And about priorities.
There are about 1 million of players interested in raid progress and about 100 thousands ones interested in auction house scanning. I know people here discussing and asking things about AH more than asking about raid progress. But the thing is what it is.
By some reason you decided working and fixing progress things last is okay and that affected more people. Until recently you even wanted to throw out guild activity data…
All that static wow/creature/profession/items are not important at all. These who need it can get it from wow files or from websites that publish datamined wow files database before new patches are released.