Hatena::ブログ(Diary)

Over&Out その後 このページをアンテナに追加 RSSフィード Twitter

2014-08-29

とあるシングルスタックエンジニアの生存戦略

昨日『好きなことで生きるエンジニアを知る(Part2)』というイベントで登壇してきました。「どうやったらおもしろく働き続けられるか?」みたいなテーマなので本記事タイトルにある「生存戦略」とはちょっと違う印象を持たれるかもしれませんが、おもしろくないと生きていてつらいので、僕としては合ってるかなと。


もともとはスライドとか用意する必要なくて、聴講者含めてのディスカッション形式でやりましょうと主催の方には言っていただいてたのですが、僕の場合は準備なしでしゃべるとグダグダになるので、一応自分の考えぐらいは整理しとこう、ということでスライドを用意しました。



で、ここまで20分ぐらいで、あとは撤収までエンドレスで参加者の方々からの質問に答えていきつつ内容を補完する形式でした。


Q&Aのメモ

参考までに、参加者の方はフリーランスと会社員が半々ぐらい、エンジニア/非エンジニアの割合も半々ぐらいでした。


下記以外にもたくさんあったので、思い出したら追記していきます。


f:id:shu223:20140829182530j:image:w600

(当日のホワイトボード)


Q: お金は出ないけどおもしろい/スキルや実績は得られる仕事ばかり続くときはどうしてますか?

A: 基本的に、フリーランスとして受ける場合の「おもしろい仕事」「スキルや実績を得られる仕事」には、お金も自然とついてくると思っている。


例えば、WHILLみたいなプロダクトは、調達もしっかりできる企業じゃないと絶対につくれないし、良いメンバー(各分野のプロ)も集めてこれないといけない。Moffもしかり。


というわけで実際にはフリーになってからはお金の面でもとくに妥協はしていない。自分がお金の面にはこだわらず、スキルや実績を積んでいったのは主に会社員(カヤック)時代もしくは その前 の話。


Q: iOSだけじゃ厳しいんじゃないの?

A: そう思います。僕がやりたいのは「ずっとiOSで食べていくこと」じゃなくて「その時々の興味あることで食べていくこと」なので、時代の流れに合わせて興味も移っていって、やってることもシフトしていってると思います。


Q: 将来設計は?ずっとフリーランスでやっていくのか?

A: そこはとくに考えてないです。というより、そこを決めずにその時々の時流や心境の変化に応じて自分の立場も変えていくのが理想です。


Q: 相手の目利きはどうしてるのか?

わらしべ長者方式で、間違った交換をしないという所で、相手のことを見抜く目利きが重要な気がするけど実際の所どうなのか?)


A: 自分は「初対面でその人がどんな人かわかる」みたいな能力は全然ない。ただ自分にとっておもしろい仕事を選んだ場合、それをやってる人もだいたい自分と合うことが多い。


Q: 奥さんに反対されないですか?

A: 奥さんは全然インターネットの世界や技術に興味のない人だが、日々、今はどんな人とどんな仕事やってて、何があったとかどう思ったとかを話すようにしている。


仕事について話すのはなかなか面倒なところもある(難しい)ので、そこをさぼってて、ある日突然「独立したい」とか言い出すとそりゃ不安にもなるのかなと。


うちの場合は日々の心境や状況を共有できているので、一見突飛な行動も自然な流れの中にあるから理解してもらいやすいのかなと思っています。


Q: ブログの更新頻度は気にするか?どうテーマ選びしているか?

A: 更新頻度は気にしていないです。僕のブログは「固定読者が毎日見に来る」というタイプじゃなくて、技術記事はググって出てきたときに見られるものだし、海外に行ったとかの話 はシェアされてTwitterやFacebookのタイムラインから見に来てくれるものなので。


テーマ選びについては、自分が仕事でやっていきたい分野(例:BLE)についてはちょっとでもかじるだけでも積極的にブログに書いて、あんまりやりたくないところとかはノウハウあっても逆に書かなかったり、とかはあります。


始めた当初は読者もいなかったので、特に意識はしてなくて、日々の開発の中で出てくるメモをひたすらアップしてた感じです。


Q: ブログ書いてて途中で飽きることはない?

A: めちゃめちゃあります。しっかり書いてて途中で飽きてお蔵入りになる記事の方が、アップする記事の10倍ぐらいあると思います。


おわりに

この「わらしべ長者方式」は以前ブログに書いたときに全然反応なくて、唯一反応してくれたのが今回の主催の小山田さんで、個人的には「どのあたりが疑問に思ったのか/共感できなかったのか」ということを知りたかったので、今回のディスカッションベースの会は非常に有意義でした。


