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

Block Keeper: Cross platform desktop timer

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Block Keeper is a standalone, cross platform desktop cubing timer. It provides a simple and clean interface, completely offline, without Java.

Features:
  • Windows, MacOS and Linux support
  • Java not required
  • Completely functional offline, no Internet connection required
  • Event based session organisation
  • Stylish and easy to navigate interface
  • Scramble generation for all WCA puzzles
  • WCA Inspection support with voice announcements
  • Optional split timer controls
  • Multiple interface themes


I built Block Keeper with session organisation in mind. After selecting which event you will be solving for, the scramble adjusts to it and all newly created sessions will appear only under that event. So only your 3x3 sessions will be shown when you select 3x3 and only your 2x2 sessions will be shown when 2x2 is selected. I don’t know how most people organise their sessions, and I’m sure it’s different for everyone, but this system promotes session organisation across a wide range of events.

Block Keeper uses Github’s Electron, making it incredibly flexible, cross platform with no Java required! Unfortunately the file sizes are much larger than I would like, but Java takes up storage regardless.

Download Here: http://dallasmcneil.com/projects/blockkeeper

A comprehensive user guide is also available. Most of Block Keepers is intuitive to those who have used timers before but there are some neat shortcuts and useful information available if you need it. It also has a roadmap for future development ideas.

User Guide: http://dallasmcneil.com/projects/blockkeeper/guide

Block Keeper is still in development and I’d love some feedback to help make it even better. If you find a bug or want to request a feature let me know. :)
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
A new version is available which resolves an issue which prevented sessions from being loaded correctly. Apologies for any inconveniences this may have caused.
 

Calode

Member
Joined
Apr 21, 2014
Messages
90
Location
Washington
WCA
2016HOOV01
This is pretty cool. If you keep adding features that cstimer has, I'll probably switch.

Feature request: can you export the sessions to an editable json so say someone like me can import their cstimer times and/or render them into graphs.
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Thanks for the feedback! cstimer was my main timer and is an inspiration. I'm planning to add graphs within sessions and also within puzzles in the future. I store records as JSON files so it should be easy to add export and import functionality, not only block keeper, but also for other timers.
 

JohnnyReggae

Member
Joined
Jan 21, 2015
Messages
437
Location
Cape Town, South Africa
WCA
2015BOSW01
Great app, works well. I have a few requests and they are mostly due to the fact that I use CSTimer mostly ....

Scramble Image ... with customisation of colours
Stats breakdowns ... time distributions, time trends, custom stats
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Sorry I can't see the image. I know the scramble generator isn't perfect so I would love to see where I can improve it. Could you send the image to [email protected] and I'll take a look.

I've been working hard the last couple of days and have already introduced import and export for Block Keeper sessions and am half way through csTimer imports. I have also introduced a new feature which I personally have never seen in a timer before and look forward to sharing with you in the next version.

I hope to release the next version before the weekend. I am listening to all your feature requests and I hope to implement them as soon as I can. I will be taking a holiday next week and sadly won't be able to work then, so things will be a bit slower. Thanks again for your comments! :)
 

Me

Member
Joined
Jul 13, 2006
Messages
353
Location
New Mexico
WCA
2006WRIG01
YouTube
thrawst
This is really good, I've been waiting to see when someone would take advantage of electron for a desktop timer. Nice job!

My only feedback:

- take advantage of `menuTemplate` to put some actions in the menu and perhaps keystrokes for common actions. Ctrl/Cmd + Z to remove last time. I found that Ctrl/Cmd + N makes a new session but menu items could document that?
- Should a new scramble generate on spacebar up? (Even before the timer is running, like spamming the spacebar)
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Thanks for the continual feedback guys. I have most of your requests on the roadmap and look forward to adding them. Scrambles are a tough thing. To keep everything offline I need to use my own scramble generators. I should study the source of TNoodle or other open source scramblers to improve them, unless anyone knows of a Javascript scramble library? It's on the todo list but it will likely be a while away as I would need to tackle image generation (which again needs to be offline) at the same time.

Version 0.2.0 is practically complete and I am just updating the documentation and packaging it up. I hope to release it by tomorrow.
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Version 0.2.0 is now available!


Screen Shot 2017-01-26 at 9.33.42 pm.png

