iPhone

メールマガジン『eラーニング導入こぼれ話』バックナンバー。今回はAndroidでeラーニング特集です。どうぞご覧下さい。

▲Galaxy TAB

▲Galaxy TAB


キーワードは「コスト削減」と「教育効果」2011年4月15日発行
■□■━━━━━━━━━━━━━━━━━━━━━━━━■□■

eラーニング導入こぼれ話 Vol.0034

■□■━━━━━━━━━━━━━━━━━━━━━━━━■□■

「最高の学びをすべての人に!」

こんにちは!いつも大変お世話になっております、株式会社キバンインターナショナルの田中です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●今回のポイント
1. 『Android』とは何か
2. iPhoneか、それともAndroidか
3. スマートフォンeラーニングが抱える課題
4. SmartBrainなら、解決!
5. オーサリングツールの対応度合い
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

===(お知らせ)=====================

●iPhone、iPad、PC、ブラウザを選ばず学習できる
LMS(ラーニング・マネジメント・システム)
『SmartBrain』・・・1ユーザー210円/月(税込)
20ユーザーまで無料。お試し登録はこちらからどうぞ。
http://smartbrain.info/?arigatou20110415

==============================

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【main contents】Androidでeラーニング!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

●Androidとは

2010年までの日本のスマートフォン市場は、iPhoneが46%という圧倒的シェアでした(※参考:調査会社 ImpressR&D )。

しかし、ここ最近Androidを搭載したスマートフォンが次々に登場し、話題を集めています。

Android(アンドロイド)とは、Google社による、モバイル向けのプラットフォーム。

iPhoneに搭載されているOS、『iOS』(アイオーエス)では見ることの出来ないFlashを見ることができるという特徴があります。

●iPhoneか、Androidか

ちなみに、Flashとは、Adobe Systems社による、音声や動画などのアニメーションを組み合わせてWebコンテンツを作成するソフト。また、それによって作成されたコンテンツのことです。

Flashは多くのWebサイトで使用されていますので、Flashを見られないことに不満を持っているiPhone、iPadユーザは少なからずいると思われます。

一方で、iPhoneの発売元AppleにはiTunesという独自のプラットフォームがあり、音楽のダウンロード配信などで大きなシェアを持っているため便利な面もあります。

▲au『IS03』

▲au『IS03』

●日本で発売されているAndroid端末

さて、日本で発売されている端末でAndroidを搭載しているものには、docomoのスマートフォン『Galaxy S』や『Galaxy Tab』、auのISシリーズ、ソフトバンクもGARAPAGOSやDisireなどの取扱があります。

●スマートフォンでのeラーニングの問題点

これまで、多くのスマートフォンeラーニングで問題となったのが、学習履歴データがうまく取れない点。

それは、PC用のコンテンツはPCでしか見られず、スマートフォン向けのコンテンツはスマートフォンでしか見られないという技術的な問題が原因でした。

つまり、全く同じ学習コンテンツだとしても、PC用とスマートフォン用では別物として扱われていたのです。

これを解決したのが私たちキバンインターナショナルが提供するLMS(ラーニング・マネジメント・システム)SmartBrainです。

●SmartBrainはAndroidで使用できます

SmartBrainは「最高の学びを全ての人に!」の理念のもと開発されました。SmartBrainの「スマート」はスマートフォンの「スマート」でもあるのです。

ここ最近、「SmartBrainはAndroidで動作しますか?」というお問い合わせを多く頂きました。やはりみなさん、新しい端末の導入を検討していらっしゃるようですね。
答えは「YES!」です。

SmartBrainは設計の段階から、PCとスマートフォン、どちらでも使用できるように、インターフェイス、ボタンの大きさ、端末の自動判定などに徹底して配慮して制作して参りました。

もちろん、PC、iPhone、Android、どれでも利用可能で、1人のユーザがどの端末で学習しても、統一した学習履歴を残すことができます。これはSmartBrainのとても大きな特徴です。

スマートフォンでのeラーニングのご希望がある場合は、ぜひSmartBrainをお試しになってみてください。

