デザインシンキング

デザイン思考はデザインはスタイリングのみではないということを示している。非常に紛らわしいネーミングではあるが、シンキング、つまりもののあり方を問うことを指すデザインの方法論のことを言っている。

○デザインリサーチ
デザイン思考を理解する前に、マーケティングリサーチとデザインリサーチについて理解した方が良い。マーケティングリサーチは今何が求められているかをリサーチすることに重きを置かれ、デザインリサーチはこれから何が必要とされるかのアイデアを得ることに重きが置かれる。つまりデザインリサーチはまだ無いものの手がかりを得るために行われる。ゆえにデザインリサーチは失敗することを前提に試行錯誤が行われる。

○行動観察
前述のデザインリサーチでは行動観察が代表的な方法となる。
行動観察では何をしているのかを洞察する。何をしているかを把握するだけでなく、何をしようとしたかを問題視することに、重きを置く。言わないことに耳を傾けるという視点を指す。また、人々のしないことに目を向けるのも一つの解法になる。
行動の選択肢はいくつもあるが、人は無意識にそれを選択している。言語化されず気づきにくい故に洞察が必要となる。人間は不便や困り事に慣れるのに長けていて、当たり前だと思ってしまうためなかなか気づきにくいことに起因する。

○プロトタイピング
プロトタイピングはアイデアに価値があるかを判断するために行われる。形に起こすと失敗しているのかを確かめることが出来るため有用な方法となる。失敗は成功への近道であり、意思決定の高速化が期待できる。

○カスタマージャーニー
カスタマージャーニーマップはサービスのプロトタイプに値する。サービスには形がない。カスタマージャーニーマップ実態のないプロトタイプと言える。

○経験を扱う
デザイン思考はプロダクトのデザインにとどまらず、経験のデザインをしている。経験のデザインとは言い換えれば、感情的価値を考えることがポイントだろう。

なんのためのペルソナか

一時期、デザイン界やマーケティング界で流行ったペルソナ。架空のユーザ像を用いてデザインの拠り所にするといった手法。
ペルソナというと当時から胡散臭いイメージが付きまとい、今でこそ市民権を得ているが懐疑的な見方をされることも多い。もちろん効果はある。

○ペルソナの胡散臭さ
・結局何に使うかわからず、作っただけで終わってしまうケースがあり、役に立たなければ意味をなさない。
・とにかく再現性に乏しい。作り方や使い方が不明確で因果関係がわかりにくいことから不確実な手法に思える。
・理想のユーザーを作ってしまう。サービスや製品に対して積極的に取り組む仕事も家庭もうまくやっている人物像。そんなスーパーマンは実際しない。そんなペルソナを作ってもシステムを肯定するための都合の良いユーザー像になるだけで改善は期待できない。
・ワイガヤで取り組む。楽しくやって結果が出るのだろうか。そう感じる人も少なくない。何より軽薄な取り組みに見えてしまうことが一番胡散臭く見える要因となる。
教科書に載っているサンプルが稚拙なものがああり、おままごとレベルに見えてしまう。

○効果的なペルソナは?
何かしらの葛藤があること。葛藤を持っていないペルソナは製品開発では役に立たない。デザインはその葛藤を解決するものだからだ。つまりペルソナには人間臭さが必要となる。葛藤がないところに良いデザインは生まれない。スーパーマンならデザインが悪くても幸せになれる。これこそ実際しない架空のユーザー像に他ならない。

○ペルソナの精緻化
・架空の人物像というが、これが誤解のもとになる。架空の人物というと対象サービスにとって都合のいいユーザを描いてしまう。
詳細を記述し人物がありありとわかるようなものにしたほうがよい。
なんなら実際の人物の方が有効だ。現実の代表ユーザを登場させた方がまだ良い。
・教科書載っている様な年収や学歴などのデモグラフィックな情報はおおよそ役に立たない。それよりも、嗜好性がわかる記述が必要になる。例えば、
・ベタな笑いが好き
・ビールより日本酒か焼酎。それよりもワイン
・ブランドものが好き
・世話好き
・字がうまい(サインは万年筆を使う)
・たばこを吸う
・イタリアに傾倒
・知識を披露する
・上下関係を重視
・飲ミュニケーションを重視
・金勘定は得意
・キーボードは人差し指打ち
・ゴマスリがうまい
・ローファーに素足
どんな顔が思い浮かぶだだろうか。IT不器用なちょいワルオヤジを思い浮かべて頂けたらこのペルソナは成功と言える。そうでなければ何かが足りていない。

