iPad」カテゴリーアーカイブ

2/29は渋谷でワークショップ

2月29日はSuperCollider for iOSのワークショップを渋谷のWOMB LOUNGEで行わせていただきます。本日!なのですが、すでにワークショップは満員御礼とのことなので、事前の告知を控えさせていただいていました。受講される方はよろしくお願いします。

SuperCollider Workshop at WOMB LOUNGE
第4回「愛のSuperCollider」
 日時:2012年2月29日(水) 19:00〜22:00
 会場:WOMB LOUNGE(渋谷)

なお、3/3に開催される受講者の方々による作品発表会は当日参加可能とのことなので、ご興味のある方にお勧めします。

SuperCollider Workshop at WOMB LOUNGE 発表会
 日時:2012年3月3日(土) 19:00~22:00
 出演:SuperCollider Workshop at WOMB LOUNGE受講者のみなさま
ゲスト:Craftwife+Kaseo+
参加料:2,000円(1ドリンクつき)
 会場: WOMBLOUNGE(渋谷)

MoMu-STKでシンセシス処理

先に紹介したMoMuでのオーディオ処理は、基本的な入出力を肩代わりしてくれるものの、それ以上のことは自前でやらなくてはいけない。実際にもMoMuオーディオは内部的にRemoteIOを呼び出しているだけ。自前でデジタル信号処理を書くのは、お勉強にはイイけど、面倒で難解であることも確か。

一方、MoMuを使うメリットは、同時に用意されたThe Synthesizer Toolkit (STK)を簡単に利用できること。STKはCCARMAを中心に開発されている音響合成ライブラリで、そのクラス・リストを見れば分かるように、基本的なオシレータやフィルタ、エフェクタはもちろんのこと、フィジカル・モデリング系の音源が充実している。Maxな人にはPeRColateという移植ライブラリで有名かもね。

と言う訳で例によってナンチャッテ路線で、MoMu-STKを使ってみよう。まずは「MoMuでオーディオ処理」に示した手順で爆音が出るようにしておく。そして、The Synthesis Toolkit (STK): MoMu ReleaseのサイトからMoMu-STKをダウンロード。その上での手順は以下の通り。ここではTubeBellクラスを用いて、鐘(チューブラー・ベル)を鳴らす。

(1) プロジェクトにMoMu-STK-1.0.0フォルダを追加。

(2) ソースコード(例えば〜ViewController.mm)で、ヘッダをインポートし、定数と鐘のオブジェクトを定義。

#import "mo_audio.h"
#import "TubeBell.h"

#define SRATE         44100
#define FRAMESIZE     128
#define NUMCHANNELS   2

stk::TubeBell	*myBell;

(3) 適切なメソッド(例えばviewDidLoad)でMoMuのオーディオ処理の初期化と開始の後、鐘のインスタンスを生成し、鳴らす。

MoAudio::init(SRATE, FRAMESIZE, NUMCHANNELS );
MoAudio::start(audioCallback, nil);
	
myBell = new stk::TubeBell();
myBell->keyOn();

(4) コールバック関数では、tick()メソッドによって返される値でバッファを満たす。

Float32 *data = buffer;
for (int i=0; i<framesize; i++)
{
	Float32 value = 0;
	if (myBell != nil)
		value = myBell->tick();
		
	*data++ = value;
	*data++ = value;
}

このようにしてアプリを起動すると鐘が鳴り響くハズ。シミュレータでも実機でもOK。はい、おしまい。

というのも味気ないので、もう少しシンセシスらしいことをしておこう。

まずボタンを作り、Touch DownでplayBell:メソッドを呼び出すようにアクションを定義する。

- (IBAction)playBell:(UIButton *)sender
{
	myBell->keyOn();
}

同じくスライダーを作り、Value ChangedでmodulationChanged:メソッドを呼び出すようにアクションを定義する。

- (IBAction)modulationChanged:(UISlider *)sender
{
	myBell->controlChange(2, sender.value * 127.0);
}

これで、ボタンをタップすると鐘が鳴り、スライダーを動かすと鐘の音色が変わる。シンプルながら、これだけでもサンプリング音の再生では難しい音響合成ですね。他にもパラメータは沢山あるので、いろいろとイヂってみてください。

はい、おしまい。

iOSデバイスとOSバージョン一覧表

問題:iPhone OS 3.0以降に対応するアプリの動作確認のために必要なiOSデバイスは何台?

