New MvP tracker Web application

Started by yittoo, Apr 19, 2019, 05:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

yittoo

Hey bois, long time lurker even longer player (as most of us are). Recently I've developed a new web application to track mvps, right now it's in beta(but almost out as I hardly can find bugs anymore).

Lemme summarize the bits of the website:

-Updates since post
- Action logs added, saves last 100 actions.
- Tombstones added, single click on map to add tombs as well as notes.

- Since it's made with 2019 web technologies it's HELLA fast and fully responsive for phone/tablet/pc/wide screen. It updates regularly, has 1click to kill, drop tomb feature that allows you to both record time and tomb within 2 seconds max without a problem.
- It has notification settings support that allows you to enable sound(and change volume level - more sounds will be introduced later), or decide when to be notificated (10minutes before minimum time, on minimum time, on maximum time) and the best part is you can set settings either on account wide or locally. If you have guildies using and you do not like their notification preferences just make your own local notifications. All available in app's control panel.
- Custom themes (only 2, with more coming) can be set same as notifications, either locally or account wide.
- Unlimited tracker count. If you are a big guild divided in multiple servers but want to have only 1 true source of information, this is for you.
- MvPs are by default ordered by name however if some are killed they are put to top and ordered by their minimum times till spawn.

Do you have a suggestion for site or are you a private server owner? Contact me at [email protected]

Hope everyone who gives it a shot likes it
URL: https://mvp-ro.com/

edit: Fixed some issues, the app should provide decent user experience right now.

P.S: This is not *for big interweb monehs* kind of website, it's something that I built in my spare time for community that I've been part of (and loved to be) for a very long time so chill if you are all about "LUL just another tracker, we already have google spreadsheet xd xd".

I hope i'm not breaking any RMS rules (read it - I'm in gray area I think) by posting another website (even tho it has no ads to profit on it) (o. o)'. if so rip me, nice knowing you all  /sob

Zereges

I'd say that this is acceptable.

Sadly, I developed my own tracker, because none of the available ones were good enough for me. Sure, it all depends on the taste, but I preferred compactness over style :)

However, let me give your users a piece of advice. As with any service, do not use the same password for the tracker and for for game. Not that I don't believe the author, but better safe than sorry :)
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

yittoo

Hey. Yeah that's a valid suggestion for users for all kinds of applications, I used firebase's(google) authenticator for this app so their security applies to your given passwords and passwords/password hashes are not stored in database in any way.

Apart from missing mini-bosses in default trackers(which i'll add within next 2 days) any suggestions you might have? (given that you built your own tracker - what would have made my tracker valuable that you'd want to pass over to this one?)

Bue

#3
Imo, a countdown timer with notifications shouldn't being a 3rd party service. But aside from that, the interface is garbage.

1. The finite state machine for the mvp status is alive or dead, which is changed by start of countdown timer (executed) and end of countdown timer (respawn).
2. The list view consist of four columns, i.e. mvp, status, timer, and execute/reset button. And the timers should be active, i.e. respawn time - (current time - execute time) until negative or zero.
3. Adding to the list view should be as simple as a auto-complete search or list with filters to narrow down the list.
4. The list view should be compact per user's font size setting.

This could all be done on a single page without registration, i.e. write the whole thing on the client-side with pre-defined mvp respawn data.

Zereges

Quote from: Bue on Apr 20, 2019, 02:05 AM
This could all be done on a single page without registration, i.e. write the whole thing on the client-side with pre-defined mvp respawn data.

The point of MVP trackers is that you have multiple people and you want to inform them about the statuses of MVPs.

