# CubeTimer for iOS 2.0



## IngeneroiOS (Nov 9, 2012)

Hi everyone,

We've just launched CubeTimer 2.0, and it really is a whole new app. We've rewritten and rebuilt it from the ground up to make it faster and more stable while simultaneously adding a host of new features. It's free to existing owners of CubeTimer.

One of these features is a random-state 3x3 scrambler, the source code for which and all our other scramblers I've attached to this post. Anyone else is welcome to use this code and save themselves the porting headaches we endured trying to translate from someone else's Java and Javascript code to Objective-C. The resultant code is undeniably messy, but it's fast and works well.

The other main features we've added include:

• WCA mode. Basically, this is a mode designed to be as close as possible to competition solving. In it, you double tap to start the countdown, and then use the device like a stackmat to start the timer. You can draw a cross on the screen to delete your most recent time (or to bring up a popup with +2 and DNF options).

• New Statistics view – there are a bunch of new statistics which you can scroll through like the home screen on your device. You can tap on the graph to bring up a large graph showing your last five, eight, twelve, fifty or hundred times for each solve type. You can also skim across the graph and view the exact time and date for each data point.

• Custom Solve Types – mainly added so that we had a way to record cube tower solves. You can add your own solve types by swiping to the left, past 2x2.

• Further customisation options – it's now easier to choose your own colour schemes, and the background is a gradient rather than a solid colour.

• Improved session management

• Various new settings, such as having the newest times display at the top and hiding the time while you're solving.

To celebrate its release, we're giving away ten copies of the app here. I've attached a text file to this post with ten promo codes, which you can enter into iTunes to get a free copy of the app. Once you've redeemed a code, please post the code here in a reply so other people can know it's been used.
EDIT: And that's all of them. If you missed out, the app is US$1.99 on the App Store.

Post any questions or feedback in a reply; we'll be checking back regularly. We hope you like the app!

Link: https://itunes.apple.com/us/app/cubetimer/id453618840?ls=1&mt=8

Scramblers Code: https://bitbucket.org/IngeneroiOS/cubetimer-scramblers













​


----------



## already1329 (Nov 9, 2012)

HYRHNKF6T9RH


----------



## cubingawsumness (Nov 9, 2012)

EJTRHTPWNXLE

EDIT:
erm... how do I use the code?


----------



## IngeneroiOS (Nov 9, 2012)

At the risk of seeming lazy, here's Apple's explanation for how to redeem promo codes:
http://support.apple.com/kb/HT1574?viewlocale=en_US&locale=en_US
If that doesn't answer it for you, then post again and I can help you out.


----------



## Vulosity (Nov 9, 2012)

LRKWJHHHWEF4

Thanks for the app!


----------



## cubingawsumness (Nov 9, 2012)

IngeneroiOS said:


> At the risk of seeming lazy, here's Apple's explanation for how to redeem promo codes:
> http://support.apple.com/kb/HT1574?viewlocale=en_US&locale=en_US
> If that doesn't answer it for you, then post again and I can help you out.



I'm so blind...
Thanks!
Great app really.
Will edit when I have time to try it out.


----------



## teller (Nov 9, 2012)

AAT6E9YTX7JL

Thank you, will try it out.


----------



## Tong Haiwu (Nov 9, 2012)

Very nice
Thanks for sharing


----------



## tx789 (Nov 9, 2012)

Just getting it now


----------



## Me (Nov 9, 2012)

Yay timers are slowly getting more aesthetic! Nice job, the graphing looks especially nice. The app icon is still a little awkward. Fun stuff.


----------



## Xu Zhao (Nov 9, 2012)

J9LRYJ6KMTA9

thx


----------



## uniacto (Nov 9, 2012)

9YJWFKW97R4Y thanks very much.


----------



## NSKuber (Nov 9, 2012)

W474EXWRA7JK, thanks.


----------



## IngeneroiOS (Nov 9, 2012)

Me said:


> Yay timers are slowly getting more aesthetic! Nice job, the graphing looks especially nice. The app icon is still a little awkward. Fun stuff.



Thanks Thrawst. If you like, feel free to use the 3x3 random-state scrambler code in ScrambleMe or even FiveTimer. That goes for anyone who wants to use it.


----------



## PandaCuber (Nov 9, 2012)

Awwwwwwwww! it seems like everyone used up the code. 
I really wanted to try it out!


----------



## IngeneroiOS (Nov 10, 2012)

PandaCuber said:


> Awwwwwwwww! it seems like everyone used up the code.
> I really wanted to try it out!


We've put ten more codes up. Go ahead and grab them.


----------



## MTGjumper (Nov 10, 2012)

E3N6PTMELY43

I've only had one square-1 scramble that actually works... :/


----------



## PandaCuber (Nov 10, 2012)

