UXエンジニアになりたい人のブログ

エッチだってしたのにふざけんなよ!

手段の目的化がなぜ起こるのかいまだに理解できない

 

はてぶにコメントした。 

提案が通らない人が抑えるべきビジネスパーソンの思考パターン3つ | BtoCマーケティング支援の株式会社ホジョセン

普通これ全部考えるもんじゃないの??例えば承認者にあわせてWHYを最重視しました、なんて提案が通るわけがない

2019/08/09 06:16

 

こんなツイートもした。

 

コメントやツイートはしたものの、しかしよくわからない。

そもそも元記事がよくわからない。どうして3つ全部必要なものを「〇〇の人」などとセグメンテーションしたのか。WHY&WHAT→HOWのことをなぜ書かないのか。

 

ツイートで書いた「手段の目的化」はもっとよくわからない。事例は多い。とても多い。ものすごく多い。たとえば、ちょっと前なら「クラウド化」とか。いまなら「IoT対応」とか「機械学習活用」とか。手段(HOW)にのみ着目する事例はとても多い。「いや、それでなにを解決するための機械学習がなんで必要なんですか?」と毎回突っ込む。

 

事例は多いが、でも全然わからない。どういう思考ロジックだといきなりHOWを考えるようになるのだろうか。

そして「いや、それでなにを解決するための機械学習がなんで必要なんですか?」て聞くと答えられないひともかなり多い。意味がわからない。なぜ答えられないのか。目的もなくいきなり手段を考えるなんてことあるのだろうか。

世の中の流れをみて、まず手段を抽出して、そこから目的を逆算することはあるだろう。しかし「ご提案」してる段階なのに目的を言えないなんてことがどうして起こるのだろうか。

客にこんな提案しても話伝わらないな、とか思わないのだろうか??

 

社会人なりたてのときは、なにかのギャグなのかなと思うようにしていたが、そこそこ社会人生活が長くなってもいまだにわからない。そして見聞きする事例だけには事欠かない。

どういうことなんでしょうか。だれか教えてください。 

3D Touchを採用すべきだったたった1つの領域

 

概ね同意だけれども、3D Touchにはもっとふさわしい使いどころがあったと今でも思っている。

3D Touchが導入されたのはiPhone 6s/6s Plusからで、その前機種である6/6 plusの世代から画面が大型化された。

6/6 plus時点ですでに画面の左上に配置されたiOS伝統の「戻る」ボタンに手が届かないという操作不整合が発生しており、さらに「ホーム」と「戻る」を別々に備えるAndroid陣営に対して操作感で遅れを取っていた(そして今でもそれは解消されていない)

 

この時点で、3D Touchをシステム操作として導入すべきだったのではなかろうか。例えば、画面の左下を強く押し込むと「戻る」になる、画面の下1/3を強く押し込むとホームに戻る、とかそういうやつ。「強く押し込む」機能はアプリでコントロールできず、全アプリ共通のシステム操作としてだけ利用できると制約すべきだったのではないだろうか。

 

ますます複雑化するシステム操作

3D Touchの導入から時は流れ、iPhoneXs系列でディスプレイは全面表示が主流となった。その結果、ますます「戻る」に手が届かなくなり、上端から下に下ろす通知センターやコントロールセンターにももちろん届かず、ホームボタンはなくなって画面下端での不安定な操作を強いられている。少なくとも片手操作は破綻していると言ってよい。

Android陣営が指紋センサーへのジェスチャーという新発明で通知アクセスなどのシステム操作を改善しているのに対し、iPhoneはシステム操作に関しては使いにくくなる一方である。

 

もし、システムとして3D Touchを管理していれば、これらの状況にもかなり対応できたのではないか。機能が増えてもプレス感知領域を増やせば良いだけなのだから。もちろん、ユーザーはそんなプレス領域に気付くべくもないが、そこはお得意の広告戦略で「iOSの革新的操作」とか吹聴すればそれで良い。

しかし、実際にAppleが行ったのは、この知覚性が無に等しい機能をアプリに自由に開放するという愚策だった*1。結局ほとんどのユーザーはアプリ毎に「どこで3D Touchが有効なのか」を発見できなかった。それに加え、3D Touchで実現できる機能はほとんどがどうでもいい機能で苦労して発見する価値もないようなものばかりだった*2。廃れるのも当然だ。

 