そもそも「わらしべ長者」っていうメタファーのチョイスが失敗してる気もする(もっといい案があればぜひお願いします)し、結局肝心なところは「がんばるしかない」としか言ってなくてあんまり参考にならない感もあります。


とはいえ僕がいまはわりと自由度高く好きなことをやって食べられるようになっているのは事実で、しかも 最初からプログラムがバリバリできたわけじゃない ので、他のみなさんにも参考になるような部分がきっとあるんじゃないかなーと思いつつ、こういうテーマでの話は今後もブラッシュアップしつつ続けていきたいと思っています。



で、キャリア繋がりで、来週9/6(土)にこんなイベントにもパネラーとして登壇します。


挑戦するエンジニアを応援する! 〜大企業を飛び出したエンジニアの実体験トークイベント〜 - 挑戦するエンジニアの応援チーム | Doorkeeper


あんまりストレートに言うのがはばかられるところもあるのですが、僕なりにこのイベントの趣旨を平たく言うと、「大企業を飛び出したいけど迷ってる方々 *1 の背中を押します」ということかなと。


パネルセッションだけじゃなく、ざっくばらんに話せるブースセッションもあり、ビールもでるそうなので、ぜひ!


*1:大企業じゃなくても、ちょっと思い切ったキャリアチェンジをしたい人

2014-08-14

真鍋大度さんとの初仕事 "music for the deaf" 振り返り

昨日「ヨコハマ・パラトリエンナーレ2014」の特別イベントとして、 SOUL FAMILY × 真鍋大度 + 石橋素 + 照岡正樹 + 堤修一 名義で、『music for the deaf プレゼンテーション』を行いました。


先日書いた記事『音楽に合わせて電気を流すiOSアプリ - Over&Out その後』で紹介した、「耳の聴こえないダンサーが、音楽を「感じ」ながらダンスをするためのデバイス&アプリ」を使って、聴覚障害のダンサーチームが実際にその場で電気刺激だけでダンスをする、というものです。


f:id:shu223:20140814072519j:image:w400

電気刺激デバイス(通称ピリピリデバイス)


申し込み制のイベントだったのですが、定員に対して倍以上の応募があったそうで、大盛況のうちに終わりました。


現在、当日の動画やインタビュー、各種技術説明等を含むアーカイブサイトが制作されているそうで、詳細はそちらに期待しつつ、ここでは個人的な目線から振り返っておきたいと思います。


参加の経緯

電気刺激を用いたさまざまな試みは真鍋さん、石橋さん、照岡さんが従来からやってきたことで、今回の新規開発のテーマは 「ポータブル化」 (ダンサーが身につけられるようにする)でした。


で、iOS & BLE でポータブルにしたいということで、真鍋さんよりメールをいただいたのが、今年の4月。

耳が聞こえないダンサーのために
電気刺激のデバイスを制作したいなと考えております。
PC版は出来ているのですが、iOS BLE版を作成したいです。

もともと iOS × デバイス with BLE は僕がいま一番興味がある技術分野だし、このプロジェクト自体は「情熱大陸」で見て知っていて、すごくインパクトのあった部分だったので、超二つ返事でお受けしました。


で、その後しばらく動きはなく、6月後半になって「ピリピリデバイスBLE版」(詳細後述)が完成し、ライゾマオフィスに行ってそれを受け取ってからアプリの制作を開始した、というのが大まかな参加の経緯です。


(余談:もっと昔の経緯)

真鍋さんは超々有名クリエイターなので、同業な方々から、一緒にお仕事させてもらえるようになった「そもそもの経緯」を聞かれることがあります。


きっかけは非常にシンプルで、「僕がライゾマの求人に応募した」というのが最初です。


昨年末、日本に帰国して今後の身の振り方に迷っていたころにちょうど「スマートフォンエンジニア」という枠で Rhizomatiks が募集をかけていて、真鍋さん/ライゾマに興味があったので、応募。


その後TVで「情熱大陸」を見て、(影響を受けやすい僕は)ものすごくテンションがあがり、翌朝にはまだ何も決まってないのに当時所属していた会社のCEOに退職したい意志をメール、その1ヵ月後ぐらいの面接で初めて石橋さんと真鍋さんにお会いし、10分しかない面接の中で、「採用には至らないとしても、iOS 絡みでは確実にお役に立てると思うので、ぜひぜひぜひお声がけください」とアピールし、その後実際に採用には至らなかったものの(笑)、iOS が絡みそうな際になんとなく思い出してもらえるポジションを得た、というのが経緯です。


僕は iOS しかできないシングルスタックエンジニア(※スタックしてない)ですが、ひとつの技術に張り続け、発信し続けることでこういう役得もあるんだなーと。