先のオプティマイザ問題もあって、iOSデバイスとOSのバージョンを調べてみました。この表での最小OSは、そのデバイスが発売された時点のOSのバージョンで、最大OSはどのバージョンのOSまで対応しているかを示している。(5.0.1)は現在の最新バージョンで、今後も対応するバージョンが上がる可能性があります。

3.xアプリの欄にマル印が付いているのは、OSのバージョン3.xに対応するアプリが動作することを示しており、動作確認をする必要がある。例えば、iPhone 4はOS 4.0以降に対応するので、3.xアプリの欄にはマル印は付いていない。つまり、動作確認をする必要はない(そもそもできない)。そして、iPhone 4はOS 4.xとOS 5.xについてアプリの動作確認をすることになる。

一般にOSのバージョンを下げることはできないので、メジャー・バージョンごとに動作確認用のデバイスを用意する。つまり、iPhone 4ならOS 4.xとOS 5.xの2台が必要になるわけ。厳密にはマイナー・バージョンごとにも動作確認すべきかもしれないが、これは最大のマイナー・バージョンに限って良いはずね(たぶん)。

そこで、この表のマル印を数えれば、今回の問題に対する回答になる。

回答:23台

ただし、iPhone 4 (GSM)とiPhone 4 (CDMA)の違いは僅かで、個別に検証する必要はないかもしれない。この場合は必要台数は21台となる。逆にiPadもiPad 2も、Wi-FiモデルとWi-Fi+3Gモデルがある(iPad 2の3GはさらにGSMとCDMAに分かれる)ので、これらは区別して動作確認するべきかもしれない。このように考え方によっては23台以外の回答も有り得るよ。

ともあれ、動作確認のためには数多くのデバイスが必要だってことが分かるね。OS 4.x対応であれば17台、OS 5.x対応で8台が必要となる。個人や小規模なグループなら、これだけの台数を揃えるのは難しいかもしれない。初代iPhoneのように入手が難しい機種もある。しかし、万全を期するにはこれだけの台数が必要だし、何か問題が発生した場合には手の打ちようがないよね。

え?私?CDMA以外は必要台数全部揃っています(笑)。

【追記】iPhone OSにはバージョン2.xも存在するけど、現在のXcode 4.2では2.x用のアプリを開発するのは困難なので、ここでは省略しています。また、初代iPhoneが登場した時のOSはバージョン1.0で、これはApp Storeに対応していない。

MoMuでオーディオ処理

iOSでのオーディオ処理を担うCore Audioは準OS Xクラスの充実ぶりで優秀なんだけど、それなりに面倒な設定が沢山ある。そこでちょっとは楽ができそうなのがMoMu: A Mobile Music Toolkit。これはスタンフォード大学のCCRMAがSmuleの協力を得て開発し、公開しているモバイル・デバイス向けのライブラリ。

CCRMAは長年コンピュータ音楽の一翼を担ってきた研究所だし、SmuleはOcarinaなどのiOSアプリで有名な、資金調達もガンガンやってるアクティブなベンチャー企業。この2つがタグを組んだライブラリだから期待が高まる。ちなみに、CCRMAの有名な音響合成ライブラリSTK (Synthesize Toolkit) もMoMuから利用できる(とは言え…)。

さて、MoMuはオーディオ処理だけでなく、図のようにグラフィックス、マルチ・タッチ、加速度センサー、位置情報、コンパスなどの機能も提供している。これで結構なことができそうと思う人はいいんだけど、MoMuはC++インターフェースなのが個人的には難あり。そこで、MoMuのオーディオ処理だけを活用させていただくObjective-C++で参ります。以下、手順。

(1) プロジェクトにMoMuから以下のファイルを追加。
   mo_audio.h
   mo_audio.mm
   mo_def.h

(2) ターゲットに以下のフレームワークを追加。
   AudioToolbox.framework

(3) MoMuを利用するクラス(例えば〜ViewController)のソース・ファイルの拡張子を .m から .mm に変更。

(4) ソースコード(例えば〜ViewController.mm)で、ヘッダをインポートして定数を定義。

#import "mo_audio.h"

#define SRATE         44100
#define FRAMESIZE     128
#define NUMCHANNELS   2

(5) 適切なメソッド(例えばviewDidLoad)でオーディオ処理を初期化し、処理の開始を記述。

MoAudio::init(SRATE, FRAMESIZE, NUMCHANNELS );
MoAudio::start(audioCallback, nil);

