けん悟庵 KenGo:Lab
List

つれづれメモ

Creative Application演習の2012年度がはじまりました。

昨年度は少数精鋭で濃密にやりたいことをやっていた小集団で、今年度もそのノリで行こうと思いきや、 そういうわけにもいかないほど、熱意溢れる学生さんで満たされました。 講師陣は戸惑いつつも、これに応えねばなるまいと、インフラ整備から各種情報共有の仕組みなどを整えました。

・CreApp Web : 学生さん有志制作の外部向けページです。
[ Creative Application ホームページ ]

・CreApp Wiki:授業資料や授業のテーマ議論などの記録を残していきます。
[ CreApp Wiki]

・CreApp FBページ:全公開向けのFacebookページです。成果をたくさん見せていきます。
[ CreApp on Facebook]

昨年度4月から東京工科大学メディア学部でCreative Applicationという演習をやっています。 この演習は、とりあえず昨年~今年度はiOSでの開発の基礎を教えつつ、 「アプリケーションとは?」という根本的な課題について追究していく演習となっております。 昨年度は「アプリケーションはコンセプトと技術の合わせ技」という定義のもと、「コンセプト」づくりを鍛えていきました。

1年間で、大変元気の良い学生さんたちやそれを支えてくれる有志の先輩方に恵まれ、彼らの勢いに講師がついていくのがやっとという嬉しい状況となっています。 さらにこの春、私の呼び掛けに応えて、彼らが有志でWebページを全てつくってくれました。今日はそのwebを紹介します。

[ Creative Application ホームページ ] (暫定ページ)

…URL見てもらえば分かる通り、このサーバに置いてある暫定ページではございますが、Webを作ったことがない人が多い中、 簡易なHTML+CSS講座をしただけで、後は自力で勉強しながら良いクオリティのページに仕上げてくれました。

彼らが授業後期の2か月足らずで取り組んだ最終課題のアプリも概要だけですが紹介があります。 興味のある方は是非ごらんください^^

2012.04.07

博士論文執筆にあたってメディア論について再考しているところです。 そんな折1年半前に依頼があって動画にした「メディア学ってなんだろう」があったのを思い出しました。 せっかくなので、高校生・大学生向けに東京工科大の言うところの「メディア」とは何かをご紹介します。

「メディア学ってなんだろう」(Youtube)

なんだか当時のほうが話し方がウマいので、今の自分の余裕の無さと頭の飽和状況が良くわかります。 もっとお話うまくなりたいなー。

ちなみにこの動画のターゲットは高校生・大学1年生向けを意識していたのでざっくりとした部分もあります。 2012現在ではもう少し異なった形での「メディア」に関する解釈を詰めているところです。 いずれどこかでお披露目できればいいなーと思っております。

2012.03.26

1. KW_Effectsのアクティベーションについて

「なぜアクティベーションなんてものを?」と問われれば、理由は「ちゃんと連絡してほしい」からと答えます。 規約に書いてあるから!なんてつまらない事ではなくて、自分が提供している技術に興味がある人たちと良い繋がりを持ちたいからです。 こと、プラグインに関して言えば、アニメ業界にプログラム屋さんと自然にお付き合いできる場を作ろうと思ってやっていることです。…でした。 After Effectsユーザが、技術側の人間と仲良くなればおもろいことできんじゃないの?という提言でもありました。 この4年間で気づいたことは、結局アニメ業界撮影さんの主戦場はタイムラインとスクリプト、エクスプレッションであって、プラグインは蚊帳の外といった体であったということです。結局他人ごとに近いのかな。 もちろんそれはそれで結構なことなんですが、さらにプラグインなりインハウスなりを加えたほうがいい。ぜったいそのほうが良くなる。KW_Effectsが証明していると思うんですがどうでしょうか?

アクティベーションはおそらく僕からの最後の積極的アプローチになろうかと思います。 このアプローチ前は64bitまだ~?って声が多かったのですが、ここまででご連絡はいただいておりません。 さて、どれくらいご連絡いただけますかね?もっとも…公開後にとても静かになるのは経験済で慣れっこになりましたが。

