もう一人のY君

読者です 読者をやめる 読者になる 読者になる

もう一人のY君

iPhoneアプリのレビューやアップデートレビューなどを書いています. たまに数学の記事も書きます.

もう一人のY君 MENU

バグがなかなか無くならない理由

雑記 iOS iOS-Tips

スポンサーリンク


 150928_03

  こんにちは, @the_theorierです.

 

 AppleがiOS9をリリースして11日くらいが経ちましたね.

 

 マイナーアップデートにしろ毎度毎度出てくるのは不具合などのバグの話です.

 

 

 一昔であれば, OS自体がコマンド形式だったので作る上でそこまで苦労することはありませんでした, 代わりにできることが制限されましたが.

 

 今では例えばパソコンであればマウスをクリックするにしても

 

  • 対象のコンポーネントにマウスを当てる, 離す
  • クリックする, ダブルクリックする
  • 右クリックする
  • クリックしたとき, (クリックして)指を離したとき

 

と, それ以外にもたくさんのアクションがあり, それぞれについて動作を行うか, 行うなら何をするかを組むことができます.

 

 

 色んなことが出来るということは, それだけ多くの, 想定外の現象を起こしかねません.

 ましてそこに第三者によるアプリケーションが介入すれば尚更です.

 

 OSであれソフトウエアであれ, 場合によっては開発はじめそれにかかわる人は一人ではありません.

 

 複数人で行うのは対応する部門を分けて一人一人が対応する仕事に特化するものだったり, 少人数では気付かないバグをできるだけ見つけるためなど様々です.

 

 しかし複数人でやる上で気を付けたいのは連携です.

 ある人がそれでいいとして書いたつもりが, 別の人が不要なコード, ないしバグであると判断する可能性が出てきますし, 分化すればそれだけ互いの情報のやり取りを考えないと逆に連携が崩れて, 却って時間がかかってしまいます.

 なのでそれをできるだけ抑えるべく, 色んな効率化の方法論などが生まれ, 実践されています.

 

 Androidオープンソース故, 色んな人が使えるのは素晴らしいですが, 「他人が作ったOS」でベストパフォーマンスを得るのって結構大変だと思います.

 勿論自前でOSを作るのもそれはそれで大変ですからどちらが良いかは人それぞれですかね…

 

 かといって少人数, 極端に一人でやると, 何万桁にもなろうソースを作るだけでも大変ですし, 下手をすれば単純なミスも見落としてしまう可能性が大きくなります.

 

 

 単純なコマンドプログラムであればそういったデメリットは大幅に解消されます, しかし良くも悪くもそれを我々消費者は許さないでしょう.

 

 そういった苦労を知ってか知らずか, 世の消費者はとにかく新機能を, 高品質を, 完璧であることを求めます,.

 

 ましてその多くは「自ら考え, 調べることに興味を持たない『肥えた』消費者」です.

 

 説明書すら読まずに, 仕様であることすらも知らずにメーカーを批判する様は見聞きして虚しいものです.

 

  その説明書が分厚くなったのはなぜか, 分厚過ぎてPDFでネット配信するようになったのはなぜか…

 

 

 メーカーとしても商品が売れるためにはそれ相当の仕様に, 或いはスケジュールにせざるを得ませんから, 結果的に致命的なバグさえなければ, 残りのバグは日程に間に合わなければ後日修正版としてリリースする風潮が当たり前になったと思われます.

 時間さえ割けばそれだけ良いものが出来るに決まってますが, 消費者はそれを望みません, 質は求めますが.

 

 

 いくら単純な内容のバグであっても, 場合にっては数万数十万文字もあろうコードを修正して単純に終われば苦労はしません.

 それによって他の部分の相互関係が乱れる可能性もあります, 開発者は修正する際に常にその可能性を踏まえて慎重に行う事を強いられています.

 

 より美しいUI, 優れたパフォーマンス, 限りなく少ないバグのOSが出来れば苦労はしません, 作る側も常にそれを目標としているのは間違いありません.

 しかし良くも悪くも人が作るものですから中々それには辿りつけません, ましてデザインやUI云々は個々の好みもあります.

 その辺にあれこれと触れる方は, 万人が認めるそれをどう提供するべきだと思うんでしょうか?

 

 発見したバグを指摘するのは容易ですが, それを直すのもまた容易…である保証はありません.

 

 

 その間にも次のサイクルがやってきます.

 そうなるとバグ修正よりも新しいシステム, 機能のために時間を割かなくてはなりません, 進化を遅らせるとエンドユーザー様がそっぽを向いてしまいますから.

 

 よく商品サイクルが早すぎると指摘するユーザーがいますが, 残念ながらこれらは現代のエンドユーザーが間接的にであれ求め, そしてメーカーが答えた結果であることを忘れてはいけません.

 結果的に完全にバグが修正される間もなく, 次のメジャーアップデートが新作と同時にやってくるのです.

 同じような話はiPhone等々に限らず色んな商品で起こっていることです, 我々エンドユーザーは都合よくそれを求めたり, 一方で不要と足蹴にしているだけです.

 

 

 また既に他でも指摘していますが, OS(今回はiOSなのでそちらでも良いです)が変わる(修正される)ことによる不具合は単一ではなく, 単純に分けても

 

  •  OS(iOS)そのものの問題
  •  OS(iOS)アップデートによるサードパーティ製アプリの問題
  •  ユーザーの問題

 