3D Touchはハードウェア機能なので、それを使ってシステムを制御できれば、ソフト部分のみを提供するAndroid陣営が一律的に模倣するのは難しい。

そのような可能性があって、実際にハードウェア開発して量産にまでこぎつけたのに、愚策によってすべて台無しにしてしまったという印象が強い。

なにはともあれ、RIP,3D Touch*3

 

関連エントリー


 

*1:iOS初期のころに「直感的操作」として導入したフリック操作が非常に知覚性が低く、気の利いた誰かがフリックインジケータを発明するまで「どこでつかえるかわからない」機能だったことを忘れたのだろうか

*2:唯一に近い例外は、キーボードをプレスすると文字カーソルを自由に移動できる機能。あれ、超便利。ただしあの機能があることをよく忘れてしまう。それほどまでに3D Touchは知覚性が低い機能である

*3:実際はiPhoneXRにないだけで、その他現行ラインナップにはすべて実装されているので全然廃止ではないけれど、縮小傾向にあることは間違いないだろう。。。

サマータイムを導入しないにしても日時をすぐ文字列にする悪習をやめるべきではないか

「サマータイム導入はコンピュータシステム的に難あり」は本当か (1/2)

サマータイムは簡単、という記事があまりにあれな件 - novtanの日常

タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

サマータイムの話。

結局のところ「データ」としてローカル日時を持ってしまっているシステムが多数あり、それらがどれくらい影響するかわからない、ということが皆が反対する理由。

対策としては結局3つ目のブログに書いてあることがすべてで、システムの内部では一貫してオフセット付きの日時またはUTCでデータを持つべきで、システム境界を超える場合も可能な限り(ユーザーに不要な手間が増えるといった例外を除き)オフセット付きで時刻を扱いましょう、というだけの話。

 

それで、「ローカル日時を持っているデータ」って十中八九文字列ですよね?2018/08/19 23:00とか、201808192300みたいな文字列ですよね。それをDBに入れたりファイルに書き出したりしてるってことですよね?そういうの、もうやめませんか?そもそもなんのためにそんな事するの?っていうお話です。

 

なぜわざわざローカル日時でデータをもつのか 

java:OffsetDateTime (Java Platform SE 8)

.NET:DateTimeOffset 構造体 (System)

db:timestamp with timezone

文字列書式:ISO 8601 - Wikipedia

 

上記あげた*1ように、各プログラム言語でも絶対日時を持って便利に使える型が用意されているし、文字列書式も国際規格があります(もちろん文字列⇔オブジェクトの変換も一意的に行える)。にもかかわらずどうしてオレオレ文字列書式を考案してシステムに組み込んでしまうのでしょうか。

 

違いまーす。コンピューターが用いているのは、「データ」と「システム時刻」です。データには時刻の関連項目がありますね。みなさんに一番身近なのはファイルの更新時刻とかですね。ブログの更新時間なんてのもデータで持ってますよね。表示されるでしょ。まさかこれをずっと「内部時間で刻んている」わけないよね。X時間前、という更新時刻は当然XX:XX時というデータと今の時刻の比較をしているので、システム時間をバーンと変えたらX時間前との相対関係が変わって表示変わっちゃいますよね。

サマータイムは簡単、という記事があまりにあれな件 - novtanの日常

説明のためかもしれませんが、さも当然のようにブログの更新時刻をXX:XXデータでもってると言い切ってるあたり、サマータイム云々関係なく、またレガシーシステム云々も関係なく、日時を文字列で持つのが当然という意識が蔓延してることを示してますよね・・・(というかこの説明に関してはいろいろ・・・)

 

日本国内限定のシステムだから201808192300って書式のほうが誰が見てもわかりやすいから?

とはいえ連携するシステムやクラウドサービスなど、まともなシステムは絶対日時で日時表現してくるのであっちこっちでオレオレ書式に変換しなければいけませんよね?それに、文字列書式のままでは時刻演算(n日足すとかn時間足すとか)が困難なので、その度にParse/Serializeしなきゃなりませんよね。

正直これまわりでプログラマーもどきが「なんだかわからないけど9時間ずれるんです」とか言われたの1度や2度ではないのです。いったいなんのために確立した形式があるのにオレオレ方式を考案してバグや混乱を生み出すのでしょうか。

諸悪の根源は「ともかくわかりやすいから文字列にする」という風潮や単なる昔からの流れであると思われ、そういうわけのわからない悪習はもうやめてほしいと思うのですがいかがでしょうか。

 