ちなみに僕が真鍋さん/ライゾマさんに惹かれるポイントは、アート的なかっこいい側面よりも、まだ論文や研究開発の世界でしか知られていない尖った技術を発掘してきて、それを一般の人にもわかるキャッチーさで応用するというあたりです。今回の music for the deaf 然り、「表情を人工的につくれるか?/コピーできるか?」とかも然り。


つくったアプリ

ダンサー用アプリ、お客さんが疑似体験する用のアプリの2つを制作しました。


どちらもデモ用ということでデザイン面では凝ったことをせず、UIKitの標準コンポーネントをそのまま並べてUIを構成しています。


ダンサー用アプリ

音楽に合わせて電気を流すアプリ。MIDIファイルを解析し、再生に合わせてピリピリデバイス制御コマンドを生成、 BLE 経由で送信します。


f:id:shu223:20140814072602j:image:w240


ダンサーそれぞれのiPhoneにインストールして使用します。


f:id:shu223:20140814072643j:image:w400

(本番で使用したiPhone3台)


iPhoneとデバイスの距離が開いてBLE接続が切れる可能性があるので、今回はポケットに入れて踊ってもらいました。


観客用アプリ

ダンサーの感じている電気刺激を、iPhoneのバイブで擬似的に体感するためのアプリ。ダンサー用アプリと同じMIDIファイルを持っていて、曲に合わせてバイブを作動させます。


f:id:shu223:20140814072715j:image:w240


台数、会場インフラ、距離を考慮して、再生タイミングの同期には「音響透かし」という、非可聴域の音波を利用して、音に情報を埋め込む技術を利用しており、アプリを起動しておけば、自動的に会場BGMに同期して再生が開始されるようになっています。


音響透かしは、日本エヴィクサー社より技術提供いただきました。

iOS用のSDKが用意されていて簡単に導入できるので、こういうライブパフォーマンスでの多人数向け用途には非常にオススメです。


ピリピリデバイス

電気刺激デバイス(ピリピリデバイス)は照岡さんという、真鍋さんと古くから一緒にやっている方が制作されたもので、4chの電極を持ち、シリアル通信でそれらのon/offや電流の強度、周波数などを制御できるようになっています。


f:id:shu223:20140814072741j:image:w400

(ピリピリデバイス完全体)


上の写真の通り、BLE の部分は Konashi を使用していて、シリアル通信(UART)でコマンドを送るようになっています。


ダンサーはこれをケースにしまったうえで、伸縮性があって体に巻けるベルトのポケットに入れて身につけています。(ケースとベルトは石橋さん制作)


ピリピリデバイスのコマンド体系

ピリピリデバイスを制御するためのコマンドは次の4種類。UARTで送る1バイトのうち先頭2ビットがコマンド種別を示しています。

  • 0,0,T7,T6,T5,T4,T3,T2
  • 1,0,I7,I6,I5,I4,I3,I2
  • 0,1,T1,T0,L3,L2,L1,L0
  • 1,1,C1,C0,R3,R2,R1,R0

T7-T0:パルス周期

f=1/((T+1)*128*10^-6*2*2)

かなり細かく設定でき、アプリでも一応可変にしてあったのですが、今回のパフォーマンスでは最大周波数(一番刺激が鋭い)に固定して使用していました。


I7-I2:出力電流値

I(mA)=(((I/255)*(5-0.5))/100)*1000

これは人によって好みが全然違うので、ダンサーごとにそれぞれ設定していました。


C1,C0:出力電圧方向のコントロール
  • C1=1,C0=1 -> 出力全OFF
  • C1=1,C0=0 -> L(+) -> R(-)固定
  • C1=0,C0=1 -> L(-) <- R(+)固定
  • C1=0,C0=0 -> ±モード(通常モード)

今回は通常モード固定で使用。他のモードはこれから別の試みで使用する予定です。


L3-L0,R3-R0:出力電極ch選択

4組の電極と、MIDIの各トラックとの対応は、

  • ch0: キック
  • ch1: スネア
  • ch2: ハイハット
  • ch3: メロディ

となっていのですが、これもダンサーごとそれぞれ設定。すべてONにする人、キック&スネアの大まかなリズムだけを好む人等、それぞれ好みはバラバラでした。


あとch0(キック)については4拍目・8拍目だけ強くしてほしい、全部の拍を均一で、といった好みの違いもありました)


イベント全体のシステム構成

前回の記事にも書きましたが、システム構成はこんな感じになってました。


f:id:shu223:20140805084608p:image:w600


  • ダンサー用 app は母艦の MBP から OSC でコントロール
  • お客さん用 app は母艦が会場に流す BGM に埋め込まれた音響透かしにより、自動的に再生開始

あと、トラブル検知用に、ダンサーappからBLE接続状態を送信するようにしました。


