仮想環境チェックのススメ(実機が無くてもチェックはしようねって話)
「実機がないから」って、環境チェックを丸投げしてくるヤツが居るんですよぉ〜。
なぁーにぃー!?
やっちまったなぁ!!
男は黙って
仮想環境!!
男は黙って
仮想環境!!
実機買ってよぉ〜。
――――――――――――――――――
【そもそも、なんでデバイス別の環境チェックが必要なのか】
逆説的なアプローチとなりますが、環境チェックをしないということは、その環境のユーザーを切り捨てているということです。
今回はwebページのチェックの話になりますが、アプリやその他のプロダクトの場合でも同じことが言えると思います。
ECサイトを例に挙げるとわかりやすいかと思います。
iPhoneでは商品が購入できるけど、Androidでは不具合があって商品が購入できない。
こうなると、不具合を解消しない限りAndroidユーザーは顧客ですらなくなります。
とあるサイトがiPhone・Androidでユーザーの割合が8:2だと仮定します。
Androidユーザーが「あ、なんか不具合があるな」と思い、サイト側に問い合わせをしたとします。
その際に、
・弊社ではAndroidのチェックが行えないので修正ができない
・ユーザーの大半(8割)はiPhoneなので今後対応の予定はない
・Androidしか持っていないなら今後はPCでサイトを利用してほしい
というような回答が来たらどう思うでしょう?
デバイス対応の体制がどうという問題以上に、企業体質そのものを疑うような回答ですよね。
(アプリの場合はiPhone専用・Android専用があるので少し事情は変わりますが)
これは極端な例として露悪的に表現していますが、大なり小なりこういった印象になりかねないということを指しています。
これらを踏まえた認識として「環境チェックは行って当たり前」ということとなります。
この問題に関して企業・組織が過小評価するようであれば、体質や体制に問題があると言わざるを得ないでしょう。
そんな会社辞めちま…というのは別の話。
――――――――――――――――――
【至高は実機チェック、ではあるが…】
理想としては全てのデバイスを実機でチェックできることが望ましいです。
しかし、iPhoneですら対応範囲に含まれるであろう製品を全て集めようと思うと困難ですし、Androidに関しては多種多様な機種が出ているので全てを網羅して実機で対応する、というのは難易度が高いです。
もちろん行っている企業もあると思いますが、中小〜零細企業であったり、フリーランスに近い形態で小規模に制作や事業を行っているのであれば、資金的・時間的なコストが無いと思います。
そのため、最低限「実機(該当機種)は無いけど少なくとも仮想環境でチェックは出来る」という状況を作っておくことが必要です。
例えば先に挙げた例であれば、Androidに不具合が出た場合に、
「弊社でのチェック時に不具合を再現できなかったので、お使いのデバイスとブラウザについて教えてください、出来る限り原因究明と解決に努めてまいります。」
と回答が出れば、大きく印象も変わってくると思います。
(チェック体制が無い中での回答であれば論外です)
最悪、不具合対応が出来ないとなっても、チェックが出来る・問題を認知出来る・改善施策を検討する体制というのは重要です。
そのためにも、実機が無くともチェックが出来る環境はキチンと準備を行いましょう。
――――――――――――――――――
【デバイス別の仮想環境チェック方法】
下記には、 iPhone(iOS) / Android / Windows / Macでの仮想環境をどう準備するか、という方法を記します。
(各種ブラウザでのデベロッパーツールを用いたチェックは、そもそもOSやレンダリングエンジンの違いを考慮できない方法なので省きます)
再三の提示となりますが、あくまでこれは代替手段ですので、本来であれば実機チェックが一番です。
また、下記の方法のみでの絶対的な動作保証などは不可能です。
あくまで一つの手段として捉え、ご活用ください。
――――――――――――――――――
■ iPhone(iOS)の仮想環境
もしMacを持っているなら、Xcode一択でしょう。
アプリ開発に用いられますが、iPhoneのシミュレータを内蔵しているのでwebページのチェックも行えます。
動作も実機とほぼほぼ近いので、かなり参考になります。
「Windowsしか無い」という場合でも、意外となんとかなるようです。
("ようです"というのは僕は試していないためです、すいません…)
――――――――――――――――――
■ Androidの仮想環境
Androidは、Mac・Windowsどちらの場合でも対応しているエミュレータがあります。
僕個人は、BluestacksかNox Playerを使っています。
ただしこれらはAndroidのバージョンが最新ではないことに注意が必要です。
次点としては、AndroidOS自体はオープンソースなので、自分で環境構築するというのも方法の一つでしょうか?
(正直そこまでやったことはないので、あくまでアイデアとなります)
――――――――――――――――――
■ Windowsの仮想環境
これは「手元にMacしかない」という状況を想定しています。
「手元にスマホしかない」となると、出来なくはないかも知れませんが相当厳しい & 面倒くさいかな〜と思います。
なお、一番良い方法は実機の購入です、安い機種なら3万円前後で買えます。
次点としても、MacのBoot Campか仮想環境を構築するアプリでWindowsを動作させるというものになります。
この場合でもOSライセンス料が2万近くかかります。
(30日の試用版を一旦使う、という場合はかかりません)
「どーしてもお金をかけずにIEのチェック環境を構築したい!」ということであれば、Microsoft Edge Developerからテスト用の仮想マシンイメージが配布されているようです。
詳しくは下記の記事がわかりやすいかと思います。
また、ブラウザのチェックだけに絞るなら、Browserlingというwebサービスを用いるのも方法のひとつです。
ただし精度や使い勝手は相当に落ちます。
――――――――――――――――――
■ Macの仮想環境
「手元にWindowsしか無いけどMacでの環境をチェックしたい」という状況ですが、まあ厄介です。
上記の中では代替手段に最も乏しいと言えます。
手間暇を考えると、実機を買うのが一番良いとなってしまいます。
Windowsに比べるとMacは高いですが、Macを買えば上記にあったXcodeを用いたiOS系のチェックもできるので、環境構築のコスパを考慮して検討してみても良いように思います。
(Mac miniの新品であれば8万円前後)
なお、Windows上で構築した仮想環境にMacOSをインストールするのはライセンス違反です。
しかし、MacOSの仮想環境にMacOSをインストールすることは可能です。
例えば中古でMac miniを購入し費用を抑え、さらに仮想環境を内部で構築して最新のMacOSをインストールする、ということも出来るのかと思いますが、そこまでするなら数万円上乗せしてはじめから最新機種を購入したほうが良いです。
次点として、safariのチェックであれば前述のBrowserlingを使うという方法もありますが、Browserlingで提供しているSafariのバージョンが古く、参考にならない場合も多いでしょう。
――――――――――――――――――
【結論】
できるだけ実機買おう。
ていうか、会社が用意したか個人が用意したかは置いといてチェック用にいずれか1台ずつはあるのがそもそも大前提です。
その前提がある中で、手元に無くても仮でチェックが出来る状況を作っておく手段として仮想環境を整える、という意識でいてください。
――――――――――――――――――
【余談】
今回の「環境チェックはちゃんとしようね」という件ですが、過去に勤めていた会社では「iPhoneのユーザーが多いからAndroidはチェックしなくていいや」という姿勢をとっていました。
一応個人的にはAndroidでのチェックをしていたことと、会社の体制として確認出来る環境は整えないとダメですよということを伝えてはいたのですが、僕自身の力不足もあり、そういった意識を変えることは出来ずに退職しました。
これが直接の原因ではないですが、そういった"問題の過小評価"が積み重なったためか、その会社の制作物の品質は明らかに落ちています。
iPhoneとAndroidのシェアも当時と変化したためか、売上も伸び悩んでいるとのことでした。
少しずつでも良いので、ユーザーを切り捨てない努力・寄り添う努力として、今回のような仮想環境の整備から始めてみてもいいのかもしれませんね。