FileMaker Go リリース

FileMaker 社から FileMaker Go が発売されましたね。
FileMaker ユーサの間では、少し前の FileMaker Pro 11 発売時よりもよほど盛り上がっているようです。FileMaker 開発屋としては、当然、App Store で公開された直後に、iPhone 版、iPad 版ともに即購入です。

この3日間、目の前の仕事の合間をぬって、機能の評価、動作検証などをしていたわけですが、結論、「面白い」。
開発者であれば、誰しも、iPhone/iPad アプリを書くことに興味はあると思うのですが、XcodeObjective-C、さらに、iPhone SDK を勉強して、さらに、Mac 上のシミュレータよりも制約の多い iPhone/iPad 実機で動作検証を行なうのは、面倒なものです。さらに、配布したければ、必ずしも方針の明確ではない Apple 審査を受けて、パスする必要もあります。

それと比べて、PC 上の FileMaker でデータベースを作成して、iPhone/iPad に転送するだけ、あるいは、ネットワーク越しに共有ファイルにアクセスするだけ。この手軽さは、驚異です。

環境的な違いから、動作する機能/しない機能もあって、全く同じというわけではありませんが、高いレベルを求めなければ、FileMaker 社の TechInfo の情報を見ながら調整するだけでも実用十分なデータベースが開発できます。FileMaker 製品の存在意義のひとつは「データベースを非開発者にも使えるようにする」ことだと思いますので、そのベクトルにも合った製品と言えましょう。

もちろん、本格的な業務利用の場面だと、ハードウェアスペックに合わせた機能の設計、データベース設計は必要です(iPhone/iPad 利用以前の問題ですが、制約条件は増えます)。また、特に iPhone では、専用レイアウトの作成なども必要になるでしょう。

なんだか、そういう部分に応えるために、某社は開発サービスメニューを追加したそうです。

それはさておき、ちょっと気になるのが、価格について否定的なコメントが散見されることでしょうかね。
主観ですから人それぞれで別に良いのですが、趣味プログラマが書いた数百円のアプリ群と比べて「FileMaker Go は高い」というのは、ちょっと違うように思います。FileMaker Go は、生かし方次第で非常に大きなメリットを得られるツールなので、費用対効果で考えてほしいものです。

まず、FileMaker Pro でデータベースを作ることが、iPhone アプリを開発することに等しい価値になります。そして、VPN サーバを立てれば、iPhone の 3G 接続ができる環境から FileMaker データベースにアクセスすることもできます(より広いフィールドで活用できるよう、やわらか銀行さんには是非、電波状況の改善にも努めてもらいたいものですが)。

これもモロに主観ですが(笑)、余裕で価格以上の価値があると思います。あ、ちなみに、私は FileMaker 社の回し者ではありません。一介の名無しの開発屋です。

某社では、すでに VPN 越しに社内のシステムにアクセスできますし、私はプライベートな用途も含めて、いくつかのデータベースを iPhone のローカルに転送して持ち運んで、母艦の MacBook Pro と同期して使うこと準備を進めています。同期方法も単なる転送からはじめて、徐々にインテリジェントなレコード単位の同期に発展させていく予定です。

しばらくは楽しく遊べそうな予感。。。

FileMaker 開発者にささげるツールです

某社の秘密部屋では、開発プロジェクトごとに様々な開発補助ツール、自動化ツールなどが作られているそうですが、汎用性に配慮されているわけではないので、その調整とドキュメント作りが面倒で死蔵されているそうです。

そうした死蔵ツールも死蔵しっぱなしではもったいない。お金を取るほど真面目に作るのは大変だけど、フリーなら良いでしょ。「プロジェクトの合間の時間を使って、できるものから公開してみますか」というかけ声で、いくつかテスト的に公開が始まりました。

TableClipper
これは、Excel シート上のテーブル定義情報をコピーして、FileMaker のデータベース定義ダイアログでペーストするとテーブルが自動生成されてしまうという驚きのツール(自画自賛モードw)。

FMClipboardBroker
こちらは、FileMaker でコピーしたオブジェクトをテキストファイルに落として、編集後、また FileMaker にペーストできるようクリップボードに戻すツールです。

FileMaker 開発者であれば、無機的なフィールド指定作業を繰り返した記憶が一度や二度ではないはず。このツールを使うと、レイアウトオブジェエクトをコピーして、テキスト保存。そこで一気に検索/置換を行って、クリップボードに戻して、FileMaker にペーストで、はい終わり。

もちろん、スクリプトなど FileMaker 上でコピー、ペーストできるオブジェクトでも同じ要領の処理が可能です。美しいですね(超自画自賛モードw)。

