POkemon GO pokeDEX  || BLOG
Blog 🔗PoGoDEX
I am already failed my challenge :) 1547730602

Hi! Looks like I am already failed my own challenge by not drawing and releasing new pokemon icon every single day.

There are reasons why I was and still unable to do as I was planing. But it is not over yet! I have recovery plan :) As soon those reasons disappear, I will start draw and release whole pokemon families daily until I catch-up to original schedule.

Thank you for using PoGoDEX.info and I hope you enjoy it :)

Let's talk about future. Looking to 2019 1545500980

Hello, my fellow users. You can't imagine how happy I am when looking thru database and see that someone in very that moment using PoGoDEX.info. As I was telling you in very first blog post, it all started as replacement for Pokedex Progress Spreadsheets that becoming outdated too fast. Just for myself. As tool that I need and as addition practice in web-development. But when it ended up so good, as it did - I decided to share it with all of you. And I am really happy that someone found it useful too.

With that said, I want to tell thank you for your ideas you sent me on e-mail and for silent support you providing by using PoGoDEX.info.

I don't know if you aware, but there is no advertisement on PoGoDEX.info, as for now. It can change later, but now I don't feel like adding it. So enjoy your ads-free premium experience out of the box ;)

Few days ago you new feature was released: Achievements. Hope you like it! I wold be happy to hear feedback from you, regarding that feature.

Now, let's look in to the future. There is short list of features I am thinking about and going to implement during next year.

  • More achievements - There gonna be more harder to implement achievements, for example for being first who submitted newly added pokemon to your PoGoDEX.info library. Also, there gonna be global statistics for achievements, so you can see how rare are those you currently have and what else you can obtain in future. Also, I gonna add button to permalinked pages to compare your achievements to achievements of your friend side to side. Feel free to send me ideas for even more cool achievements to keep track off.
  • Offline access - if you using Google Docs in your browser, you could notice that even thou it's web application, it could be accessed while you have no internet access. It's kinda-new feature implemented in browsers. You can make web-application that will be stored in browser cache and store copy of your data. While you have internet connection, it working as transparent proxy. Everything you do - just passed to online version of web-app. If you have no internet connection - it will work with stored copy of data and sync it with live version of PoGoDEX.info next time you go online. Here I need your votes, cause it gonna be tricky to implement and I am not sure if someone gonna need it. So cast your votes here and later I will decide what to do. I could end up adding it anyway. :)
  • Native applications - I know, you was asking about it since PoGoDEX.info launch, but it's kinda tricky to do... Even worse, when I implement those I will en up supporting an updating not one PoGoDEX.info but 3 different projects. WEB PoGoDEX.info, Android PoGoDEX.info and iOS PoGoDEX.info. And other thing about those: I have Android device and even have my own android tool at Play Store. But I have no iOS devices and have no development experience with it... So as I said, it gonna be tricky. And there definitely gonna be ads in those apps ;) So. I am not 100% sure that I will implement that, but I will try.
  • Translation - Oh, that's funny one. In fact, PoGoDEX.info already have support for multiple languages, but there is only one language available. So target for the future - add more languages, those I speak freely. And set-up crowd-sourced translation for other ones.
  • Support forums - some kind of forum structure to have live conversations with you, my fellow trainers, since, as far as I can say, many of you are intimidated by perspective to send e-mail to me))
  • Account merging - so, you have Google, Reddit and Facebook accounts and not sure which one you used on PoGoDEX.info - in future you will be able to connect all those accounts and login with either one.
It's all I can think of as for now, but feel free to send me more ideas.

Oh, and one more thing. I have a challenge for myself for future year. I want to learn to draw. And my plan is to draw one pokemon a day since very first day of 2019. I can promise you that first ones will be ugly, but I hope that overtime I will learn to do it better. Why I am telling it to you? Because I want to make you my overseers, and put resulting drawings on blog everyday with small article regarding pokemon of the day. That way you will be able to see my progress, have interesting thing to read and give me a ping via mail if I miss a day due my lazyness :) Oh, and if first bunch of pokemons not gonna be too ugly, I will add those to pokedex page as pokemon icons, for those who love seeing pokemon faces in list :)

Once again, THANK YOU for being PoGoDEX.info users.

Release Notes for Update #4 1539457669

