投稿

ラベル(Coursera)が付いた投稿を表示しています

Principles of UX/UI Designでこんなことを学んでいるよ 第一週 User-centerd design①

イメージ
  ユーザー指向デザイン アプリを改善していく方法として、実際にそのアプリを使用しているユーザーに対してインタビュー、使用中の観察を行うことを総称して ユーザーリサーチ という。 これを行うことで、ユーザーはアプリを使用する上でどのように、何を考え、何を達成しようとしているのかを知ることが出来る。 その中でもユーザーからの意見をデザインにどのように改善していくことができるかを確認する方法として カスタマージャーニーマップ を作成するという方法が存在する。 例えば、 メニューボタンが分かりにくい 商品のカテゴライズが曖昧である バスケットボタンが存在せず、商品が追加できたか分からない ホームボタン、戻るボタンが存在せず、途中からのやり直しができない 注文のために必要な情報を全て入力したにもかかわらず、バリデーションエラーが表示される などがユーザーリサーチで分かった場合、カスタマージャーニーマップにはこれらのユーザーの体験を整理する。 カスタマージャーニーマップを作成することで、最終的には、ユーザーに共感し、再設計を改善するのに役立つ一連の教訓を得られる。 良いカスタマージャーニーマップは詳細、かつ粒度が細かく、あらゆる場面でのCXを理解することを手助けします。 一般的に、カスタマージャーニーマップは以下の5つの要素が存在していることが多い。 アクター シナリオと期待値 ジャーニーフェーズ 行動、態度、感情 機会 それぞれを見ていくと、 アクター ペルソナやユーザー。カスタマージャーニーマップ上ではデータ駆動型。1つのマップに1つの視点を用意することでより粒度が細かくなる。 シナリオと期待値 カスタマージャーニーマップが扱う状況のこと。アクターの目標やニーズ、何を達成するかの期待と関連する要素。Amazonであれば商品を選ぶ際の意思決定や注文を完了するために必要な全ての情報にいかに簡単にアクセスできるかなどが含まれる。 ジャーニーフェーズ 行動、思考、感情といったジャーニーマップの残りの情報を整理するもの。 行動、態度、感情 アクターの行動、態度、感情であり、各フェーズでマッピングされる項目。例えば、行動はアクターの実際の行動を物語化したもの。顧客から直接引用することが理想的。 機会 UXをどのように向上させることが出来るかを考察する箇所。この情報を使って何をするべき

Courseraの"Create the User Interface with SwiftUI"に入門した話。

イメージ
Create the User Interface with SwiftUI タイトル通り、Courseraの以下のコースに入門しました。 Create the User Interface with SwiftUI 参考本を一通り復習し終わったが、いまいち全体的な開発サイクルを理解できなかったのでSwiftUI周りの開発をどのように進めていくのかを実践的に勉強できるコースを探していたところ、Metaが提供しているコースがあったので入門したという流れ。 今日の0時ごろに登録して1時間半くらい軽く進めて"Setting up SwiftUI"を完了したのでそこで学んだことを備忘的に残しておく。 Appleのデバイスには一般的なコンピューター(MacBook,iMacなど)とタッチデバイス(iPhone,Apple Watchなど)に大別される。 上記のうち前者は操作の精度が高いが、後者はディスプレイの小ささなどから捜査の精度が低い。よってデバイス上に表示される情報はシンプルに、そして情報量を制限するべきである。 気になる人は Human Interface Guideline 見てね!とのこと。 また、UI的に配色にも注意する。例として挙げられていたのはボタンの配色が全体的に暗いと分かりにくいから操作しやすいように明るい配色にしよう!みたいな話。 SwiftUIの利点 ダイナミックテキスト(デバイスごとに表示されるテキストのサイズ)が自動的にサポートされていること アクセシビリティ(障がい者向けの対応)やローカライゼーション(異なる言語区分への対応)などがしやすいこと ライトテーマやダークテーマに対応が容易なこと 宣言的(Declarative)シンタックスと命令的(Imperative)シンタックスの違い Declarative = WHAT you want つまり結局何がしたいのかに集約される。(ハンバーガーを注文するときにハンバーガー下さい。で通用する) Imperative = HOW you want どのように用意するのかに集約される。(ハンバーガーを注文するときにパンを用意して、トーストして、肉を焼いて、etc...したものを下さいというようなもの) つまりDeclarativeは処理を書けばマシン側で自動的に最適化をして欲しいもの