○ペルソナの効果
1)目標が定まる
詳細な人物像がわかるのでどこまで何を作ったら満足するかがわかる

2)関係者での合意が取りやすい
ターゲットと目標値が定まるので、合意が取れる

3)利用シーンが描ける
単純にこの人だったら、こういう行動をする情景が浮かぶ。出来の良いペルソナならそれが可能になる。
ペルソナは一人で十分なんて言い方をするが、利用者というのは複数人いるのであって、例えば家庭内の機器、テレビ、ビデオなんかは共有して使うものなので、複数人の登場人物がいた方が適している場合もある。
ユースケースシナリオにおいては、ペルソナという言い方ではなくアクターという表現が用いられるが、アクターというだけあって複数人が登場することが前提となっている。

4)想像力が働く
人物像が出来上がると自然にシナリオも付随してくる。

○まとめ
結局の所、現実の知り合いの誰かを加工した方がリアリティがあってよい。リアリティが必要ゆえに多くの人間、人間性を知っている人の方が質の高いペルソナを描くことができる。それが製品開発に行かせるとは限らないが、いかに人間らしさを描けるかがペルソナの勝敗をわける。

UXと再現性

○UXの再現性
UXデザインで求められることは、良い体験の形成とその体験を再現可能な形にデザインすることだろう。
あるものを利用した時に、良い体験ができる人と、悪い体験になる人がいる。良い体験ができるようにデザインすることが求められる。

○何が良い体験か
例えば、ビデオカメラを購入した際には、撮影した映像を上映して楽しむことを期待しているはずだ。ただ、購入後撮影はするものの見返すこともなく、上映することもなく終わってしまうケースが多いと想像できる。これでは良い体験ができたとは言えない。
ある人は撮影した映像を編集し、上映までできるだろう。上映によって視聴者が喜んでくれたり笑ってくれたりしたならばそれは確実に良い体験と言えるだろう。
ただ、購入者全てがこの体験ができるかというとその道のりは遠い。この楽しみを享受できるようなデザインがされていないからと言えるだろう。

○良い体験を提供する仕組み
モバイルデバイスは動画撮影が簡単に行えるだけでなく、編集も簡易で行いやすい。加えてアップロード先もあり容易にみんなに見てもらう環境が用意されている。さらにフィードバックをもらえる仕組みまで整っている。良い体験ができるような仕組みが整っていると言えるだろう。

○まとめ
製品を購入する上で人が求めている体験が何かを知り、その体験を再現できるような仕組みをデザインすることが必要だということだ。

UXはただの体験か?

○UXはただの体験?
ユーザーエクスペリエンスは、日本語に直せば、利用者の体験に他ならない。ユーザーエクスペリエンスには時間軸があるので経験という言葉の方が適切だという説もあるが、経験では学習的な意味合いや、経験値的な意味合いを感じるため体験の方が相性が良い。
利用者の体験というと、良いこともあれば悪いこともある。UXというと良い側面ばかりがフォーカスされるがそれは誤解を生みやすい。
UXに取り組む、という言葉は言葉足らずで、UX向上に取り組むという言葉が正確と言える。