母艦からのシステム全体の制御は真鍋さん作のMaxパッチで行っていて、照明の制御はDMXってやつらしいです。こちらも真鍋さんがコード書いてます。


f:id:shu223:20140814074402j:image:w300

(制御用パッチ。本番中の2曲目の最中に撮ったもの)


当日の様子

いままで自分がやってきた仕事と毛色が違って、その場限りの一発勝負なので、自分が出るわけでもないのに、それはそれは緊張しました。。練習やリハではBLE接続が切れたり、バッテリーが切れたりといろいろあったので。。


f:id:shu223:20140814072957j:image:w400

(オペレーション席)



結果的にはトラブルもなく、素晴らしいデモンストレーション *1 となりました。


f:id:shu223:20140814073027j:image:w400


ラストの、会場のBGMを完全に消して、ダンサーたちのステップと息づかいだけが聴こえる部分は神秘的ですらありました。



残りの時間は、キュレーターの難波さん+ダンサー佐山さん+制作の4人でのトーク。


f:id:shu223:20140814073055j:image:w400


壇上にいましたが、知らない技術や研究の話とかあって普通に聞いてておもしろかったです。


※観に来ていた友人が撮ってくれた写真なのですが、彼が座ってた席の都合上ステージ真横からの写真しかないので、真正面の写真をお持ちの方、ぜひご提供いただけると嬉しいです。



f:id:shu223:20140814081236j:image:w600

(撤収作業の後、そのまま会場にて打ち上げ)


真鍋さんについて

間近でお仕事させていただいて、いろいろと学びがありました。真鍋さんの仕事の特徴、印象に残ったエピソードなど。

切り替えが異常に早い

技術的にチャレンジングな案件を同時に何本もかかえながら、インタビューやTV取材、打ち合わせもひっきりなしにあって、いったいどうやってこなしているのか、不思議でしょうがなかったのですが、ライゾマオフィスでの動きを見ていて、ハッとしたことがありました。


何かのインタビューが終わり、「ありがとうございましたー」・・・席を立ち、自分の机に向かい、何かの箱をかつぐ・・・大きいテーブルの方へ・・・機材セットアップ開始・・・


インタビュー終わって、1秒の余韻にひたることもなく、席を立ったその足で次の実験へ移行してて、「これかー!」と思いました。僕ならコンビニにコーヒー買いに行って、立ち読みして、戻ってFacebookやTwitterみて、そのままインターネットの世界に吸い込まれ、数時間後にやっと仕事に戻る、ぐらいなのに。。

クレジットを大事にする

メディアとかは、とにかく有名な真鍋さんだけをフィーチャーしたがるわけですが(その方が楽だし、コンテンツ力高い)、そうならないよう注意喚起し、関わったメンバーをしっかり引き上げようとしてくれる印象があります。


今回の件も、iOS部分を手伝っただけの僕を、同列にクレジットしてくれたり、イベントのトークのときも元々真鍋さん、照岡さん、ダンサーの佐山さんだけがステージにあがる予定だったのを僕も上がるよう提案してくれたりしました。


そういう配慮は、あまり表舞台に出ることがないエンジニアとしてはとても嬉しいし、ぜひまたお仕事ご一緒したいと思うので、それが真鍋さんのまわりに各分野の一流クリエイターが集まっている理由のひとつかもしれません。

手を動かす

帰り道が一緒なので、会場でのリハ等のときはだいたい最終電車で一緒だったわけですが、そこから家に帰る真鍋さんを見たことがありません。だいたいそのあと打ち合わせが入ってて、スタジオとか、別の会場に向かわれます。あと、ギリギリまで練習に立ち会ってくれて、空港までタクシーで向かわれたりとか。


で、そんな超多忙な中でも、自分でコード書いたり、新しい技術の実験をしたり、ってことは絶対に欠かさない。


清水幹太さんとの対談で、

真鍋 さっき、幹太さんがわたしをうらやましいと言ってましたが、実はわたしにも同じような悩みがあるんですよ。担当する案件が増えて、自分で手を動かさない時間が長くなってきてるんです。また、優秀なメンバーが増えて来たので、わたしが直接作らなくても済むようになった。最初の設計以外はマネジメントばかりですね。このまま行ったらまずいかなと思ったので、わたし一人だけで動かすプロジェクトを作っていろいろと感触を確認しています。現場から離れて「上流」に行くと、クリエイターとしてダメになるんじゃないかという怖さは常にありますよね。

というくだりがありましたが、まさにこれを実践されている感じです。

現場で決まる

「直前に仕様変更が・・・」というレベルではなく、真鍋さんとの仕事の場合、ほとんどのことが現場でリアルタイムに決まっていくので、その場でパパッと要求に応える速さと引き出しの多さが要求されます。その場でできないなら、せめて代替案だけでもサッと出せる必要がある。