Courseraの「Object Oriented Programming in Java」を修了した話。

イメージ
移動時間とか有給取得とかで時間ができたので一気に終わらせました。 個人的に気になる部分についてはまぁまぁ触れられた感じで、Javaの知識がない人でも基本的な参照渡しやスコープから教えてくれるし、オブジェクト指向の大切な要素(ポリモーフィズムとか)をしっかりコードを書いたりして弄くり回す、という自分にとってはそこそこ有意義な講義だった。 あとアルゴリズムとデータ構造、ソートあたりも最後の方で触れたり。 ただ、Javaアプレットを使って試さなければならないので、Javaのバージョンを合わせたりしなければならないことはそこに関しては正直どうなんだ、という感じはしました。 あとEclipseを入れたけどやっぱりそこまで好きではない、VSCodeの方が好き。 知識レベルも少しはあったし、一応時間もお金もかかるものなので、もし同じ状況になったとして、もう一回受けるかというと微妙・・・ではあるが、オブジェクト指向ってなんやねん、全然分からん、という基礎を固めたい人には時間を取って学ぶ価値はアリかと。 この手の講義はどうしても受け始めてから終わるまで出来が難しいので、むやみやたらに取るのはいかがなものかと感じた。本みたいに最初からパラっと読んであ、良さそうとかって感じにはならないし。 次に勉強したい要素としては、 Linux(LPICあたりを目処に勉強) React(ナウでヤングなの勉強したい) アルゴリズムとデータ構造( Elements of Programming Interviews in Python: The Insiders' Guide を買ったので届き次第読んだり書いたり) オンライン英会話(3ヶ月続いたら何か自分にプレゼントしよう) といった所で、まだまだ興味が尽きなくてモチベが高いのでサクサクっと趣味で本を読んだり、作っていければなぁと思っている今日この頃。

Courseraのオンラインコースの二週目を終えて

Courseraの「Object Oriented Programming in Java」を始めた話。 という内容で以前投稿していた通り、このコースを続けています。 内容的には比較的軽めのJavaの言語仕様(Eclipseの環境設定、オブジェクト指向、スコープなどの)ところを触っている段階から、徐々にGUIのソフトウェア(Javaアプレット)を開発するための内容へとシフトしてきている感じ。 今週から三週目なのですが、コードを書く機会が多くなってきそうなので時間はかかりそうです。 ただ、言語仕様とかは少し退屈な部分もあったのでコードを書くのが楽しみです。 所々UCSDの学生さんが議論したり、Googleのソフトウェアエンジニアからのメッセージがあったりモチベーションを上手く保つための工夫がそこかしこに散りばめられている印象です。 楽しく学べているうちにサクサクっと終わらせてしまった方が、お財布的にも学習曲線的にも優しいと思うので今のうちにこのペースで終わらせたい感じ。 あ、そういえば久しぶりにQiitaに記事を投稿しました。 「 社内システムを開発する際にAPIを使う、という選択肢を考える 」、 というテーマで書いてみたのですが、少しまとまりのない文章になってしまったのでどこかでガッツリ手直しをしたい感じ。 後、設計についての内容は全く触れていないのでそれはそれで別に記事を書こうかと。 もっといえばReact.jsとDjango REST Frameworkあたりを使ってそれっぽいシステムを試しに作ってみて、それについての記事も書けるとより理解が深まりそう。 ということで1週間くらいかけてまったり書いていこうかと思います。 今回はこんな感じ。 今週も1週間がんばろ〜。