の3つが考えられます.

 一つ目はもうどうしようもありません, できるならば以前のOSに戻すなり, 不可能なら修正まで待つか, それをできるだけ回避する使い方をするしかありません.

 二つ目は最終的な問題がアプリ側にあります.

 この問題でOS側にあれこれ言っても仕方ありません, 何より「アップデートしても問題なく動くアプリも大量にある」のですから.

 この場合はアプリが修正されるのを期待するか, 代わりとなるアプリ(で利用できるもの)に乗り換えることです.

 三つ目は意外と見落とされそうな問題です.

 場合によってはその原因がOSでもアプリでもない可能性があるわけです, OSによる仕様であったり, 設定などによって解決したり, 単純にユーザーミスであったりと色々です.

 

 一つのバグ(らしきもの)を挙げて, その原因がどこにあるかをハッキリさせないでこれが悪いあれが悪いと言っても意味がありません.

 今回のようなiOSアップデートではそれがきっかけであろう事はかなりの確率であり得ますが, イコール直接の原因であるとは限りません.

 

 特に不具合を喧伝される場合, それが何の不具合であるかをハッキリさせなければ, 受けてはそれをいくらでも拡大解釈します.

 実際には微弱なバグであったり, 上に挙げた三つ目が原因だったとしても, それを知る由もない聞き手は, 最悪「OSそのもの」を否定しかねないのです.

 デマというのはそうして拡散されていくのではないでしょうか?

 

 

 

 消費者は結果しか興味がありませんから, そういった過程のことに気を向けることは今後もあり得ないでしょう, 自身がその立場にならなければ.

 

 

 

 

 また, 自分が記憶しているのはiPhone5辺りからですが, 発売前からメディアが様々なリーク情報を提供し, 多くの人をその噂で沸かしてきました.

 しかしそれらはあくまでもリークであり, 元々Appleが秘密主義で, イベントや発表会など確実な時期でない限りAppleによる公式発表が出てくるのは限りなく少ないことは既に周知の通りでした.

 しかしこの辺りからリーク情報はじめ, 「コンセプト」でさえも, その情報元を淡くして報道するメディアが一部に出始めました.

 

 それを受けた「肥えた消費者」は拡散し, 次第に非公式と公式の仕切りが曖昧となっていくようにも感じました.

 

 それがほぼ確信に変わったのは, iPhone5発表後の一部のメディアの「残念」報道でした.

 もう記憶にありませんしソースも貼れないのでここに限り僕の妄想程度に思って結構ですが, ようは自ら報道したリーク情報をもとに, 「○○の機能が無かったのは残念です」といった事が書かれていました.

 リーク情報は飽くまでもApple以外の有識者などによる情報であり, Appleがそう言ったという保証はありません.

 真偽の程が曖昧な情報をもとに書かれたネガティブな記事を見て, 「ああやっぱりメディアってそんなものか」と思ったものです.

 

 上記の程は兎も角, iPhone5以降から国内でもリーク情報が頻繁に報道されることが多くなった印象です.

 同時にそれをApple公式の発表なのかそうでないか…といった区別ができずに質問する方, 他の方に拡散する方も増えていきました.

 

 同時にその賛否の別を理解できないままあれこれと評価する方も散見されます.

 

 色々と残念な話ですが, 一度できた流れは多分簡単には解消しないでしょう.

 

 できれば自作も「またか…」とならないことを期待したいものです.