そういうスピード感、当日になって何が急に降ってくるかわからないスリル感もご一緒してて楽しい点のひとつでした。(現場仕事はどれもそういうものなのかもしれませんが。。)


まとめ

とにかく無事に終わってよかったです。SOUL FAMILYの皆様、真鍋さん、照岡さん、石橋さん、手話通訳の和田さん、象の鼻および運営の皆様、見に来てくださった方々、どうもありがとうございました!!!!


関連記事


*1:ちなみに「ライブパフォーマンス」とかではなく、「デモンストレーション」「プレゼンテーション」と銘打っているのは、まだプロジェクトとしては途上段階であり、今回は中間報告的な位置づけであるためです。

2014-08-05

音楽に合わせて電気を流すiOSアプリ

先日『2014年5月〜7月にやったお仕事のまとめ - Over&Out その後』でちらっと書いたのですが、最近のお仕事のひとつとして、音楽に合わせて電気を流すアプリを開発しています。


(開発中の風景 in 新幹線)


4ch の電極を持つ電気刺激デバイス(通称ピリピリデバイス)に、音楽に合わせて BLE 経由で制御コマンドを送る もので、耳の聴こえないダンサーが、音楽を「感じ」ながらダンスをするためのデバイス&アプリです。


デモンストレーション on 8/13

このアプリはもともと 真鍋大度さん からご依頼いただいて開発しはじめたもので、「ヨコハマ・パラトリエンナーレ」というイベントで、8月13日、真鍋大度 + 石橋素 + 照岡正樹 + 堤修一 × SOUL FAMILY 名義で、実際にこのデバイス&アプリを使ったデモンストレーション(ライブパフォーマンス+トーク)を行います。


ヨコハマ・パラトリエンナーレ2014では、聴覚障害のダンサー SOUL FAMILYとライゾマティクス真鍋大度・石橋素、デバイスエンジニア照岡正樹、iOSアプリ開発 堤修一の共同作業により制作された、電気刺激デバイス作品「music for the deaf」の体験用デモ機を展示します。


本プレゼンテーションでは、聴覚障害のダンサー SOUL FAMILYが実際に電気刺激デバイスを使用したショートデモンストレーションを発表する他、真鍋大度、照岡正樹、SOUL FAMILY他によるトークショーを行います。


で、このデモンストレーションは、要事前申し込みで、申し込みフォームが結構見つけづらいところにある *1 ので、ここに直接リンクを貼っておきます。


http://www.paratriennale.net/post-118/


申し込み締め切りは 8/6(明日!) です。


システム構成とか

ちなみにデモンストレーションのシステム構成はこんな感じになってます。


f:id:shu223:20140805084608p:image:w600


ピリピリデバイスを BLE で制御するのはダンサー用 app で、母艦の MBP から OSC でコントロールできるようになっています。(母艦からコントロールするのは再生開始/停止、曲の選択等々で、ピリピリデバイスの制御自体はiOSアプリがスタンドアロンで行う)


また、ダンサーの感じている電気刺激をピリピリデバイスなしで体感できるよう、バイブで疑似体験できるアプリも準備中です。こちらは、台数やら会場インフラやら距離やらを考慮して、音響電子透かし という、非可聴域の音波を利用して、音に情報を埋め込む技術 *2 を用いて、再生タイミングの同期を行います。


FAQ

Q: なぜスマホアプリなのか?

もともとPCからステレオケーブルで繋いで使う有線ピリピリデバイスは真鍋さん&石橋さん&照岡さんで以前開発したものがあって、ポータブル化する(ダンサーが身につけられるようにする)というのが今回の新規開発のテーマでした。


無線で電気刺激コマンドを送る、のであればPCからでもいいのですが、ダンサーがダンスするためにPCも必要になるよりはスマホひとつでできた方が「ポータブル」だし、WiFiがない場所でも使用可能という点でBLE、ということなのかなと。 *3


Q: 今までどうやって踊っていたのか?

このデバイスが出来る前から SOUL FAMILY はダンスをしていたわけで、メンバーの佐山さんに聴いてみたところ、

  • 音楽が会場に大音量で流れることによる振動を感じて踊る
  • 多少聴こえるメンバーの動きを見て踊る

みたいな感じだそうです。すごい。


Facebook での佐山さんの告知ポスト

ついに夢が叶います。音楽が上手く聞く事が出来ず、

フラットに音楽を感じる事が出来ず悩んでいた。

真鍋さんと出会い、いろんな方の協力でついに

夢のデバイスが出来ました。ぜひ皆さん見に来てください!

まだまだ「音楽を感じる」には改善の余地があるのでがんばります。


Q: なぜ電気なのか?