YAY! Thank you so much


----------



## IngeneroiOS (Nov 10, 2012)

MTGjumper said:


> I've only had one square-1 scramble that actually works... :/



Okay, then we need to fix that. What's the issue with the scrambles? And what device/OS version are you running CubeTimer off? The code is entirely based off the WCA scrambler, and none of our team actually has a Square-1 to test off. Let me know what the issue is and I'll try to figure out a solution.

EDIT: Actually, do you mean the ellipses (…)? If so, then just tap on the scramble to view it in full.


----------



## khoavo12 (Nov 11, 2012)

YE373F3HWXXE

I will definitely write a review on iTunes. Thanks so much


----------



## PandaCuber (Nov 11, 2012)

To be honest, I dont like it. 
Its really complicated and at first I had no idea why the 7x7 OH scramble was set. it took me a couple of minutes to realize how to do it. 
I think you should go for a more simple set up. 
things like:
-A button to change scramble type. 

Maybe thats just me, but thats the only down side i see


----------



## IngeneroiOS (Nov 11, 2012)

PandaCuber said:


> To be honest, I dont like it.
> Its really complicated and at first I had no idea why the 7x7 OH scramble was set. it took me a couple of minutes to realize how to do it.
> I think you should go for a more simple set up.
> things like:
> ...



If the difficulty is in changing puzzle types, I'd suggest swiping all the way left past 2x2 and tapping on the solve types you won't use to disable them. There are a lot of features, and I can see how it could be overwhelming at first. I assume from that you picked Classic Mode, which doesn't have a tutorial (the WCA tutorial covers changing solve types). All I can say is; have a play with the app for a while and see whether it grows on you.


----------



## Akiro (Nov 11, 2012)

646XRJEPMHJL for me.
Thank you so much!


----------



## TheCuber23 (Nov 11, 2012)

I used 4RTMHM49939E thanks a ton!
IT DIDNT LET ME RATE IT!!  would rate it 5 stars though!!


----------



## EeeeeWarne (Nov 11, 2012)

I used JMRXEMEMHJJA - Thank you!


----------



## khoavo12 (Nov 11, 2012)

Feedback#1:

For the next update, can you make it possible to change the colour of scrambles and times?
I also find it annoying when the screen keeps flashing every time inspection time reaches 7 or 8 seconds.
Apart from that, you did a pretty good job. I actually think its great. Love changing the background colour!


----------



## IngeneroiOS (Nov 11, 2012)

khoavo12 said:


> Feedback#1:
> 
> For the next update, can you make it possible to change the colour of scrambles and times?
> I also find it annoying when the screen keeps flashing every time inspection time reaches 7 or 8 seconds.
> Apart from that, you did a pretty good job. I actually think its great. Love changing the background colour!



Colour of scrambles and times – sure. That shouldn't be too hard to do. As for the flashing, that happens after eight seconds, and again after twelve (when, in a competition, "eight seconds" and "go" would be called out). We'll see about adding an option to disable it.

EDIT: Implemented, working, and awaiting submission.


----------



## Outsmash (Nov 11, 2012)

A9FNP6N3W7RH


----------



## IngeneroiOS (Nov 11, 2012)

We've been playing around with the Square-1 scrambler, and we think we've fixed the issue (or, at least, an issue). Could someone with a Square-1 give a couple of these a try to make sure they work? They seem to be okay on the simulator.

(3,-3) (3,0) (1,3) (-1,5) (-5,0) (-4,0) (0,3) (-2,0) (4,0) (4,0) (0,1) (6,0) (0,2) (6,0) (0,3) (-4,0) (-5,4) (5,0) 
(0,6) (3,3) (-1,0) (4,4) (2,4) (0,4) (0,5) (-3,0) (-4,1) (6,0) (6,0) (0,2) (-2,4) (-4,0) (6,4) (-2,0) (6,2)
(-2,6) (2,-4) (4,1) (-1,3) (0,3) (-3,0) (2,0) (0,4) (2,0) (4,0) (6,0) (2,5) (-2,0) (4,0) (6,4) (-1,2) (6,0)
(0,6) (-3,0) (0,3) (3,4) (6,0) (6,0) (-1,0) (4,0) (-2,2) (0,4) (0,4) (4,2) (-2,4) (0,2) (0,5) (0,1) (2,0) (6,3)
(4,6) (5,2) (1,4) (-1,0) (6,0) (-3,3) (0,4) (-1,5) (0,1) (0,3) (2,4) (2,0) (0,2) (4,0) (0,2) (6,4) (0,4)
(0,-1) (0,-2) (3,3) (-1,3) (1,0) (6,5) (0,3) (0,4) (-2,0) (0,4) (-2,0) (0,2) (2,0) (4,0) (5,0) (-1,0) (-5,0) (4,0) (1,0)


----------



## brandbest1 (Nov 12, 2012)

Yeah, they're all fine. Couldn't sub-20 any of them though  lol


----------



## IngeneroiOS (Nov 12, 2012)

brandbest1 said:


> Yeah, they're all fine. Couldn't sub-20 any of them though  lol


Thanks. I've uploaded version 2.0.1, which should fix that issue with the Square-1 scrambler, will add options for text colour and disabling the flashing during the countdown, and also includes a few bug fixes. Should be out within the next week, depending on Apple's reviewers.


----------



## Vulosity (Nov 12, 2012)

There was an instance where I accidentally hit 'save' instead of cancel for a solve and now I have a result that skews my average. The only way I have of fixing this would be to make it DNF. or is there a way to delete the time?


----------



## IngeneroiOS (Nov 12, 2012)

Vulosity said:


> There was an instance where I accidentally hit 'save' instead of cancel for a solve and now I have a result that skews my average. The only way I have of fixing this would be to make it DNF. or is there a way to delete the time?



Easy to delete. Go to Results (the second tab), swipe to the left over the time, and a delete button will appear. Alternatively, still in Results, you can tap edit in the top left hand corner, tap on the time to select it, then press modify in the top right.


----------



## khoavo12 (Nov 12, 2012)

I tried to give a review on iTunes but it didn't let me and said: "In order to write a Customer Review for this item you must have purchased or downloaded it first". I used your promotion code to get this. Do you know why I cant write a review?


----------



## Lucas Garron (Nov 12, 2012)

Wow, this looks like some fantastic work.

First of all, thanks for implementing random-state scrambling and making the code available; this is a great step forward in making sure that high-quality random scrambles are available as often as possible. I'm glad to have proper scrambles on my phone that computer fast enough now. 