実は、こうしたネタはまだ終わりではない模様。いつネタが尽きるとも、やる気が尽きるとも分かりませんが、ネタ未定、時期未定で、さらなるツールが公開されるかもです。ふふふ。

開発会社と依頼者の間には...

「男と女の間には、深くて暗い河がある」という歌いだしの「黒の舟唄」という歌があります。
二者が向かい合う人間関係は、男と女だけでなく、様々な、切り口や局面がありますが、システムの開発を依頼する側、開発を依頼される側という関係でも同じようなことを感じることがあります。

当たり前のように、システムに対する要望事項を確認して、見積もりをして、合意の上で開発を始めて、完成、納品すれば両方がハッピー、となれば簡単なのですが、必ずしもそういうケースばかりではありません。

これは、あまた聞く同業者や依頼者の話、Web 上の嘆きやクレームからも分かることですし、うちの会社も例外でなく、システムの開発を依頼する側、開発を依頼される側が常にハッピーということは現実的には難しいように思います。

目に見えないシステムというゴールを目指して、説明を尽くそうとする開発会社、理解しようと努力する依頼者。多くの場合は、この努力によって、両者の間のギャップを埋めることは可能ですが、どう説明を尽くしても、どう理解しようと努めても、埋まらない「深くて暗い河がある」場合があります。

システム開発に限らず、デザインやアート、コンサルティング等、完成の形が一意ではないゴールに対して、共通の理解を作ること自体が難しいのです。

たまに、開発会社の HP で「弊社は○○なので0クレーム(今までクレームを受けたことがない)」というアピールをしているのを見かけますが、それは、相手のレベルを問わず完全な相互理解を実現する完全無欠なコミュニケーション力を持っているか、あるいは、相手の持っている不満にすら気づかないか、受注件数が0なのか(笑)、だと思います。それか、偽りの宣伝文句です。

開発会社のコミュニケーション力不足、きちんとした確認手続きの欠如なども原因のひとつです。実際、きちんとしたヒアリング、仕様書の作成、それに基づいた見積書の作成ができる会社はそれほど多くありません。仕様書もなく、件名に「○○システム開発」、明細は「システム開発一式いくら」だけでは、好んでトラブルを呼び寄せているようなものです。

一方で、多くの依頼者は、「IT ならこんなことは簡単でしょ?」、「開発会社は自分の考えを推し量って作ってくれる(一を聞いて十を知る)のが当然」、「自分が分からないことは(自分から何もしなくても)開発会社が理解させるのが当然」と考えていることも多いのが現実です。

根底にあるのは「お客様は神様」という日本的な商習慣という意見もありますが、それで問題があるのであれば、その問題への対策を取らないのでは意味がないのではないでしょうか。医者や弁護士は、依頼者からは「先生」や「パートナー」などであっても、間違っても「外注先」ではないはずです。開発会社も、依頼者の業務フローの改善、システムの改善を提案して、それを実現する手助けをしようと思うのであれば、「もみ手で営業」では駄目でしょう。

値段でしか見れない依頼者と「ご無理ごもっとも」な開発会社が多ければ、システム開発という難しいプロジェクトで死屍累々になることは、火を見るより明らかです。

問い合わせや引き合いの件数を減らしたくない多くの開発会社は、面倒なことはできるだけ避けて、「何でもお気軽にお問い合わせください」。余計なことを言って仕事が減るかもしれないリスクよりは、仕事を取った後のリスクを選択しているとも言えるかもしれません。

また、多くの依頼者は自分の考えていることを理解していません(笑)。同じ処理に対して担当者ごとに意見が違ったり、ある仕様と別の仕様が矛盾していたり、話すたびに方向性が変わったり、などなど。ですから、実際に細かい要件を詰めることは相当のエネルギーが必要で、時間もかかるのです。面倒くさいから、テキトーに希望を言えば、見積もりを出してくれる会社同士を値段だけで比較するのが楽なのです。そして...

結果、どちらもハッピーになりません。


普段感じている問題意識を半端に書いてしまいましたが、このテーマは、とても一回のエントリーで書ききれるものではないので、また機会を改めて書きつづりたいと思います。

FileMaker Road Show 2010 ソリューションセミナー

FileMaker Road Show 2010 ソリューションセミナーが開催されます。

ファイルメーカー株式会社が開催する「FileMaker Road Show 2010」の東京会場 FBA セッションにて、弊社代表の木下がスピーカーになりました。

