• 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 40,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!

Speedcubing "Utility"

FoxWolf

Member
Joined
Sep 28, 2010
Messages
36
Location
Amherst, Nova Scotia, Canada
YouTube
Visit Channel
Hey everyone!

So, I have recently started a project for a piece of software, which right now is available for a -beta- release. I am looking for feedback on it, and I plan on keeping this up to date as progress has been made.

Updates below completed 3:08 PM Friday, Feb. 10th (2012) ATL
  1. Functioning timer, and detailed averages
  2. Clearable average, and personal-best data
  3. List of times, viewable as all items, or current session
  4. Numerous puzzle choices
  5. Saves all solves to a file, located as /Cubes/*cubename*/Data (and Best) .data
  6. Allows for removal of times
  7. Allows for penalties/indications (Pop/Dnf) - [1] (in Future)
  8. Allows for cubic scrambles
  9. Clicking the scramble generates a new scramble.
  10. Timer position moved to account for scrambles.
  11. Blind check box implemented (will function for ANY puzzle)
  12. Solves for blind are saved in "Cubes/**CUBE_TYPE**/Blind/..."
Future implementation
  1. Penalties, Pop, DNF, will remain visible in full details list (view all solves) <!!>
  2. Algorithms tab to be completed, consisting of useful algorithms.
  3. Allow the user to insert his own algorithms, for any cube choice, along with an image.
  4. Allow for timing of these algorithms by selecting an algorithm and hitting 'time'
  5. -------- Timer changes below ------
  6. Generate the requested length, and type of scramble <!!> - Partial completion - <!!>
  7. Scramble: Cube choice, limit turns, PLL, OLL, F2L, X-Cross, training (?) <!!> - partial completion - <!!>
  8. Implement WCA connectivity, allow the parsing of the database in a nice format and viewable within the utility
  9. Compare! (Take a user in the WCA, and compare your personal bests from the program, or compare another WCA user)
  10. View competitions and mark them as intending to attend
  11. News ticker for important news topics in speedcubing, upcoming competitions, new cubes being released, and other hot topics!
  12. Allow for the challenging of other users using the program, by "challenging" them.
  13. Full user list appears in a database online (internet connection obvs required)
  14. Build a image-signature, containing puzzle type, number of solves made, and detailed averages and stats <!!>
  15. Build graphs with easily interfaceable user controls to display stats all on one graph, with indicated dates.
  16. Allow placing more than one puzzle type on a graph View 3x3x3, and 4x4x4 side by side
  17. Allow the user to change program colors by an XML file (?)
  18. Double-clicking the scramble opens a property window to change the qualities of the scramble.
  19. Re-think scramble area, and consider the scrambles implemented (11x11x11 - necessary [no])

Known bugs

  1. Can generate scrambles close to... X Y X' Y' X Y X' Y' (Where X and Y are inaffected by each other) For example... R L R' L' R L R' L' *FIXED*

Things marked with !! are the next intended update. [Estimated time of completion: Feb. 17th]

