第14回 プログラミングの舞台裏「1.件名:新規開発依頼」

14−1 件名:新規開発依頼

それは、1通のメールから始まります。

   『仕事でExcelを良く使いますが、PDA用のViewerが欲しいです。
    編集のことを言うと面倒になりそうなので、単なるViewerでよいです。』


noriさん(仮称)という方からの、開発依頼でした。
そういえば、私は、Vectorさんの作者ページに

   『ご要望に合わせて作りますので、お気軽にドウゾ。』

と書いていました。
自分でも忘れかけていたこととはいえ、わざわざ頼っていただけたことと、A.S.M.に似たイメージで作れそうだったので、お受けすることにしました。
これが、CSVビューア『ACV!』開発の第一歩だったのですが、それは新しい事柄の連続だったのです。
今回のBasic BASICは、いつもとはちょっと雰囲気を変えて、このACV!開発で遭遇したいくつかの問題と回避した方法、そして、その成長を紹介してみましょう。
この開発中の試行錯誤をお伝えすることで、プログラミングに必要な『何か』を感じることが出来るのではないかと思います。

さて、まずは、頂いたメールから要望点をまとめてみました。
  • エクセルの表データを持ち歩きたい
  • バージョン間の問題があるので、CSVを変換できれば良い
  • 単なるビューアでよい
このように、要望点をまとめてみることで、おおよその方向や骨格を組み立てることは可能です。
でも、もう少し、具体的な事柄を知っていないと、どういう方向で作れば良いのか今ひとつわかりませんので、まずは、仕様を詰めるためメールのキャッチボールが始まりました。

私の最初のイメージでは、買い物メモソフト「A.S.M.」が、Palm標準のメモ帳からデータを読み込み、簡易的なデータビューアとして使えますから、これに近いものを考えていました。
特に、この方法だと、PalmDeskTopのメモ帳にコピー&ペーストでCSVを貼り付ければ、パソコン側であえてコンバータを用意しなくてもよいので、開発がとても容易になります。
しかし、A.S.M.では制約が多すぎるようでした。
  • メモ帳の制約1件が4KBというのは小さすぎる
  • A.S.M.は行数、列数が固定だが、これより広い範囲のデータを扱いたい
実際、様々な行・列数を持つCSVファイルが対象ですから、固定のA.S.M.ではビューアとは言えませんし、また、1ファイルが4KBというのも小さすぎます。
従って、独自にデータファイルを用意しなければならないのですが、PalmOS上で取り扱えるファイルはPalm DataBase、いわゆるPDBと呼ばれるデータファイルになります。
PDBは何らかのコンバータによってパソコン上のファイルを変換する必要があります。しかし、この頃の私は、このようなものを作ったことがありませんでした。
おぼろげながら調べたことはあるのですが、具体的に考えたことはありませんでした。

しかし、明らかに『PDBのコンバータを作らなければならない』という事実が目の前にあります…

悩んでいても仕方がありませんし、そのうち調べることですから、これは、ちょうどよいきっかけでした。
そして、PDBファイルの構造を解析して、VBから作成できるようになったのは、別コーナー『NS Basicについて』に掲載した通りです。
これは、実際にやってみると思ったより難しくないことがわかりました。そして、幸いないことに、1つの大きな障害がクリアされ、おおよその目処が立ちました。

この時点で、ここまでに調べた知識を使って、単純にコンバートして、それをPalmで表示する、という簡単なサンプルプログラムを作って試用していただきました。
やはり、とりあえずでも、動くものを作って試してもらうことが、一番の早道です。
プログラミングには縁のないユーザーさんに、文面や図表で詳細な提案をする方がみえますが、むしろ何らかの実物を触って頂くのが一番です。
そうすることで、使う側の視点からの問題点や必要な機能、足りない部分がわかりやすくなります。もちろん、自分用の確認にもなります。
また、そういう意味では、『とりあえず』動くものが簡単に実現できるBASICと言うのは、魅力的です。ちょっと作って、すぐに試せますから、下手な仕様書よりも説得力があります。

肝心のコンバータ側の使用感についてですが、これは合格レベルを頂きました。
しかし、ビューア側についていろいろなご注文を頂くことになり、必要とされる機能がおおよそ次のようにまとまりました。
  • CSVがPDBに変換できれば良い
  • CSVサイズは2〜30KB程度を想定
  • 縦横の罫線表示が欲しい
  • 大きな表を扱うので、縦横のスクロールが必要
  • ビューアなので、表示速度があまり遅いのは困る
  • 特定の行や列の固定機能も欲しい
速度的な面で不安はありましたが、まず第一関門のPDBファイルが作れるようになりました。そして、これらの機能を満たすプログラムの開発が動き出したのです。


目次へ     次へ

第14回 プログラミングの舞台裏「1.件名:新規開発依頼」