Windows開発とは厄介なもので

Windows版XORの開発は最終段階で手こずっています。というのもPDF関連のAPI類がMacほど充実していないようで。

Microsoft Windows 10

まあ、しかたないか。かつてのNeXSTEPの流れを組むmacOSは画面すらPDFとして描画しているので、そもそもPDFとの親和性が高いけど、Windowsは違うのだから。

PDFの話ではないけど、確かWindowsは今でもプリンタドライバを変更するとWordやテキストエディタにおいて1ページあたりの行数が変わってしまうのですよね。いい加減、MicrosoftもWindowsをモダンなOSに作り直せばいと思うけど、とんでもないシェアを獲得したばかりに古い機構をいつまでも引きずらざるを得ないのかも。

ならばDTPやWeb制作などMacの方が圧倒的に向いている業種が皆WindowsからMacに乗り換えて住み分けが進めば話は早いのだけど、現実はそうもいきません。

よって、このままXOR Version 1のリリースにこぎつけ、その後でより良い有償ライブラリを導入するなどして改良していくしかなさそうです。

対応macOS

昨日、以下の問い合わせをいただきました。

mac OS 10.9.5には対応するXORはありますでしょうか。

macOS 10.9(Maverics)は6年前にリリースされたバージョンですね。せっかくのお問い合わせだったものの、残念ながら対応のXORはありません。サポートOSを限定することで開発コストを下げるためです。

macOS X 109 Maverics

XORの開発企画がスタートしたのが昨年の前半。当時の最新OSがmacOS 10.13(High Sierra)だったのでこれを下限とし、秋に登場したmacOS 10.14(Mojave)も対象に加えました。

仮にmacOS 10.9に対応するとなると、中古のMacを買い求め、環境を作り、実行ファイルをビルドし直して、下記すべてのOSでテスト項目を一通り検証する必要があります。

  • macOS 10.9(Maverics)
  • macOS 10.10(Yosemite)
  • macOS 10.11(El Capitan)
  • macOS 10.12(Sierra)
  • macOS 10.13(High Sierra)
  • macOS 10.14(Mojave)

つまり単純計算で3倍のテストが必要になる上、もしどこかのタイミングでAPIの変更が発生していればソースコードを修正して、改めてすべての対応OSにおけるテストが必要になります。

Windowsユーザの中にはアプリの互換性の都合などから、いまだに7(場合によってはXP)を使っている人が少なくないものの、Macの場合はOSが無償なこともあり、大半のユーザが最新のOSにアップグレードするので古いOSをサポートする意味は薄いと判断しました。

ちなみに来月リリース予定のmacOS 10.15(Catalina)のβ版でもXORは問題なく動作しています。

Windows版XORの開発状況

Windows版XORの開発が着々と進んでいます。スクリーンショットはこの通り。

Windows版XOR

機能はMac版と同じです。おそらく価格も。

そして肝心のリリース時期ですが、今月末を目指しているものの、9月にずれ込むかもしれないという状況です。今しばらくお待ちください。

macOS Catalina

先日、新しいmacOSが発表されました。6月発表、9月リリースは毎年恒例ですね。

macOS Catalina

気になるのはAPIの変更の有無。現行のXORが修正なしに使えるかどうか。

当面はWidndows版の開発が優先だし、もし8月中ぐらいにそれをリリースできれば、スムーズにmacOS Catalina対応が要るかどうかの調査に取りかかれそうです。

XORもやっとキャラ立ちできました

XOR Version 1.1をMac App Storeでリリースしました。追加機能は「囲み」と「マスク」です。

そもそもXORのVersion 1.0にはいくつもの難点がありました。

  1. 知名度が低い
  2. 有償である
  3. Windows版がない
  4. 差を見つけてくれてもすべては覚えられない

1と2に関しては地道に啓蒙活動を重ねるしかありません。3にも今しばらく時間を要します。

よって喫緊の課題だったのが4。せっかく二つのPDFの差を100%検出してくれても箇所が多ければいちいち覚えられないですよね。

そこで比較結果上で見つけた変更箇所をマーキングしたり、もう確認が不要と判断した箇所を隠したりする機能を追加しました。

他にも搭載したい機能の案はたくさんあるのだけど、ひとまずこれで実用的な最低限のツールとして成立できたと思います。