(There may be intermediate updates, but I'll make sure to say there has been :))

Please note, this is a non-exhaustive list of implementations, these are the main ideas at this given time, and all, or none of these may be implemented depending on the difficulty of the task, and other resources.

I have every intention of completing this program, but sometimes life gets in the way.

If there are any items users here think would be beneficial (and required) for a program like this, please message me privately.

If you wish to use the current release of the program you can download it here:

http://gleg.biz/files/speedcube utility.zip

The source code is not yet available. As the program becomes more complete (and better structured) source will be available. The program is written in C#, WFA. You must have a windows computer to run the setup.exe file :) [in case you didn't know that]

Virus Scan:
scan.jpg


Program Image:
program.jpg
 
Last edited:

PandaCuber

Member
Joined
Jun 24, 2011
Messages
1,689
Location
Uruguay
YouTube
Visit Channel
Very very nice.

One thing that I would like to see in a timer. Multiple method training.
On your #7 on future, you put F2L, OLL etc training. Could you make on for Roux? For Petrus?
 

asportking

Member
Joined
Jul 10, 2010
Messages
892
Location
Michigan
YouTube
Visit Channel
Not bad! I haven't used it much, but it looks like it works great. I like the nice, simple design. If you could do even half of you plan on doing with it, you could have a REALLY useful timer, especially with that algorithm section.
 

Escher

Babby
Joined
Jul 23, 2008
Messages
3,374
WCA
2008KINN01
YouTube
Visit Channel
This looks great, I hope you get round to implementing all these features (and more) - an overarching utility for speedcubing is a big project to aim for but there's definitely a market for it. The WCA integration seems a pretty original and useful feature.

I'm sure you could outsource some work to other members of the community if you felt the need, there are plenty of awesome and generous programmers around. It might be a good idea to send a beta test to some specific members of the community to get targeted, helpful feedback, or suggestions.
 

FoxWolf

Member
Joined
Sep 28, 2010
Messages
36
Location
Amherst, Nova Scotia, Canada
YouTube
Visit Channel
This looks great, I hope you get round to implementing all these features (and more) - an overarching utility for speedcubing is a big project to aim for but there's definitely a market for it. The WCA integration seems a pretty original and useful feature.

I'm sure you could outsource some work to other members of the community if you felt the need, there are plenty of awesome and generous programmers around. It might be a good idea to send a beta test to some specific members of the community to get targeted, helpful feedback, or suggestions.

This is something I am definitely considering, as things become more complex with the program and I actually restructure my code (probably tonight), I will look for some people that may be interested in doing some parts of the project.
 

FoxWolf

Member
Joined
Sep 28, 2010
Messages
36
Location
Amherst, Nova Scotia, Canada
YouTube
Visit Channel
Is there a Mac version?

I really hate my MacBook sometimes...

Possibly, I'll be checking into this. I know I can develop with MonoDevelop and, I may be able to set out a Mac Release. If I can I certainly will.

If not, this should run if you have the .NET framework installed on your mac, using wine (the mac variation) as shown in the post above me.
 

FoxWolf

Member
Joined
Sep 28, 2010
Messages
36
Location
Amherst, Nova Scotia, Canada
YouTube
Visit Channel
BIG Update

So, I wanted to note that there is going to be a big update tonight/tomorrow, probably closer to the latter.

This update involves an entire overhaul of the program, data structures have been restructured, sloppy code re-implemented, etc.

Along with this, the source code will be made available for those who *request* it (in private message).

Many new classes, and new data layout for files, made to better handle the program.

Things appear faster at this stage, however some functionality has been temporarily lost. When the new update is out, you *must* completely delete the folder that contains the program in it, including the "Solves" folder which contains all the previous session data.

Important things added to this release:

If you populate all times, view all times after reopening the program, or switch to separate cubes, you can now see which times received penalties or indicators (+2), (POP), (DNF).

Averaging data will be more-precise... taking into account penalties and DNF's, and should properly give correct values... (Only gives incorrect numbers if there are penalties to account for).

if time is DNF, only displays "(DNF)".

More averaging structures: [3 of 5] DNF, DNF, DNF, 20.00, 20.00 == DNF

etc.

----------

- Lobie
 
Joined
Sep 8, 2011
Messages
381
Location
San Francisco, California
WCA
2012BASK02
Hey... if you like I could make a mac version-I know how to program on a mac so you don't have to use wine or that type of things
If you want me to please give me the full detail so I can make it as close as I can to the normal one.
 

PandaCuber

Member
Joined
Jun 24, 2011
Messages
1,689
Location
Uruguay
YouTube
Visit Channel
Very nice.
Quick thought.
Maybe you could make the 'Scramble' box smaller? Cause its a huge box, bigger than the actual timer box, so maybe make timer a tad bigger and scramble box a tad smaller .

Remember, just a thought. And the pic is big.
EX:
2lkqrtd.png
 

FoxWolf

Member
Joined
Sep 28, 2010
Messages
36
Location
Amherst, Nova Scotia, Canada
YouTube
Visit Channel
Very nice.
Quick thought.
Maybe you could make the 'Scramble' box smaller? Cause its a huge box, bigger than the actual timer box, so maybe make timer a tad bigger and scramble box a tad smaller .

Remember, just a thought. And the pic is big.
EX:
2lkqrtd.png

Thanks for the picture! Also shows me another problem with the program that I didn't notice on my end!

In response to the size of the box, it is that size due to the length of some scrambles, even only considering 7x7x7 which nearly fills the box... 11x11x11 fills the box entirely.

I may however scrap some scrambles, or implement the scramble in a different way once I think about possible ideas.

This is certainly something I am considering...

In addition to that, I should note that the timer text can't really get larger, since it nearly fills up the left and right boundaries as it is. I may be able to make it a little bit larger, I'll try and implement these changes for Friday =)
 
Top