(6) オーディオ処理のコールバック関数を記述。これはC言語関数なので@implementationより前(または@endより後)に記述すること。

void audioCallback(Float32 *buffer, UInt32 framesize, void *userData)
{
}

以上でMoMuが利用できる。シミュレータでも実機でも動作するので、プロジェクトを実行して、グワ〜〜ンとかビィイイ〜とか爆音が響き渡れば成功。そうならない場合は、スピーカーのボリュームが下がっているか、マイクが無効になっているか、処理の記述が間違っているか、のどれかだろうね。

爆音大会になる理由は、MoMuはマイク入力をコールバック関数のbufferに渡し、コールバック関数が終わった時点のbufferをスピーカーから出力するから。つまり、コールバック関数に何も記述しないと、マイク入力がそのままスピーカー出力され、フィードバックが起こってハウリングするというワケ。

ハウリングしないように無音にするには、bufferの内容をすべて0にすれば良い。サイレンス音響合成ってのも、なんだかトキめく(?)が、コールバック関数の中身を次のように記述する。

Float32 *data = buffer;
for (int i=0; i<framesize; i++)
{
	*data++ = 0.0;	// 左チャンネル
	*data++ = 0.0;	// 右チャンネル
}

bufferはFloat32型の配列で、その要素数はframesizeで与えられるが、実際にはチャンネル数だけインターリーブしている。例えば、2チャンネル(ステレオ)なら、最初の要素が左チャンネルの1番目のデータ、次の要素は右チャンネルの1番目のデータ、その次の要素は左チャンネルの2番目のデータ…といった具合。データの値の範囲は-1.0から1.0まで。さらに、startの2番目のパラメータがコールバック関数のuserDataに渡される(ここではnilで何も渡していない)。

ここまで理解できれば、後は勝手にイヂることができるね。ナンチャッテ音響処理をいくつか書いてみよう。繰り返します、ナンチャッテ、です。

まず、ホワイトノイズ。

Float32 *data = buffer;
for (int i=0; i<framesize; i++)
{
	Float32 noise = (Float32)rand() / (Float32)RAND_MAX;
	*data++ = noise;	// 左チャンネル
	*data++ = noise;	// 右チャンネル
}

次で、サイン波。

Float32 *data = buffer;
Float32 frequency = 440.0;
Float32 phaseDelta = 2.0 * M_PI * frequency / SRATE;
static Float32 phase;
for (int i=0; i<framesize; i++)
{
	phase = phase + phaseDelta;
	Float32 value = sin(phase);
	*data++ = value;	// 左チャンネル
	*data++ = value;	// 右チャンネル
}

発展させて、マイク入力にトレモロ。

Float32 *data = buffer;
Float32 frequency = 8.0;
Float32 phaseDelta = 2.0 * M_PI * frequency / SRATE;
static Float32 phase;
for (int i=0; i<framesize; i++)
{
	phase = phase + phaseDelta;
	Float32 value = sin(phase) * 0.5 + 0.5;
	*data++ = *data * value;	// 左チャンネル
	*data++ = *data * value;	// 右チャンネル
}

最後に、サンプリング(1秒録音1秒再生の繰り返し)。

Float32 *data = buffer;
static Float32	samples[SRATE];
static long index = 0;
static bool isSampling = YES;
for (int i=0; i<framesize; i++)
{
	if (isSampling)
	{
		samples[index] = *data;
		*data++ = 0.0;	// 左チャンネル
		*data++ = 0.0;	// 右チャンネル
	}
	else
	{
		*data++ = samples[index];	// 左チャンネル
		*data++ = samples[index];	// 右チャンネル
	}
	
	if (++index >= SRATE)
	{
		index = 0;
		isSampling = !isSampling;
	}
}

さらにイロイロしたい人はMusic DSP Code Archiveあたりを参考に。

はい、おしまい。

【追記】諸般の事情(笑)により、サイン波とトレモロのコードを変更しました。また、演算精度に少々問題がある箇所があります。意図的、または、ナンチャッテです。

iPad35台による音楽と映像の展覧会を京都にて開催

PDF版プレス・リリース

2011年 12月 8日
赤松正行+Karl Bartos+小田英之+


元クラフトワークのメンバーら3人の作家が制作した
iPad35台による音楽と映像の展覧会を京都にて開催


