1. 56
  1.  

  2. 23

    It sounds like the iPhone Timer isn’t displaying a fake time. It is just showing the rounded time. And the author tried to replicate this, oddly, by adding 500ms then rounding down. Am I missing something?

    1. 3

      Yeah. I remember this from programming in BASIC on the Apple ][ as a teenager. There was no round-to-nearest function, so instead you did INT(X+0.5).

      Wasn’t expecting to see something this, uh, basic (sic) as the top post here! Slow news day?

      1. 4

        Yes, It’s startling to me that someone who clearly has years of developer experience under his belt could be surprised by this. Back when we started, rounding was trivial. Making user interfaces and network servers was something out of science fiction. I guess it’s the other way around now.

      2. 3

        No, you’re not. It feels like the author is looking at this and assuming it was some carefully vetted design decision, when it was likely just some programmer that, in the spur of the moment, decided to use Math.round instead of Math.floor (although IMO Math.ceil would be better than either).

        1. 14

          It’s probably intentional rounding rather than “adding half a second,” but I believe it’s a deliberate design choice. Here is a nearby clue:

          As the author said, if you pause with “00:00” on the timer, it will show “00:01” because there is some time left, and “00:00” would look like there is no time left. However, in some brief testing, this adjustment-on-pause did not happen at any other time that I paused except “00:00”. And on resume, the remaining duration was the fractional second, so it is specifically the displayed value that’s changed, not the underlying timer. I don’t believe this behavior would result from an accident.

          1. 1

            This is fair.

          2. 2

            The Google clock app seems to take the ceiling approach as well.

        2. 12

          Another detail I liked: Some years back, the Stopwatch tab of the iOS Clock app would start and stop on touch down rather than touch up because in this case, precise timing is more important than the ability to drag your finger away and cancel the button press. That’s no longer true; now the stopwatch buttons act like regular drag-cancellable buttons… except on the watchOS Stopwatch app.

          1. 2

            Just a strange feeling: not even the simplest things like time and current weather (grade) we can obtain from our advanced technologies. So what good they serve?

            1. 9

              It’s not a lie though, you are obtaining the time. It’s just rounded to the nearest second instead of rounded down, which is a pretty intuitive thing.

              1. 3

                I hadn’t noticed until it was pointed out and it’s great. It always feels ‘wrong’ when you start a timer at (to use the example) 5s and the first thing you see is 4.something. I can imagine there were arguments about implementing this though.

                1. 5

                  There could be an argument in favour of rounding up too. Starts with a full second 5, then the very moment you see 0, it’s over. Very intuitive.

                  1. 9

                    Yeah, I’m pretty sure this is how most people speak a countdown out loud. “Five…four…three…two…one…” and then “zero” or “time” or “go” means it’s over. You wouldn’t say “zero” if there was still any time left.

                    1. 1

                      this makes the most sense to me, if they aren’t showing milliseconds, it ‘ending’ on zero seems far more reasonable, e.g. https://i.imgur.com/Y1AlKks.gif

                    2. 2

                      I’ve always used this rounding up approach. The article touches on it but dismisses it as not useful when using it for hours and minutes. Of course, in a rounding up approach, you only want to ever round up the smallest unit you are displaying and continue to round down the others.

                      There is some philosophical argument about showing the rounded up time, however. If the timer shows 1s you might be inclined to believe there is at least a whole second left. With the rounding down approach, this holds true. For the rounding to nearest and rounding up approaches, however, the timer shows something different. Showing a value of 3s in those cases only indicates that you have no more than 3s left before the countdown expires.

                      My intuitive understanding of what a timer means is more inline with the presentation given by rounding down, but it is definitely strange to think that hitting 0 is not the end. I suppose that’s why I prefer the rounding up approach in the end even if I find it mildly misleading.

                2. 4

                  I can get the current time and weather from my technology fine. What are you talking about?

                3. 1

                  Imagine this being done with minutes. You look at the countdown and notice that it goes from 15 to 14. Naturally, you’d assume 1 minute just ellapsed, but in fact, it’s been just 30 seconds.

                  I don’t like such “enhancements”. It pretends to make technology simpler and more intuitive for you, while in reality it just adds unnecessary complexity and makes it harder to understand what’s actually going on.

                  1. 2

                    If you’re glancing at a display that only shows minutes and trying to glean sub-minute timing, you’re making some fundamental errors.

                    1. 1

                      By the same logic, my calendar could be telling me it’s already 2021.

                      1. 2

                        You’re conflating absolute with relative time.

                        1. 2

                          Your calendar is expected to follow an ISO standard. All the stopwatches don’t all need to be synchronized.