2. マネタイズと利用規約の変更

僕はKW_Effectsでお金の話をしたくありませんでした。といっても別の報酬は欲しいです。僕だって無欲ではいられませんからね。 それが「実績一覧への掲載」と「スタッフロール掲載」です。ただ、これらは権利関係や尺の関係で難しいので壁になってしまった感はあります。 (実際、ご報告いただきつつも、諸事情から掲載していない企業名や作品名もけっこうあります。) とはいえ、この点に関しては少し業界の雰囲気変えられたのかな?4年前よりかはロールに載りやすくなった気がしますし。 でも何かと難航することがあると、結局は会社さんのほうから「お金でやりとりしましょう」という話になってしまう。 確かにお金は分かりやすい。僕の目的から外れてしまいますが……仕方が無いので見積る。 でもこちらの業界単価だとボッタくりになりますので、ほぼご破算。着地点のない悲しさ。 お金の話をしてもダメなことはわかっていますので、やはりそうでない部分で開発の意義を見出したい。

そんな流れもあって64bitも無償にしました。周囲からは「有償化したほうがいい」と散々 言われても。それでも。 その代わり今度こそちゃんと連絡して欲しい、という意思表示がアクティベーションです。 単に名乗り上げていただくだけでいいです。しかもメールでOKです。

正直、アクティベーションなんて作りたくなかったです。すげー面倒くさい実装だし、こんなことになんで時間かけてるんだろう?ってずっと思いながら作ってました。 コミュニケーションは得意なほうじゃないですけど、僕は交流がしたい、という点では4年前となんら変わりはありません。

3. 今後どうするのか

少なくとも、KW_Effectsが僕の暮らしの支えにはなりませんし、交流の深化もいまのところ成果が薄い状況です。 専用プラグインの受託開発案件もすべて立ち消えました(実績1件/4年)。運営コストが過負荷になっているので、開発の軸足を他に移そうと思います。

加えて2012年04月~2013年03月までは、少なくとも博士課程に在籍するので、研究中心になりそうです。

よって、KW_Effects 64bitの公開を機にしばらく開発休止します。 もしかしたらずっと休止かもしれません。2013年になったとき、再開できるような状況であることを願いつつ、今日の日記の筆を置きます。

2012.03.02

1. 個人事業主と大震災

昨年度1月から個人事業主になりましたが、その2カ月後に大震災が発生しました。 事業開始年、いきなりの試練。従来からお付き合いさせていただいていた企業様も厳しく、 予定していた新規案件はほぼすべて暗礁に乗り上げ、1年過ぎました。 また「彩えんぴつ」のおかげで新たに法人様・個人様ともお付き合いが2,3件増えましたが、 完成に近い段階で頓挫することも多く、自分の手元にはお蔵入りコードが積まれる1年でもありました。 案件の面でみても、大震災は日本の既存の構造を大きく変えてしまったと感じましたね。 ただ、変わってしまったこと自体は、意外にポジティブに捉えています。 変わった世界で、あらたな道を切り拓く。その時自分の個人事業主という立場は、 悪くない立ち位置なのかな、と思いました。

それと大震災に際して200万円ほど寄附を行いました。彩えんぴつやゆめいろを展開する コンテンツホルダーとしても公益に役だったかな、と感じました。おかげさまで初の青色申告が 結構大変だったり、実は寄附金額分も事業税がハネ上がるので、実は損をしていたり…など、 色々と身をもって経験しています。いまは、寄附貧乏という本末転倒な状況ですね^^; おバカな事業主ですけど、経理処理などお金のことに強くなれた1年です。

上記のとおり、非常にバタついた1年になってしまったため、彩えんぴつの更新以外では 外部公開できる実績を積めなかったのが悔しいところで、大きな反省点です。 今年度は何か外部リリースしたいものです。

2. 研究と博士課程

個人事業と並行して、大学側の研究を進めました。昨年度の成果は査読採録1と国際学会発表1。 査読は「3D Seurat(スーラ)」で通りました。1発採録は嬉しいですね。 国際学会も英語が超苦手な私にとってはとても有意義な成果になったかと思います。 英語はまだまだ苦手なので、もっともっと時間をかけて勉強したいです。