赤松正行、Karl Bartos、小田英之の3人の作家による展覧会「Sync For Japan」が、12/13より12/25まで、PARIS MIKI四条烏丸店(京都)で開催されます。多くの方にご覧いただけますよう、ご案内申し上げます。

この展覧会はシンプルな電子音による音楽と摩訶不思議な映像を35台のiPadによって展示し、それらを同期させてご鑑賞いただくものです。会場のiPadは自由に操作できるとともに、iPhoneやiPadをお持ち込みいただくこともできます。また、この展覧会では東日本大震災の被災者支援をお願いしています。

(展示イメージ)

赤松正行+Karl Bartos+小田英之+展「Sync for Japan」

会期:2011年12月13日(火)~12月25日(日)
会場:PARIS MIKI 四条烏丸店 2F 【アクセス】
   〒600-8007 京都府京都市下京区四条通高倉西入立売西町74番地1
   TEL:075-211-8272 FAX:075-254-4686
入場料:無料
サイト:http://akamatsu.org/aka/


本リリースに関するお問い合わせ http://akamatsu.org/aka/contact/


参考資料

【展覧会の概要】

SyncとはSynchronizationの略語で、複数の動作が揃って同期するという意味です。この展覧会では数多くの音楽と映像が同期しますが、それらは完全ではなく、僅かにズレたり、反応しないこともあります。一糸乱れぬ完璧さを追求するのではなく、個々の差異とともに総体として立ち現れる世界を垣間見ることが、この展覧会の意図のひとつです。

多くの事物が、あるいは多くの人々が集まる時、そこに混乱が生じることもあれば、統一が生じることもあります。誰かが号令を掛ける場合も、自発的な動きが生じる場合もあります。集団的な行動は強力である一方、時には負荷が大きくなるかもしれません。社会的な存在である私たちを電子ネットワークが加速する今日の姿を、展覧会は映し出そうとします。

会場には35台のiPadがあり、来場者は自由にiPadに触れて音楽と映像を操ります。これらは多少の相違がありながらも同期しており、全体として万華鏡のように目眩く音楽と映像が作り出されます。いずれのiPadも操作できますし、来場者がiPad(またはiPhoneやiPod touch)を持ち込むこともできます。もちろん、何も操作せず、ただ静かに鑑賞しても構いません。

2011年3月に赤松正行とカール・バルトスはMINI-COMPOSERという音楽アプリを制作し、東日本大震災の被災者への支援を呼びかけました。そして、同じモチーフで小田英之がCGアニメーションMINI-TABLEAUを制作しました。これらの音楽と映像が織りなす空間の中で、災害と支援につきましてもお考えいただければ幸いです。これが展覧会のもうひとつの意図です。

【展覧会のアプリ】

この展覧会で使用するアプリはApp Storeから無料でダウンロードできます。iPad(またはiPhoneやiPod touch)をお持ちの方はアプリをインストールして会場にお越しください(会場ではアプリのダウンロードはできません)。会場のWi-Fiに接続すれば、展示している作品と連動させることができます。

MINI-COMPOSER
4種類のドラム・ループとシンプルな電子音による16ステップ・シーケンサ。エグゼクティブ・プロデューサはJean-Marc Lederman(ジャン=マルク・レダーマン)。以下のURLよりダウンロード、またはApp Storeで「MINI-COMPOSER」を検索。

http://itunes.apple.com/jp/app/mini-composer-by-karl-bartos/id427541594

MINI-TABLEAU
4種類の絵画的アニメーションをループ再生するムービー・プレーヤ。
App Storeでの公開は未定。

【作家のプロフィール】

赤松 正行(あかまつ まさゆき)
メディア作家、博士(美術)、IAMAS教授
おもにインタラクティブな音楽や映像作品を制作し、近年はモバイル環境での表現研究に注力している。最初期からiPhoneに取り組み、40を超えるアプリを発表、セカイカメラのオリジナル開発者でもある。代表作に数十台のiMacやiPhoneを用いた「incubator」や「Okeanos Buoys」などがあり、「Maxの教科書」や「iOSの教科書」など著作も多数ある。

Karl Bartos(カール・バルトス)
電子音楽の作曲家、演奏家
テクノポップの創始者とも言えるクラフトワーク黄金期のメンバーであり、「The Robots」や「The Model」、「Computer World」などのヒット曲の共作者として知られる。その後のソロやユニットでも活躍しており、現在は「Live Cinema」と呼ぶオーディオ・ビジュアル・コンサートを積極的に展開している。2011年9月には来日公演を行い、好評を博した。

