特集

“IT 勉強会スタンプラリー”で行く、全国コミュニティ探訪 第4回

“スマートフォン勉強会”(東京・新宿)

(12/10/18)

“IT 勉強会スタンプラリー”“IT 勉強会スタンプラリー”

 “IT 勉強会スタンプラリー”に参加する勉強会を訪ねる本企画。第4回となる今回は、10月13日に東京都・新宿区にあるニフティ(株)のセミナールームで開催された“スマートフォン勉強会@関東 #21”に参加した。

MEMO“IT 勉強会スタンプラリー”とは?

 “IT 勉強会スタンプラリー”とは、日本各地で開催されるプログラミングやインターネット技術に関する勉強会に参加してスタンプを集めるイベント。3月31日から開催されており、開催期間は来年の3月31日までの1年間。参加費は無料で、イベントに加盟する勉強会に参加してスタンプの台紙をもらえばだれでも参加できる。

 各コミュニティは北海道から九州に至るさまざまな地域で活動しており、取り扱うジャンルも、プログラミング言語、フレームワーク、データベース、開発技法など、非常に多岐にわたる。自分の知識や能力を伸ばしたい人や、同じ話題を語り合える仲間を探したい人、会社や業界の垣根を超えた人脈を作りたい人にはもってこいのイベントと言えるだろう。

スマートフォン勉強会とは?

今回の勉強会を取り仕切った和田健司(@ch3cooh)氏今回の勉強会を取り仕切った和田健司(@ch3cooh)氏

 “スマートフォン勉強会(通称:すまべん)”は、その名の通り“スマートフォン”の使い方やアプリケーションの開発方法を学ぶ勉強会だ。2009年からほぼ隔月で開催されており、関東・関西を中心に全国各地で活動している。

 勉強会を立ち上げた当初は、スマートフォンそのものがまだ一般的でなく、PDA端末や「Windows Mobile」搭載端末を中心に扱っていたが、iPhoneの発売でスマートフォンが一気に普及し、当初掲げていた『スマートフォンを普及させる』という設立理念はその役目を終えつつある。

 だが、“すまべん”の目標はそれだけでない。

 ひとつは、さまざまなプラットフォームの開発者を繋げること。かつてはWindows Mobileぐらいしか選択肢がなかったスマートフォンプラットフォームも、今ではiOS、Android、Windows Phone、BlackBerryなどと非常に多彩になっている。一方で、開発者が手慣れた・愛着のある単一のプラットフォームに固執してしまったり、ほかのプラットフォームに関する情報に疎くなってしまうことも多くなってきた。

 そこで“すまべん”では、ジャンルをスマートフォンに限定しつつも、プラットフォームに関しては制限を設けていない。ほかのプラットフォームにも視野を広げることでプラットフォームに依存しないノウハウや問題点を共有したり、仕様の標準化・共通化にも興味をもち、学習していく場になっているのだ。

 また、ユーザーと開発者を繋げることも重要な目標のひとつだ。

 スマートフォンアプリの“開発者”が多数参加しているのはもちろん、OSやアプリのカスタマイズ、ハードウェアの分解や改造が好きだという個性あふれるマニアックな“ユーザー”の参加も少なくない。

 これまで本特集で紹介した勉強会は、どちらかというと開発者限定といったイメージが強い。しかし、“すまべん”は開発者とユーザーが交流し、意見を交換する場になっているため、スマートフォンが大好きならば開発者のみならず、ユーザーとして参加しても楽しめる。

セッション

Jenkinsのある生活、ない生活

numa08(@numa08)氏numa08(@numa08)氏

Jenkinsのある生活、ない生活Jenkinsのある生活、ない生活

 最初のセッションは、numa08(@numa08)氏による“Jenkinsのある生活、ない生活”。サブタイトルに“めんどくさいことはやらない”とあるように、「Jenkins」を導入してスマートフォンアプリの開発で楽をしようというのが主旨だ。

 「Jenkins」というのは、難しくいうと“Continuous Integration(CI:継続的インテグレーション)”のためのサーバーで、主にソースコードの管理、ビルド、テストを自動化して、常に・最新の・動作するバイナリへアクセスできるようにするものだ。Webユーザーインターフェイスが用意されており、比較的容易に利用できる上、プラグインが豊富で自由に機能拡張できるのもメリット。

 本セッションでは、Windows Phoneアプリの開発に「Jenkins」を利用した実践的なデモが用意されており(ただし、録画)、「Git」レポジトリを監視し、変更があれば「MSBuild」でバイナリ(XAPファイル)へビルドし、同時にエミュレーターで動作をテスト、「Jenkins」のWebユーザーインターフェイスでテストレポートと最新のバイナリへアクセスできるところまでをわかりやすく説明してくれた。

 日本で発売されているWindows Phone端末は現状、一種類しかないが、いずれ機種が増えてくれば、こういったテストを自動化できるシステムは重宝するだろう。また、プロジェクトが大規模になって参加する開発者が増えたり、ソースコードやリソースが肥大化したり、プラットフォームごとにバイナリが複数生成されたりする事態になれば、「Jenkins」の活躍の場はますます広がるはずだ。

