ガジェット

キバンインターナショナルは多国籍、個性溢れる若者の、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 アプリケーション開発ガイド」です。これ一冊でほとんど網羅されているので、取り敢えず持っておくと役に立つと思います。是非参考にしてみてください。

iPad仕事術 ただいま予約受付中です。

CATEGORIES iPad, 書籍・本by.o.nakamura0 Comments2011.02.07

キバンインターナショナル西村正宏 と ビーンスター株式会社 鶴野 充茂氏の共著「iPad仕事術」(3月2日発売予定)がiPad仕事術“>Amazonで予約可能になっていましたので紹介します。

iPad仕事術 3月2日発売予定です。

iPad仕事術 内容紹介

iPadを持って外に出よう!
ベストセラー『頭のいい説明「すぐできる」コツ』著者が送るクラウド時代の仕事術。
iPadを使ってすきま間時間を有効活用し、仕事を加速するためのノウハウを満載。

一部のマニアのみならず幅広いユーザーを獲得しつつあるiPad。
ノートPC市場を脅かすほど急成長する一方で、
購入した人々の間では、

「iPadを買ったけど、ひとつ使いみちがわからない」
「いろいろ使ってみているけど便利さを感じない」

という声もしばしば聞かれる。しかし、それは実にもったいないこと。

いいアプリとの出合いや、ほんのちょっと設定をいじるだけでも
iPadは見違えるように魅力的なツールに早変わりする。

「すき間時間に仕事が進む」
「プレゼンに差が出る」
「おもしろいようにアイデアが湧き出る」

など、iPadに秘められた可能性は無限に広がる。

パソコンでもスマートフォンでもないこのデバイスを
自分のワークスタイルに無理なく取り入れる方法にはどうすればいいのか?
そのために役立つツール、サービスは何を知っておけばいいのか?

ビジネスコミュニケーションの達人として知られる鶴野氏と、
ITビジネスの専門家としてデジタルガジェットに造詣の深い西村氏の二人が
試行錯誤の中から選び抜いた「本当に使える知恵」を一冊に凝縮。
初心者からマニアまで、iPadを活用して最大限に効率を上げるためのノウハウを伝授する。

iOS4にも完全対応。
バージョンアップしても古びない「バイブル」と呼べる一冊。

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度傾けた時にセルの移動をするようにしました。また、色んなものと組み合わせれば面白いものができそうですね。