Quote from: yittoo on Apr 19, 2019, 09:00 AM
any suggestions you might have? (given that you built your own tracker - what would have made my tracker valuable that you'd want to pass over to this one?)

Well, I'd say that it's not compact (something Bue said). This is what I am using.
I didn't test your tracker much, but what I find very useful is undo button when you accidentaly update wrong boss.
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

yittoo

Simplifying everything with Alive/Dead is over simplifying it. When there is competition, if you missed timer by 10minutes and can't find mvp, you can assume it died 5-10minutes ago and update your tracker accordingly, or if nobody updated wounded morroc and last entry was 11hours ago in an active server you can assume if it was spawnkilled it will be up in 1-3hours... so that's a no-no imo. After 24hours of max-spawn-time has passed it resets back to "Unknown" state.

Online Tracker > Client sided. The system I've built hardly requires any data flow (as low as 400bytes upon "kill") and 10KB for initial load of mvp list. So making it client sided will literally bring no improvement but take some as your tracker will get lost once your local storage in browser or cookies are reset. If this was meant to be a desktop sided application I would have made it a desktop application.

List view alternate... now that's a valid suggestion and I'll do that. *Most* users prefer nice interface over functionality so my first focus was that, but I've been coding over 6 hours straight a day for a very long time on all sorts of projects. So I'll chill a bit for couple days as my wrist causes problems right now.

Adding external search I think what was suggested? Modern browsers' ctrl+f hotkey is fastest there is for that job. No need to reinvent the wheel for that.

As for other stuff you said Bue, I couldn't understand it much.

Zereges your tracker is highly functional, as I said I'll try to transform my app's interface to "List view" toggleable as was suggested.

edit: I'll also do undo button. Requires only bit of attention to implement that so not a big problem.

Bue

#6
Quote from: yittoo on Apr 20, 2019, 09:02 AM
Simplifying everything with Alive/Dead is over simplifying it. When there is competition, if you missed timer by 10minutes and can't find mvp, you can assume it died 5-10minutes ago and update your tracker accordingly, or if nobody updated wounded morroc and last entry was 11hours ago in an active server you can assume if it was spawnkilled it will be up in 1-3hours... so that's a no-no imo. After 24hours of max-spawn-time has passed it resets back to "Unknown" state.

Online Tracker > Client sided. The system I've built hardly requires any data flow (as low as 400bytes upon "kill") and 10KB for initial load of mvp list. So making it client sided will literally bring no improvement but take some as your tracker will get lost once your local storage in browser or cookies are reset. If this was meant to be a desktop sided application I would have made it a desktop application.

List view alternate... now that's a valid suggestion and I'll do that. *Most* users prefer nice interface over functionality so my first focus was that, but I've been coding over 6 hours straight a day for a very long time on all sorts of projects. So I'll chill a bit for couple days as my wrist causes problems right now.

Adding external search I think what was suggested? Modern browsers' ctrl+f hotkey is fastest there is for that job. No need to reinvent the wheel for that.

As for other stuff you said Bue, I couldn't understand it much.

Zereges your tracker is highly functional, as I said I'll try to transform my app's interface to "List view" toggleable as was suggested.

edit: I'll also do undo button. Requires only bit of attention to implement that so not a big problem.

You can make the FSM for the MvP status to whatever you want, but I recommend adding a column for the MvP status anyways.

The idea is to remove account registration altogether to make the service more appealing. For a single user, you can do this by implementing the application on client-side, which is simple to do. For multiple users, I recommend generating a GUID per tracker with an optional password. The GUID should be store in a HTTP GET variable, which allows the owner of the tracker to bookmark the link and share it with other people. You can clean up inactive trackers on the server-side regularly. Also, if keeping track of a GUID is too difficult for users, then you can map a name to the GUID and handle name collisions accordingly.

The interface for Zereges' tracker is about what I was hoping for. I would go as far as to say you can implement a listview with any GUI on any platform, whether web, mobile, desktop, or console (ncurses). Imo, the list-view shouldn't be an "alternative" but the default.

I have used an auto-complete search and list-view filter before. It is done on the client-side and it is as simple as passing in an array of identifiers. If your mentality is to use ctrl+f because its reinventing the wheel, then you should just give up right now because convenience is literally the name of the game in the world of services.  Maybe you should work as a consultant for google and tell them to put all their links on a single page and just have users ctrl+f what they are looking for.

Quote from: yittoo on Apr 20, 2019, 09:02 AM
I've been coding over 6 hours straight a day for a very long time on all sorts of projects. So I'll chill a bit for couple days as my wrist causes problems right now.

Those are rookie numbers. Gotta pump those numbers up.  /heh

yittoo

Undo option and compact view for tracker is now active. I must say both of you were right, UI definitely is better like this. Will make it default later this week. Found a bug that's minor yet irritating for hours of use in one sitting so will have to fix it. I'm not perfect on front end so UI is bit sketchy when "mvp delete mode" and "toggle notification per mvp" modes are both enabled. but beside that It's pretty smooth for all devices.

I'll think of something creative to include alive status aswell, example put it on "Alive" after max time hits 0 but when hovered shows last time it was killed etc.

Sharing tracker under an account is doable however "creating a tracker" without authentication then sharing it with password is problematic for the database architecture I've created as trackers are stored under user data. I'll give thought to this later, might have a 2nd password protection for big changes that can be done in account such as deleting mvp, adding mvp, creating tracker and so on. Will see to it later.

Also will add a page to simply explain how some features can be used such as tombstones, notification customization

Zereges

Quote from: Bue on Apr 20, 2019, 03:40 PM
The idea is to remove account registration altogether to make the service more appealing. For a single user, you can do this by implementing the application on client-side, which is simple to do. For multiple users, I recommend generating a GUID per tracker with an optional password. The GUID should be store in a HTTP GET variable, which allows the owner of the tracker to bookmark the link and share it with other people. You can clean up inactive trackers on the server-side regularly.

I don't see a reason why account registration (also need for login?) is repulsive. It is done once and login can be made permanent (for a device). I used manual registration (send me a login and a hash) for my guild mates, but that of course isn't applicable on global scale.
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

Bue

Quote from: Zereges on Apr 23, 2019, 04:10 AM
I don't see a reason why account registration (also need for login?) is repulsive.

But do you see how it would be more convenient if you didn't have to register?

yittoo

#10
A person (as good portion of people already have as I see from my control panel) is capable of using junk mail to create account literally within seconds so it really would not prove any advantage to make it client sided only. I use the email only for reset password right now.

I'd rather add additional content/features(such as shareability with link)/guide to use special features to make website more desireable than to add "if authenticated" checks to every portion of applications' actions. Sure you could suggest adding it so "a potential user to test out before registering to see application" however apart from core tracking functionality; customized themes, customizeable notifications are all configured on server side upon register by default.

If a person wants an online tracker there are lots of them available whether for smartphone or desktop (even as a single html file that writes to itself, thousands of lines of autism hardcode but there is)

If and when application gets acceptable recognition by community, I'll integrate mvp timers to readable data which then can be used by a discord bot provided with authenticator token accessed from control panel, there already is a discord bot project for mvp tracker as open source, I can just set a VPS running for that bot so people can add it to their discord servers. I'm not specialized in python but I know it enough so I might integrate my API with that.

edit: fixed a bug where app got stuck on infinite loading screen even though the task was completed

Zereges

Quote from: Bue on Apr 23, 2019, 07:42 AM
But do you see how it would be more convenient if you didn't have to register?
Well, sure, but I (and also my users) realized that if you want to make the tracker publicly available as web service, and at the same time you want to have it somehow protected so that other people/guilds can't snipe your MVPs, then there has to be some kind of authorization. And the process of registration is what we are used to.

Maybe I am just old, but I prefer to waste a minute or two filling a simple registration form (user, mail, password, password) then using "login with facebook/google/twitter/..." feature.
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

Bue

#12
A generated GUID and optional password is more than enough to share and protect a MvP tracker. Any user can create a tracker, share it with party members, use it for a while, and forget about it.

Zereges

Quote from: Bue on Apr 24, 2019, 05:05 PM
A generated GUID and optional password is more than enough to share and protect a MvP tracker.
That's completely true, with one disadvantage I see (and mentioned before). You have to write down (bookmark) that GUID and if you have multiple devices you have to rely on e.g. firefox sync to get that bookmark across other devices. I just prefered name and password, which is essentialy the same, with that exception that the user has to write his username instead of getting generated GUID.
Also, what I see as a feature in the tracker is that you have an idea who kills what, when, how often. This is something I didn't finish in the tracker because of laziness and the fact that everyone who were using the tracker basically stopped playing, but I was hoping for having nice statistics, charts, graphs and stuff about everything I could get from users (I store every boss update in database and can basically compute almost everything). I only get to this point:
Quote from: Tracker
Hello Zereges! Here are few interesting pieces of information about you:
You surely want a card from Angeling, since you killed it 23 times already. You'd also like these Turtle General (16x), White Lady (14x), Evil Snake Lord (14x).
You don't seem to be interested in Boitata, since you only killed it 1 times. You don't like these eighter: Baphomet (1), Stormy Knight (1), Doppelganger (1).
By the way, go check out Fallen Bishop Hibram, Samurai Specter, Atroce, since you never tried those.
Your most active day was 2017-06-03. 52 bosses died by your hand that day. You were also active on 2017-05-28 (47 kills).
You've killed 282 bosses during 16 active days. That's 17 per day on average.

But even though I didn't finish this I found fourth column (Last update) very useful, because you know who updated the boss and can ask "Hey, I can't seem to find Vesper, but it should be there for at least 10 minutes. Do you have any idea where did you leave the tombstone?" or anything else.

I would even love to force the user to input what drops did they get so that I could get overall idea on how lucky they are, but I quickly realized that they do not want to fill out 5 minute survey on every update they do :)