○UXに感情は含まれるか
UXデザインを取り扱う際にカスタマージャーニーマップが用いられるが、このカスタマージャーニーマップには感情曲線が含まれている。これが誤解を生みやすい。
何かを体験すれば、何かしらの感情を抱く。つまり体験の結果が感情だ。この体験と感情を混同して扱っている事例が多いが、感情と体験を一緒くたにすると辻褄が合わなくなる。
なぜなら、感情自体をデザインでコントロールすることは困難だからだ。体験と感情は密接なものだが、感情を提供するデザインを狙うとすると、すべての人に同じ感情を抱かせることはできないため取り組みが詰まる。同じ体験をしても感情の抱き方は人それぞれだから議論が先に行かなくなる。
UXデザインは体験をデザインするものであり、感情をデザインできるものではない。

UXを理解するには?

○デザインリサーチ
UXを理解するにはデザインリサーチを意識した方が良い気がする。
デザインリサーチはデザインのアイデアを着想するためのリサーチで、人の行動から洞察を得るリサーチと言える。それゆえにデザインリサーチは行動観察を起点にするケースが多い。
行動観察からこの人はこういうことをしたいのではないかという洞察を得て、それを元にデザインのアイデアを考える。ポイントはどんなモノが欲しいのかではなく、そのモノを得て何かをしたいのかという点だ。
万年筆がモノだとしたら、その万年筆を得ることで、書くことを楽しめることや、大人っぽい雰囲気を味わえること、仕事ができる感を味わえるなど期待される。これはアウトカムに相当する。

○アウトカム
アウトカムは馴染みのない言葉だが、補足すると、アウトプットがモノや施策に相当し、アウトカムはその結果に相当する。
例を挙げると、美術館をアウトプットとした場合、地域活性化がアウトカム、キャンペーンをアウトプットだとすると、売り上げ向上がアウトカムに相当する。
UXを向上させる上で、何をアウトカムとするかを行動観察により捉え、どんなアウトプットが良いかをプロトタイピングによって試行するアプローチが求められる。

UXを向上させてどうするか?

UXが向上するとどうなるか、UXを向上させて何を期待するか。ここについての議論はあまり聞いたことがない。
単純に考えると、良い体験は満足につながる。満足させてどうなるのかというと、一時的な満足であればそれまでだろう。次への行動は期待されずそれきりで終わってしまう。満足の度合いが高ければリピート行動が期待できる。これがUX向上の効果と言える。つまりUXの指標は次への行動で測れると言える。
段階的に言うと、
Lv1.一時的な満足…次への行動は確約されない
Lv2.リピート行動…次への行動が期待できる
Lv3.忠誠行動…他の選択肢があっても次への行動が期待できる

時間軸的に言うと、
利用前:意欲をもたらさなければならない(利用促進)
利用後:リピート行動を生まなければいけない

まとめると、
UX向上はリピート行動を目的としていると言え、UXの指標は次への行動で測れると言える。

利用品質

○利用品質の捉え方
利用品質は何かと言っても説明が難しい。まず、利用と品質を分けて考える。利用とはモノ、サービスを用いて目的の結果を得ようとする行為とする。
品質とは意図した性能がどの程度達成されているかを測る尺度とする。
この二つを組み合わせると、モノ、サービスを用いて目的の結果を得ようとした時の達成度合いと捉えられる。

○利用品質の紛らわしさ
利用品質を考えるときに、紛らわしい点が三つある。
一つ目は結果と仮定の話。利用は時間軸を伴うため、利用中と結果の両方を伴う。つまり結果が良くても利用中の品質が満たされないと、利用品質が高いとは言えない。
二つ目は、モノと人の話。利用中の応答速度が早く結果も正確なものが出てくるとする。このような事例はモノ側の話だ。問題は人が応答が早い、正確な結果が出てきたと感じられるかの話だ。いくらモノ側の性能が良くても人がその性能を感じられなければ利用品質が高いと言えない。ユーザエクスペリエンスとは人側が感じる品質にフォーカスしたものとも言えるかもしれない。
三つ目は期待と実情の話。性能が良くても利用者の期待に沿っていなければ意味をなさない。したがって、期待以上の品質がもたらされなければ十分な満足は得られない。突き詰めると人のニーズ、期待値を把握しなければ利用品質が高いモノ、サービスは提供できない。

