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    
無料ブログはココログ

« enchantMOON : シールを作ってみました | トップページ | enchantMOON : 双方向リンクシールを作りました(使い方のみ) »

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 なものを暫く考えてみます。

« enchantMOON : シールを作ってみました | トップページ | enchantMOON : 双方向リンクシールを作りました(使い方のみ) »

enchantMOON」カテゴリの記事

コメント

日付シールをつかわせていただいてます。
そして、日付シールを教材に、勉強をしています。
(3日かかって、表示の桁合わせと、秒までの表示をすることができました)
自分の覚書として、日付シールをこんな風に読み取って、こんな風に改変してみました、という内容をblogへ記録しておこうかなと、思ったのですが、
そもそも、改変をすることや、そうした内容をblogへ掲載することが、ルール違反であったり、制作してくださった方にとって許しがたい行為であったりすることはないのかということが、心配です。
 コメント欄を使うべき内容ではないかもしれませんが、ご意見をうかがえればありがたいです。(コメント欄へは非掲載にしていただいてかまいません)
 アンド検索機能の実装は、eMのためにも、使用者のためにも、とても役に立つと思います。
それでは、これからも頑張ってください。

 miyakotamachi さん

 シールが参考になったようで、なによりです。こちらは次のシールがなかなか作れなくて苦労しています。

 さて、改変その他のルールですが、私も細かいことはよくわかりません。esmasui さんのとかだと、Apatch ライセンスになってるようですが、ライセンスをちゃんと書いてる場合はそれについて調べればよいことですよね。(もっとも、この辺のライセンスもいくつもあって、細かい使い分けが一向にわからないのですが)

 私も、何かかなりしっかりしたものが書ければ、適当なライセンスを調べてつけてもよいのですが、今の処とても権利を主張できるほどのレベルではありませんので、どうぞお好きに改変して下さって結構です。

 もし、気を遣って下さるのであれば、改変部分が元のソースコードの一部に過ぎないようなら、だれそれのこれこれというプログラムを改変しましたとコメントにでもつけてくれれば十分でずが、これも、改変部分の方が大きくなれば、敢えてつけなくても(何か他に理由がなければ)問題にならないのではないかと思っています。

 是非、バシバシいじり倒して、踏み台にしてください。

日付シール改変覚書ブログを書いてみました。全3回になりました。
文系の初心者がどんな風にコードを読んでいるのかを、笑ってやってくださいませ。
それでは。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1527616/53182496

この記事へのトラックバック一覧です: enchantMOON : シール、作りたいけど作れない:

« enchantMOON : シールを作ってみました | トップページ | enchantMOON : 双方向リンクシールを作りました(使い方のみ) »