小田 英之(おだ ひでゆき)
美術家、IAMAS教授
『絵画』・イラストレーション・CGアニメーション作品を制作、80年代より多数の個展・グループ展で作品を発表。一般的に「絵画」は時間と空間を平面に圧縮したものであるといえるが、それは過去に技術的な制約から動くことをあきらめてしまった『絵画』の特殊な形態の一つであり、本来あるべき姿のひとつとして「可能性絵画」を提案している。

12/13より京都で展覧会

12/13より京都のPARIS MIKI四条烏丸店にて展覧会「Sync for Japan」を開催します。今年3月にKarl Bartos氏とともに制作したiOSアプリ「MINI-COMPOSER」に小田英之氏のアニメーション「MINI-TABLEAU」が加わり、都合35台のiPadによって展示します。お近くにお越しの際はぜひお立ち寄りくださいね。

展示はこんな雰囲気。これは正面のイメージ図で、これに両側壁と後壁にもiPadを空間的に配置して、全台がWi-Fiでシンクして音と映像を奏でる趣向。意図的ではないものの、必ず発生するズレやエラーを含んだネットワークの様相も鑑賞していただけると思います。

赤松正行+Karl Bartos+小田英之+展「Sync for Japan」

 会期:2011年12月13日(火)〜12月25日(日)
    11:00〜20:00
 会場:PARIS MIKI 四条烏丸店 2F 【アクセス】
入場料:無料

【追記】

PARIS MIKIの展覧会案内
PARIS MIKIの展覧会プレス・リリース
JAAPANの展覧会紹介(英語)
JAAPANの展覧会紹介(フランス語)
Karl Bartosの展覧会案内

iOSでVVOSC

OSC (Open Sound Control) は伝統的(笑)にOSC-Kitを使ってたけど、これは本家でも古いと言われるコードなので、最近はVVOSCを使うことが多い。このVVOSCは、vvopensourceなるオープン・ソース・フレームワークの一部で、Objective-Cインターフェースでキレイにデザインされてて、機能も申し分ない。サンプルとして提供されているOSCTestAppを見れば、何をサポートしているか一目瞭然。デベロッパでなくてもOSCの送受信チェックに便利だから、Downloadsからビルド済みのアプリをダウンロードね。

ただし、VVOSCはOS Xがメイン・ターゲットらしく、サポートされているとは言え、iOSではイマイチ。これまで何とか修正していたけど、iOS 5 & Xcode 4.2になって再びビルドが通らない。そこで、本来推奨されているスタティック・ライブラリではなく、ソースをプロジェクトに取り込んだのが以下の手順。

(1) ターミナルを開き、ソースをsvnで入手。Xcodeのレポジトリに登録してチェックアウトしてもOK。

(2) ソースからVVOSCとVVBasicのフォルダをプロジェクトのフォルダにコピー
 
(以下、コピーしたフォルダでの作業で、OS X関連などのファイルを削除する)

(3) VVOSCフォルダからAppSrcとDoxyfileを削除

(4) VVBasicsフォルダからDoxyfileとInfo.plistを削除

(5) VVBasicsフォルダのsrcフォルダから VVCrashReporter〜.〜 VVCURLDL.〜 VVSprite〜.〜 を削除

(ここからはXcodeでの作業)

(6) VVOSCフォルダとVVBasicフォルダをプロジェクトに追加

(7) プロジェクトのBuild SettingsのApple LLVM compiler 3.0 – LanguageのOther C Flagsに -DIPHONE を追加

(8) ビルドしてエラーの出る箇所を修正
 #import <VVBasics/〜.h> を #import “〜.h” に修正
 OSCStringAdditions.h に #import “MutLockDict.h” を追加

ビルドが通れば、VVOSCを利用してOSC通信を行うのは簡単。

まずはヘッダをインポート。

#import "VVOSC.h"

そしてOSCマネージャを作って、デリゲートを指定。

OSCManager *manager = [[OSCManager alloc] init];
manager.delegate = self;

出力ポートを作って送信。

OSCOutPort *outPort = [manager createNewOutputToAddress:@"127.0.0.1" atPort:1234];
	
OSCMessage *message = [OSCMessage createWithAddress:@"/test"];
[message addInt:100];
[outPort sendThisPacket:[OSCPacket createWithContent:message]];

入力ポートは作るだけ。

OSCInPort *inPort = [manager createNewInputForPort:1234];