SmartBrainはこちらからお申し込み頂け、20ユーザまで無料でご利用頂けます。
http://smartbrain.info/

▲SmartBrainのWebサイト

▲SmartBrainのWebサイト

●オーサリングツールもAndroid対応可能

私たちキバンインターナショナルは、eラーニング教材を自製するツール(オーサリングツール)を安価で提供していますが、多くはAndroidに対応できます。以下、AndroidでのSmartBrainでの動作一覧です。

PPT2Flash・・・対応可能。
PPT2Voice・・・対応可能。(PPT2Mobileについては下記参照)
PPT2Mobile・・・対応可能(別途エンコード作業が必要)
DemoCreator・・・対応可能(別途エンコード作業が必要)
QuizCreator・・・不可(機種に依存。4月末より正式対応可能予定)
LectureMAKER・・・対応可能(画面の大きさ調整が必要)
WebVideoAuthor・・・対応可能。

オーサリングツール一覧は http://elearning.co.jp/?page_id=1934 より

※エンコードの方法は
http://blog.elearning.co.jp/archives/6180.php
をご参照ください。

実際にAndroidの端末での動作を確認したい方は
http://kiban.smartbrain.info/
より

ID: demo
Pass: Demo

でログインし、「サンプル教材」をご覧下さい。

もちろん、SmartBrain以外のWebでも、アップロードすればAndroidでご覧頂くことができます。(サンプル教材は随時、追加して参りますのでお楽しみに!)

現在、さらに開発を進め、もっともっと便利になっていく予定ですのでご期待下さい。

●今回のお話はWEB動画でもご覧頂けます。

Android向けの教材をSmartBrainにアップするための起動ファイル作成方法を動画でご紹介致します。今後はこの手順をなくすように開発して参りますが、現時点ではこの方法となっております。ぜひご覧下さい。

の「ユーザー登録」から登録後、ログインが必要です。

ログイン後、
「【毎週更新】eラーニング導入こぼれ話」→「【第34回】Android向け動画ファイルの、SmartBrain起動ファイル作成方法」をクリックでご覧頂けます。

━━(編集後記)━━━━━━━━━━━━━━━━━━━━━━

最近はAndroid端末ばかりを使って検証しています。どんどん新しいものががでてくるので大変な面もありますが、楽しさもあります。これが良い形で学びにつながると良いなと思います。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

今後も役立つコンテンツを公開して参りますので、よろしくお願い申し上げます。

私たち株式会社キバンインターナショナル http://www.kiban.jp/ が提供するLMS(ラーニング・マネジメント・システム)SmartBrain http://smartbrain.info/

SmartBrainにデモログインがつきました

最近、SmartBrainにデモログインがつきました
メールアドレスをご登録頂かなくても、
id:demo
pass:Demo
でご覧頂けます。

▲ID:demo、Pass:Demoを入力。PassのDは大文字ですのでご注意。

▲ID:demo、Pass:Demoを入力。PassのDは大文字ですのでご注意。

SmartBrainのWebサイト
http://smartbrain.info/?page_id=478
の画面左上のログインフォームよりお試し下さい。

 

PC、iPhone、iPad、Android、全てで視聴可能なサンプル

さて、今回は、そのデモページに、同一コンテンツをPC、iPhone、iPad、Androidどれでアクセスしても視聴でき、統一して学習履歴もとれるデモを公開しました。ログイン後、「Demo(PC、iPhone、iPad、Android視聴可能)」のコースをクリック頂くとサンプルコンテンツがご覧頂けます。iPhone、Androidでアクセスする際は、http://kiban.smartbrain.info/ よりログインください。同じく、ID:demo Pass:Demo です。

▲コース『Demo』をご覧下さい。

▲コース『Demo』をご覧下さい。

上記デモに使用したオーサリングツール

PPT2Flash http://ppt2flash.jp/ (PowerPointファイルをFlashに変換)
PPT2Mobile http://ppt2mobile.jp/ (PowerPointファイルを動画に変換)
PPT2Voice Neo http://ppt2voice.jp/ (PowerPointファイルから合成音声作成)
QuizCreator http://quizcreator.jp/ (プログラミング不要の問題作成ソフト)