SmartBrainは携帯電話からも利用することができるeラーニングシステム(LMS)です。では、実際に携帯電話でアクセスするとどのように見えるのでしょうか。
きばらじ勉強部屋(http://10000.bz/kibaraji/)をエミュレータで確認してみましょう。

携帯電話エミュレータについて
ここでは、FireFox用のアドインであるFireMobileSimulaterを利用してみます。キバンインターナショナルの開発拠点である函館研究所では、有料の高級製品を利用しているそうですが、このFireMobileSimulaterも無料のクセになかなか使える素敵なヤツです。インストール方法は、FireFoxを利用して、FireMobileSimulaterのサイトからダウンロードすればO.Kです。

 

SmartBrainにアクセスしてみる

ログイン画面。IDとpassを入力します。

 

メインメニューです。携帯電話向けのコースを受講してみます。

 

 

携帯電話向けコースの中身(SCO)一覧です。

 

dropbox理解度テストを開いてみました。

 

設問に回答しているところ。

 

解答へのフィードバック(正解/不正解)が表示されています。

 

最後まで解答して、合格/不合格の判定

 

受講後、SCO一覧に戻りました。

 

履歴をクリックすると、受講履歴の表示です。

 

携帯電話は大抵の人が持っているので、PCが1人1台無い環境でもeラーニング環境を構築できるのがメリットです。(パケット代の負担をどう考えるか?など、別の課題はありますが)
また、表示面積が狭いので上記のような、テスト(試験)教材での利用が目立ちます。小テストなどを利用して、移動中やスキマ時間を活用する目的に利用しているのではないでしょうか。携帯電話でのeラーニング環境を構築可能なSmartBrainは、以下のURLから無料申し込みが可能です。

▼SmartBrain
http://smartbrain.info/

こんにちは。株式会社キバンインターナショナルの韓国チーム、蔡(チェ)です。
今回皆様にご紹介する内容は、韓国のeラーニング大学院のセミナーでご紹介された「ソーシャルラーニング(Social-Learning)とスマートラーニング(Smart-Learning)の背景」の特別講義のまとめです。

まず、【モバイルのビッグバンがもたらす3つの変化】についてです。前回(http://blog.elearning.co.jp/archives/14980.php)も、ご紹介しましたように、モバイルのビッグバンがもたらす3つの変化は、選別された情報が「私」に向かう、情報の波及力が無限に拡大、モバイル機器は、顧客の日常を盛っている生情報の報告を取り上げられます。

そして、社会環境の変化ですが、4つのカテゴリ、「ネットワークの社会」、「知識概念の変化」、「新たしい経済環境」、「活様式の変化」に分けてキーワードを考えてみたいと思います。

・「ネットワークの社会」には、小集団のコミュニケーションが登場し、大衆から多様への変化、Mobile、Ubiquitousの登場、Net世代の登場などがあります。

・「知識概念の変化」には、集団的知性(Collective Intelligence )、検索技術の発展、知識のたのの知識、イデアゴラ(Ideagoras)があります。

・「新たしい経済環境」では、ロングテール(long-tail)現象、デジタルプロシューマーの登場、取り引き費用の減少、マスメディア/マスマーケティングの崩壊などが考えられます。

・「生活様式の変化」では、ホモルーデンス/ホモサピエンス(Entertainment)の登場、社会的権威の変化、協業の強調、個人のオーダーメード型消費生活があります。

次は、社会環境の変化速度について、アルビン・トフラーの「富の未来」では、次のように説明しています。

では、情報技術の知識循環は、どのようになるでしょうか。

「情報環境の融合」は、第1世代は、「放送+通信」融合で、第2世代は、「放送+通信+コンテンツ」でした。では、第三世代の融合は何が加わると思われますか?第三世代は、「サービス」が加わって、「放送+通信+コンテンツ+サービス」の融合といえるでしょう。

また、情報技術の発展が、産業社会では「Hardward技術」でした。もちろん、次の情報社会になると「Softward技術」となりますが、これからの創造社会では、「Emotion技術」が重要となるでしょう。最後に、「複合的な思考の必要」が強調される社会の変化についてです。


現在、株式会社キバンインターナショナルでは、PCでも、SmartPhoneでも学習と管理ができる「eラーニング学習管理システム(LMS)」【SmartBrain】(http://smartbrain.info/)を皆様に提供しています。
PCだけではなく、スマートフォンなどを利用し、スマートラーニングを実現していと思っているお客様、是非弊社までご連絡ください。こちらのお問い合わせフォームからお問い合わせいただければ、弊社スタッフが迅速に対応させていただきます。

iPhone、Andoroid携帯電話向けのeラーニングシステムとして、SmartBrainというシステムを提供しています。お客様に「スマトフォン」という言葉を使って説明をすると、まだなじみがないのか、どうして「スマート」なんですか?という質問を受けることがあります。

説明の中の1つとして、今現在の機能、使い勝手だけでも十分に「賢い」スマートな電話であるけれども、買い換えをしないでも、アプリケーションを追加したり、電話機自体のソフトウェア(OS)がアップデートをして、どんどん「スマート」になっていくことを説明したりします。

iPhoneも、3G、3GS、4と、これまで3種類の機種がでていますが、3Gのころから、基本的な使い方は、同じでどんどん賢くなっています。近日中にアップデートされると言われているiPhoneの4.3の操作、マルチタッチの機能について紹介されているビデオがYoutubeにアップされていましたので、どのように「賢く」なっていくのか、iPhoneをすでにお持ちの方は、一度、下記のビデオをご覧になってはいかがでしょうか。

Youtubeで、大学の講義の様子を集めた専用チャンネル(YouTube EDU)は、無料で利用できるeラーニングといってもいのではないでしょうか。。授業だけではなく、キャンパス紹介なども収録されています。(スタンフォードやMITの講義も含まれています。)

世界の大学の講義を、PCやiPhone、GooglePhone、携帯電話でみることが実現しつつあります。いつでもどこでも学びたいときに学ぶ、というeラーニングの理想形が、少しずつ実現されています。私たちキバンインターナショナルは、いつでもどこでもeラーニングを利用するためのシステム・コンテンツに注力しつづけたいと思います。

YouTube EDU
http://www.youtube.com/edu?gl=JP

いつでもどこでもeラーニングが利用できるようになるには、完全にシステムがオフライン対応版になるか、出先でも自宅やオフィスのようにブロードバンドで接続される必要があります。

出先で高速接続ができるように、常に投資を志津つけてきました。最近、私自身は、Wimax(日本電気 モバイルWiMAXルータ AtermWM3500R プラチナブラック PA-WM3500R(AT)Bと、DoCoMoもモバイルルータ(BUFFALO ポータブルWiFiルーター Portable Wi-Fi DWR-PG
)を持ち歩いています。以前は、eモバイルのルーターを持ち歩いていたので、同時に3つのルーターを持ち歩いていた時期があります。

基本的には都内であれば、Wimaxで利用して、地下鉄やWiMaxが入らない地方であれば、電波のエリアが広いDoCoMoのルータを持ち歩いています。eモバイルは速度の遅さと、すぐに帯域制限がかかって使い物にならないため、最近は放置して持ち歩かず、最低料金だけを支払っていました。

ところが最近、eモバイルが、DC-HSDPA規格(下り最大:42Mbps*2、上り最大:5.8Mbps*2)に対応というD41HWを発売しており、もしかして最強のモバイル環境では、、、と気になっていました。

eモバイルの42MB対応のモバイルルーター D41HW

eモバイルの42MB対応のモバイルルーター D41HW

同じことを気にしているユーザーも居るもので、山手線の全駅で、WiMAXと、eモバイルのどちらが早いかを検証したサイトがありました。

WiMax VS. eモバイルの対決は、WiMaxの圧勝!

WiMax VS. eモバイルの対決は、WiMaxの圧勝!

快適にアプリケーションを使ってもらうためには、最適なメモリー管理と動作のボトルネックを解消することです。

最適な学習環境を提供するために、SmartBrainはメモリー管理こそ無いものの、パフォーマンスチューニングを日々行っています。
実は、使いやすい・気持ち良い ・楽しいは学習にかかわらず仕事でも重要ですよね。

今回は、iPhoneの開発で利用するLeaksについてちょっとした使い方をまとめます。
memory warning Level=**みたいなものが出てるそこのあなた!!
Leaksを使ってメモリーリークを解消しましょう。

(次回はTime Profilerについての予定)
それでは、まずXCodeを起動してLeaksを実行しましょう。
(当然何かしらのプロジェクトを開いてないと実行できません)



実行をひらきましょう



パフォーマンスツールを使って実行からLeaksをクリック

すると以下のような画面が立ち上がります。
(通常立ち上がりと同時にシミュレータとサンプリングが開始されます。)



Leaks起動数秒後

起動しただけなのに、もう漏れてますね。これはいけません。メモリーリークがあると、”落ちる”減少が頻発します。またNSUserDefaultsに正しく保存できないなど、 百害あって一利なしです!

それでは、メモリーリークを根絶しましょう。画面左側の「水道管が破裂」したようなアイコンのあるエリアをクリックしましょう。すると以下の画面に変わるはずです。



左上のLeaksボタンを押すとこのような画面になります (右ペインは画面上部のViewの一番右を押しましょう)

完全にリークしてますね。右ペインには下から main -> TopMenu…. -> ViewCon….とメモリーリークを起こしている部分までのつながりが表示されています。 (人形の黒いアイコンが付いているものがユーザー定義の関数です)それでは、右ペインの ViewController4 viewDidLoadを見てみましょう。



メモリーリーク箇所を特定

NSMutableArrayが66.7%も漏れていますね。 きっとreleaseのし忘れでしょう。といった具合に リークしている可能性がある箇所を分かりやすく表示してくれるのがLeaksです。

ちなみに、メモリーリークチェックはデフォルトで10秒置きに起動します。すぐにチェックしたい!という人はしたの画像に有るように「Check for Leaks Now」を押してあげるとすぐにチェックしてくれます。



すぐにメモリーリークをチェックしたい場合

地道にメモリーリークは潰していくしかありませんね。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