• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 35,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

Multi-Blind Analytics and Statistics Application

Dylan Swarts

Member
Joined
Jun 10, 2018
Messages
318
Location
South Africa
WCA
2017SWAR03
YouTube
Visit Channel
So recently I've picked up programming again, and started learning Python. I am doing Delphi at school but I don't intend on using it after school really. I've had an idea for a program, just something small, that can work out your average exec, memo and total /cube for a multiblind attempt. (Input being x/y and your total time[memo time])
This would save me some small amount of time after my attempts.

But then I decided I want to rather make this part of a bigger project. Which leads to this idea of mine. Having an app that can give you stats about your attempts, like the above-mentioned. There is quite a couple of things I would like to add initially, some of which I can not yet do, but am busy learning and practicing to do.
These include:
- Storing all your entered attempts (with your comments about each attempt)
- Generating a graph with your attempts on (not sure how I want to do this, since there is the time and points factor)
- Being able to extract your attempt data directly from csTimer (have looked into this, might need to ask user for attempt no. input I think, and result in format x/y)
- Being able to rank an attempt of yours against WCA's WR and CR rank (so you can see how your attempt would have fared if it were official, I think it is a fun thing to see)
- Organizing your stored attempts by date or by points (and time as 2nd priority obviously)
- Having the application itself have a timer, so you don't need to use anything else for multiblind. (just thought of this, but might be worth adding, I'll see)
- Being able to customize (so, if you don't care about memo splits, you can still use the app properly, although this app's main function is to give stats about your attempts)

I know that not many people will use this, as multiblinders are relatively few, and many might not care about such stats, but it will teach me a lot about GUI's in Python, and many other things that will be handy in my future of programming.

The night I started working on the coding, I finished a part of the backend for the project I intended to make for myself (avgs/cube)
The green text in the bottom left is the input from the user, as I would have used the script. It then gives out the text beneath it as output. Pretty happy I figured out how to do that part so quick. Took some effort to dig out the values I needed to calculate with, and there is probably ways it could be approached better, but this is what I could do. (I just see I forgot to add avg total/cube, will quickly add that to the code later)
1590059587771.png
Currently I am learning to create the GUI, and it is still quite new to me, so I might not progress further for quite some time.
I have set no date for completion, as I do not want to code big things that I do not understand, because then potentially I won't be utilizing them as best I could for this program.

Thought I would create this thread for discussion about the program, a place for me to update you all on it (and keep me motivated to keep working hard at it), and feedback of course.
 
Joined
Oct 7, 2018
Messages
329
WCA
2017OWEN01
So recently I've picked up programming again, and started learning Python. I am doing Delphi at school but I don't intend on using it after school really. I've had an idea for a program, just something small, that can work out your average exec, memo and total /cube for a multiblind attempt. (Input being x/y and your total time[memo time])
This would save me some small amount of time after my attempts.

But then I decided I want to rather make this part of a bigger project. Which leads to this idea of mine. Having an app that can give you stats about your attempts, like the above-mentioned. There is quite a couple of things I would like to add initially, some of which I can not yet do, but am busy learning and practicing to do.
These include:
- Storing all your entered attempts (with your comments about each attempt)
- Generating a graph with your attempts on (not sure how I want to do this, since there is the time and points factor)
- Being able to extract your attempt data directly from csTimer (have looked into this, might need to ask user for attempt no. input I think, and result in format x/y)
- Being able to rank an attempt of yours against WCA's WR and CR rank (so you can see how your attempt would have fared if it were official, I think it is a fun thing to see)
- Organizing your stored attempts by date or by points (and time as 2nd priority obviously)
- Having the application itself have a timer, so you don't need to use anything else for multiblind. (just thought of this, but might be worth adding, I'll see)
- Being able to customize (so, if you don't care about memo splits, you can still use the app properly, although this app's main function is to give stats about your attempts)

I know that not many people will use this, as multiblinders are relatively few, and many might not care about such stats, but it will teach me a lot about GUI's in Python, and many other things that will be handy in my future of programming.

The night I started working on the coding, I finished a part of the backend for the project I intended to make for myself (avgs/cube)
The green text in the bottom left is the input from the user, as I would have used the script. It then gives out the text beneath it as output. Pretty happy I figured out how to do that part so quick. Took some effort to dig out the values I needed to calculate with, and there is probably ways it could be approached better, but this is what I could do. (I just see I forgot to add avg total/cube, will quickly add that to the code later)
Currently I am learning to create the GUI, and it is still quite new to me, so I might not progress further for quite some time.
I have set no date for completion, as I do not want to code big things that I do not understand, because then potentially I won't be utilizing them as best I could for this program.

Thought I would create this thread for discussion about the program, a place for me to update you all on it (and keep me motivated to keep working hard at it), and feedback of course.
This is cool when would it be available to use
 

ProStar

Member
Joined
Oct 27, 2019
Messages
4,655
Location
An uncolonized sector of the planet Mars
WCA
2020MAHO01
Instead of having a normal timer, I'd suggest having a timer that counts down, and then gives off a little alarm when your 1hr(or less if you do <6 cubes) runs out, that way you don't have to worry about going over. Maybe before the attempt you enter how many cubes you're doing(so that it knows how much time to give you), and then when you stop the timer it asks how many cubes were solved, so that it can immediately sort. Also you could make it so that in your results the time goes to how much you took instead of how much was left(to keep it consistent with the WCA)
 

Dylan Swarts

Member
Joined
Jun 10, 2018
Messages
318
Location
South Africa
WCA
2017SWAR03
YouTube
Visit Channel
Quick update on things. Admittedly I have not spent any time on the project since announced, but I have not forgotten about it. I am giving more attention to school work at this time but as soon as I fall into a routine I will get back into my programming. I have done some research a while ago about GUI applications and came upon Kivy, which might be more suited as a GUI module for my app than Tkinter. It is more difficult and I need to take that into consideration before making a decision. Alternatively I can create it in Tkinter and later do in Kivy... I know that Kivy can be used for mobile apps, but how many people are going to use their phone for multiblind over their computer? Not many. I don't think that should be used to make my decision. Kivy can give a better look though, which is nice, and I'd like a modern aesthetic look for this program.
anyway that's it from me for now, will keep you updated when I have some progress.
 
Top