- ADDED option to use webcam to video record solves, view and save them. (You can only view and save your most recent solve, no videos are saved permanently but you can manually save them, must be enabled in preferences)
- ADDED shortcut ‘Control + R’ to quickly view video of last solve
- ADDED import and export options for Block Keeper sessions and import csTimer sessions
- ADDED tools. Select from...
- Session Trend
- Distribution
- Event Trend​
- RESOLVED an issue where using escape to close preferences would leave everything disabled
- RESOLVED an issue where disabled select menus were usable while preferences menu was open
- CHANGED event names to better fit WCA names. This may cause duplicate events. To resolve this (if you can navigate and understand a JSON file), go into puzzles.json (locations stated in user guide http://dallasmcneil.com/projects/blockkeeper/guide) and rename all sessions named NxN to NxNxN (e.g "4x4" to "4x4x4", "3x3 BLD" to "3x3x3 BLD") and remove the other duplicate. Make sure Block Keeper is closed before doing this. If you have any difficulty or don't know how JSON works, send your JSON file to me at [email protected], and I'll resolve it a soon as I can. Apologies for the inconvenience
- POSSIBLE ISSUE where very rarely, sessions are not saved and are lost. Please backup regularly and do not force quit the application

If you see any visual glitches or issues, restart Block Keeper and it should be fixed. This is just a transitional issue due to the above mentioned name changes to events.

As I said early, I'll be away for a week and won't be working on Block Keeper. But I'm still looking for feedback. Thanks again for checking out Block keeper :)
 
Last edited:

Me

Member
Joined
Jul 13, 2006
Messages
353
Location
New Mexico
WCA
2006WRIG01
YouTube
thrawst
To keep everything offline I need to use my own scramble generators. I should study the source of TNoodle or other open source scramblers to improve them, unless anyone knows of a Javascript scramble library?
There should be the TNoodle web scramblers, timer.cubing.net uses it https://github.com/cubing/timer It would be nice if there was some npm module.

The guide is good, but what's even better? Menu bar items with self documenting keystrokes, I see the Meta + 1,2,3 actions for times now through the guide but 99% of users don't read through guides these days. :p

I cannot get the video recording to work? I see video player bar though, I'm on macOS 10.11.6 if that makes any difference. I've thought a lot about a feature like this so I'd really like to try it.

Still all amazing, I can't wait to see what this will turn into.
 

Attachments

Last edited:

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Hmmm the video bar appearing there is a sign that something has gone wrong... After restarting does everything work fine? (the bar isn't there) If it's still there, is the green light on? (assuming you use the iSight camera)

EDIT: Also thanks a tonne for the GitHub repository, I found this library (https://github.com/cubing/jsss) which appears to be exactly what we need. I'll investigate it more when I'm back. :)
 
Last edited:
  • Like
Reactions: Me

dskids

Member
Joined
Dec 21, 2015
Messages
302
Location
Virginia
WCA
2017SKID01
Wow this is awesome, really I glad I stopped by here today. Going to download tonight and give it a try in my next session. Absolutely love the idea of the webcam video recording feature as I have been pondering a way to critique my own solves quite a bit lately.
 

Me

Member
Joined
Jul 13, 2006
Messages
353
Location
New Mexico
WCA
2006WRIG01
YouTube
thrawst
Hmmm the video bar appearing there is a sign that something has gone wrong... After restarting does everything work fine? (the bar isn't there) If it's still there, is the green light on? (assuming you use the iSight camera)
I've restarted a few times, no green light / nothing indicating it's trying to access my webcam. Even more strangeness, I found the checkbox in the settings "Video Record Solves" and when checked I cannot start the timer at all. Sounds like you might want some tests.

I'll try this on my Windows machine later and see if I get the same stuff.
 

DELToS

Member
Joined
Oct 4, 2015
Messages
292
Location
Probably on my laptop
So with this new timer, will I be able to store more solves than in cs without them being deleted? And there's some sort of bug I think, it won't let me import the .txt file from csTimer
 
Joined
Mar 28, 2015
Messages
117
Location
Denver, USA
This looks really nice, I'm excited to do some more solving over the next few days and see all the fancy features!

I see you've already gotten some feedback about the scrambles, but I noticed a few things too. First, on 3x3 I got a weird scramble that ended with L' R' L... it threw me off and took a second before I realized why it was weird, haha! I'm also seeing 3x3 scrambles breaking onto a second line even when I have the window maximized and there's plenty of space.

In addition, the megaminx scrambles are quite hard to read. There are no line breaks after the U/U' moves, the font is not monospace, and I have to scroll down to see the last line, even though there is plenty of space on the screen. I understand that changing the font will likely upset the style of the program, but it really does make mega scrambles easier to read.

Cosmetic gripes aside, this is pretty cool and I'm gonna start using it from now on. :)
 

Attachments

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Wow, thanks for all this feedback and positive words guys. Sounds like there is some trouble with the camera being accessed. Will test on a second machine and find out what's up. With the scramble library we found, all scramble issues will be resolved next major version, so megaminx layout and weird patterns (U D' U') won't be a problem. Block Keeper only recognises .json files for imports, so just rename it with that extension, I'll add .txt to be accepted later. There are no limits to how many sessions you can store either.
 

DalDal

Member
Joined
Jan 9, 2017
Messages
145
Location
Adelaide
WCA
2017MCNE01
Version 0.2.1 is available and fixes the video issues.

So the camera recorder library wasn't automatically included in the dependencies while installing it for some reason. Hence the functionality just wasn't available when Block Keeper was exported, but was available during testing. Apologies for the inconvenience (especially since I was away for a week. Everything should work fine now.
 
Top