Jump to content
whitebaron

Possible API Improvements

Recommended Posts

Fansites are around all year, helping users to be DC the best they can get, without everything happening and being on TJs shoulders. The API has given us great ways to get our scrolls, dragons, and use them on other pages. I have "recently" begun to work on some fansite stuff, and there's a few kinks that I'd need or would want to be reworked, so I figured - I have more time now again, so lets take it public and talk about it.

 

1) You can get every data from the dragons normal page, it says in the API documentation, but sadly that is not true.

The API is an easier alternative than trying to interpret the HTML of pages like /user/X or /view/X. It provides all of the information of those pages, but in several formats that are computer-friendly.

In addition, it saves bandwidth for both Dragon Cave and the site accessing data, since you don't need to download excess layout HTML, only the relevant info

What is missing? First and foremost, the breed description, and secondly, the user description. The breed description, we could likely live without, as it is always the same. But there is one tiny bit the breed description gives us as information, that the API does not have - namely, which breed it actually is! My ideas are:

* make another api page where you can get user-based descriptions, and/or add an attribute to show dragons with descriptions.

* add the breed to the standard dragon information. As to not give away information about new releases to early, this code be a code, id or something else, not the actual name. (I talked to TJ about that upfront)

 

 

2) lineage / child views. It is very great, that you do not have to parse and iterate(reqrequest from DC server) over many dragons to get to have a full view of long lines and such, but currently, it gives you all the basic information as well, making the page huge on long gens. I don't think when looking for children/lineage, that bred date, views, unique views or clicks are any relevant. My idea:

* Remove all non-lineage data from the aforementioned pages, to shorten pageload/parsing/network traffic.

 

 

You see fansites, or make fansites, you got any other ideas? Bring them on. I currently would be very pleased if we could just get the breed in any way - think of the statistics or tools this could open up.

Share this post


Link to post

This is my opinion, just my opinion. I do not presume to speak for anyone else.

 

Not being a programmer and not having a fansite, I really don't know enough to know about this so I may be all wet, but as far as having an attribute to show dragons with descriptions, this is not available to users yet. It is being discussed and may be in the planning stages, but if it isn't available to players, would it be available to the API?

 

Share this post


Link to post

I don't know DC's coding and I don't use the API, but it seems *easy* from my point of view to add an attribute that says if a dragon has a description - it can be inserted in the database when the description is approved for example?

 

But if it's possible to retrieve a non-empty string from dragon's descriptions, that means they have descriptions (seems like the best way without adding new attributes). If TJ doesn't add it in the site, it could still be possible for the fansites to use if they can have access to an individual dragon's description. Now it might be a little harder than what I'm thinking depending on the code obviously xd.png

 