Quote from: Bue on Apr 24, 2019, 05:05 PM
Any user can create a tracker, share it with party members, use it for a while, and forget about it.
That's not the way I wanted the tracker (my tracker) to be used. But I see it as an alternative
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

yittoo

QuoteAlso, what I see as a feature in the tracker is that you have an idea who kills what, when, how often. This is something I didn't finish in the tracker because of laziness and the fact that everyone who were using the tracker basically stopped playing, but I was hoping for having nice statistics, charts, graphs and stuff about everything I could get from users (I store every boss update in database and can basically compute almost everything).

Without the 5 minute survey thing you asked, this actually is quite an interesting idea. Splitting mvps into 2, first group that spawns less than 180minutes and second takes more than 180minutes (aka high ends) and their graphs accordingly. This really is an interesting and I might do it sometime if you allow me to use your idea :p (given that userbase keeps growing - right now a few daily users already come back for this app which is quite nice)

Bue, creating unique key for a tracker literally is taking it to be harder for everyone than with register system we have here. I already have provided infinite tracker count for user, if your guild was named "BAN THIS GUILD" you literally could make [email protected] or even BTG@BTG as your username if you never want to reset password. And share the password in your guild's discord.

Sharing a different generic key each time forces players to "send it over discord, I can't copy paste in this goddamn game in 2019" kinda problems. If you do for some reason do not want a guy in your guild to see your timers, simply create another account of your own and distribute it to your close friends or don't whatever floats your boat.