おまけ 

中小企業向けの会計ソフトを手がけるITベンチャー「freee(フリー)」(東京)の社内SNSでは、政府のサマータイム検討方針が報じられた6日、エンジニアや営業担当者らから疑問を投げかける投稿が相次いだ。

(中略)

 エンジニアの浅越光一さんは「対応に1カ月かかるのか、半年かかるのか、やってみないとわからない。その対応にかける時間があれば、新サービスの開発がどれほどできるかと思うと、もったいない……」とため息をつく。

サマータイム、IT業界に拒絶反応 よみがえる苦い記憶:朝日新聞デジタル

レガシーシステムを多数抱える会社ならともかく、さすがに2012年創業の会社で、海外進出をめざしてるクラウドサービスの会社がこの感じはかなりイメージダウンだとおもうのですがいかがでしょうか(好意的にみれば自社サービスは大丈夫で連携システムのつなぎを心配していると取れなくもないですが)

 

*1:ここにあげた仕様は比較的新しいものが多いが、しかしコンピューターの日時表現の基本は絶対日時であるUNIX timeであり、伝統的なプログラミング言語の日時型はそのラッパーなので、古い言語であっても絶対的な日時を保持するのはそれほど難しくない

ウォーターフォール型開発を教科書通りやると失敗する

常識かと思ってましたが、業界人であっても開発経験のない人には伝わらないことが多いので、書きます。

なお、ウォーターフォール型といっても明確な定義があるわけではないので、ありがちな以下のモデルを題材にします。

http://tech.nikkeibp.co.jp/it/article/lecture/20061130/255501/zu02.jpg

via 開発プロセスの基本を学ぶ | 日経 xTECH(クロステック)

 

なぜ失敗するか

 

f:id:uxlayman:20180513113904p:plain

ウォーターフォールの各フェーズの作業内容や成果物を上記のように定義すると、非常にわかりやすいです。が、失敗します*1

要件定義/外部設計は、客がこう言っていた/客が言ってることを実現する画面はこんなのだ、という形で簡単に進んで、内部設計段階で詰まります。なぜなら、外部設計成果の実現可能性を検証していないから。

  • ある画面と別の画面との処理内容がどうやっても競合する
  • 画面表示に必要なデータを抽出できない

こういう問題が噴出します。そしてそもそもどういう前提で外部仕様作ったんだよ上流は、というネットでよく聞く上流対下請けの構図になります。

単純な話です。

 

*1:外部設計や内部設計は母数を要員数で割って、1日あたりの記載数かなんかを成果指標にしてスケジューリングする、といったプロジェクト管理をしているとこの時点で即炎上です

続きを読む

FaceIDに対する情緒的なクレーム

iPhone Xをゲットして約一ヶ月が経ちます。

ウリの一つであったFaceID(顔認証)も、前評判や各所でのレビューにもある通り、爆速で認証できていてすごいなと感じています。見たときにはもうすでに認証されている、っていう話もまさにそんな感じ。メガネをしてても大丈夫だし、暗くても大丈夫だし、概ね認識率はかなり高いという印象を持っています。

 

ただ、寝起きとかは認証がされにくいんです。まあ考えてみれば当たり前のことなんですけど、布団で顔の一部が隠れてたり、頬に腕を当ててたりするのでフェイスラインが見えないんで認証できないんでしょうね。マスクをしてると認証通りにくいともいうし、妥当なのかなと思います。

そんなふうに、理屈はよく分かるし理解もして納得もしているのですが、でも、それでもですね、顔認証に失敗すると腹が立つのです。ものすごく腹が立つのです。

 

おい、昼間はあんな爆速で見た瞬間に認証OKだったのに、たかが布団のせいでだめになるのかよ。そんな程度の気持ちだったのかよ!的な気分になって腹が立つのです。

まあでも、布団のせいだよなとおもって、ちゃんと顔をしっかり見えるようにして、iPhoneと向き合います。でもやっぱり顔認証に失敗します。

FaceIDもTouchID(指紋認証)も、何度か認証に失敗すると安全のためパスコード入力モードに移行するという仕様が発動するからです。よからぬことを企むひとを排除するという意図で、理にかなった仕様だと思います。とても良く理解しています。