タイトル:FileMaker &他データベース。お客様&開発会社。どちらも連携が大切。FileMaker の店舗管理システムと MySQL の Web Store を統合運営
開催日:6 月 30 日(水)
時 刻:14:00 〜(13:30 受付開始)
会 場:アイビーホール青学会館

技術的な視点では、ESS を使った FileMakerMySQL との連携がテーマになりますが、それだけではない模様です。FileMaker を使ったシステムは、「開発会社が作って終わり」ではなく、その後はエンドユーザが拡張やメンテナンスを行なうケースが多いと思いますが、そうしたユーザと開発会社との連携にも話が及ぶ予定とのことです。普遍的なテーマです。果たして、大丈夫でしょうか(笑)。

昨年開催された FileMaker カンファレンス 2009 のセッションは予約開始から数日で満席になったようですので、ご興味をお持ちの方はお早めにお申し込むのが吉かと思います。ちなみに、スピーカーといっても座席をキープしているわけではないので、個別にご連絡をいただいてもご希望にお応えすることは難しいのではないかと思います。

FileMaker Pro 11 の開発屋にうれしい点

FileMaker Pro 11 の Mac OS X 版はインターフェースが、以前の carbon ベースから cocoa ベースに書き換えられています。このお陰で、様々なオブジェクトの操作がより Mac らしい動作になっています。

操作している端々で感じる点ではあるのですが、特に嬉しいのは、カスタムダイアログのボタンの動作です。今まではスクリプトからダイアログを表示しても、その中のボタン操作をキーボードから行なうことはできませんでした。「せめて、タブキーで選択状態になってくれれば」と感じたものですが、11 では最初からデフォルトのボタンが選択された状態で表示されます。ここで、enter か、return キーをタイプすると、デフォルトのボタンをクリックした時と同じ動作になります。

残念ながら、ダイアログ内でタブで選択ボタンを移動したりすることまではできないようです。本当に残念。ダイアログ系のプラグインはいくつも出ているので、そういったものを使えば、かなり高機能なダイアログを実現することもできますが、やはり、ライセンスやサポートのことを考えると、標準機能であることに越したことはありません。

あと、レイアウトモードでボタン定義を開いた時に、スクリプトパラメータ欄の上に歯車アイコンが表示されるようになりました。このアイコンをクリックすることで、選択されていたスクリプトの編集画面に直行することができます。もう少し直感的に行き着けると良かったのですが、それでも大きな改善です。もう今後は、いちいち[スクリプトの管理]画面を開いて、スクリプトを探すことはないでしょう。

このように、インターフェース面でより自然に操作を行うことができるようになったことは朗報と言えます。

あと、印刷関係のコードもかなりリライトされているそうです。印刷は、FileMaker、OS、プリンタドライバと3者の関係で生じる問題もあって、結構トラブルの絶えない分野です。メーリングリスト等でも問題の指摘がされていたようですが、そうしたことへの対応もあったのか、今回の書き直しになったようです。

私の周辺ではあまりトラブルがなかったので、特に違った印象もないのですが、こうした地道な改善はとても大切です。前に指摘したインポート、エクスポートのダイアログ操作も何とかしてほしいものです。最近開発していたシステムでもこの点が何とかなればなーと感じることがありましたので。

目立った機能は、FileMaker 社のセールストークや他のユーザの方が評価で触れられると思いますが、私は上記のような目立たない改善にこそ注目しています。なぜって、目新しい新機能を永遠に追加し続けることは不可能だからです。

すぐに営業トークに使えるようなものではなくても、地道に使い勝手、開発効率の向上につながる機能、そして、不具合の修正に取り組んでいってほしいものだと思います。


ちなみに、「FileMaker データベース開発テクニック 改訂版」の正誤表と追加サンプルファイルが公開されています。

FileMaker Pro 11 のお気に入り機能は「ポータルフィルタリング」

FileMaker Pro 11 が発売され(日本ではニュースのみですが)、ちまたでは開発者、ユーザー入り乱れて、様々な評価や意見で賑わっているようです。

US も含めて、総じてグラフ機能の追加が一番話題になっているようです。FileMaker 社も新機能の一番前面に出してアピールしていますし、確かにビジュアルな機能は違いが分かりやすいですよね。

しかし、へそ曲がりな私は、FileMaker Pro 11 で一番お気に入りの新機能は、「ポータルフィルタリング」機能です。「ポータルフィルタリング」を簡単に説明すると、ポータル設定の画面に計算式を設定することで、リレーション条件にマッチしている関連レコードの中から計算式に合う関連レコードのみを抽出することができる、という機能です。

