74氏のZeptoPadへの思い入れ


昨日のエントリ(→ http://d.hatena.ne.jp/yaneurao/20081227 )に対して74氏から、ZeptoPadについていろいろコメントを頂戴した。
内容を整理するため、いったんコメントはすべて削除させてもらって、以下のまとめてみた。


ZeptoPadは広大な描画空間を持つ唯一無二のiPhoneアプリである。
他のアプリでは決して代替できない神アプリだと言ってもいいだろう。


74氏はそれゆえ、ZeptoPadに強い思い入れを持って使っており、ZeptoPadの想定される使い方の範囲を超えている部分もある。
そのことを事前にお断わりしておく。


■ ZeptoPadでまともな線が描けない?


74氏は、ZeptoPadではまともな線が描けないと言う。私は線自体は普通に引けていて、「何のこっちゃ?」という感じではあったのだけど、詳しくメールで聞いてみるとつまりはこういうことらしい。


まずテンプレとなる図形を作って、それをコピペして組織図のようなものを描きたい。よってテンプレとなる図形をなるべく丁寧に描きたい。


丁寧に描くためには、ズームインして描かなければならない。ズームインして描いたあと、ズームアウトさせて使うので、必然的に用いるのは一番太いペンとなる。


ところが、一番太いペンで描くと、線の端点や線の折り返しがおかしくなる。


ということらしかった。私は太い線で描いたことなんてほとんどないし、そんなに超ズームで描いたこともなかったので言われるまで気づかなかったが、なるほど、そういう使い方もあるのかと少し感動した。


そこで早速試してみると…。


 


なるほど、鋭角(90度未満の角)があるとその角の外側に補整されたような跡が残る。習字の筆のようになっている箇所は、指を離すときに若干(線を引き始めたほうに)指を戻すとこうなる。0度に近い鋭角が作られてこうなるのだろう。


ZeptoPad1.6ではここまでひどくはなかったと思うので、2.0で高速化のために多角形の頂点の数を減らしたためだと思われる。
(まあ、私はここまで太線をズームして描かないので別に気にはならないのだけど。)


74氏がサポートに問い合わせたところ反応速度を優先してこういう仕様にしているという旨の返答があったらしい。


ただ、見た限り、上図のようにすることによって多角形の頂点の数は全く減っていないので、これは計算のときの誤差か、単なるバグのような気もする。


また、太ペンによる鋭角に対してはレンダリングのときにもう少し頂点数を増やしたほうがいいような気は少しする。


■ ZeptoPadが描画内容を変形する問題


「直線がまともに描けない」が、プレゼンテーションモードでは、綺麗に見えるということを74氏が発見した。


 


74氏は、(上のように)「ドローツールなのに描画内容を変形するというのはおかしい」とも言っていて、確かに上の左図で描いていて、完成したときに(プレゼンテーションモードで)上の右図が表示されて、それでいいのかという問題はあるのかも知れない。でも、私はこれはこれでいいような気がする。


ZeptoPadのように広大な描画空間を持っているとiPhoneのメモリ上に収まりきらないので、ZeptoPadは特徴点しか保持しないような実装になっているのだと思う。線のオブジェクトは、線の太さと特徴点の配列しか持っていないのではないかと思う。だから、それがどうレンダリングされるかは、レンダラの性能次第ということなのだろう。


まあ、ペイントツールではないので、これでいいような気はするが、74氏のような人のために、レンダリングのクオリティを設定できたほうがいいのかも知れない。


■ 初期状態が描画モードである問題


74氏はこうも言う。「初期状態が線引きではなくEDIT押下状態相当になっていて、上記問題(直線がまともに描けない)が解決されれば、自分的には1.6の機能で既に神アプリなのですが」


EDIT押下状態相当だと何がいいのか私にはよくわからないので詳しく尋ねてみると、こういうことらしい。

初期状態で線引きになっているため、ズームやパン(二本指操作)、または、既にあるオブジェクトを拡大、移動(オブジェクト選択時)しようとするとき、線を引いてしまう(一本指操作と誤認識されたり、選択が解除されて)、ということが起きてしまいます。また、初期状態では何も追加されずに、文字を書くときにはTEXTアイコンを選択するように、線を書くときには例えばLINEアイコンを選択する、という遷移の方が一般的なように思います。

私は、ZeptoPadを使っていて、「一本指操作と誤認識」された経験がないので特に苦労した経験がない。でも、いまテストしていると、二本の指をタッチするタイミングにズレがあるとその二点間に直線が引かれてしまうことは確認できた。


自分の描いたメモを確認したいだけの時は、線が描けてもあまり役には立たないので、一本の指でスライド&タップで拡大(ダブルタップで縮小)できるようなViewモードがあればいいのかも知れない。一本指操作か二本指操作なのかを判定する時間を設定で調整できるといいのかも知れない。何がベストなのかはよくわからない。


74氏は、ズームやパンさせたいときに「一本指操作と誤認識」されて、小さな線分が引かれてしまうと、これが範囲選択で選択できないことがあり*1、UNDOするしかなく*2、UNDOせずに小さな線分が描かれていることに気づかずに描き進めると、その小さな線分が消せなくて最初から描きなおしになってしまうのが腹立たしいらしい。


私のわかる範疇を超えているので、「再現できるデータをサポートのほうに送ってみては?」と進言しておいた。


■ まとめ


いろんな部品を事前に作成しておけば、VisioのようなことがZeptoPadで実現出来るというのは大変参考になった。
広大な描画空間があるというのは、それだけでも様々な可能性が考えられる。


Visioのようなテンプレ部品が標準でいくつか用意されていればさらなる可能性が広がるような気はする。
あと、こういう用途で使うなら、描画図形をグループ化する機能とかがあれば便利なのだが…。

*1:私のほうでは再現できなかったのでよくわからない。もし本当に再現できないなら、バグだろう。

*2:ただし、選択できなかった場合は、選択できる図形だけをコピーして、新規ファイルに貼り付けることでも回避できるらしい。