それと4月から母校の博士課程にちょっと特殊な形で進学する予定です。 表向きは博士号の取得を目指します。本音ではもっと大事なことがあるんですが、 自分にとって重要なことを為すために進学します。学費は痛いですが最後のチャンスなので。

3. Creative Applicationという演習

メディア学部のプロジェクト演習という枠があるのですが、そこで「Creative Application」という 新しい演習の立ち上げと主運用を1年間やらせていただきました。iOSを基盤にアプリ開発をコンセプトから学ぶ、というスタイルの演習です。 資料づくりからほぼ1からやったので、私にとっても教育についてあらたな経験を得ることができました。

学生さんが少ないので少数精鋭状態なのですが、精鋭に相応しく1年間で結構しっかりしたアプリを作ってきました。 もちろん、実用アプリに到るには詰めるべき点は多々ありますが、プログラムなんぞ触れたこともない大学1年生メインでありながら、 講師である私もびっくりの成果をあげています。近々演習成果を公開するwebページ等ができると思いますので、 公開開始したらアナウンスさせていただきます。

4. 2012年は~…

「研究寄り」の1年になるかと思います。 新規論文と英語の勉強。個人的な気持ちでは「開発」をやりたいのですが。なかなか難しいでしょうね。 とはいえ、開発熱が出てきたら止められないので、その勢いでアウトプット1つくらい欲しいところ。

…こうやってみると、病気の中、震災の非常事態の中、よくこれだけ動けたなあと思います。 2012は2011ほど無理せずドライブできる器用さを大切にしたいところです。 無精な管理人ですが、今後ともどうぞ宜しくお願いいたします。

2011.02.08

彩えんぴつを売り出して8か月になりますが、
ここ最近になって画面がブラックアウトすると日本の方からご指摘を受けたり、
海外の方から"This app has generated a black screen 3 times"(確かに多い)と
メッセージを戴いたりしまして…頻繁に発生するようになってしまいました。

とはいえ、開発コードの流れの上で、問題がないはずです。それなら8か月の間にかなり出てくるはず。
iPhoneOS3.1.3や3.2の上でよくデバッグしましたし、さほど大きな不安はありません。

ブラックアウト自体はiPhoneOS3.1.3の頃に確認しており、
早い段階でメモリ確保と節約の処理を含めることで対処できていました。…そのはずでした。
しかしiOS4からマルチタスクが可能になり、メモリ管理が複雑化したため、より要求がタイトになり、
ブラックアウトが発生しやすくなってしまったのだろうと思われます。

という流れから、ブラックアウトの遠因はメモリ不足であることは推測できていたのですが、
なぜアプリが落ちずにブラックアウトするかは分かっていませんでした。
しかしその原因がようやくつかめました。ポイントはUIViewControllerの仕様です。

UIViewControllerのサブクラスは、メモリ不足になるとviewを自動的に解放する仕組みを持っています。
そして解放されたviewが再度呼び出されたときに再生成するのですが、ここでうまく生成できないと、
viewが存在しない=ブラックアウトという結果になる…これが原因でした。

メモリ不足の警告が出たとき、UIViewControllerのdidReceiveMemoryWarningが呼ばれます。
その時OS側が必要と判断するとUIViewControllerのviewDidUnloadをコールし、viewを解放しメモリを確保します。
解放されたviewが再度呼び出されたとき、UIViewControllerは再度viewDidLoadをコールし、viewを再生成します。

彩えんぴつはviewの構築コードがviewDidLoadに含まれたコードだけでは足りなかったため、viewが復活しませんでした。

iOS4になって他のアプリがメモリを食っている場合、自分のアプリにも影響してきます。
自分のアプリは省力に努めても、他アプリがメモリを食いつくしていた場合はNGとなります。
よって、iOSアプリを作成する際は、
 ・viewはメモリ警告で自動解放されるモノ(viewDidUnloadできれいにお片づけする)
 ・viewDidLoadで再生成するモノ
と考えるのがよさそうです。
ここを守れば、iOSが適切にバックグラウンドのアプリを解放してくれるので、
メモリに関してあまりうるさくならなくても済むようになります。