でもめっちゃ腹が立つのです。わざわざ顔を見えるようにしてやったのに見もしないで不審人物扱いかよ!的な気分になって腹が立つのです。

 

TouchIDのときも認証失敗してパスコード認証モードに移行することはありましたが、そこまで気になりませんでした。ホームボタンに指を当てるという行為と画面をタップしてパスコード入力するという行為が近いからでしょうか。

一方、FaceIDの場合はとても腹が立つのです。わざわざ見てやったのに、結局押させるのかよ。見るのと押すのじゃ大違いじゃねーか!的な気分になって腹が立つのです。結局見てロックを解除したあとはタップするなり何なりして画面を触ることになるので、冷静に考えるとたいして手間や操作感は変わらないのですが、それでも腹が立つのです。理屈ではないのです。

 

連続で認証失敗→パスコード認証モードに移行、の話は他にも腹が立つ話があります。

iPhoneを手に持って歩いてるときなど、なにかの拍子(傾けてロック解除機能とかの影響が大きいのかな?)に画面がONになって、いつの間にか認証失敗を繰り返した影響で、画面を見た瞬間にパスコード認証モードになっていることがまあまああるのです。

理屈としては今書いたとおりなのでしょう。挙動としては正しいのでしょう。それはよくわかっているのですが腹が立つのです。お前は一体、街の雑踏のどの部分をオレと認識したのか!オレはそんな雑踏と見間違えるような顔なのか?的な気分になって腹が立つのです。

 

iPhone Xはまだもの珍しいので「ちょっと見せて」的な感じでよく触られます。で、なんか画面をこっちに向けて認証させて中身を見ようとしてくる輩も現れるのです。余談ですが、こういう人ほんとウザいですよね。

ただ、FaceIDには「注視が必要」というオプションがあります。顔を認識しただけでなくて、ちゃんとカメラの方を見ているかどうかを判定して、見てるときだけロックを解除する、って機能です。

このことをよく知っているわたくしは、そのウザい輩に画面を向けられたときも目を伏して決してカメラを見ないように気をつけます。

なのに、認証されるのです!とても腹が立つのです。見てねえじゃねえか!絶対見てねえじゃねえか!なんでわかってくれねえんだ!的な気分になって、とても腹が立つのです。

 

この注視機能もまた腹立ちの種で、iPhoneを机においてる段階で画面オンにして見つめると、結構失敗します。でも、なんで失敗したのかわからないのです。FaceIDの視野角を確認するすべがないので一部しか顔が映ってないから失敗したのか、注視してないと判断されたのか、よくわからなくて腹が立つのです。

持ち上げるのがめんどくさいので机においたまま認証させようとしてるのに、なにが悪いのかわからず認証に失敗するので腹が立つのです。そして、しょうがないなあと持ち上げたころにはまたパスコード認証モードになっていて、さらに腹が立つのです。

 

そうそう、視野角といえば、画面が横向きのときに顔認証が行えないことも腹が立つのです。いやいや、オレ、横になったくらいで誰だかわかんないような顔なの?的な気分になって腹が立つのです。

 

まとめ

腹が立つシリーズをいくつかお伝えしましが、いかがでしょうか。理屈はわかっているのに腹が立つ、という意味で「情緒的」というタイトルをつけさせていただきました。

興味深いのは、TouchID(指紋認証)とFaceIDはほぼおなじ挙動であるのに、TouchIDではこのような気持ちにはならないことです。それと、FaceIDが失敗すると「お前なあ!」的な、相手が人であるかのように感情を揺さぶられます。

 

思うに、顔がパーソナリティの代表であることが大きく関係してるのでしょう。

アイドルの追っかけじゃないですけど、顔を認識してもらえるのは嬉しいことです。顔を覚えてもらえることは自分を認めてもらえてるという実感の第一歩です。顔を突き合わせることはコミュニケーションの基本です。このへんが、人生生きてきても他人との違いなんて全く意識しないし、人と見せ合うこともないような指紋との違いです。

そういうパーソナリティの代表である「顔」を使って認証するだのしないだのって機能をつけるにあたっては、もう少しセンシティブに考えるべきではなかったのでしょうか。

ご査収くださいませ。

 

おまけ

スマートスピーカーがブームですが、Siriを始めとして、音声認識が自分を汲み取ってくれないときも腹が立つのです。

ヘイ!シリ!

ヘイ!!!ヘイ!!!シリ!!!

ヘイ!ヘイ!ヘイ!バーカ!