30日間無料でご覧頂けます。お気軽にご利用下さい。

一般情報 iPhone 構成ユーティリティ 3.3 (Windows)とは、

この「iPhone 構成ユーティリティ」を使うことで、iPhoneの構成プロファイルを作成、保守、暗号化、およびインストールしたり、プロビジョニングプロファイルや承認済みアプリケーションを追跡およびインストールしたり、コンソールログなどのデバイス情報を記録したりする作業を簡単に行うことができます。自社で開発して、AppAtoreにリリースする前には、このツールを利用してiPhoneにアプリを設定しで動作検証をしたり、XML ファイルで、デバイス・セキュリティ・ポリシー、VPN 構成情報、Wi-Fi 設定、APN 設定、Exchange アカウント設定、メール設定、iPhone や iPod touch からのエンタープライズシステムの操作を許可する証明書が含まれています。

通常のiPhone利用者は利用することがないツールですが、iPhoneアプリを開発する人には必須のツールです。

最初からプロファイルを作成するのが面倒なら、http://iphonenodata.com/ からダウンロードすることも可能。

米AppleのSupport Downloads日本のアップルサイトからダウンロードしてご利用ください。

SmartBrainとAndroid

CATEGORIES Android, eラーニングシステム, iPhone, SmartBrainby.yasu.tanaka1 Comments2011.04.11

株式会社キバンインターナショナル http://www.kiban.jp/ が提供するLMS(ラーニング・マネジメント・システム) SmartBrain 。「最高の学びを全ての人へ!」を合言葉に、あらゆる端末で動かせるように対応中です。これまでもいち早くiPhoneやiPadに対応して参りました。

最近では、「SmartBrainはAndroidでも動くのか?」というお問い合わせをたくさん頂いておりますが、その答えは、「Yes」です。こちらをご覧下さい。

●英文法.com(デバイス:GaraxyTab LMS:SmartBrain) 動作確認 ○

このように、SmartBrainはAndroidでも動作いたします。また、各オーサリングツールで作成したeラーニング教材が、Androidでも動作するかというお問い合わせも頂いております。これは、また別の記事をアップするように致します。

アップルiPhone、iPadで利用できる災害対策アプリの一覧「災害対策アプリ」をひとまとめにしてコーナーを作っています。

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewRoom?fcId=425989209

アップルiPhone、iPadで利用できる災害対策アプリの一覧

▲アップルiPhone、iPadで利用できる災害対策アプリの一覧

iOS 4.3ソフトウェアアップデートが近日配布されると、Webで告知されています。iPhoneのいいところは、OSがどんどん賢く便利になるところ。

アプリや脱獄という手法を使わないでも、「テザリング」という、モバイルルータを使えるように是非改善を、ソフトバンクモバイルさんにはお願いしたい。自分自身、ノート内蔵のWiMax、DoCoMoのモバイルルータ、iPhoneのパケ放題と、パケットだけでも3種類上限一杯まで支払っている。(それに、あまり使わなくなったeモバイルも毎月最低料金を払っている。4種類も払っている。)メインは、いつもiPhoneだ。複数の機器をつなぐモバイルルーターの電源を常に気にするのではなく、メインのiPhoneの電源を確保すればいいようになるだけでも、バッテリーの確保が楽になる。

中には、これに加え、iPadのパケット代金を払っているひともいる。このモバイルルータ機能、テザリング機能は、代金が1.5倍になってもいいので、是非許可して欲しい。この悩みから解放されるために、AUのHTC EVO SW11HT(3Gのパケット代金+525円で、WiMaxが利用でき、通信速度もWiMAXを使えば下り40Mbps,転送量無制限)への機種変更の誘惑に駆られそうになる。

以下、アップルのWebサイトの「どうだ!便利だろう」という自信満々のPRをご紹介します。

iPhone 4のためのパーソナルホットスポット
もっといろんな場所でつながろう。

