Currently viewing the category: "日常"

12月になりました。
今まで知らなかったんですが、12月は「毎日交代で誰かがテーマに関する記事をブログに書く」という
Advent Calenderの習慣があるみたいです。

テーマはたくさんあるみたいですが、いちいち探すのめんどくさくなったんで
自分が気になる奴のリンクまとめちゃいます。

Continue reading »

 

もしかしたら大多数の人には常識なのかもしれないし、自分の知識が無いだけかもしれないですが
自分にはこの発想はなくてなかなか悩んでいたのでメモ。

Cocos2dでオブジェクトをどう構成するかの話です。

Continue reading »

 

今回はゲシュタルトの法則です。
図形要素の体制化についての法則についていろいろとまとめてくれています。

ちなみにゲシュタルトさんの法則ではなくて、ゲシュタルト心理学者が作った法則って意味です。
(ゲシュタルトはドイツ語で姿、形と言った意味があるそうです)

ゲシュタルトの法則

ゲシュタルトの法則はいわゆるグループの法則です。
複数の物体のうち、どれとどれが関係を持っていると感じやすいのか、を幾つかの法則で表しています。
これらの法則に沿ってアイテムの整列や意味づけをすることで、より直感的な配置になるでしょう。

法則は全部で7個です

  • 近接の法則
  • 類同の法則
  • 共通運命の法則
  • 良い連続の法則
  • 閉合の法則
  • 面積法則
  • 対称性の法則

このうち、アプリの設計に使えそうな2つを紹介したいと思います。
どちらも言われれば当たり前のことです。

近接の法則

近い物同士は関係が深いと感じやすい

類同の法則

色や形が近いものは関係が深いと感じやすい

つまり・・・

つまり、関係性が深いものは形や色を似せたり、近くに配置したりするのがユーザーにとって使いやすいよということです。
ブラウザで戻るボタンとすすむボタンを隣に配置したり、音楽アプリで再生ボタンと停止ボタンを同じ位置に表示したりといったことです。

関係性が深いというのは、何らかの面で同じカテゴリに所属しているということです。
配置や形でそれらをグループ化することで、ユーザーはそのグループの概要だけ覚えれば
どこに何があるか大体わかるということになります。

逆に関係性があまりないものを近くにおいたり同じ形にしてしまったりすると、グループ化ができず
それぞれの位置や意味を個別に覚えなくてはいけません。

最後に・・・

UIに於いて結局一番大切なのは「ユーザーが覚えることを極端に減らす」ということだと思います。
覚えることがなければ、それは自然な動作でアプリを扱うことができるということです。

覚えることを減らすための方法として、良いデザインの4原則を守ったり
外界の知識を使ったりするのではないかなと思っています。

 

CoreDataについて、幾つか小技があるのでメモ。

Continue reading »

 

background処理&delegate通知はサクサク動かすために結構よく使いますが、一歩間違えるとEXE BAD ACCESSだらけになってしまいます。(経験談)

どうやったらEXE BAD ACCESSを防げるのか、なんとなくわかったのでメモってみます。

Continue reading »

 

ランダムに色を作るという時にふと思ったのでメモっちゃいます。
普通、ランダムに色を作るというと次のようなコードをかくと思います。

[objc]
float rand1,rand2, rand3; //乱数など
UIColor color = [UIColor colorWithRed:rand1 green:rand2 blue:rand3 alpha:1];
[/objc]

しかし、これだと綺麗な色も汚い色も全部出てきてしまってちょっと困ることもあります。

Continue reading »

 

前回まではノーマンさんが言っていた様々なことでした。
今回はちょっと人を変えてニールセンさんの言っていることを紹介したいと思います。

ニールセンという人は10個のユーザービリティの評価基準をあげています。

  • 単純で自然なダイアログ
  • ユーザの立場の言葉を使う
  • 覚えなければならないことを最小に
  • 首尾一貫
  • 実時間フィードバック
  • 簡単に抜けられるように
  • ショートカット
  • わかりやすいエラーメッセージ
  • エラーが発生しにくいように
  • ヘルプ/ドキュメント

数が多いので簡単に紹介したいと思います。

Continue reading »

 

よく使うクラスがどのライブラリに入っているか毎回調べていたので、ココらへんでメモってみます。
CoreDataがCoreData.frameworkに入っているのは一目瞭然としても、
layerクラスがどの.frameworkファイルに入っているのか・・・を調べるとき用です。

クラス名、機能名など .frameworkファイル名
CAlayer QuartzCore.framework
加速度とか角加速度とか CoreMotion.framework
CoreData CoreData.framework
Sqlite libsqlite3.dylib
OpenGL OpenGLES.framework
iAd iAd.framework

書きだしてから、案外ないのに気づきました・・・。
悩みそうなのはCAlayerのQuartzCore.frameworkだけですね。

 

さて、3回目の今回は「外界の知識と制約」についてまとめてみたいと思います。

Continue reading »

 

前回、「良いデザインの原則」を紹介しました。
今回は「行為の7段階理論」を紹介したいと思います

行為の7段階理論

こちらも良いデザインの4原則と同じくノーマンという人が考えた理論のようです。
人が作業する上で、どういうふうに行動しているかを表した理論です。

一つの目的があり、それがなんで達成できないのかを考えるときに役に立ちます。

行為の7段階はつぎの7個です。

  1. ゴールの形成
  2. 意図の形成
  3. 行為の詳細化
  4. 行為の実行
  5. 外界の状況の知覚
  6. 外界の状況の解釈
  7. 結果の評価

これを3つのグループに分けて紹介します。

  1. ゴールの形成
  2. 行為を行う3プロセス
  3. 評価を行う3プロセス

Continue reading »