iPhone has a light censor, and it's smart to adjust surrounding brightness. When surrounding environment  is getting darker and darker,  iPhone follow the change, the brightness is getting darker and darker too.


// get brightness
[[UIScreen mainScreen] brightness]
// set brightness
[[UIScreen mainScreen] setBrightness: 0.2f]
  • iOS / Android Version Distribution 2013/2 source: chitika
 Webデザイン、スマホアプリデザインなどデザインと名がつくものは、左脳的思考多きプログラマーから見ると直感やセンスの世界だと誤解しがちである。オブジェクト指向プログラミングな世界では、GOFのデザインパターンを知らぬものはもぐりだが、デザインの世界も実は論理的にあり、様々なUIパターンや法則が既に知られている。


  ここで、デザインの世界でユーザビリティに関する二つの法則について紹介する。

  • ヒックの法則

    選択肢の数と意思決定における情報量との関係、式にすると

                                                       
                                      

     選択肢を等確率で選ぶときは上の式、確率p(i)で選ぶときは下の式を使う。

     では、上の式(等確率で選ぶ場合)でためしてみましょう。






      グラフにしてみると以下となり、シャノンの情報量がここデザインのボタン数をいくつにするかに影響を与え、ヒックの法則と名を変えている所が興味深い。

   

  • フィッツの法則

      現在の位置からターゲットまで移動させるのにかかる時間と、ターゲットの大きさと距離との関係.

      式にすると   

                              

      Tはかかる時間(ミリ秒), Dは現在の位置からターゲットまでの移動距離(ピクセル,インチ), Wはターゲットの大きさ(縦横小さい方のサイズ), aとbは定数

       では、移動時間を計算してみましょう


D: W:

       例えば、スマートフォンのボタンのサイズを決める時、左手の親指から画面のボタンまでの距離が100pxであり、ボタンのサイズを10×10pxとした場合、568ミリ秒かかるが、アップル社推奨であるボタンのサイズ44pxに変更した場合、306ミリ秒に改善されるのだ。
I made a O/R wrapper for Objective-C and SQLite.  You can access SQLite like this.

// create table, only 2 line EntityManager *entityManager = [[EntityManager alloc] initWithDataPath:@"/Users/KENJI/Temp/test.db"]; Hoge *hoge = (Hoge *)[entityManager create:@"Hoge"]; // insert and update, only 2 line
hoge.count = 3; [hoge save];

Don't you think it's very simple ?
SourceCode is @ github. If you have an interesting in this library, check it out.

Twitter は擬似リアルタイムなログ方式で最新の情報を得やすいが、自分の過去のつぶやきを見るのが困難、検索困難という欠点をもつ。また、現時点のTwitterの仕様によれば、過去のつぶやきは3200件までしか取得できないとのこと。過去のつぶやきを取得してくれるサービスはいくつかあるが、コードを少し書けば実現できることはDIYが良いということで、今までの全ツィート をHTML形式で出力してみたのが  Twitter log

  TVやラジオを付けっぱなしにして、何かほかのことをしていることって多いよね。Twitterのタイムラインを文字から音にして、つぶやきをラジオのようにできないかっと思ったので、やってみた。


Twitter Picture Search is a simple mashup service. I launched it for searching picture everyone tweet from everywhere.  You can see the realtime search result on GoogleMap.

The following figure is a example when I input "snow" in Japanese, the service shows me some of pictures that somebody just tweet . 
TwiPic Search
2011年になった。実は2011という数は素数である。確かめたい人は下記のエラトステネスの篩でやってみてください。


高校生が初めて習う素因数分解は実に奥が深く、素数に関する問題はアルゴリズムの世界ではいつも重要な問題となっていた。1994年にはShorのアルゴリズムが提示され、素因数分解を量子コンピュータを用いて多項式時間で解けることが理論的に証明された。 また、2002年には、"PRIMES is in P"という多項式時間で素数判定ができる論文が発表された。 素因数分解は現在お買い物サイトなどで使われている暗号を根底で支える基礎となっており、もしこれが素早くできるようになったらセキュリティの安全性が確保できなくなる。
ところで、古典的な物理理論に従って作られているCPUのシリコン・ウェハーの集積化は限界に達し、いまでは並列化をすることで性能向上を謳っている。マルチコアとかクアッドコアとか売っているのはそういうわけである。ソフトウェアも大規模なデータ処理するための簡単に使える並列化ライブラリが大流行である。並列化したところで素因数分解は多少早くなっても多項式時間では解くことができない。

この先、コンピュータがナノの世界に入れば、並列処理とは全く異なるパラダイムに従わざるを得なくなる。そして、RSA暗号の代わりに量子コンピュータでも解くのが難しい暗号を開発しなければならないだろう。また、量子の世界では、ソフトウェア開発も確率論の理解を要求されるであろう。"神はサイコロを振らない"とはいかないのだ。
   UIを変えると見方も変わる。Twitterのタイムライン表示の仕方をMIT Smile Widgetを使って並列にならべてみた。発言の間隔がタイムラインの下の縦棒の太さで表現されているので、発言の頻度が見える。また、同じ時間帯に他の発言を調べることもできる。

Twitter タイムライン ログ



  Blogの情報収集にRSS Readerを使っていることが多いが、Twitterによる情報収集はフォロー数を増やすとツールを使ってフィルタリングしたり、並列で見たりと途端に忙しくなるので、欲しい情報が来たら向こうから通知するなにかしらの仕組みを考えて、作る予定である。
Reblog this post [with Zemanta]
  ウェブサービスのビジネスモデルにフリーミアムという言葉がある。これは無料(フリー)と割増(プレミアム)との造語で、大多数のユーザにただでサービスの基本機能を提供するが、特別な機能には課金するビジネスモデルである。少数のユーザの支払いによって利益をもたらす仕組みはまるでロングテールモデルとそっくりである。膨大なユーザがいれば、尻尾の部分に課金しても利益を生み出せるのである。
  このビジネスモデルが生まれた背景には、ITのあらゆる所におけるムーア則が働いているからだ。ハードウェア、インフラの性能は指数的に伸びていくが、それらにかかるコストが反比例に下がっていく。また、ソフトウェアでは元々オープンソースという思想が存在していた。それらにプラスして、最近では、AmazonのEC2, GoogleのAppEngine等によるクラウドコンピューティングの登場により、サーバー設備の外出しが可能になり、ウェブサービスの構築にかかる障壁が限りなくゼロに近くなった。サービス提供側にコストがかからなければ、今までコストがかかっていたサービスを見つけて無料で提供すれば良いだけである。Skypeしかり(国際電話を無料に)、Wikipedia(辞書を無料に)しかりである。
  ただし、無料でコンテンツを提供するCGMサイトの背後には、無料働きをする人々の存在があることを忘れてはならない。この人達にとってのモチベーションはお金よりも誰かの役に立つことで、提供するサービス側はこの人達にはっきりと感謝の形を"見える化"し、モチベートし続ける必要がある。