出張先へ、空港へ、公園へ。これからはWi-Fiをどこにでも連れて行けます。iOS 4.3をiPhone 4にダウンロードしましょう。それだけで、Wi-Fiに接続できない環境でも、3Gネットワークの圏内であれば、パーソナルホットスポットを使って携帯電話のデータ接続をMac、Windowsパソコン、iPad、そのほかのWi-Fi対応デバイスと共有できます。接続は、Wi-Fi、Bluetooth、USBを使って、一度に最大5つのデバイスと共有できます(Wi-Fi接続はそのうち3つまで)4。すべての接続はパスワードで保護されるので安全。しかも電源効率も優れています。iPhoneは、パーソナルホットスポットが利用されていないことを検出するとオフに切り替わり、バッテリーの駆動時間を節約します。日本を含む一部の国々では、ご利用いただけません。(筆者注:SoftbankのiPhoneではこの機能が利用できない)。

iPhone 4のためのパーソナルホットスポットにならない!

iPhone 4のためのパーソナルホットスポットにならない!

http://www.apple.com/jp/ios/

TimeProfilerの使い方

CATEGORIES iPhone, 北海道ラボby.yasu.tanaka1 Comments2011.02.28

前回はLeaksについて書きましたが、今回はTime Profilerについてまとめます。

TImeProfilerはシステムの中でどこの処理に時間(リソース)をつかっているかを可視化し、チューニングを行うためのツールです。

実行 -> パフォーマンスツールを使って実行 -> TimeProfiler

実行 -> パフォーマンスツールを使って実行 -> TimeProfiler

 

前回のLeaks同様に実行しましょう。実行と同時にiPhoneシミュレータも起動します。(ユーザごとの設定によります)

私は、シミュレータではなく実機で使っています。実は、iPhone3GSはあまりNSUserDefaultsを連続して呼ぶとフリーズしていまうというバグ(?)があり、TimeProfilerでみて処理を変えた経験から、テストは常に実機です。

起動初期の画面

起動初期の画面

画面左のcall Treeペイン

画面左のcall Treeペイン

起動初期画面左の中くらいの位置にある、CallTreeのチェックボックスは図のようにするといいでしょう。こうしておけば、System Libなどは表示されず調整しやすくなります。後は、iPhoneアプリをぐりぐりと動かしてみてください。

処理に時間がかかっている場所がグラフィカルに可視化される

このように、同一クラス内で処理に時間の掛かっている部分の割合が表示されてます!!(ちなみに、上の画面は関数名をダブルクリックすると表示されます。)

便利ですね。みなさんもこうやって地道にチューニングしていきましょう

キバンインターナショナルは多国籍、個性溢れる若者の、eラーニング開発の専門集団です。そのスタッフの中に中高年のおじさんが、ポツリと混在しております、

このおじさん、多少の人生経験、教育業界のキャリアは持つものの、ITについては全くの素人である。メール操作、Word,Excel,PowerPoinを多少,SNSはmixi程度、最近FaceBookを始めた、技術陣との会話はまるで異国にいるようなものである。

キバンSmartbrainをコアとして全ての端末に対応できるプラットホームを有し、また、急速に普及するスマートPhoneでのeラーニング学習はキバンのアドバンテージをまさに発揮するものである。モバイル学習を推進する会社のスタッフがスマートフォンを持たない等、お客様に説得性がないということで、最後の一人が昨日Smartphoneに鞍替えしました。

過去をきっぱり捨てるのは、一時苦労があるがどうやら、少し慣れてきたようで、その利便性を楽しんでいるようです。楽天の三木谷社長の英語社内公用語化は、トップの猛烈な意思が注入され、かなりなスピードで効果がでてきているようですね。環境を変えれば人間はその対応能力を発揮できるのでしょう。

ITに疎いとされる中高年、あるいは主婦層にも先端のモバイルの普及はリテラシーを高めますます広がりを見せるでしょう。その意味で一時の教育コストの削減の中でeラーニング市場が形成された時代から、むしろこれからが本番ではなかろうか。おじさんの周辺には同様の人達が沢山おります、これらの人達にいかに分かり易く利便性を伝えて行くことも、eラーニング市場の拡大につながると思います。

