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 : 双方向リンクシールを作って考えた | トップページ | 手書き要素の配置換えを「ちょっとだけ」便利にするシール »

2013年10月29日 (火)

enchantMOON : 双方向リンクシール : 一応公開

[2013/12/06 追記] バージョンアップに伴い、[双方向リンク元検索シール(1)], [双方向リンク元検索シール(2)]は廃盤としました。>詳細


MOONPhase を  ver 2.7.0 に update しました。

ですが、相変わらず「誤動作」します。正常動作する場合も、その時々で動作速度が異なり、「もしかしてハングしたか」と思うほど時間がかかることもあります。しかし、「害」を与えるシールではないので、一旦公開することにします。ダウンロードする方は、申し訳ありませんが、うまく動作しないこともあることを覚悟で試用をおねがいします。

Download : [双方向リンク登録シール], [双方向リンク元検索シール(1)], [双方向リンク元検索シール(2)], [双方向リンク元検索シール(更新版)]

 

使い方

二枚のシールを組み合わせて使います。他のページにリンクを張って登録するシール(registBiLinkTo - 以降「登録シール」と記述)、とリンク元ページの一覧を検索するシール(searchBilinkFrom - 以降「検索シール」と記述)の二枚です。

「登録シール」をページに貼ってから、タップするとリンク先選択画面が開きます。リンク先を選ぶと、そのシールに情報が登録され、以降はタップするとリンク先ページに移動します。(遅いですが)何かの誤動作で、リンク先情報が消失している場合は、タップすると改めてリンク先選択画面が開きます。「登録シール」は、一つのページに何枚でも貼り込むことができますので、画面イメージは以下のようになるでしょうか。

Bilinksticker_2

「登録シール」をいくつかのページに貼ってリンクを形成した後で、「検索シール」を使用します。特定のページで「検索シール」を貼ると、そのページにリンクを張っているページの一覧を表示します。この時表示されるのは「登録シール」でリンクを張ったページだけで、通常の、指で丸を描いて出てくるメニューから張ったリンクは検索できません。(システムレベルで作成したリンクの情報を拾い上げることは、今の処無理でした)

使い方はこれだけです。動作が速くて、システムが不安定にさえならなければ、そこそこ使えるとは思います。

誤動作パターンの説明(愚痴)

技術的な詳細や、ソースコードは、ここ 2-3 日の記事を参照ください。

自分で使っていて遭遇する不具合は

  • シールの貼り付け、実行、剥がす操作で、相変わらず "Sticker is not defined" エラーがでる。
  • 移動先、リンク先ページを表示するまで、「ハングしたか」と思うほど時間のかかることがある。
  • 「検索シール(1)」で、tap すれば剥がれるはずなのに、剥がれない。この場合は、指で囲んで "delete" で剥がすことはできる。
  • ページ移動で、「あれ?」と思うほど時間のかかることがある。
  • ページ移動で、(ものすごく時間がかかっているだけかもしれないですが)動作が止まることがある。電源ボタン長押しで shutdown → reboot しかなくなることがある。
  • リンク先選択、リンク元選択、の画面で、本来表示されるページが表示されなかったり、対象でないページが表示されたりする。何か、直前の動作に影響を受けている印象。
  • 規定の動作をしなかった場合、その後の操作を受け付けないことがある。
    • この場合、画面に指で輪を描けるか試してください。描けなければ、シールの動作が終了していないことになります。3 本指スワイプでキャンセル動作をすれば、入力を受け付けるようになります。

基本的に、いずれも、「誤動作」というより、「動作しない」形です。ですので、期待した動きをしなくてストレスはたまりますが、何度か tap を繰り返したり、最終的には強制的にシールを剥がして張り直せば何とか動くので、「プラスマイナス 0 」くらいにはなると思います。

そんなに複雑なコードは書いていないので、やはり OS の問題かなぁ、と愚痴りたくなりますが、一点自信のないのが、非同期処理のクセがわからなくて、やたらあちこちに MOON.finish() を仕込んであることです。もしかしたらこれが誤動作の原因かもしれません。その場合は、開発スタッフを批判してしまってごめんなさい、と謝罪しなければならないのですが、正直今のところ、MOON.finish() の入れ場所がわかりません。問題点がわかる方がいれば、教えてください。

もし、私の書いたコードにまったく問題がないとしたら・・・、searchStorage() や、openPage() など、ページの移動が発生する API のあとで不具合が生じているような「印象」を受けます。言いがかりでなければ、気長に修正をお願いしたく思います。

« enchantMOON : 双方向リンクシールを作って考えた | トップページ | 手書き要素の配置換えを「ちょっとだけ」便利にするシール »

enchantMOON」カテゴリの記事

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: enchantMOON : 双方向リンクシール : 一応公開:

« enchantMOON : 双方向リンクシールを作って考えた | トップページ | 手書き要素の配置換えを「ちょっとだけ」便利にするシール »