使わなくなったiPhone 3GSにAndroidとか色々入れてみたかった

ZUN.jp(@zunjp)氏ZUN.jp(@zunjp)氏

使わなくなったiPhone 3GSにAndroidとか色々入れてみたかった使わなくなったiPhone 3GSにAndroidとか色々入れてみたかった

 Androidがほしいが、買うお金がない、しかし手元に使わなくなったiPhone 3GSがある。スマートフォン好きならば、そんな人も少なくないのではないだろうか。プライベートではストリートダンスやDJを趣味とする“ストリート系エンジニア”、ZUN.jp(@zunjp)氏もその一人。2番めのセッションは、そんなZUN.jp氏による不要になったiPhone 3GSをAndroidへ蘇らせようという試みだ。

 「OpeniBoot」は、iOSとAndroidのデュアルブート環境を構築するブートマネージャーで、「iDroid」はiPhone上で動作するAndroid OS。どちらもオープンソースで開発されている。この2つを組み合わせれば、iPhone 3GSでもAndroidが利用できて、なおかつ今までどおりiOSも利用できるはず。

 残念ながら結果的には失敗してしまい(「OpeniBoot」がiPhone 3Gまでしか対応していなかったため)、セッションタイトルが“使わなくなったiPhone 3GSにAndroidとか色々入れてみた。”から“使わなくなったiPhone 3GSにAndroidとか色々入れてみたかった”になってしまったが、調査の過程で得られた情報がわかりやすく整理されていたのが印象的。『あとでスライドを公開してほしい』という要望が多く寄せられていた。プロジェクトの現状や、類似プロジェクトの動向についての報告も興味深かった。

 ただし、これを実践する場合はあくまで自己責任で。

わたしのアプリ開発考

狩野太郎(@NowPrinting)氏狩野太郎(@NowPrinting)氏

わたしのアプリ開発考わたしのアプリ開発考

 続いてのセッションは、狩野太郎(@NowPrinting)氏による“わたしのアプリ開発考”。

さまざまなプラットフォームでの開発経験のある狩野氏さまざまなプラットフォームでの開発経験のある狩野氏

 狩野氏は、数多くのアプリケーションを、さまざまなプラットフォーム(Palm、Windows、Windows Mobile、Windows Phone)でリリースしている。その開発過程で考えた、“よいアプリ”を開発するために考えたことを紹介してくれた。

 たとえば、Palmアプリ「かれすけDA」ではカレンダーの操作方法に工夫を凝らし、“予定の呼び出し”と“日付の反転操作”という2つの機能を日付のフリックだけで行えるようにした。

 しかし、これに『わかりにくい』という意見が寄せられ、最終的に操作の切り替えボタンを設けることになった。開発者がよかれと思って実装した機能であっても、その操作が“特殊”であれば学習コストが高く、ユーザーに受け入れてもらうことはできない。

 この“特殊な操作にしない”という考えは、何もこのアプリに限ったことではなく、誰もが役に立てることのできる考え方だ。

 ほかにも、マウス操作とキーボードショートカットのどちらかでしか使えない“見えない機能”を作らない、一手間加えてよく使う操作をより簡単にアクセスできるようにする、なにかひとつ“目玉機能”を用意してほかのアプリケーションとの差別化を図る、といった氏が普段心がけていることを共有してくれた。

著作権の勉強しながら図鑑アプリ作った

北村久雄(@kitamurahisao)氏北村久雄(@kitamurahisao)氏