ところで、遅れてきた中年男がヨドバシカメラからのパンダスタジオ帰路途上でiPhoneで撮ったお店の写真

『メイドがお見立てする眼鏡屋』Candy Fruit Optical ! いかにもAKIBAらしいですね!

iPhoneアプリの開発に関連する書籍は、大まかに分けて3種類あります。

  • HTMLやJavaScript等を使うWebベース系アプリ
  • Objective-Cで開発するネイティブアプリ
  • OpenGLを利用するC/C++言語ベースのゲーム系のアプリ

今回は、今まで読んだ中で「Objective-Cで開発するネイティブアプリ」のおすすめ本を紹介します。

iPhone SDK アプリケーション開発ガイド

iPhone SDK アプリケーション開発ガイド

定番のO’REILLY本です。この本には、網羅的で幅広い内容が深い部分まで掘り下げて書かれています。そのため、プログラミング初心者におすすめできない入門書です。私は半分しか読んでいないのですが、基本的なHelloWorldから高度なUIの開発まで、チュートリアルにしたがって習得していくことができます。プログラミング自体が初心者な方にはおすすめできませんが、Javaなどのプログラミングに慣れている人であれば読みやすいと思います。この本の第3章を読めば、基本的なアプリの作り方を理解出来ます

iPhoneプログラミングUIKit詳解リファレンス

iPhoneプログラミングUIKit詳解リファレンス

私が上記のオライリーと併用して読んだ本です。この本も入門書に近い構成で、実装の仕方が順番に説明してあります。図解が多いので理解しやすく、UIKitの各オプションの説明も豊富なので、リファレンスとして役に立つと思います。この本は順に読み進めていくのではなく、必要な部分をリファレンスとして読むことをおすすめします。Chapter9のUITableViewは最重要コンポーネントの1つであるTableViewの解説になっています。この章の知識はいろいろな事に応用できるので早めに読んでしまうのがおすすめです。

上記の2冊をひと通り読み終わると、iPhoneアプリの作成に必要な基本的な知識は身についているとおもいます。この段階まで到達してから、以下の書籍に取り掛かると、より高度なiPhoneアプリを開発できるようになります。

iPhoneSDK開発のレシピ

iPhoneSDK開発のレシピ

テクニックが詰まった一冊です。中級者向けの本になっています。標準のフレームワークや外部ライブラリについて触れています。本書籍内には多数のソースコード例が記載されているのですが、完全なアプリケーションとして紹介されているわけではありません。そのため、iPhoneアプリの開発に慣れていない人だと、サンプルを実行するにも一苦労すると思います。また、掲載されているサンプルでどういったアルゴリズムを使っているかは部分的にしか解説されていないため、ソースコードを読み解く力がない人には向かない1冊です。ですが、たくさんのテクニックが書かれているので、入門書から脱出したい人にとっては非常に重宝すると思います。

iOSデバッグ&最適化技法 for iPad/iPhone

iOSデバッグ&最適化技法 for iPad/iPhone

iPhoneアプリのデバッグ手法に特化した書籍です。iPhoneアプリでは、メモリ管理を自分で行う必要があります。なので、メモリ管理がうまく出来ていないとメモリリークやエラーの原因になります。この本では基本的なデバッグ方法から、メモリーリークを検出するデバッグ方法などについて学ぶことが出来ます。

iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック

iOS SDK Hacks ―プロが教えるiPhoneアプリ開発テクニック
こちらもOreillyの本です。こちらは先程の入門書のOreilly本とは異なり、iOSの利用テクニック集です。「iPhoneSDK開発のレシピ」よりもコアな部分が書かれており、パフォーマンスチューニングや課金システムに関しての項目は重宝しました。中級〜上級者向けの内容になっています。