これ僕も当初よくわかってなくて、他の刺激でもいいけど真鍋さんといえば電気、みたいな感じで電気なのかなぐらいに思ってたのですが、ピリピリデバイスをつくった照岡さんが言ってたのは、刺激が処理される速度(?)が、電気が一番早いんだそうです。他の、たとえば叩くような刺激だと、それがいったん脳で処理されて、それが云々かんぬん、で遅いと。


Q: 展示バージョンとの違い

ヨコハマ・パラトリエンナーレの会期が1ヵ月以上と長期にわたるため、メンテナンス性を考慮して、ピリピリデバイス自体は有線版を展示しています。


f:id:shu223:20140805090542j:image:w400


流れているダンスの動画は、実際に耳の聴こえないダンサーがアプリ+BLE版ピリピリデバイスで踊っているもの。


あと、電気を体感してもらうのは説明員が常についてないと厳しいかなという判断で、ソレノイド振動子を用意しています。



*1:NEWS > 「music for the deaf」プレゼンテーション > 申込フォーム

*2:日本エヴィクサーさんに技術提供いただいてます。終了後、別途記事を書く予定。

*3:僕に依頼がきた時点でスマホアプリ(iOSアプリ)であることは確定していたわけなので、あくまで僕なりの推測。

2014-07-23

2014年5月〜7月にやったお仕事のまとめ

4月末に書いた「独立して最初の3ヵ月間にやったお仕事のまとめ - Over&Out その後」という記事から3ヵ月が経ちました。(前にも似たようなこと書きましたが)フリーランスは定期的に自らアピールしていかないと本当に世の中から忘れられてしまうので、またこの3ヵ月やったお仕事についてまとめておこうと思います。


ウェアラブルおもちゃ「Moff」

Moffって何?という方はぜひこちらのムービーをご覧ください。



ざっくりいうと「手に巻いてスマホと連携させて遊べるおもちゃ」です。


Kickstarter で2日間で目標調達額を達成したり、最近予約販売を開始した Amazon では発売前にも関わらず妖怪ウォッチに次ぐ2位にランクインしたりと、とても勢いのあるスタートアップです。


GW明けあたりから、このMoffの、iOSアプリの開発をお手伝いさせていただいてます(現在進行形)。


Moffは現在Amazonにて予約受付中ですので、お子さんがいらっしゃる方はぜひ!



(僕も甥っ子姪っ子自分用等々4つほど購入する予定です)


パーソナルモビリティ「WHILL」

昨年、500 startups に参加 した際に同期だった「WHILL」とも一緒にお仕事させていただいてます。


f:id:shu223:20140723040034j:image:w400


担当してるのは、WHILL と Bluetooth LE で連携する iOS アプリで、BLEモジュールのファーム側にも踏み込んで開発しています。



WHILL本体のファーム側と歩調を合わせる必要もあるので、月に3人日ぐらいのペースでちょっとずつ進めている感じですが、既にWHILLをアプリからリモートコントロール (ベッドにWHILLを呼び寄せて乗るといったユースケースを想定)できるようにはなっていて、あとは、

  • 速度やバッテリー残量等の情報取得・表示
  • シートの前後スライドのコントロール
    • 乗る際に、乗りやすいようにシートを前にスライドさせる
    • 車椅子ユーザにとってかなり重要らしい
  • 細かい速度関係のパラメータチューニング
    • 前進加速度、前進減速度、後進加速度、後進減速度、等々パラメータは20種類ぐらいある
    • デフォルト設定が3タイプ用意されているが、人によって好みが全然違う
    • アメリカは広いので、サービスマンがやってたらコストが半端なくかかる

といったあたりを実装する予定です。8月が山場になる見込み。


真鍋大度さん「music for the deaf」

『情熱大陸』でラストにやってた、「耳の聴こえないダンサーが、電気刺激で音を感じてダンスする」という試み。これ、筆談してるあたりでちょうど葉加瀬太郎さんによるあの名エンディングテーマが流れ始めて、うおーってなった方も多いのではないでしょうか(僕は超なりました)


これを「ヨコハマ・パラトリエンナーレ」というイベントで実際に展示&パフォーマンスするにあたって、電気刺激デバイス(通称ピリピリデバイス)をBLEから制御するアプリ、その他諸々の制作のお手伝いでお声がけいただき、二つ返事でお受けした次第です。


(アプリ動作確認の様子。感電初心者なので毎回ドキドキします。。)


f:id:shu223:20140723042423j:image:w400

(サイトに名前載ってたので記念スクショ)


パフォーマンスの日時等の詳細については、近いうちに公式サイトで告知されると思います。また技術的な話については終了後にでも本ブログに書きたいと思っています。


海外iBeacon案件