実際に受信するとデリゲートが呼ばれる。

- (void) receivedOSCMessage:(OSCMessage *)m
{	
    NSString *address = m.address;
    OSCValue *value = m.value;
	
    if ([address isEqualToString:@"/test"])
        NSLog(@"%d", value.intValue);
}

はい、おしまい。

【追記】以前に比較したように、VVOSCは処理速度がやや劣っている。これは現在のバージョンでは改善された様子だけど、タイミングがシビアな用途には向かない場合があるかも。

クラウドの再定義

誰でも苦手分野があるけど、Appleの場合はネットワーク・サービスだろうね。この10年間だけでもiToolsに始まり、.MacからMobileMeへと変遷するものの、MacやiPhoneのようなレベルにはほど遠かった。

これはデバイスでのユーザ体験とネットワークでのユーザ体験とは違う、ってことなんだろうね。なぜって、MobileMeほどGUI的に(外見的に)洗練されたネットワーク・サービスはないと思うけど、でも使いにくいよね。むしろ、ネットワークに素敵なGUIをくっつければ使い易くなると思ったのがMobileMeだったんじゃない? 見当違いも甚だしい。

そんなAppleが起死回生とばかりに巨大データセンター込みで仕掛けるのがiCloud。お得意のアイなんとかってネーミングに腐食気味だけど、これがコケたらヤバいってくらい力が入ってる。WWDC2011のキーノートでも明らかなように、iCloudはiOSデバイスの母艦たるMac/PCを不要にしてしまう。もうコンピュータは要らない、ってこと。この転身は遅過ぎたくらいね。Androidはとっくにそうだったんだから。

icloud-logo

それではiCloudって何?って言われても、これだぁ!って目に見える実体がない。MobileMeやGoogleなどの一連のサービスがWEBサイトを示せば雰囲気が伝わるのとは大違い。クラウドって様々な定義があるけど、なんとなくSaaS(Software as a Service)っぽいものを連想してしまうのが悪いクセ(私も)。

iCloudはSaaSじゃなくってPaaS(Platform as a Service)だね。あるいはIaaS(Infrastructure as a Service)。そしてユーザが接するのはWEBアプリではなくネイティブ・アプリ。すでに425,000個もあるアプリを利用しない手はない。Appleは明確に唱っている、「iCloudはあなたの様々なアプリケーションとシームレスに統合」と。

まとめると、こーゆーこと。

  • コンピュータはオシマイ→モバイルで行くぜ!
  • WEBはダメ→アプリで行くぜ!

つまり、これまで以上にアプリ開発者が活躍の場が広がると思う。Mac中心主義だったデジタル・ハブ構想を捨て、iOS/OS X中心主義のクラウド構想に移行するターニング・ポイントがWWDC0211ってことになる。それを支えるのがiCloud。

もちろん、Macは制作ツールとして存続するけど、一般ユーザが使うものではなくなる。WEBも簡易な情報提示の場として有効だけど、高度かつ体験性の高い処理はアプリが担う。はてさてAppleの目論み通りにコトが進むかどうか、お手並み拝見と参りましょう。

【追記】iCloudはiOSデバイスだけでなくMacでもWinでもOK。たぶんAndroidなど他のOSでもOKな気がする。そんなワケでクロス・プラットフォーム展開には支障がないハズね。

4/12から大垣でギークラボ

先週の裏モバイルカフェでのミーティングを経て、いよいよ今週からギークラボ(geeklab.jp)を開設することになりました。前回を第0回として本日4/12は第1回のミーティング。とは言え、当面は広報的なことはいたしませんし、ギークラボが何かも曖昧模糊なままになります。ご興味のある方は、ぜひ辿り着いて入り込んでくださいませ〜って感じ。

geekcafejp

不親切かもしれませんが、理由のひとつには、明確なポリシーを決めずに自然発生的に柔軟に運営したいってことがあります。ただ、以前のモバイルカフェが広く浅くオープンでフリーだったのに対して、ギークラボは狭く深くクローズドでペイドになりそうです。言わば秘密結社(笑)やギルド(笑)なので、一般には情報もあまり流れないじゃないかな。

明文化せずに運営するってことは「契約」ではなく「信頼」に基づくってことで、これはかえって大変。でも、「規模」や「位置」ではなく「密度」や「速度」を求めるなら、必然的に不文律の活動になるのかも。そんなこんなでユルユルとがんばりますよ〜乞うご期待!