Building a crypto coin search application (Part 4).
Hi,
This is Jay again. Welcome back to episode 4 of our cryptocoin exchange search application... I'm going to have to come up with something better for the name. For now the working name I guess will work.
Creating A Good User Experience.
Today I want to talk a little bit about what we promised from the last episode, which was a feature that allowed us to filter out this long list of coins and also too dynamically gathering this list of coins from coin market cap.
There are a few extra things I've added to have it all make a little more sense. When we load the application there is a notification here that tells us, "Hey we're loading", we're loading the coins. So that this list... Because it can take a few seconds for this list to come in because we get them from an external source right? And, depending on how busy coin market cap is really, yah know, tells us how fast we can get this list.
So, from there when someone clicks on this, if they haven't selected a currency they'll get a notification that says, "Hey, yah know... you've got to select something first." And, of course, there's a lot of coins here so if someone wants to find a coin that they care about... such as ah, we'll say ZEC... or we could even search by the name Zcash right? If they want to find the coin they care about they can filter out this list so they don't have to go through this enormous list of a thousand coins... roughly. So there's quite a few.
Funny Coin Names
It's interesting cause while I was building this... Um... some of the coins are actually quite funny. (President Sanders BURN coin? LOL) I found that there is a cannabis coin. I found that there is a... there is something called... I was searching for Ethereum and found MUG coin which is a "Mike The Mug" which I thought was kind of entertaining at any-rate. And, of course the ever ubiquitous "bit"... If you search for "bit" you almost get back a list of a gazillion coins that have the word bit in them. So that is kind of entertaining too. It kind of tells you... It sort of demonstrates the chaos that is currently happening in the market place.
So, those are the features that I've implemented to make the application user friendly and easy to use and put a little bit of guard rails around there so that someone who comes here without a lot of experience can still get some good benefit from it right?
To talk a little bit about the chaos that is in the market place, in our next step lets say we select a coin and click "Search For Exchanges". This is going to go out to a bunch of different exchanges ask them, "Hey do you support bitcoin?" or in some cases it's going to go out to bunch of exchanges and say, "Give me back a list of all the coins you support?" and then it's going to make a decision whether or not it's going to present that exchange in the next step of our application.
Exchange Chaos
The chaos between the different exchanges is really interesting because, when you go to look at the APIs that this different exchanges provide for you (like in this case this is Poloniex's) they provide a data structure where they give you back a list of everything they support (and some volume and some information for each one of these things right?). So you can see that they support Bitcoin vs Bela, Bitcoin vs Burst right? So, this will provide all the markets that Poloniex will manage right?.
And, so if we go look at this for Bittrex the message is very different right. The data that they return is completely different than what is returne from Poloniex.
So the challenge on the next piece of the application will be to take a bunch of exchanges (Coinbase and Poloniex and Bittrex and all the different ones) and understand what they're willing to give us. So, are they willing to give us back information based on a broad request? Like in this case I picked these two exchanges because they will give us back a large number of markets if we just go to their public API and say, "Hey give me a ticker for everything you provide.". We can do the same thing for Bittrex, and say "Give me all the markets, yah know... that you support.".
Next Steps
Not all of the exchanges follow this pattern. A few of them that I've run across actually force you to say, "Give me a currency you want to use and a commodity you want to buy", in this case the currency might be USD and the commodity that someone would want to buy would be BTC right?
So, there is going to be some work figuring out how each one of these exchanges handles the type of request that we're making so that we can create this list. It tells us a couple things about the market.
- There is no standard way of doing anything.
- It tells us a lot about how each one of these exchanges has grown... grown out of their own thing.
So there might be some opportunity here in the future to try to standardize on some interfaces and standardize on some things to make it easier for application developers like myself.
So... I've rambled a lot... and ah... I think that is probably enough for today.
The next items that we're going to build out are some interoperability with a few exchanges so that we can click this button an actually get back a list of exchanges that we care about.
That's about it. Looking forward to the next time.
Have a great day and I'll talk to you later.
Still here? Here are a few things go do next.
- Tell me what you think about the project in the comments.
- Not a commenter? You can learn more about who I am when you
check out my introduction post!
Thanks!
I appreciate the comment @brazilfootball! Thank you!