しかしこれを知ったのが最近って言うのはやっぱり僕が邪道だからですかね…
文章読むのが苦手なので、ガイドの読み下しが少ないのがいけないのだと思いました……すごく反省です。

次々回更新予定の彩えんぴつver1.5.2からブラックスクリーンの回数はかなり減ると思います。
お買い上げくださった方々にはご迷惑おかけしておりますが、今後ともどうぞ宜しくお願いいたします。

2011.02.04

個人事業主になってから、事業に関わる買い物や相談に乗ってもらったとき、
付き合ってくれた人との喫茶代などを「打合会議費」に付けておりました。
(実際、事業展開の議論を併せているので、会議費でも問題ないんだけど)

でも実際は「接待交際費」なんじゃないの?とか思いつつ、会社員時代のクセで避けてました。
そういえば、なぜ「接待交際費」を避けるようにしてるんだっけ?と気になったので調べてみますと…

ざっくり言うと、法人の場合、接待交際費に制限があるから避ける傾向にあるようです。
個人事業主はその限りではない様子。具体的には以下の通りです。

個人事業主全額、損金として算入可
資本金1億以下の法人交際費の90%(最大400万x90%=360万円)
400万を超えた額は損金不算入(経費にできない)
資本金1億超の法人全額損金不算入(経費にできない)

個人事業主と法人で大きく分かれるようです。
なるほど、法人が「接待交際費」を避けるわけですね。

個人事業主は全額認められるようですが、もちろん不明確な接待交際費はNG。
自分の場合も簿記の相談や、開発の打合せなど必ず理由の付くものだけに絞っています。
自分の場合、「会議費」の扱いと違って、会議議事録までは取ってませんが、
打合せ題目と誰と打合せをしたかは、摘要に書きこむ形でメモするようにしてます。