iBeaconはリアルな場所に関わるので、仕事で海外出張いけるかも!?という期待もあり関わらせていただいた(ている)案件。


この案件は日本の会社からお話をいただいたものなのですが、クライアントは海外、ディレクターも外国人、ということで基本的にコミュニケーションはすべて英語というところが僕にとってはチャレンジングでした。不自由だしうまく言えないもどかしさはあるものの、自分の得意領域(アプリ開発)では意外となんとかなる、という感覚を得られたのがよかったです。


スケジュールの都合で、最初の仕様検討とプロトタイプ開発フェーズでいったんプロジェクトを離れましたが、引き続きスポットでお手伝いさせていただく予定。


講演

『第37回ワイヤレス技術セミナー 実例から探るiBeaconの勘所』という有料セミナーで講演をさせていただきました。

iBeaconが発表されてからすでに1年が経とうとしていますが、この新技術をレストランなどの「リアルビジネス」に実際に活用し運用している事例はまだ国内ではほとんど出てきていません。株式会社ウェブクルーは、このiBeaconにいち早く着目し、自社で展開している火鍋専門店チェーン「小肥羊」の実店舗にビーコンデバイスを設置し、対応するiOSアプリを2014年3月にリリースして話題となりました。


本講演では、この実店舗アプリ/サービスの開発に携わった立場から、どのような体制・スケジュールで開発を実施したのか、プロトタイプでの実証実験はどのようなものだったのか、その実験で得た知見を踏まえアプリ/サービスをどのように設計していったか、といった点を中心に詳しく解説していきます。また、リリース後の反響や成果、店舗スタッフの反応などについても最新の状況を報告します。


ウェブクルーさんのご厚意で、非公開情報をふんだんに交えて(ビーコンどこに置いてるとか、管理画面がどうなってるかとか)お話させていただきました。


動画撮影・編集アプリのプロトタイプ開発

発注元の会社のオフィスに1日だけ行って、動画撮影・編集アプリのプロトタイプを開発するお仕事。先方がこれからアプリ開発をはじめるにあたり、そのたたき台となるような位置づけです。 *1


「想像力で補完できる部分はできるだけ端折って、まずはそのアプリの良さがわかる一番重要なポイントだけしっかり実装する」みたいなプロトタイピングの勘所のようなものは、かなりたくさんのアプリをつくってきた中で培われてきている(と思っている)ので、こういう短期ブッコミ案件大歓迎です。


その他

タイムチケット経由のお仕事

最近オープンした『TimeTicket』経由でもちょくちょくお仕事の依頼をいただいてます。


「相談」の方ではなく、本業の「アプリ開発」のチケットで、今日までに実行できたのは2件。


昔つくったアプリのリバイバルヒット

4年ほど前につくった「i聖徳太子」というアプリが謎のリバイバルヒットし、

  • ビジネスカテゴリ1位
  • 無料総合46位

に躍り出てきました。


下記のダウンロード数の推移グラフを見ると、そのスパイクっぷりがよくわかります。


f:id:shu223:20140723035746p:image:w600


火がつく前日が14ダウンロード、ピークが16,426ダウンロードなので実に1000倍


発火元は下記ツイートのようです。なんとリツイート 18,704 件、お気に入り 8,590 件!!



ちゃんと計算してませんが、Macbook Airが買えるぐらいの収益増になってました。


WWDC 2014 参加

仕事というよりは旅行ですが、17日間、つまりこの3ヵ月の約6分の1にあたる期間は、初のWWDCに参加するべくシリコンバレーに行ってました。

WWDC以外にも、WHILL HQ に行ったり、Kinoma Create を開発している Kinoma に行ったり、いろんなスタートアップの方に会ったり、向こうにいるデザイナーともくもく開発したりと非常に充実してました。


(あこがれのあのジャケットをもらいその場で記念撮影)


超楽しかったので来年も行きます!


おわりに

そんなこんなで、おかげさまでこの3ヵ月も楽しく生き延びることができました。フリーランスとしてどう仕事をしていくか、エンジニアとしての自分の強みは何で、どう生存していくか、みたいなものが紆余曲折の中で揉まれてだいぶいい感じになってきた気がします。


で、前回の実績紹介のときに書いた、

  • 目の前のおもしろい仕事にがっちり食いつく
  • → がんばっていい仕事をする
  • → 得られたスキルや実績をブログ等でアピールする
  • → よりおもしろい仕事のお話をいただく

というサイクルをしっかり回していく「わらしべ長者方式」がやっぱり自分にあったやり方であり、生命線だなと。

要は「おもしろく働くために自分が心がけていること」的な内容で、8月26日、下記イベントでお話しさせていただきます。



この話は以前ブログに書いてみたことがあるのですが、イマイチ伝わらなかった気がするので今度こそはしっかり例とか準備して臨むつもりですので、ピンと来た方はぜひご参加いただけると嬉しいです。