I'll not restructure database to allow non-logged in trackers being created where it will provide literally no upside to user.

Also Zereges did you check tomb system I have? You might like it  /gg

Zereges

Quote from: yittoo on Apr 25, 2019, 05:25 AM
This really is an interesting and I might do it sometime if you allow me to use your idea :p
Don't get scknowledgement from me to use math, graphics and general programming skills. Feel free to implement whatever you find reasonable. But get acknowledgement from your users, so that they won't feel weird when seeing too buch about themselves.

Quote from: yittoo on Apr 25, 2019, 05:25 AM
Also Zereges did you check tomb system I have? You might like it  /gg
I also had ideas for the tomb system, but since I always played a server where tombs were disabled, I never got to the implementation.

By the way, if you are aiming for high goals, you could go for something I just thought about. When the player kills the MVP, he would press PrntScr button. That would (apart from saving it as screenshot in ragnarok folder) make a screenshot in clipboard. Then you would press ctrl+v in the tracker and it would analyze the image, would found out the map, position of the player and also would know the time (based on keypress) and would update everything accordingly. :)
Player of Phoenix Fury, Pestilence & Ekirei.

Tree of Savior: Zereges (Falconeer-Mergen-Ranger)

Ragnarok break now.
My EndlessTower Video

WoW (Drak'Thul): Zere, Shadow Priest, <Panta Rheî> (offline too)

My Anime List
My StackExchange

yittoo

- Added action logs for each tracker individually (as requested from users), stores last 100 actions.
- Fixed some visuals.
- Tightened security of app as users are flowing in regularly.

Soon to come:
- Additional security for accounts via an additional keyphrase set by account owner. This key will be used for severe actions such as delete account, delete tracker and add tracker so that trolls & weirdos among guilds will have less power over the account.

meaman654

Well Yit, you've done it. And I couldn't be more proud. It's pretty much functional as I hoped it would be and I'll still throw my suggestions via PM.  You still need to tweak that drop down"animation" in Firefox since it still lags like hell. And hopefully we'll get those stats feature soon since my autism loves it.

I guess posting this would be the best time.
Spoiler


>there's a developer
>on the internet
>on a s*** old game
>he does it for free
>he made an MVP tracker that will only have 5-10 users using it
>he gets roasted from his fgt users from time to time
>he says he hates weebs but is very tsundere about it
>he clearly knows that Ragnarok Online is a weeb game
>he still plays it
>he secretly loves chinese cartoons and smiles when he sees one posted
>he is a closet fgt when it comes to chinese cartoons
>he will never introduce us to his 2D waifu
>he will never find solace in his denial
[close]

Nevertheless, I'll give you the highest approval (probably the only one that matters)


yittoo



Ma mafakin weeb  /kis Thanks for the seal  /lv

Fixed the firefox performance problem today /ho . As of 2days ago 100 registered users. Geting higher up on search engines (1st page on most relevant searches and top 3 on some).

Started working on design on how statistics should be, so far total MvP kill count week-by-week split to contributing nicknames will be added that counts automatically. Also counter for bio3 mvps are going to be added to keep track of spawn RNG.

divideragna

The idea is good but what about the variance? and a suggestion maybe simpler design might work better.

yittoo

Hey, I don't know what you mean by variance. As for simpler design I think design is simple enough maybe the complex part is the control panel but I tried to include guidelines with question marks for each items there aswell, anyone with okay level of english should be able to use the application without an issue imo