2015年4月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 2013年8月 | トップページ | 2013年10月 »

2013年9月の1件の記事

2013年9月 8日 (日)

enchantMOON : シール、作りたいけど作れない

前回 strokes を削るか、追加するか、という一番簡単なシールまでは作れたのですが、「次」を考えると壁に突き当たりました。

画面の effect については、enchant.js の勉強不足なのですが、他は、思いつく内容がすべてMOONPhase の API 不足にぶち当たります。

今の段階で API が不足していること、どんな API をどこまで用意すべきか決定できていないことは納得ですので、ケチをつけたいわけではありません。寧ろ、こういう機能は MOONPhase 自体に備わっているべきと思われるものについて、無理やりにでも user land レベルで実装して、実証実験ができればな、と思っていたのですが。

やってみたかったと事としては

絞り込み検索:複数のキーワードを指定して and 条件で hit するページを列挙する

web 検索が \x20 を separator として and 検索ができるので、MOON.searchPage() でも and 検索ができるのかと期待しましたが、無理でした。\x20 で列挙したキーワードで絞り込みができるのは、(やっぱり) google 側の機能のようです。

単純に、MOON.searchPage() が複数のキーワードを受け付けるようにするだけでもよいのですが、別のアプローチもあります。MOON.openNotebook() も MOON.searchPage() も MyNotebook1 以下の全ページを母集団として処理するようですが、MOON.searchPage() が単独のページを返すのではなく、検索にかかった複数のページの配列を返すようにして、絞り込み後のページ配列を母集団として MOON.openNotebook() や MOON.searchPage() を実行すれば、絞りこみ検索も、ページ選択 UI も実現できます。

あれこれ tag をこねくり回したり、索引や key word list をまとめるという要望もあるようですが、No UI としては、全ノートからの絞り込み検索に sort がかけられるくらいでずいぶん実用性が上がるのではないでしょうか。

stroke の文字認識

MOON.recognizeStroke() に MOON.getPaperJSON( MOON.getCurrentPage().backing ).strokes を渡すと、Error が返ってきました。MOONPhase の熟成不足なのか、私がドキュメントを読み損ねているのか、どっちなんでしょう。

シールの ID 識別

既に十分語られているので、ここを参照。ところで、Issue Tracker にログインできないのですが、google の account が要るんでしょうか?

双方向リンクと localStorage

hyperlink があるから boogieboard と戦える enchantMOON としては、この方向を鍛えたい処。

で、HTML 的な hyperlink だと一方向グラフになるわけですが、Btron 的に実身/仮身で考えると、双方向リンクでありたいところです。Note へのリンクで移ってきたら、簡単に元の Note に戻れるというのが理想ではありますが、リンク元が複数ある場合、確実に元の Note に戻るには stateful である必要があります。enchantMOON で stateful な実装はあまり望ましくないのではないかと思います。stateless で行くには、確実に元に戻れなくても、すべてのリンク元を列挙できれば十分役に立つのではないか、と。

pre-install の favorite シール(☆印) のコードを読むと、localStorage をうまく使って、MOON.searchStorage() に結び付ければ実現できそうなのですが…。

当然のことながら、hack.js から local file を直接読むことができなかったり、シールが複数貼られている場合にシールを識別できなかったり、さらに残念なことに現在のところ、localStroge には整数しか格納できないということで、どう考えても無理です。

この一週間で思いついた、作りたいシールのネタはこれくらいなので、暫くはシステムの update 待ちです。何かシール単独で完結するような、enchant.js なものを暫く考えてみます。

« 2013年8月 | トップページ | 2013年10月 »