*1:この案件は7/23現在ではまだやってないのですが、7末に予定を入れてるので、今回の実績に入れてあります。

2014-07-13

自作iOSアプリで制御できるロボット、Romo のハッカソンに参加してきました

本日 HUB Tokyo にて開催された『iPhone x ロボットハッカソン 大人の夏休みの自由研究 〜Romoで絶対起きられる目覚まし時計を作ろう〜』と題されたハッカソンに参加してきました。



Romo とは?

http://www.romotive.jp/

Romo(ロモ)はiPhoneなどで動く「体感型のエデュケーショナルロボット」で、誰でも動かすことが可能です。iPhoneアプリが頭脳の役割になり、様々な感情や動きを表現することができます。楽しみながら子どもの論理的思考や想像力、思考力を育むことができ、遊びや学びの幅がさらにひろがる可能性を秘めています。


僕なりに要約すると、「iOS SDK が用意されてて、いろんな連携アプリがつくれるロボット」です。


Romo SDK の使い方

gihyo.jp の連載が細かい手順まで説明されていてわかりやすいです。


「とりあえず動かしてみたい」場合は第2回を、


「キャラのUIを使いたい」場合は第3回を見ればOKです。


第2回の内容はRomo本体が必要ですが、第3回の内容は本体なしで試すことができます。


つくったもの

お題は「目覚まし時計」で、セットした時間になると Romo が激しく引っ張って起こしてくれる というものをつくりました。


Romo Alarm from Shuichi Tsutsumi on Vimeo.


撮影のため柱にくくりつけてありますが、これを服や布団に繋いでおくイメージです。だいぶシンプルですが、せっかくロボットなので、物理的に動く機能を使った方が良いかなということでこれに至りました。


止めるには iPhone を抜くしかありません。動画からも僕の動揺っぷりが伝わるかもしれませんが、激しく動くのでかなり大変です。


イヤホンジャックが前にビヨーンと出てるのは、繋ぐヒモが手元にイヤホンしかなかったからで、用途としてはただのヒモです。テープで貼り付けてあります。


f:id:shu223:20140713160602j:image:w300



動画にはありませんが、マイルドに引っ張って起こしてくれるモードもあります。


モーター電流値を取得する

「引っ張る」ということを実現するのに、単純に一定時間ごとに前進と後退を繰り返すのだと「引っ張られてる感」がどうしても弱くなってしまう場合があるので、しっかり張力がMaxに達してから後退するよう、モーター電流の値を判定に使用しています。


モーターを示すクラス RMCoreMotor のオブジェクトは DifferentialDriveProtocol よりアクセスできるので、次のようにします。

@property (nonatomic, strong) RMCoreRobot<HeadTiltProtocol, DriveProtocol, LEDProtocol, DifferentialDriveProtocol> *myRobot;

で、drive するときに `driveWithLeftMotorPower:rightMotorPower:` を使用して走らせることで、


[self.myRobot driveWithLeftMotorPower:1.
                      rightMotorPower:1.];

RMCoreRobot オブジェクトの `leftDriveMotor`, `rightDriveMotor` プロパティから、`motorCurrent` の値を取得できるようになります。

float leftCurrent  = [self.myRobot.leftDriveMotor motorCurrent];
float rightCurrent = [self.myRobot.rightDriveMotor motorCurrent];

Romo が引っ張る際にヒモがピンと張って前に進めなくなると、速度を維持しようとモーター電流が大幅に上がることを利用して、 motorCurrent が一定以上になるといったんバックする、ということをやっています。


苦労した点としては、どんな床で使うかによって閾値が全然変わってくる点で、板の上、アスファルトの上だと全然値が違ってました *1


つくったもの その2

上記のをつくりおえて、このブログも書いてしまって時間が余ったので、もうひとつ作成。


アラームの音楽に合わせて Romo が踊る というもの。


動画は撮ってませんが、アラーム開始に合わせ MIDI の楽曲が鳴りはじめ、そのメロディやリズムに合わせて Romo が体を揺らしたり表情を変えたり雄叫びを上げたり、というものです。MIDI再生とかは別件でやってたのと、アラームはひとつめのアプリのを流用したので制作時間30分ぐらい。


総括

Romo SDK ともてよくできていて、シンプルな API のわりにかなり色々なことができるようによく考えられていると思います。興味のある方はぜひ!


日本での正規品は現在予約受付中(2014年7月24日頃の出荷予定とのこと):


(Amazon で現在手に入るのは並行輸入品で、かつ価格が倍以上します。。)



*1:結局、プレゼンのときに調整できるようにキャリブレーションモードを用意しました。

2009 | 08 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |