PDFリーダーに関して、周りの人から動画ではイマイチだけど触ってみるとかなりポテンシャルを感じる、という意見をもらっています。
そこで体験版の配布を検討しているのですが、一番気にかかっているのはライセンス周りとサポートです。
利用しているHaskellの各パッケージについて、ライセンスの制約が色々あるかもしれず、そのあたり自分に知識がないからあとで面倒なことになる可能性を恐れています。また、トイプログラムなので、自分の把握している範囲でのバグなら対応できていますが、他人が使った時に変な挙動をしたとしても責任が取れません。
更に昨今、プログラミングが義務教育化されることに伴い、プログラミング熱が高まる機運が見られます。その際には、モチベーションが大事になってくると思います。
教科書とかの復習に非常に有効というのは段々分かってきたので、学生さんとかが自分でプログラミングしてみる気になる良い素材、題材とも思っています。
この類のPDFリーダーについては今の時点では少なくとも自分は見たことがないので、タイミング的にもベストと考えています。
また、実はGUI部分についてユーザー自身が自分用に細かくいじるのが、読書感に大きく利いてくるのが分かってきました。一例としてはパレットの表示位置とか、ページ送りをどうするかなどです。Adobe社のAcrobatリーダーは軽くてこなれていますが、自分用に少しチューニングしたら、もっと使い勝手がよいのに、というシチュエーションが自分には結構あります。Amazon社のKindleもそうです。そのあたり、自分でGUIプログラミングが出来るようになっておけば、Kindleは無理ですが、PDFならいい感じでカスタマイズできます。
以上を鑑みると、動くソフト自体やソースコードそのものを配布するのではなく、その作り方をオープンにして、使ってみたい人が自分でプログラムする、自分でカスタマイズする、という方法がいいと思いました。
使う言語は、Haskellです。以前の記事でも度々触れていますが、似た系統であるAgdaに将来性を感じていますので、まずはHaskellを推していきたいです。
さらに、文書中の文字の座標情報と構文解析結果については、とりあえず自分が既に行ったものを用意します。これで、このPDFリーダーを試したい人はGUIまわりのプログラミングのみで済みます。後日、上の2つについても触れるかも知れません。
それでは、次回以降、Haskellの開発環境の構築と、具体的なコード作成について、文章か動画あたりで少しずつ説明していく予定です。
よろしくお願いします。
以下の動画のようなのを複数回かけて作っていく予定です(※1)。