enchantMOONとはなんだったのか。

enchantMOONを作ったUEIの清水CEOによる、enchantMOONとはなんだったのか、という一連のつぶやき。 自分で後で読むためにまとめました。 一連の呟きが終了したようなので、ひとまず編集完了とします。
enchantmoon moonblock
taedookim 76781view 8コメント
85
ログインして広告を非表示にする
  • Ryo Shimizu @shi3z 2014-08-22 12:19:20
    買った:コクヨ 『コクヨ デジタルノート CamiApp S メモパッドタイプ Android版 NST-CAS-PA5-AM』#アマゾンポチ と入れて@返信でカートに追加・後で買う via @amazonJP amazon.co.jp/dp/B00MGCE2VS/…
  • Ryo Shimizu @shi3z 2014-08-22 12:19:49
    両開きのが欲しかったが、なんか予約受け付けてないようなのでとりあえずシングルのを買った。両開きもどうせ買う
  • Ryo Shimizu @shi3z 2014-08-22 12:30:02
    ところで最近になってenchantMOONが一体全体なんだったのか、自分でも作ってる最中には気付かなかったことがいくつかポロポロ出て来て、何に使えばいいのか、何のためにこれが存在しているのかわかるようになってきた。明日の夏だ一番!電脳空間カウボーイズ祭りではそのへんの話をしよう
  • Ryo Shimizu @shi3z 2014-08-22 12:32:14
    enchantMOONはもともと手書き版ポメラというコンセプトでスタートした。当初はAndroidを素で使って、それにノートとして使い易いシンプルなシェルを乗せて売るつもりだった。しかし同時にキーボード付きのプログラミング入門端末も検討してた。
  • Ryo Shimizu @shi3z 2014-08-22 12:33:18
    しかしどうしてもデジタイザを入れると原価が跳ね上がる。それに会社の体力として二つのハード製品のラインを同時に立ち上げるのは無理があった。そこでなんとかこの二つを一緒にできないかと無茶なことを考えた。でもCESで発表した時点までは、まだプログラミング機能はオマケだった
  • Ryo Shimizu @shi3z 2014-08-22 12:34:40
    CESで動くデモを作ろうとして、WebKitでMOONBlockを動かしてみたら、3fpsしかでなかった。チューニングされてないAndroidだとWebViewはここまで遅かったのだ。これは困った。仕方ないのでケビンがenchant.jsだけが高速に動作するVMを開発した。
  • Ryo Shimizu @shi3z 2014-08-22 12:36:20
    この時点では、アプリ開発のメイン言語をRubyにするかJavaScriptにするかまだ迷っていた。データは全てベクトルだし、テキスト処理に近いから集合処理が得意なRubyはMOONのアプリを書くのに向いてると思っていた。が、mRubyの実装がまだ安定してないので延期した
  • Ryo Shimizu @shi3z 2014-08-22 12:42:31
    その状態でアラン・ケイのところにいってデモをした。アラン・ケイはデモが命、の人なのでプレゼンを作るよりデモをしろと言われてenchantMOONの試作機とMOONBlockをデモした。するとケイが言った。「学習曲線をどう捉えてる?誰もプログラミング段階へ移行しようとしない」と
  • Ryo Shimizu @shi3z 2014-08-22 12:43:44
    ケイ「Hypercardを思い出してみるがいい。あれはなぜ成功した?ハイパーリンクは誰でも理解できるし簡単だ。けどAutomaterは?なぜ誰も使わない?なぜ失敗した?便利だがよくわからないからだ。つまりハイパーリンクくらい簡単にしなければ、ただビジュアル化しただけでは失敗する」
  • Ryo Shimizu @shi3z 2014-08-22 12:44:40
    ケイ「ハイパーリンクのオーサリング段階から、プログラミング段階への移行をどのように促すか、それが最大の問題だしこのプロジェクトの関心事だ。encantMOONの学習曲線をどのように設計するのか」
  • Ryo Shimizu @shi3z 2014-08-22 12:47:37
    そこでハイパーリンクを作る時、ただリンクができるのではなく、MOONBlockのプログラムができるようにした。リンクを作る行為そのものが無意識的にプログラミングになっているのだ。リンクを作ったあとでHackすると、ユーザは自分が既にプログラミングしていたことに気付く仕掛けだ
  • Ryo Shimizu @shi3z 2014-08-22 12:48:55
    するとenchantMOONの質的な意味が変化した。これが変化したということに僕はそれからたっぷ16ヶ月は気付かなかった。開発するのが大変すぎたし、対処すべき問題は山のようにあった。そしてそれがどういう意味を持つのかようやくハッキリと理解できたのはつい先週のことだ。
  • Ryo Shimizu @shi3z 2014-08-22 12:50:53
    今年の頭にもういちどアラン・ケイに会いに行き、アドバイスが欲しい、と言うと「アドバイスすることはない。これは君たちのものだ。君たちが思った通りにやればいい。そのほうがずっといいものができる」と突き放された。この時は途方に暮れたが、そういいつつもそれから2時間に渡って話をしてくれた
  • Ryo Shimizu @shi3z 2014-08-22 12:52:18
    そのときケイが何を意図していたのか良くわからなかったが、いまになってようやく解った。つまりenchantMOONは、デジタルノートではなかったのだ。デジタルノートではなく、手書きプログラミング端末といったほうが正しかったのだ。
  • Ryo Shimizu @shi3z 2014-08-22 12:54:26
    ノートのように使おうと思った人たちが途方にくれた理由は主にそれだった。そしてたとえばフォルダ分けとかファイルとか、それまで当たり前だった概念を入れようとしてもどうもしっくりこないので理解できるようになるまでそういう機能は入れないようにしようと決めていたから、いまのかたちになった
  • Ryo Shimizu @shi3z 2014-08-22 12:55:43
    するとenchantMOONのページとは、実はノートのページのように見えて、実際にはコンピュータのメモリそのものである。だからハイパーリンクで互いを参照できることに違和感がない。ここにファイルやフォルダの概念を導入すると、ファイル内部にハイパーリンクできるのかという議論になる
  • Ryo Shimizu @shi3z 2014-08-22 12:56:45
    enchantMOONを使うという行為は、行為そのものがプログラミングである。なぜならメモリー(ページ)に直接データを書き込んでいるわけだから。それをシーケンシャルに、つまり左上から右下にむかって読まれることを想定して書くわけだ。これはプログラミングの基本要素の「順序」である
  • Ryo Shimizu @shi3z 2014-08-22 12:58:32
    ハイパーリンク、これは明らかに「分岐」である。そして「繰り返し」は分岐の一部なのでハイパーリンクが循環していれば繰り返しであるとこじつけられなくもないが、それは詭弁であって、実際にはいわゆる「繰り返し」はブロックに頼るしかない。ブロックから見るとページ上の情報は操作対象にすぎない
  • Ryo Shimizu @shi3z 2014-08-22 12:59:24
    つまり、enchantMOONで書かれたものは、無意識のうちになされていることではあるけれども、全てがプログラムの一部なのだ。こうなった明らかな原因はハイパーリンクを特別扱いせず、シールアプリの一種として実装したところから始まった
  • Ryo Shimizu @shi3z 2014-08-22 13:01:02
    これから24時間以内にリリースされるMOONPhaseの新バージョンは、とても地味な変化しかないが、本質的には決定的な変化をする。それはノートストレージの採用だ。これはノート全体で共有される環境変数で、ページを跨いでも保持される。
  • Ryo Shimizu @shi3z 2014-08-22 13:02:24
    これに伴ってプラグイン扱いだった罫線、プロンプトなどのブロックも標準搭載されるほか、超高機能なキットが追加される。さて、ということは今のところMOONBlockとノートは別れているように見える。だが実際には一体性が強いものだということが解って来た。
  • Ryo Shimizu @shi3z 2014-08-22 13:03:34
    とすると次の段階はブロックとページがもっと密に結合するべきだという話になる。完全に別れるのではなく、部分的にプログラミングできるところを増やして行くか、とにかくもう少しマシな別の展開というのを考えられるようになるはずだ。つまりプログラミング端末であることを隠す必要はないということ
  • Ryo Shimizu @shi3z 2014-08-22 13:05:47
    おそらくそういう意味でプログラミング端末としての本能を覚醒させるのが、さらに次のS-IVBの課題となるだろうということをようやく認識した。ただ、あんまり進化を急いでもユーザーの方々がついて来れないのでステップ・バイ・ステップでやっていくしかない。ペースはもう少し落とすべきかも
  • Ryo Shimizu @shi3z 2014-08-22 13:07:12
    まあでも今回のバージョンアップではMOONBlockが超絶進化するので、それだけでかなり遊びの幅は広がるだろう。そしてそもそものenchantMOONの有効な使い方自体を発見したのがつい最近なので、それをもっと試す必要が有る。

コメント

カテゴリーからまとめを探す

「健康・医療」に関連するカテゴリー