Some specific comments:
- The default color scheme is a bit garish. I changed it to a subtle blue palette, and like it a lot. Perhaps a few default schemes would be nice (in particular, at least one or two "classy" ones).
- The font looks a bit too "typeset" to me. Also, have you considered using a digital-display font for the time?
- It would be nice to have larger text for scrambles (at least 3x3x3). The screen is plenty big on an iPhone, and it would be more comfortable to have that be utilized by a larger scramble.
- I'd like a way to be able to start timing just with a tap. Right now, WCA Mode and regular mode both force us to use inspection.
- I'd like an optino to copy a (past) scramble directly.
- Any chance we could get to see random-state Square-1 soon? :-D (Shuang Chen's solver is generally fast in Java or even JS, but ini takes a bit and some scrambles are slow.)


The modes have also made me realize that there would be a very useful smartphone app feature that no one's implemented yet: inspection countdown for judges.
- Timer start running with a tap.
- The screen flashes brightly (with time still visible, ideally) at 8, and 12 seconds.
- Maybe: Some sort of mechanic encourages the judge to tap as soon as the competitor starts the solve, to make sure the competitor started at the right time.

(Anyone with a cube timer: Please do steal this idea and build on it.)

Overall, the app is pretty nice, and the statistics are awesome. It feels like it was really designed with usability for cubers in mind. Well done.


----------



## IngeneroiOS (Nov 12, 2012)

khoavo12 said:


> I tried to give a review on iTunes but it didn't let me and said: "In order to write a Customer Review for this item you must have purchased or downloaded it first". I used your promotion code to get this. Do you know why I cant write a review?



Unfortunately, I think that's a problem on Apple's end; I had a similar problem recently with a different app. If you have any suggestions, leave them here and we'll read them.



Lucas Garron said:


> The default color scheme is a bit garish. I changed it to a subtle blue palette, and like it a lot. Perhaps a few default schemes would be nice (in particular, at least one or two "classy" ones).


We could certainly implement some defaults. *If anyone here has come up with a colour scheme that they really like, post a screenshot and, if others like it, we can add it as a preset option.*



Lucas Garron said:


> The font looks a bit too "typeset" to me. Also, have you considered using a digital-display font for the time?


The font is just standard +[UIFont systemFontOfSize:]; in other words, Helvetica Neue on most devices. A 'digital' font could work. I'll play around with the code and see how it looks.



Lucas Garron said:


> It would be nice to have larger text for scrambles (at least 3x3x3). The screen is plenty big on an iPhone, and it would be more comfortable to have that be utilized by a larger scramble.


 That's easy to change, so we'll make it bigger for a future update. It's already much larger than version 1.5, so we weren't sure how far to go, but if the consensus is larger is better we can do that.



Lucas Garron said:


> I'd like a way to be able to start timing just with a tap. Right now, WCA Mode and regular mode both force us to use inspection.


 WCA mode doesn't need a countdown running to start the timer; press and hold at any time to activate the stackmat. As for literally "tapping," then at the moment the best option is to switch to Classic mode and decrease the countdown to 0. A bit of a nuisance, yes, so we'll look into it.



Lucas Garron said:


> I'd like an optino to copy a (past) scramble directly.


 If you tap and hold on a previous time in results then you can copy that time; that will include the scramble, although you'll have to delete the other text. Somehow, the full scramble seems to have disappeared from the detail view (when you tap on a time in results), so I'll fix that in a future update and enable copying on that view.



Lucas Garron said:


> Any chance we could get to see random-state Square-1 soon? :-D (Shuang Chen's solver is generally fast in Java or even JS, but ini takes a bit and some scrambles are slow.)


 Both a random-state Square-1 and a random-state Pyraminx scrambler are in the works, and both will be open sourced once we finish them. The trick is getting the performance level up to a speed where it seems fast even on older devices; a caching solution like we use for the 3x3 scrambler may be the best bet.

As for the inspection countdown for judges – CubeTimer is nearly there, so it wouldn't be too hard to implement. Would times still need to be recorded? Because if not, then that would be easy enough to add as a separate mode.

Thanks for all your feedback!


----------



## khoavo12 (Nov 13, 2012)

This is my favourite colour scheme


----------



## spectre013 (Nov 16, 2012)

The one thing that no timer has that would be awesome, is one that would sync between devices. I have times on websites, my phone timer, my ipad timer and my computer. There is no easy way to move times between each timer. 

I really do like this timer and I will definitely use it going forward, its not so bad right now as I don't use my phone much as I am not in the states at the moment but when I return home I will use both a lot and some way to keep my times in sync is almost a must.


----------



## IngeneroiOS (Nov 16, 2012)

Syncing data is a tricky issue. We actually had it in mind while building v2.0; there's code in place for iCloud sync. However, it's disabled in the release version because quite frankly it's a nightmare to get it to work correctly and consistently – we had corruption, crashing and times mysteriously being deleted. All in all, not good.
We still hope to get it working at some point in the future, but we had to prioritise features. CubeTimer already has quite a small user base, and the number of people who'd use both the iPhone and iPad version are very small. There's no point in us working on Mac, Windows or web support; Prisma and qqtimer serve that market much better than we could. So we thought our time would be better spent adding features everyone could use before we worked on such a niche feature.


----------



## spectre013 (Nov 16, 2012)

I know how tricky it is to manage the data, it is something I work with daily. To do it right (not iCloud) would definitely cost to manage the storage of the data. I appreciate the app and it will most be my go to app for tracking my times now. 

Appreciate the reply will let you know if I find any issues with the app going forward.


----------



## IngeneroiOS (Nov 18, 2012)

Just a quick update: We've got the Square-1 and Pyraminx random-state scramblers working, and have posted them to a git repository along with the rest. Link is in the first post. Version 2.0.1 is currently in the queue to be reviewed, and we'll submit 2.1, which has the new scramblers along with a few other changes Lucas suggested, once we've had a chance to test it more thoroughly.
Initialisation time for the Square-1 scrambler wasn't an issue in the end. We generated the arrays once, then saved them to a file for the scrambler to read off each time it's initialised. We haven't included that file in the repository, but the code to generate the arrays is still intact.


----------



## spectre013 (Nov 19, 2012)

Doesn't seem like the email Session/Solve is working. When I select it nothing seems to happen.


----------



## IngeneroiOS (Nov 19, 2012)

spectre013 said:


> Doesn't seem like the email Session/Solve is working. When I select it nothing seems to happen.



That's very odd. I can verify that it's working on our test devices. Can you PM me your device info/OS version/the number of solves in the session you're trying to send?


----------



## IngeneroiOS (Nov 30, 2012)

Sorry it took so long to get approved; version 2.1 is now out. We have fixes for the email Session/solve issue, as well as a random state Pyraminx and Square-1 scrambler, a 'digital' style font for the timer (as requested by LucasGarron), and a number of bug fixes and performance optimisations.

We've uploaded a YouTube video of one of our team doing an average of five on it. For anyone interested, here's the video.


----------



## khoavo12 (Feb 13, 2013)

Hi, I just have a little request (or maybe I couldn't find it): there's no Average for All Time in 1 session but only Mean. Can u please add it in the next update?


----------



## IngeneroiOS (Feb 13, 2013)

When we refer to average, we're generally talking about the mean of all your times, excluding your fastest and slowest. We add together every time, subtract the fastest and the slowest, and then divide by the number of remaining times. This metric is generally useful for when you have a small number of times and you don't want to include outliers, whether they be exceptionally fast or slow. For a large number of times this becomes less useful, to the point where we decided to omit it. If you have a valid usage case for which you'd want a cubing average with greater than 12 times, then suggest it and we may implement it. It just seemed redundant to us during development.


----------

