SmartYardage
Camera diagnostics
Six tests that tell us whether an iPhone can actually do what this product needs. Go outside in bright light, grant camera access, and work down the checklist below. Every test explains itself before you start it, so there is nothing to read up on first.
Screen wake lock not held.
Start here: field session checklist
This is the whole session. Work straight down the list and do not skip ahead; some tests need the one before them to have run.
Most steps tick themselves the moment their test produces a real result, so the count in the corner always tells you where you are. The grey ones are things only you can confirm, like how the phone is propped; tap those to tick them by hand.
Each test further down the page explains what it does and what you need to do before you start it. Allow roughly 45 minutes.
Setup
Do this first. Nothing further down the page works without a live camera, and the wrong camera makes every result meaningless.
- Turn rotation lock off and make sure you are in a Safari tab, not the app icon.
- Tap Grant camera & start below and allow access when Safari asks.
- Check the camera picker says Back Ultra Wide. The other lenses are too narrow to be any use here.
- Prop the phone on its side against your bag, roughly 6 ft from where the ball sits.
If Safari blocks the camera, tap "aA" in the address bar, then Website Settings, then Camera, then Allow, and reload.
Live preview
Just so you can check the phone is pointing where you think it is. This picture has been tidied up for the screen, so do not judge the orientation from it; the raw picture in test 2 is the one that counts.
Camera preview will appear here after you grant access.
Test 1 of 6: which video formats work
Can we get a wide, landscape picture at 60 frames a second?
Your phone can hand the browser several different video formats. This asks for nine of them in turn and records which ones it actually gives us. What we want is a wide, landscape picture at 60 frames a second.
What you do: prop the phone exactly where you plan to record shots, press the button, and leave it alone for about 45 seconds. The camera will switch off and back on between each format; that flickering is normal, not a fault.
You do not need to make sense of the nine rows. The verdict card at the top of the results says what it means.
Once you start, do not rotate or pick up the phone. Rotating mid run changes the answer.
Test 2 of 6: which way the lens is pointing
Does the wide side of the lens run along the ball's flight, or across it?
The ultra wide lens sees far more across one side of the picture than the other. If the wide side runs along the ball's flight path we get about five frames of every shot, which is enough. If it runs across the flight path we get about three, which is not. This test works out which way round it is.
What you do: prop the phone the way you would to record a shot, look at the picture below, and answer one question. That is the whole test. The measured field of view at the bottom is optional but worth the two minutes.
Set it up first, then pick. Propped on its side is the way the real product works, so run that one.
This is the picture exactly as it comes off the sensor, with nothing straightened up. It may well look like it is lying on its side. That is not a bug; it is the thing we are measuring.
Freezing makes it easier to study, and it keeps the picture still while you answer.
In the picture above, which way does the ground run?
Look at the picture on the screen, not at the range around you, and ignore which way up the phone feels in your hand. Find the line where the grass meets the sky. Does that line go across the picture, or up and down it?
Measure the field of view
Optional, takes about two minutes, and it is the only number here we have never actually measured. You pace out how wide a strip of ground the camera can see. From 6 ft away, a good result is roughly 7 paces across; a bad one is roughly 4.
Test 3 of 6: frame timing
Are the timestamps on each frame steady enough to measure ball speed from?
Ball speed is worked out from the clock stamped on each frame, so those stamps have to be honest. This counts every frame the camera delivers for ten seconds and checks the gaps between them are even.
What you do: point the phone down the target line, leave it propped and still, and let it run. It does two ten second passes back to back, so about 25 seconds in all. The second pass deliberately makes the page work harder, to prove the app itself is not the thing costing us frames.
You do not need to read the bar charts. The verdict card tells you whether the timing is good enough.
Leave this on 30 unless you have been asked to change it. Cameras take a moment to get up to speed, and this just decides how many opening frames to leave out of the summary. It does not change the test.
Run the pair first. The endurance run is a longer version that shows whether the phone slows down as it warms up; worth doing once, late in the session, when the phone has been out in the sun a while.
Test 4 of 6: white balance lock
Does the colour lock actually hold when the scene changes?
Cameras quietly re-tune their colour as the light shifts, which makes a white ball a moving target for the detector. We would rather lock the colour once at the start of a session. This checks whether your phone honours that lock or just says it does.
What you do: tap the button and hold the phone still for about ten seconds. Then it asks you to point somewhere completely different and log one more reading. That second reading is the real test.
- getSupportedConstraints().whiteBalanceModefalse
- capabilities.whiteBalanceModenot reported
- colorTemperature rangenot exposed
Test 5 of 6: reading pixels at speed
Can the phone keep up while the app inspects every single frame?
To find the ball, the app has to reach into every single frame and look at the pixels. That is heavy work. This runs the same ten second count four times over, each time asking the phone to do a bit more per frame, and sees where it starts dropping frames.
What you do: nothing except prop the phone and wait about 45 seconds. The screen may feel sluggish while it runs; that is the test working, not the phone failing.
The four numbers are for us. The verdict card says what they mean for the product.
Best run after the jitter test, so there is a clean frame rate to compare these against.
Test 6 of 6: reference clips
Real footage of real swings, so the detector has something to be built against.
Last job. These clips are the raw material for building the shot detector back at the desk, so getting a few good ones is worth as much as the tests above.
Set up as if it were a real shot: phone propped on its side about 6 ft from the ball, a credit card lying flat on the ground next to the ball so we have something of a known size to measure against, and the sky filling the upper two thirds of the frame.
Pick what you are capturing, tap record, and you get a 3, 2, 1 countdown before it starts. Start your routine on the countdown so the swing lands inside the six seconds.
- Codec chosennone supported
- video/mp4;codecs=avc1.42E01Eno
- video/mp4no
- video/webm;codecs=vp9no
- video/webmno
Capture these, in this order:
- A 2 second background plate with nothing moving in the shot at all.
- Three good swings, one at a time, with the card flat next to the ball and the sky filling the upper two thirds. Type in the club for each one.
- One deliberately awkward shot: no sky in the frame, or flat shaded light.
- One practice swing with no ball, so we can measure how blurred the clubhead gets.
If you only have time for two, take the plate and one good swing.
Session notes
Fill this in at any point. It rides along with the results so the numbers still make sense in a month. Anything odd you noticed is worth typing in; you can dictate into the notes box.
Export: do this before you leave
Get the results off the phone while you are still standing there. Nothing here is on a server, and Safari will happily bin the tab on the drive home.
Copy the pass/fail readouts is the one to paste back into the chat. Download .json keeps a full copy in Files as a backstop.
There are several buttons because copying to the clipboard fails silently on iOS more often than you would think. If one does nothing, try the next; the box at the bottom lets you select the text by hand.
Open Files and check the report is really there before you pack up. That takes ten seconds; a second trip to the range does not.
This is what gets pasted back:
LANDSCAPE 1080p60: not run ORIENTATION: not run JITTER: not run WHITE BALANCE LOCK: not run READBACK: not run CLIPS: no supported codec on this device
If every button above fails, long press in this box, select all, and copy.
Stuff for nerds
Environment
Checking…