フィードリーダー(RSSリーダー)機能追加‐AIRのお勉強(9)‐

| カテゴリ:Adobe Integrated Runtime(AIR)

20081018.jpg

10月7日に0.10の配布を開始しましたシンプルフィードリーダー(RSS/Atomリーダー) 青春ブロッコリーですが、忙しなくバージョンアップを行い、本日、0.50の配布を開始しました。
こんなにバージョンアップばかりするつもりはなかったんですが、なんだか止まらなくなりました。
ただ、これで最初に思い描いていた追加したい機能をそれなりの形にできたので、しばらくはおとなしくなるんじゃないかと……。
少しでも多くの方に役立てていただけたなら嬉しいです。
乏しい頭脳とせめてもの愛情をたっぷり詰め込みました。

配布ページはこちらをクリック!

ただ、いくら愛情があっても、こういった配布用アプリケーションを一からすべて組んだ経験がなかったので、途惑うことばかりでした。
以下、0.10より後に追加した主な機能につきまして、途惑った点を交えながらご紹介させていただきます。

  • 日単位での切り替えボタン追加

    通常は記事を一つずつ前後させていく仕様なのですが、記事の数が多くなると、ある程度高速に表示記事を前後させたくなります。
    そのために"10個進む"とか"100個戻る"とかを考えたのですが、なんかぴんと来ないので、日単位での切り替えボタンを設置しました。
    日付という情報が目的記事を探す上では、まあ、実用的かなと。
    "old"のボタンを押すと"表示中の記事の前日以前の最も新しい記事"を、"new"のボタンを押すと"表示中の記事の翌日以降の最も古い記事"を表示します。
    つまりは一つずつ戻っていくか進んでいくかして最初にぶつかった違う日付の記事ってことです。

  • キーボードショートカット
    キーボードのどのキーをショートカットに使用するかに悩みました。
    F1~F4を"ヘルプ、リロード、最小化、終了"の頻繁には使用しない機能に割り当てることはすぐに決まったんですが、次の記事へ進むや戻るといった多用する機能をどうするかが問題となりました。
    アプリケーション上に入力フォームがある分、"Ctrl(Command)+なにか"にするとして、そのなにかをどうするか……。
    Ctrl(Command)キー周辺にあった方が使いやすいかなということで、右側Ctrl(Command)キー周りの記号を割り振りました。
    記号は覚えづらいかとも思ったんですが、左側Ctrl(Command)キー周りはCとかXとかSとかZとかAとか、もう入る隙間がなかったので……。

  • OPMLファイルの履歴表示
    本アプリケーションにはフィードのカテゴリ分けの概念がありません。
    カテゴリ分けしたいと考えてはいながらも、シンプルさを維持したままカテゴリ化するユーザインタフェースが思いつかず実行には移していません。
    "カテゴリ化がないのだからせめては"という気持ちでつけたのがimportあるいはexportしたファイル履歴のリスト化です。このリストを使うことによってカテゴリ分けと似たような使い方が可能です。

  • 表示中フィード及び記事の一覧リスト化
    最初はこの機能の導入はそれほど考えていなかったのですが、自分で使っているうちに、記事数が増えると目的の記事を探すのがかなりしんどいということに気づきまして。

  • 最新バージョンリリースの検知機能
    ダウンロードした人がこまめに青春Bの更新をチェックしてくれるとは限らないわけです。というか、普通しないですね。
    なのでこちらからバージョンアップを通知する仕組みを付け加えました。
    使用中のバージョンより新しいバージョンがリリースされている場合のみ、配布ページへのリンクボタンが表示されます。
    "クリックすると自動インストール"という仕様も考えたのですが、全ファイル上書きだけで安全にバージョンアップされるのかわからない等の理由でとりあえず却下しました

  • フィード順序の並び替え
    本当は最初から入れたかった機能です。
    でも、ユーザインタフェースが思いつかなかったり、あと、実用に耐えそうな内部処理が思いつかなかったので後回しになりました。多数フィードの並び替えを迅速にとは行かないですが、公開しても問題ないレベルの作りにはなったかなと考えています。


今後の展開としては、まずは内部処理をもう一度すべて見直したいなと。しっかり設計をしてから作り始めたわけじゃないので、ムダな処理がけっこうありそうな気がしています。データ構造含め。
フィード数100で記事数2000ぐらいまではテスト済みでまあ快適動作だったんですが、さらに増えた場合はアルゴリズム的なムダがかなり足を引っ張りそうで恐いのです。

あと、iGoogleガジェット対応はしたい。
したいんですが、でも、問題があって……単純に移行するだけなら簡単なんですが、今回のアプリケーション、フィードのリストをローカル上に保存しています。
iGoogleの場合、利用者がどの場所でアクセスするかがかなり流動的でしょう。フィードのリストをネットワーク上で共有できるようにしないと価値が薄れるかなと考えています。exportしたファイルを持ち歩くという手もあるにはあるけれど……。
また、使いづらいだけならまだしも、ネットカフェとかで使用した場合、自分の後に座った客にフィードのリストを盗み見られる可能性があるんですよね。

最後に……
本アプリケーションの開発中、わたしの愛読ブログであるLife is beautiful(Nakajima Satoshiさん)の人気エントリーソフトウェアの仕様書は料理のレシピに似ているを何度も読み返しました。
フィードリーダーに関する記述がされているわけではないのですが、読むとすごい励みになるんです。
見ていないと思いますが、心より感謝申し上げます。

概要

青春B運営メンバー多口カタンによる雑記blogです。
自己紹介はこちら。開発物をまとめたものはこちら
 
ヘッダーイラストはkojiさん制作です。
感想・意見・要望等ありましたら気軽にフォームにてコンタクトくださいませ。
 
Twitterはじめましたので誰でも気軽に声かけてくださいね。