I guess, you already seen Update #4 news pop-up.

Here I will give little bit more details on how things work here, under the hood of PoGoDEX.info

1. Database Management

Since PoGoDEX.info is my hobby project, and I not as good with databases as I am good with math, I managed to make several architecture mistakes. For example, I was not aware that same pokemon can be in different egg groups simultaneously. So in my original implementation, egg group was a property of every pokemon. So it was one to one relation. When Regionals-from-Egg event started, and Porygon and Tangela started hatching from 10km eggs AND from 7km eggs, I realized that I was wrong and it should be other way around: lists of pokemons that can hatch from egg for each type of eggs.

And that was only first error that I found in my database architecture.

Now all that errors successfully fixed. I hope so... :)

2. Administrative tools

I have an theory: Niantic is aware of my project and decided to kill me tiring to death. No, for real. Since I started PoGoDEX.info project, Pokemon Go became endless source of new Spinda forms, new shinies, regionals from eggs, raid boss changes and more and more and more.

Each change like that was a signal for me to dive into database and make changes. That was tedious process and add to that simple fact that I was not always at home, where I have secure access to database. From other places, I need to remotely connect to my home network and change database. So I decided to build administrative tools in to PoGoDEX.info. Now I have relatively simple way to push changes to database. Even more, now i can schedule updates for specific time and date, in case Niantic will be so generous to inform us about upcoming shines before they drop them on our heads :)

3. Network rework

Sounds like all what I did recently was remaking things that I made earlier. But there was more important results of that reworks. Network stack was remade to remove the need of page refresh. To be honest, there was only 2 situations that was resolving in page refresh earlier: login/logout action and saving your pokedex data. Now only one situation left: login/logout. And even that will change later this year.

Now, when you press 'save' button, it will send your pokedex data and show you notification about success or reasons it failed without page reload. It is pretty neat, I will say. But main reason changes was made - I decided to make communication between web-page and server more secure and standardized.

4. Upcoming GenIV

All that changes was just in time for GenIV tease. And like many other things I do, I decided to make my job harder now to make it simpler later. Now PoGoDEX.info database contains all information about all pokemons and their forms up to GenVI (Will add GenVII little bit later too). They just sitting there and waiting for me to flip the switch.

P.S.

Thank you for you time,you spent reading this. Feel free to contact me via e-mails in the page footer to inform me about bugs you encountered or new ideas that you want to share with me.

Developer Report #3 (Login) 1538170199

Hi again!

Today I want to talk about why I want you to login. I am not forcing you to do it, if you really don't want. I just want to explain why it's better :)