著作権の勉強しながら図鑑アプリ作った著作権の勉強しながら図鑑アプリ作った

 最後のセッション“著作権の勉強しながら図鑑アプリ作った”を担当してくれたのは、北村久雄(@kitamurahisao)氏。

 氏は根っからの『猛獣好き』とのことで、「猛獣図鑑」というAndroidアプリを開発しようと思い立った。しかし、図鑑アプリには写真や説明文が必要だ。説明文の問題は自力で書くことでクリアしたが、猛獣の撮影だけは自分で行うわけにもいかない。そこでほかの人が撮影した著作物を利用したいが、そこで問題になるのが“著作権”だ。

 セッションでは、“(日本における)著作権とは何か”、著作権を保護する仕組み“ベルヌ条約”と“万国著作権条約”の違い、著作権の問題点と“クリエイティブ・コモンズライセンス(CC)”などが取り上げられた。

 図鑑アプリに限らず、データやコンテンツを二次利用するアプリの開発者にとって、著作権は避けて通れない問題。セッションの質疑応答では、活発な意見交換が行われた。

図鑑アプリによるマネタイズ図鑑アプリによるマネタイズ

 最後には、開発した図鑑アプリを利用した“マネタイズ”(お金稼ぎ)で工夫した点も披露された。残念ながら、現在のところその試みは結実していないようだが、『アプリを汎用的なフレームワークとして売り出せばどうか』などの多くの意見が会場から寄せられ、本人も乗り気であるようだった。開発者も霞を食べて生きていけるわけではないので、ぜひ成功を掴んでほしいところだ。

ライトニングトーク&懇親会

 通常のセッションのあとは、おなじみライトニングトーク(LT)大会だ。LTとは短い持ち時間(通常は5分)で好きなことを語る短いプレゼンテーションのこと。

 通常セッションの枠を使うほどではない小ネタや、勉強会の趣旨とは少し離れた身の上話でも、LTならば自由に話すことができるので、『セッションをやってみたいけど、慣れないし不安だ』という人でも気軽に参加できる。すまべんでは事前に参加申込みをしなくても、時間に余裕さえあれば飛び込みでの参加が許されているようだ。

 ただし、万が一時間が足りなくても、そこでプレゼンテーションは終わり。短い持ち時間でネタをまとめるのは想像以上に難しいので、事前の準備は大切だ。

さっそく“iPhone 5”を分解して、内部構造上“残念”な部分を指摘する技適プリンス48(@gitekiprince)氏さっそく“iPhone 5”を分解して、内部構造上“残念”な部分を指摘する技適プリンス48(@gitekiprince)氏さっそく“iPhone 5”を分解して、内部構造上“残念”な部分を指摘する技適プリンス48(@gitekiprince)氏

でみっち(@demicchi)氏は宅配便の発送状況を調べるIRC BOTを作成。ソースコードはPHPで1万行超えでみっち(@demicchi)氏は宅配便の発送状況を調べるIRC BOTを作成。ソースコードはPHPで1万行超えでみっち(@demicchi)氏は宅配便の発送状況を調べるIRC BOTを作成。ソースコードはPHPで1万行超え

Taro Matsuzawa aka. btm(@smellman)氏Taro Matsuzawa aka. btm(@smellman)氏

ARアプリを簡単に開発するライブラリ「Wikitude」とダイエットについての二本立てARアプリを簡単に開発するライブラリ「Wikitude」とダイエットについての二本立て

急にLTを押し付けられた@tmyt氏は、Androidの標準ブラウザーで気に入らない新規タブ周りの処理を改造するセッションスライドを15分程度で作成急にLTを押し付けられた@tmyt氏は、Androidの標準ブラウザーで気に入らない新規タブ周りの処理を改造するセッションスライドを15分程度で作成急にLTを押し付けられた@tmyt氏は、Androidの標準ブラウザーで気に入らない新規タブ周りの処理を改造するセッションスライドを15分程度で作成

 そのあとは、参加者全員で後片付けをした後、場所を移して懇親会が行われた。“懇親会”と言えば追加的・番外編といったイメージを受けるが、“さまざまなプラットフォームの開発者を繋げる”“ユーザーと開発者を繋げる”という目標を掲げた“すまべん”にとって、重要度はセッションでの発表・学習と勝るとも劣らない。

 勉強会のセッションはUstreamでリアルタイム配信されており、内容に触れてみたい人や、遠方で参加できない人はそちらを視聴してもよいだろう。しかし、せっかくアプリの開発者に直に会って感想や要望を伝えられるチャンスでもあるので、積極的に参加したいものだ。

(柳 英俊)