やましいことはないですよ、という証明ですね。
少なくとも自分はそういうのあるとモヤモヤして事業のほうに集中できなくなっちゃうんで(^^;

2011.02.01

Androidデバイス入手しました。
HTC Ariaです。ハッキリ言うと店員さんのノリに負けました。
SIM抜いて動作するのか?とか、そういう質問に対して、
他のスタッフ私物のAriaをパクって、無理やりSIM抜いて動くところ見せてくれたり、
完全に根負けです。
もとい、これはでございましょう。

端末観ていた客では一番ボケーっとしていたはずなのに、
展示スペースに行って5秒で僕の状況見抜いたおねーさんに乾杯。

収入の少ない立場で非常な決断ではありましたが、
個人事業主として投資しどころではないかと思い、本日契約してまいりました。
手持ちのiPhone4もプライベートよりもビジネス用途ばかりだし、Ariaに至っては100%ビジネス用途だし。
欲しいわけじゃないのに買う、というのが、ここのところのパターンになっております(iPadしかり)

実際、色々周辺事情も込めてAndroid2.2が(結構そのまんま)乗っかってるHTC Ariaは
とても魅力的な選択肢でした。こっからが研究しどころですね。
iPhoneと違ってボコスコアプリを入れられるので、端末の良さを使って、
画像処理アホアプリを大量生産するなどの芸当が可能になりますし。

あぁ、そういえばOpenCV2.2はandroidに対応してたんだっけね…えへへ。

とはいいつつ、まずは論文という大きなお仕事が残っている僕。
Ariaと戯れるのはもう少し後のことになりそうです。

2011.01.29

お久しぶり日記になってしまいました。
とはいえサイトでは色々更新しておりましたので、そちらにかまけて日記を書いていなかっただけなのですが(笑)

この一カ月の活動は、個人事業主としての活動をするにあたって指標になることがいくつかあったので、
そのあたりについて触れてみたいと思います。

まず個人事業主として、自分の中核となるのはアプリケーション開発によって得られる収入です。主に受託開発、次にiPhoneアプリケーションです。 ただ、この受託開発は人のつながりが最大のポイント。しかし人脈乏しい自分の場合、これから拡げていきたいところで現段階では多くは望めません。 そこを下支えしてくれているのがiOSアプリケーション。本当に助かっています。しかしこれだけでは生活できません。

そこで自然と"事業外のアルバイト"が必要になりますね。
おそらく新規の自営業者の方は、似たようなワークスタイルではないかと思います。
僕の場合は、大学の出身研究室で講師としてアルバイトさせてもらっています。専門技術職とは言え恵まれた待遇です。 僕は大学在籍時にアホみたいに勉学に熱中していたので、信頼してもらえたのが最大のかとおもいます。 大学時代は遊んでおけ!というのが通説ですが、頑張っておくモンですね。
加えて、自分は人に教えるのが比較的好きなので、最適な環境です。

このアルバイトとアプリケーションの売上を合わせると
なんとかギリギリ生きていけるので、糊口をしのいでおります。

実はこのアルバイトが"事業のキモ"ではないかと思っておりまして。 自分の場合、出身研究室の研究指導であるため技術的な話題が多く、想像以上に勉強になります。 ビジネスに無関係でも、技術的視野が広がる・新たな実用性を模索できるという点でメリットが大きい。 また、自分も同時に研究を進める思考時間が生まれるので、研究実績という点でも利点はあります。

仮にこのアルバイトがコンビニバイトだったりしますと、個人事業とのつながりはなかなか見いだせない。 コンビニでたまたま知り合った人がビジネス展開を模索しているとか、偶然の縁に賭けるしかありません。 "事業に良い影響を与える”アルバイトを得るのが、事業の初めには大事なのかもしれません。 いくらアルバイトとはいえ、その時間も事業のために有益な時間にしたいものです。

指しあたって、自分は良い場所にいられて幸せだと思いますが、
おかげさまで、この1カ月は事業は完全停止状態で「指導・研究」に軸足が移ってました(汗
なかなか事業展開が進まないのはジレンマですね~…。事業主さんは皆こんな感じなのかしら?

指導・研究の経験が、後の事業展開・人生の展開に良い影響があることを願って、
事業ともども指導・研究にも真剣に取り組みたいと思います。

2011.01.17

After Effects向けプラグインを作るために、AdobeさんからAfter Effects SDKが提供されています。 C言語での開発経験がある方でしたら、それほど抵抗なく触れることができるんではないでしょうか。WindowsならVisual Studio、MacOSならXCodeから利用できます。

さて、このSDKの最大の山は実は準備と設定にあります。説明がどこにあるかわからないツールや機能がてんこ盛りであり、 Adobeの開発者が「サンプル読んで盗んでね!HAHA!」と言ったとか言わなかったとか。 とにかくプログラミング虎の穴とでもいいましょうか、たいへん胸が熱くなる戦場となっております。

で、今日、久々に穴にハマりました。
After Effects CS4 SDKがWindows 7 64bitで使えないという問題です。

原因はコンパイル時に呼ばれるPiPLToolというAdobeのツールが64bitに対応していないためでした。 解決方法は、最新版のAfter Effects CS5 SDKのPiPLToolをコピーするというもの。 CS5からは64bit専用なので、64bitに対応しているのは当然と言えば当然なのですが、CS4 SDKが32専用で、CS5 SDKで64bit専用というのもまた急な話です。 2011年現在では、開発環境が64bitでソフトが32bitというのはザラにあるので、ちょっと混乱しますよね。

このPiPLTool、プラグイン開発を始めたいというビギナーに「msvcr71.dllが無くて動かない、しかもエラーの原因がパッと見わからない」という強烈な罠をいきなり仕掛けてくれるカワイイヤツです。 msvcr71.dllやmsvcr80.dllをPiPLTool.exeというファイルと同じフォルダに入れると動くようになりますが、最初にぶつかる壁がコレとは、まさに虎の穴にふさわしい。 あ、ちなみにこの問題はMacでは起きません。MacはPiPL使わずにコンパイルできるためです。

…余談ですが、SDKが虎の穴ならば、最近流行りの「伊達直人」はbryful氏でしょうか。 このPiPLToolのあたりも含め、AEプラグイン開発の解説をしてくださっている数少ない開発者様です。僕もお世話になっておりますm(_ _)m。