というようにキーワードなんて忘れるくらい腹が立つのです。機会があればこのシリーズも是非ご査収いただければとおもいます。

 

aiboベーシックプランという名称には風情がない

新aiboが発表されました。本体が20万弱で、月額料金(要はクラウド運営費)が3000円弱。そうなんですか。高いかなーとも思うけどクラウド側に主体があるPS Nowが2500円だから、まあそういうもんなのかなあとも思います。

 

で、問題なのはその月額料金の名称が「aiboベーシックプラン」であること。

新型aiboをソニーが発表。自ら好奇心を持った、生活のパートナーとなる犬型ロボット - Engadget 日本版

名称は「ご飯代」とかにしてほしい。“aiboベーシックプラン”

2017/11/01 13:06

新型aiboをソニーが発表。自ら好奇心を持った、生活のパートナーとなる犬型ロボット - Engadget 日本版

吹きあがるコレジャナイ感&「ただし使用には別途「aiboベーシックプラン」への加入が必要」っていうまるでスマホ感覚。今も続く熱烈なアイボ信者のほとんどが高齢者だと分かっていての鬼畜の所業かしら

2017/11/01 12:19 

 

それな。ほんとそれ。まさにそれ。

どうしてこんなスマホプランみたいな名称にしてしまったのか。どうして「生き物のお世話」を感じさせる名称にできなかったのか。ハード面ではメカメカしい外観から本物の犬のような外観に変更したのに、ソフト面でなぜ電化製品のようなプラン名をつけてしまったのか。ちぐはぐの見本のようなお話です。

 

 スマートスピーカーが注目される中で、人との対話という点にも質問が及んだが、「企画段階で揉めたが、aiboは犬型のロボット。実は先代は犬型と呼んでなかったのですが……。今回は明確に犬を想定して作ったので、人の言葉は話さない。ただ音声は認識している。また、別の製品では、話すというインタラクションもありえる」とした。なお、“鳴く”機能は備えている。

via ソニーのロボット犬「aibo」が復活! 心のつながりをもつエンタメロボ。19.8万円 - AV Watch

スマートスピーカーじゃないんでしょ?犬なんでしょ?犬であることが大事なんでしょ?そこわかってて、わざわざ人の言葉を話さないようにするってとこまで考慮して丁寧に企画を進めてたはずなのになぜ・・・。

 

プラン名なんて単に言葉尻だけの問題なのですが、世界観というものは作り上げるのは苦労するのに、言葉尻だけで簡単に壊れてしまうものなのです。

犬っぽい外観に似せて、なんちゃらアクチュエーターで犬っぽい動きを再現させて、演出のために人間の言葉は話さないようにして、クラウドと連携して“人に寄り添う”を実現して、っていう苦労をしてやっと作り上げた世界観がプラン名の言葉尻1つでぶっ飛んでしまう。

 

結局、プロダクトに対してどういうイメージを持つかは、どういう世界観を提供しているかによるところが大きいですよね。世界観が、風情とか情緒とかそういう言葉で表現できる。良いプロダクトには良い世界観があって、すなわち風情がある。aiboベーシックプランという名称は世界観をぶち壊していて、すなわち風情がない。プロダクトの良し悪しを風情のあるなしで語るっていうのは面白いのではないかと思います。そこに風情はあるのかい?ってね。

先の引用文章からすると、製品が完成して、周辺整える段階まではちゃんと気をつけていたことが伺えますが、最後の詰めでなにか行き違いがあったのでしょうか。11/1にワンワンワンで発表です、なんてことを考える前にやることがあったのではないかな、と悲しい気分になりました。

 

おまけ

「ユーザーが使っている環境をバックアップできる。買い替えた場合は、新しいaiboにそれまでのデータをダウンロードして引き継ぐこともできる」という。

via ソニーのロボット犬「aibo」が復活! 心のつながりをもつエンタメロボ。19.8万円 - AV Watch

いやだから。ダウンロードて。風情を大事にしてほしいです。 

はてなブックマークiOSアプリはマテリアルデザインの悪い見本

はてなブックマークのiOSアプリを真面目に使ってみたらひどい出来だったので書きます。

 

基本構造

まずはアプリの基本構造をおさらいします。このアプリは大きな画面構成として

  • メイン(様々なエントリー一覧)
  • フィード
  • マイページ

の3つからなっています。

続きを読む