○まとめ
ここまでの話をまとめると、利用品質とは、モノ、サービスを用いて目的の結果を得ようとした時の達成度合いであり、モノ側と人側の品質両方が満たされており、かつ、人のニーズに即していることが求められると言える。

○補足
結果の品質が悪くても人が満足すれば良いではないかという捉え方もあるが、それは一時的な視点であり、長期的な視点でそれがいいということを判断した上で良いか悪いかを決めるべきではないか。

Array

配列を作成。

文字列を分割して配列を作成。

配列に配列を入れる。

配列の編集。

println

NSLogと同様です。
コンソール?にログを表示します。
SwiftのprintlnはNSLogの10倍くらい高速らしい。

応用的な使い方。以下のように各行にprintln()を入れておけば、どの行でエラーが起こったのかを把握できる。

キャスト

型が不明確な値を入れる場合は「as」でキャストを行う。

整数とかを文字列に変換するときもキャストを使う。

CMMotionManager

傾き検知ができるようにする。

UILongPressGestureRecognizer

長押しの命令を書く。

CGRectMake

imageViewなどの大きさを決めるframe(枠)に値を挿入するときに使う。

UITextView

文章を表示する。

NSLocalizedString

他言語対応したいときにりようする。
別途、他言語対応のための設定とファイルが必要。

本当はここまで書かなければ行けないらしい。

key: キー
tableName: .stringsファイルの名前
bundle: .stringsファイルを含むバンドル
value: tableからkeyにマッチする値が取れなかった場合の値
comment: コメント

エラー

‘UIButton?’ does not have a member named ‘center’

Missing argument for parameter ‘comment’ in call
パラメータ’comment’という引数がありません。呼び出し文で引数が足りない。

Missing argument for parameter ‘locale’ in call
パラメータ’locale’という引数がありません。呼び出し文で引数が足りない。

Consecusive statements on a line must be separated by ‘;’

type ‘AnyObject’ does not confirm to protocol ‘NilLiteralConvertible’
⇒ nil は入りません

‘NSArray’ does not have a member named ‘count’

‘NSMutableArray?’ does not have a member named ‘subscript’

Cannot invoke ‘〜’ with an argument list of type ‘〜’
与えられた引数の組み合わせでは関数を実行出来ない
全ての変数に型を明記して確かめるのが良さそう。

NSTimer

タイマー処理。設定した時間後に実行する。

perform selector みたいな使い方

Int

整数を扱う変数。
色々あるがInt だけで十分なのではないか。

Int: -2,147,483,647 〜 2,147,483,647
Int8: -128 〜 127
Int16: -32,767 〜 32,767
Int32: -2,147,483,647 〜 2,147,483,647
Int64: -9,223,372,036,854,775,808 〜 9,223,372,036,854,775,807

UInt: 0 〜 4294967295
UInt8: 0 〜 255
UInt16: 0 〜 65,535
UInt32: 0 〜 4,294,967,295
UInt64: 0 〜 18,446,744,073,709,551,615

if 条件分岐

条件分岐を書く。

case

条件分岐

for

繰り返しの処理をする

UIView

ビューをつくる

アニメーションをしたい場合

UIView.setAnimationCurve(UIViewAnimationCurve.EaseOut)

UITableView

テーブル(表)を表示します。

UIButton

ボタンを作成する

画像を指定する場合

NSString

文字列を扱う

文字列を分割する。
string_.componentsSeparatedByString

・分割に使った文字は削除される
・指定は””での一括りのみ、文字数制限なし
・先頭(もしくは末尾)の1文字目が分割対象内に存在する場合は、空の配列になる

var

変数を定義する。
変数は後から変更できる。

オプショナル型
<通常型>

<オプショナル型>

<暗黙的開示オプショナル型>

NSLog

ログを表示するための命令

println() でもOK。
println() の方が10倍ほど処理が高速の様です。
SwiftのprintlnはNSLogの10倍くらい高速

UIImageView

画像を表示する。

UIColor

色を指定する。

UIFont

フォントを指定する。

func

 

UIImage

名前に変数を使う場合

UILabel