これらの本に関して共通して言えることは、すべてInterfaceBuilderを利用しないガッツリアプリを書きたい人向けになっている事です。プログラミング初めて・iPhoneSDKってどんなものか触ってみたいといった人にはあまり紹介できない内容だと思います。また、個人的に一番参考になったものはO’REILLYの「iPhone SDK アプリケーション開発ガイド」です。これ一冊でほとんど網羅されているので、取り敢えず持っておくと役に立つと思います。是非参考にしてみてください。

iPhoneアプリ開発ではUITableViewを利用する場合が多々あります。そこでちょっと変わったUITableViewの使い方を紹介します。

TableViewを回転させる

標準ではセルが上から下にかけて並んでいますが、TableViewを回転させることで任意の方向にセルを配置することが可能です。

通常のTableView

90度回転させたTableView

90度回転させたものは中に入っているTexLabelも回転させています。Viewを回転させるにはCGAffineTransform構造体を利用します。

1
2
3
4
5
- (void)viewDidLoad {
CGAffineTransform rotate = CGAffineTransformMakeRotation(-90.0f * (M_PI / 180.0f));
[self.view setTransform:rotate];
[super viewDidLoad];
}

CGAffineTransformMakeRotationで回転行列を設定できます。ここでは、90度左に回転させるために−90度を設定しました。CGAffineTransformMakeRotationで指定できる角度はラジアンです。また、その値をUIViewのsetTransformというクラスメソッドに渡すことによって、回転させることが出来ます。また、90度以外にも中途半端に回転させることも可能です。

中途半端に回転させた図

加速度センサとの融合

これだけだとちょっとつまらないので、加速度センサと組み合わせてみました。iPhoneを傾けると、次のページ(セル)に移動するサンプルを作成してみました。

傾きを検知してスライドするサンプル

このプログラムはXcodeのデフォルトのUITableViewControllerのものを利用しております。RootViewController.mの実装は以下のとおりです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
//RootViewController.h
#import
@interface RootViewController : UITableViewController {
NSMutableArray *cellList;
int rotateRad;
int indexRow;
UIAccelerationValue speedX_;
UIAccelerationValue speedY_;
UIAccelerationValue speedZ_;
}
@end

//RootViewController.m
#import "RootViewController.h"

@implementation RootViewController
- (void)viewDidLoad {
cellList = [[NSMutableArray alloc] initWithObjects:
@"P1",
@"P2",
@"P3",
@"P4",
@"P5",
@"P6",
@"P7",
@"P8",
@"P9",
@"P10",
nil];

indexRow = 0;
CGAffineTransform rotate = CGAffineTransformMakeRotation(-90.0f * (M_PI / 180.0f));
[self.view setTransform:rotate];
[self.tableView setScrollEnabled:NO];
[super viewDidLoad];
}

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
speedX_ = speedY_ = 0.0;
UIAccelerometer *accelemeter = [UIAccelerometer sharedAccelerometer];
accelemeter.updateInterval = 0.5;
accelemeter.delegate = self;
}

- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
UIAccelerometer *accelemeter = [UIAccelerometer sharedAccelerometer];
accelemeter.delegate = nil;
}

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
speedX_ = acceleration.x;
speedY_ = acceleration.y;
speedZ_ = acceleration.z;
rotateRad = 90+atan2(speedZ_,speedX_)*180/M_PI;

if(rotateRad>30) indexRow++;
else if(rotateRad<-30) indexRow--;
if(indexRow<0)indexRow=0;    if(indexRow>=[cellList count]) indexRow = [cellList count]-1;
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:indexRow inSection:0];
[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

// Customize the number of sections in the table view.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [cellList count];
}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

// Configure the cell.
CGAffineTransform rotate = CGAffineTransformMakeRotation(90.0f * (M_PI / 180.0f));
[cell.textLabel setTransform:rotate];
cell.textLabel.text = [cellList objectAtIndex:indexPath.row];
return cell;
}

- (void)dealloc {
[cellList release];
[super dealloc];
}

@end

ポイントは加速度センサから得られた値をもとに傾きを検出しています。今回はiPhoneを左右に30度傾けた時にセルの移動をするようにしました。また、色んなものと組み合わせれば面白いものができそうですね。