7 ポイント 投稿者 GN⁺ 2024-09-01 | 3件のコメント | WhatsAppで共有
  • Macでプログラミングをしているとき、10進数を16進数や2進数に変換するためにAppleの電卓を使っていた。標準搭載されていて、かなりうまく動くからだ
  • 数字が揺れているように見えた
  • 最初は目が疲れているのかと思った。だがあまりに気になって、作業に集中できなかった。そこで何が起きているのか調べることにした
  • スクリーンショットを撮った。上の画像で見えるか確認してみてほしい
  • 下の画像では気になる部分を強調した
  • 小さな画面でこの記事を読んでいたり、目が疲れていたりするかもしれないが、私も自分で確認する必要があった。以下は拡大版だ
  • そのとおり! 2進数表示セクションの一部の数字が1ピクセルずれている
  • アンチエイリアスのレンダリングは見事だが、なぜ一部の数字だけが1ピクセルずれているのか気になる
  • これはどうやって起きたのだろう? 電卓アプリは数日間開きっぱなしだった。おそらくUI座標系が浮動小数点を使っていて、数日間のうちに丸め誤差が蓄積したのかもしれない。突き止めたいが、おそらく分からないだろう。いずれにせよ、自分の視力がそこまで悪くなくてよかった
  • フィードバックの手段があればAppleに連絡しただろうが、ないのでしない。その代わりに、このバグをインターネットで共有する。楽しんでほしい

GN⁺のまとめ

  • Appleの電卓アプリで、2進数表示セクションの一部の数字が1ピクセルずれるバグが見つかった
  • この問題は、アプリを数日間開きっぱなしにしたときに発生しうる、UI座標系の浮動小数点の丸め誤差が原因だと推測されている
  • Appleにはフィードバック手段がないため、インターネット上でバグを共有している
  • この記事はプログラマーやUI/UXデザイナーにとって興味深いかもしれない。似た機能を持つ別の電卓アプリも勧めている

3件のコメント

 
ng0301 2024-09-03

Appleが電卓の実装を難しくしていた理由があったようです

 
bus710 2024-09-02

iPadの計算機アプリが10年後に登場したのには、ちゃんと理由があったんですね

 
GN⁺ 2024-09-01
Hacker Newsの意見
  • 友人が MacOS Leopard または Snow Leopard の時代に、課題をしている最中に、電卓が負数を偶数乗したときに負の値を返すバグを発見した

    • このバグは Core Foundation の CFNumber で発生しており、ビットレベル最適化の過程で誤りがあった
    • テストや他のアプリの不具合では見つからず、誰かがボタンをクリックして結果を批判的に考えたことで発見された
  • 最初のスクリーンショットでは数字の整列問題に気づかず、別の UI の問題ばかりに目が向いた

    • "Unicode" ボタンラベルが中央からずれている
    • 8/10/16 セレクターが本来の位置からずれている
    • ビット 31 と 63 のインジケーターが互いに揃っていない
    • x と + が水平に揃っていない(アイコンフォントの問題に見える)
  • コンピューターサイエンスで最も難しい問題の 1 つが中央揃えだという文章を思い出させる

  • MacOS のウィンドウを閉じるボタンが特定の赤色と小さな X に変わって以降、特定のディスプレイと眼鏡を使うと X が中央からずれて見える問題がある

    • 関連リンク
    • おそらくサブピクセルの問題である可能性が高いが、安価な眼鏡の色収差が加わって視覚的な混乱をさらに強めている
    • 高解像度ディスプレイが一般化したことで、この問題は消えた可能性が高い
  • Apple のモバイル電卓アプリは非常に使いづらく、ボタンを素早く押すと入力が正しく認識されない

    • 視覚的なアニメーションを機能より優先しているように見える
    • ユーザーインタラクションに注力する会社でこうした問題があるのは驚きだ
  • Windows 11 では電卓を固定できるが、科学モードに切り替えると固定機能が消える

    • ユーザーに非常に不親切なデザインの選択だ
  • 視力は悪化する可能性があるので、設計時にはそれを考慮すべきだ

    • スクリーンタイムを減らし、目の運動をするのがよい
  • Apple Notes を長期間使っていると、コピー&ペーストのエラーなどランダムな問題が発生する

    • 再起動すると問題は解決する
  • MacOS を今でもデスクトップ/ノートPC用途で使っているが、Spotlight で重要なファイルが消える問題がある

    • コマンドラインで vi を使ってファイルを開いて対処している
  • Apple にフィードバックを送れる フィードバックアシスタント があるが、ユーザーフレンドリーではない

    • 返答が来ても「修正しない」という回答が多い
    • HN Bug Reporter のおかげで、Apple がこの問題を認識している可能性は高くなった