edit: Looking at the api text file (I don't have a key), I mean something like this, with access to the description of course:

 

if(!empty($data['description']))

{

//has description

}

Edited by LaHaine

Share this post


Link to post

This is my opinion, just my opinion. I do not presume to speak for anyone else.

 

Not being a programmer and not having a fansite, I really don't know enough to know about this so I may be all wet, but as far as having an attribute to show dragons with descriptions, this is not available to users yet. It is being discussed and may be in the planning stages, but if it isn't available to players, would it be available to the API?

yes, users currently have an even better thing to see: the description itself!

 

the API is meant to be a replacement, so that you don't have to parse the /view page of the dragon, and download all the html and style crap that you don't need as all you want is plain data. But there's not all data in it. The Breed Descriptions and User Descriptions have been omitted, most likely for performance's sake. People really dont need the breed desc, they only want to know the type of dragon, e.g. is it a red or a crimson.

 

 

currently, the /view page has about 4-5KB of data. (pictures and styles already excluded)

currently, a dragon entry in the xml format has less than 10% of that. Its also a reason why i would not add descriptions to the standard format, but allow an extra way to retrieve them. Else, it might clutter up.

 

 

But I'd rather not discuss implementation details with people who are "wet" :-D - I think it just derails the topic. If you have questions, contact me via pm - if you have suggestions, bring them on, here. biggrin.gif

Edited by whitebaron

Share this post


Link to post

What's the use case here? Why do you need descriptions/breed identity? Are you/How are you positive that no one using the lineage actions will need certain bits of information?

Share this post


Link to post
What's the use case here? Why do you need descriptions/breed identity?

Telling people how many dragons they have of each species would be pretty cool. As well as telling people which dragons they already described. Just ideas xd.png

Share this post


Link to post

As is obvious, I can not speak for everyone on the lineage bit. From what I know, though: It is mostly used for inbred checkers and lineage viewers, where no additional stuff is displayed/used. For scroll statistics, it is a lot more likely that the /user data is used instead.

 

But you wanted usecases - here they come.

  • (uc01) Breed Statistics

    (desc) I want to be able to make lists like: user X has 217 red dragons, 52 of them CB, 117 purebred, 12 green dragons, 12 of them CB.

    (actor) The scroll's user himself, maybe some form of competition with more than one user.

    (flow) The user gives his scroll name and gets all kind of breed-type related statistics.

    .

  • (uc02) Lineage Searching

    (desc) I want to have a feature, where you can select breed types and search your dragons (or those of others who registered them for the program) for combinations of those.

    (actor) The scroll's user herself, and everyone who registers his dragons for this program.

    (flow) The user specifies X different breeds and genders, the range to search (own scroll, all scrolls) and exclusivity (should only selected breeds be found or or are others okay additionally?) and gets a list of all applicable dragons after.

    .

  • (uc03) Easier Wishlists

    (desc) I want it to be possible, to enter a dragon of mine into a wishlist check, to find people easier who actually want that lineage (for gifting)

    (actor) The gifter, and the giftees

    (flow1) A user builds a lineage using the lineage builder, and enters it as a wish into the wishlist

    (flow2) A user enters a dragon into the wishlist checker, and gets a list of all users (+ contact data) that want such a dragon.

    .

  • (uc04) Lineage Builder

    (desc) It would be nice, to have breed info on already existing dragons, to limit choice for their offspring.

    (actor) Users who want to preview future lineages

    (flow) early alpha , only works in newer browsers (due to jquery2 - check your browser-compatibility)

    .

  • (uc05) Description Statistics

    (desc) I want to have a feature, that enables me to see which of my dragons are described, and the percentage of them as well.

    (actor) The scroll's user herself

    (flow) The user gives his scroll name and gets all kind of description related statistics.

    .

I admit to not have thought much about descriptions - just seeing people on forums who want more features out of it, and that it is not present, made me request that too. smile.gif

Share this post


Link to post
As is obvious, I can not speak for everyone on the lineage bit. From what I know, though: It is mostly used for inbred checkers and lineage viewers, where no additional stuff is displayed/used. For scroll statistics, it is a lot more likely that the /user data is used instead.

 

But you wanted usecases - here they come.

  • (uc01) Breed Statistics

    (desc) I want to be able to make lists like: user X has 217 red dragons, 52 of them CB, 117 purebred, 12 green dragons, 12 of them CB.

    (actor) The scroll's user himself, maybe some form of competition with more than one user.

    (flow) The user gives his scroll name and gets all kind of breed-type related statistics.

    .

  • (uc02) Lineage Searching

    (desc) I want to have a feature, where you can select breed types and search your dragons (or those of others who registered them for the program) for combinations of those.

    (actor) The scroll's user herself, and everyone who registers his dragons for this program.

    (flow) The user specifies X different breeds and genders, the range to search (own scroll, all scrolls) and exclusivity (should only selected breeds be found or or are others okay additionally?) and gets a list of all applicable dragons after.

    .

  • (uc03) Easier Wishlists

    (desc) I want it to be possible, to enter a dragon of mine into a wishlist check, to find people easier who actually want that lineage (for gifting)

    (actor) The gifter, and the giftees

    (flow1) A user builds a lineage using the lineage builder, and enters it as a wish into the wishlist

    (flow2) A user enters a dragon into the wishlist checker, and gets a list of all users (+ contact data) that want such a dragon.

    .

  • (uc04) Lineage Builder

    (desc) It would be nice, to have breed info on already existing dragons, to limit choice for their offspring.

    (actor) Users who want to preview future lineages

    (flow) early alpha , only works in newer browsers (due to jquery2 - check your browser-compatibility)

    .

  • (uc05) Description Statistics

    (desc) I want to have a feature, that enables me to see which of my dragons are described, and the percentage of them as well.

    (actor) The scroll's user herself

    (flow) The user gives his scroll name and gets all kind of description related statistics.

    .

I admit to not have thought much about descriptions - just seeing people on forums who want more features out of it, and that it is not present, made me request that too. smile.gif

I would dearly love every single one of these.....

 

Cheers!

C4.

Share this post


Link to post

I am with cyradis4, I would love to have these features! I'd love to have the description database for my scroll!

Share this post


Link to post

Having breed identity information available through the API would certainly help cut down on the amount of sunrise/sunset eggs that get hardboiled by going ER outside of an available hatching window. I think that at least one fansite has measures to combat this, but IIRC it only does so by treating every egg as if it was (potentially) sunrise/sunset and allotting views somewhat more gradually to all eggs.

Share this post


Link to post
Having breed identity information available through the API would certainly help cut down on the amount of sunrise/sunset eggs that get hardboiled by going ER outside of an available hatching window. I think that at least one fansite has measures to combat this, but IIRC it only does so by treating every egg as if it was (potentially) sunrise/sunset and allotting views somewhat more gradually to all eggs.

actually, i consider that an argument AGAINST breed information being available on eggs. because it should not be a tool that hatches and manages your views, but you, yourself. smile.gif

 

Share this post


Link to post

actually, i consider that an argument AGAINST breed information being available on eggs. because it should not be a tool that hatches and manages your views, but you, yourself. smile.gif

 

The same could potentially be said of fansites in general, but I'm one of those weirdos who prefers to take an even more hands-on approach to managing views by raising them via forums, so I'm not really part of the target audience when it comes to discussing what features hatcheries should have. xd.png

 

I just know that I've seen that breed be a stumbling block for new players, especially if they're following the fairly common advice of 'wait until your eggs are ER and then add them' rather than adding at 6.5-5 days and letting them build up some views in advance. They're the only dragon to have that kind of quirk, so it can come as an unwelcome surprise to a player if they aren't looking up all their eggs in the wiki.

Edited by Troubletail

Share this post


Link to post
Guest
This topic is now closed to further replies.


  • Recently Browsing   0 members

    • No registered users viewing this page.