(現在を含めて)従来は、「ポータルはリレーションが成立するすべての関連レコードを表示する」という枠組みを変える術がなかったので、例えば、このレイアウトにはこの2つの条件に合う関連レコードを、あちらのレイアウトにはさらにもうひとつの条件を満たした関連レコードを表示したいといった場合、それぞれを表示するためのリレーションを用意する必要がありました。

私は「データベースは器」を信じている派なので、構造に関係のない、表示のためだけにフィールドやらリレーションで構造が複雑になることは「美しくない」と強く感じていました。それでも、今までは仕方がなかったのですが、今後は単に画面上のポータル表示のためだけにリレーションを作ることはなくなるでしょう。

値を評価する必要のある、構造的な階層はもちろんリレーションを作成して、それに条件を追加した表示を得るためには「ポータルフィルタリング」機能を使って開発することになるでしょう。

ちなみに、計算式でリレーション先の関連レコードの値を参照する場合には、今まで通りの作法は必要です。「ポータルフィルタリング」はレイアウトに乗っかっているポータルごとに設定するオプションであって、データベースの構造を定義する機能ではありません。Sum、Count などの関数で参照する場合には、きちんとリレーションを定義することが必要なのは、言うまでもありません。

ちなみに、個人的には、五月雨式に進化してきた悪い面での影響も気になる点ではあります。例えば、従来の検索に加えて、10で追加された「保存済みの検索」、11で追加される「クイック検索」は、操作の一貫性が実現されているとは思えません。

ニーズの多い機能(とメーカーからの提案的な新機能)を段階的に開発するという手法は、ともすれば、場当たり的な対応になるリスクもあって、それが高じると使いやすさを売りにする FileMaker 的には大きな問題にならないかというのが私の懸念です。そうならないことを祈りたいと思います。

ちなみに、キー・プランニング発の記事が Codezine に掲載されました。
最近、このネタが多いともっぱらの評判(笑)の外部データソース(ESS)の活用方法に関する記事です。よろしければご覧ください。

カスタムレイアウトスタイル、カスタムラベルの作成

FileMaker には、あまりユーザに知られていない、ちょこっと便利な機能もある。
カスタムレイアウトスタイル、カスタムラベルは、その代表格のひとつかもしれない。

カスタムレイアウトスタイルは、「新規レイアウト/サポート」ウィザードの「レイアウトスタイルの選択」のステップで表示されるデザインテンプレートです。このテンプレートは、XML 形式のテキストファイルで、中身を見てみると、結構簡単な構造になっています。

開発の度に新しいデザインテーマを作成するほど、デザイン力があり余っていて、時間のある方は別にして(笑)、普通はある程度のデザインパターンを使い回す人が多いのではないでしょうか。

図形やボタンなどのオブジェクトはコピーして持ってくるしかありませんが、パートごとにデフォルトのフォント、フォントサイズ、スタイル、フォントカラーを指定できるだけでなく、フィールド書式、パートの塗りつぶし色などもテンプレート化しておけば、手作業でパターンを揃える手間を省くこともできます。

作り方は、ちゃんとヘルプにも記載されています。
カスタムレイアウトスタイルの作成(FileMaker Pro Advanced)

もうひとつは、カスタムラベル。「新規レイアウト/サポート」ウィザードでラベルタイプを選んだ後の「ラベルレイアウトの指定」のステップで表示される標準ラベルのリストに表示されるテンプレートです。

こちらも XML 形式でファイルが保存されています。ファイルの置き場所は下記だったと思います。
FileMaker のインストール場所)/Extensions/Labels/LabelsJP.flb

標準のラベル製品以外のものを使いたい場合、自分でサイズ取りを定義しておけば、作るたびに「カスタムラベル」の欄で数字を確認しながらタイプしないで済みます。しかも、他のファイルやマシンにコピーして再利用が可能なのが、二度美味しい点です。

XMLインポート、エクスポートも、非常に強力な機能で、様々な書式の XML 形式への/からの変換が可能です。「データ交換する相手側のシステムがないから使い道がない」という人でも、Excel、Word などとのデータ交換であればどうでしょうか?CSV、単なる差し込みなどでは不可能な書式や計算式を含んだファイルを自動作成することが可能です。

さらに、Web 公開の PHP 対応の元祖 FX.phpFileMaker 標準の PHP APIXML 公開の機能を経由して動いています(Rfmもですね)。XMLFileMaker の様々な部分で関係しているのです。

ということで、XML を使いこなすと良いことが一杯あります。
カスタムレイアウトスタイル、カスタムラベルあたりを手始めに、ちょろっとこの道に踏み込んでみてはいかがでしょうか。