First of all: why I decided to use Google, Facebook and Reddit login instead of my own solution. As you may know, all those companies provide OAuth service. Secure and safe way to check authenticity of your claim 'I own data that I uploaded yesterday'. You can read more detailed description of technology, but in simple terms it works like that(let's talk about Google in sake of example, but all of that true for other OAuth providers):

  • I registered PoGoDEX.info on developer portal of Google and got unique keys from them.
  • Now you came in. You decided to log-in. You have 3 button to choose. Each one of them have special link generated by PoGoDEX.info backend. It tells OAuth providers that you came from PoGoDEX.info and that I need an confirmation that you is you. Let's say you choose Google button.
  • You click the link, and it forwards you to special page on Google website. Now you out of PoGoDEX.info territory. I have no idea what are you doing there and I have no way to know. It's there where you are entering your credentials.
  • You logged in to your account and confirmed that you trust PoGoDEX.info. Notice that list of things Google saying I am asking for are extremely short. It's the smallest list I can ask from respective OAuth service provider. In fact, I am not using things I am asking for, I just can not to ask for them :) More about that little bit lower.
  • Now Google forwards you to specific page I specified during first step of our story. With you, Google sends special 'token', row of symbols that empowers PoGoDEX.info to ask Google about things you gave permission for on previous step.
  • I use that token immediately to get your userID, unique number that are bound to you. Some services give me your e-mail as well, but I am not process that data, I just fetch your userID and save it to database. Now all your data bound to that number.

When you store your data - it will have field saying 'it belongs to user with userID equal to ...'

When you login again PoGoDEX.info will know what data to show to you.

So make a notice how few data PoGoDEX.info have about you:[br] We don't have your Google (Facebook, Reddit) login or password. We don't process or store your e-mail, real name etc.[br] Only thing we have on you is your userID and service you used to login (Google, Facebook, Reddit) in case of collision of userIDs from different services.

Now few words about why I am not using my own solution:

  • I am lazy... Like any other developer, I think... That's how we roll.
  • In case of my own login service, I wold be forced to save more data on you: login, password, e-mail. An it is sensitive data, not just meaningless userID.

You getting ability to save your pokedex data, to use it later. So if you got new pokemon - just login again, save again - and you will get your data updated. Without login you should enter all your pokedex entries again, to get data that project was created for - list of pokemons you are still missing.

Second one - while logged in, you can see 'Permalink' button on top of the page. It will lead you to unique page where you can see but can not edit your pokedex data. Share link to that page with your friends, and they will not need to ask you 'what pokemons you need? may be I can trade some to you?' They will see it by themselves. That's easy.

And last one - if you enter your trainer name and friend code (it is optional and in fact was asked for by one of the PoGoDEX.info users), it will be shown on your 'Permalink' page, and even will be rendered as QR-code. So now you can share your permalink with local group of traders and they will be able to send you friend request in Pokemon GO easily if they interested in trading with you.

Developer Report #2 (BS-CSS) 1537981863

Hello again. Today I will tell you about very first problems I encountered during project development.

First iteration of project was based on {getmdl.io|Material Design Lite}. And I was happy with design and ease of development. But then I added 350+ pokemons with 6 to 9 checkboxes each, and things went out of rail. As you can imagine, framework was not so well suited for 2500+ checkboxes and other staff I tried to squeeze into one page. It still was looking nice and working ok, but scroll speed went down significantly. FPS during scroll was in single digit range.

At that moment I realized that it's time to build my own UI-Framework. It became the sub-project of {{PoGoDEX.info}}. I named it 'BS-CSS' aka BlackSwan-Cascade Style Sheet (BlackSwan is my nickname, if you wondering). It heavily inspired by Google's {getmdl.io|Material Design}, but much lighter(simply because it has only features I need, not whole lot of features and cool staff original MDL has) and not limited to small set of colors MDL offers.

Speaking of which, it was blessing and curse at the same time. You should newer, hear me, newer, ask me to choose colors for you :) I have a terrible taste. But solution came from unexpected sources.

Default color scheme came from an accident: during experiments with different colors I managed to accidentally wipe out all colors. That resulted in clean black-on-white scheme(I am still curious why I didn't tried it intentionally) After that I just put few color splashes to give it more character.

Dark color scheme is simply inverted default.

But after that I was out of ideas, and not all my friends have found scheme to love yet. Then idea struck me: where I can get colors that look good with each other? Pokemons! Any pokemon is an perfect color scheme. Ok, not any, not perfect but your eyes not popping from looking on them? :) So I build an quick and dirty software, that crunched thru all pokemon sprites from Pokemon GO apk, and calculated 3 base colors from each pokemon sprite, and several supporting shades. And then I used thees colors as color schemes. I selected several dozens, that looked best and offered big variety of colors, for every ones taste.

I am going to publish sources of bs-css at some point in future. When I will be satisfied with it.

That's all for today. Keep tuned for new reports and stories.

Developer Report #1 1537912138

Hello, fellow visitors of PoGoDEX.info

In that first report I want to talk about project and how do we get here.

PoGoDEX.info has started in August. I was looking for not outdated pokedex progress spreadsheet but found none. I realized how I was tired from looking for new spreadsheet after Niantic release new shiny or Partychu... I started looking for websites that would provide way to track my pokedex progress. And found none once again. Month later I finally encountered GoRanger that remotely resembles what I was looking for. But at that point wheels of PoGoDEX.info was already spinning.

So, since I was in need of such tool and have nothing to use, I decided to make my own. I started building the site on my private hosting with functionality I was looking for. I started using it and was happy with it. I showed it to my friends and they liked it to. Then I decided to share the project with others. I registered domain name and moved project there. Since then, I got almost 100 registered users and about 10 of them are active users who submit their pokedex data and keeping it updated.

I really happy even about that small amount of users, and I hope others will come and enjoy my project too.

That's enough talk for today. Later I will post about problems I encountered during project development stage and what features I am going implement in future.

1