tmytのらくがき

個人の日記レベルです

RSS Ticker Today

概要

Today画面に表示するTicker型*1RSSリーダです。
複数のフィードを登録して、表示することができます。

機能一覧

  • 複数のフィードのエントリを時系列順に混ぜて表示
  • ツリービューでのフィードの表示
  • マウスジェスチャでフィードおよび、エントリの移動
  • エントリの日付による表示マスク
  • 回線の自動接続/切断*2 *3
  • UTF-8以外のエンコードのフィードも表示可能
  • ATOMなフィードも読める
  • 画像のローカルキャッシュ
  • 正規表現によるエントリのフィルタリング
  • 「あとで読む(スター)」機能

使い方

  1. とりあえず最新版をデバイスに*4インストール*5
  2. スタートメニュー>設定>個人用>Today>アイテム で"RSS Ticker Today"にチェックを付ける

Today画面での操作方法

キー操作
  • 右キー -- 次のエントリ
  • 左キー -- 前のエントリ
  • センターキー -- エントリの詳細を表示
  • センターキー長押し -- メニューの表示
タップ操作
  • タップ -- エントリの詳細を表示
  • 長タップ -- メニューを表示
  • アイコン付近をタップ -- 次のエントリを表示
マウスジェスチャ
  • 右 -- 次のエントリ
  • 左 -- 前のエントリ
  • 下 -- 次のフィード
  • 上 -- 前のフィード

フィードの追加

  1. Todayの設定画面で"オプション"ボタンを押すまたは、Today画面でRSS Ticker Todayを長タップ
  2. リストビューを長タップ>追加または、右ソフトキー>追加
  3. URL欄にフィードのURLを入れる(http://...)
  4. test ボタンを押してテストしてみる
  5. OKで閉じる
  6. さらにOKで閉じる

オプション解説

フィードの保存先

取得したフィードデータや画像の保存先

フィードを開くブラウザ

エントリ中のURLを開くときに使うブラウザ

表示方法

Todayにエントリを流す際どうソートするか

表示するエントリ

Todayにエントリを流す際にエントリのタイムスタンプでマスクできます

タイムスタンプ

Todayに流すエントリにタイムスタンプを付加する設定

フォント

Todayの描画フォント

サイズ

Todayの描画フォントサイズ

文字色
標準

チェックするとシステム標準色を使う

選択

ユーザの選択した色を使う

更新間隔

Todayの更新間隔。短いとそれだけCPUを消費します。

一度に進む距離

Todayで文字が1回の更新で進む距離

文字が動き始めるまでの時間

画面端から流す(後述)がOffの際、文字が動くまでの最初のウェイト

フィードタイトルを表示する

Todayにフィードタイトルも流す

アイコンを非表示にする

Todayのアイコンを表示しない

詳細表示の画像を削除する

エントリ詳細から画像を削除する

文字を画面端から流す

Todayの文字が画面右端から流れてきます

Todayを2行表示にする

Todayが2行で表示されます

GPRSを強制切断する

自動切断されない環境で自動切断されるようになるかも。

未読記事を優先的に表示する

未読記事だけ流れてきます

画面の半分を過ぎたら次の記事を流す

半分といいつつ1/4です。画面端から流すと同時に有効になってるときのみ有効。文字が流れきる前に次のやつが流れます。すこしCPUを消費。

画像をローカルにキャッシュする

フィードを更新するついでに画像もキャッシュします。

ブラウザでGoogle Mobile Proxyを経由する

Googleの携帯向けゲートウェイを経由してブラウザでURLを開くようにする

詳細画面の左右キー機能を入れ替える
  • 無効
    • 左右キー: 次/前の記事
    • 右ソフトキー: 次/前の新着記事
  • 有効
    • 左右キー: 次/前の新着記事
    • 右ソフトキー: 次/前の記事
アイコンの下に文字を流さない

2行表示のときアイコンの下に文字を描画しない

未読数のみを表示する

未読記事数のみをTodayに表示します。再描画回数がぐっと減るのでCPU負荷を大幅に減らすことが出来ます。

Tips

自動更新

RssTicker本体には自動更新を実装していない。RssCruise.exeを実行すると外部から更新を実行できるのでこれを使用。
スケジューリング実行には392 ◆tBKHOaed.g氏のRunAt(http://www20.atwiki.jp/zero3_392/pages/1.html)を使わせていただきます。

  • RunAtをダウンロード。PC上で解凍して任意のディレクトリに配置。
  • RssCruise.exeを自動実行するように設定する。更新間隔など任意。
エントリがありませんと出る

日付でフィルタリングしてるから。最近N日とかにすると該当する記事がないとそう出る。

Todayに表示されなくなった。設定の一覧にもない

たぶん更新中に問題があったと思われる。インストール先*6に"RSSTICKER_TRANSACT"というファイルがあるはずなのでそれを削除。
これで設定に表示されるようになります。それでもまたフリーズしたときはdataディレクトリを削除とかしてみてください。だめそうなら登録してるフィードとか教えてください。

RssCruise.exeで失敗したフィードのみ巡回する

RssCruise.exeにコマンドライン引数/failedonlyを追加

正規表現ってどうやって使うの

フィードのURLとかを設定する画面に正規表現を入力するボックスがあるのでをれを入力して、正規表現を使用するにチェック

スクリーンショット

Today画面




設定画面





動作環境

Windows Mobile 5 以降

謝辞

RSSを解析するところは大学の先輩に作ってもらいました。本当にありがとうございます。
マウスジェスチャCodeZineから拝借しました。ありがとうございます。
正規表現エンジンはhttp://www.nakka.com/lib/regex/を利用しています。ありがとうございます。

履歴

2.0.0.1
  • アイテムの高さ計算を変更
  • フィードリストでスター付きアイテムを時系列順にソートするよう変更
  • '更新' を 'すべて更新' に表現変更
  • フィードリストからフィード単体を更新する機能を追加
  • フィードリスト右ソフトキーメニューの内容を充実
  • プラグインがリロードされた際にデータベースにアクセス出来なくなることがあある不具合を修正
  • スレッド間の同期処理を追加
  • 詳細表示で内容がおかしくなることがある不具合を修正
  • Todayがリロードされたときアクセス違反することがある不具合を修正
2.0.0.0
  • データベースをSQLiteに変更
  • スター機能を追加
  • フィードリストでもHTMLエンティティを展開するよう修正
  • 速報に関連付けられた実行ファイルを開けるよう変更
  • Enclosure要素の内容を表示するように変更
  • フィードの失敗情報を速報APIで表示するよう変更
  • 失敗情報にエラーコードを表示するように変更
  • LangRsrcの言語リソースをUnicode
  • ConfigのUIを一部変更
  • 正規表現によるエントリのフィルタリング機能を追加
  • 詳細画面の文字サイズ調整を追加
  • SecondTodayで設定を開いた際の動作がおかしいのを修正
  • XMLライブラリの修正
  • 128dpiリソースを追加
  • 「表示するエントリ」で設定した内容がうまく反映されないのを修正
1.2.3.2.rel2
  • 未読カウントがリセットされない不具合を修正
1.2.3.2
  • 未読件数のみ表示するオプションの追加
1.2.3.1
  • スレッドハンドルを解放してない不具合の修正
1.2.3.0
  • HTTPSなURLをエラーとして処理するよう変更
  • SGMLの解析処理を少し変更。引数の解析部分を修正。
  • テスト中の機能のコードが混ざってたので除去
1.2.2.9
  • SecondToday上で動作が微妙だったのを修正
  • 2行のときアイコンの下に文字を描画しないオプションの追加
  • 更新のキャンセル処理を追加
  • 速報っぽいのの変なメモリを読むのをはじめいろいろ不具合を修正
  • 登録フィードがW+Infoのみの場合回線を接続しないよう変更
  • RssCruiseで取得に失敗したフィードのみ巡回できるよう変更
1.2.2.8.rel8
  • すべてのフィードをUTF-16として認識してしまう不具合修正
1.2.2.8.rel7
1.2.2.8.rel6
  • W+Infoが読めない不具合を修正
1.2.2.8.rel5
  • 画像キャッシュを2つまで同時に実行するように変更
  • 再度HTTPのバッファ周りを少し変更
  • ↑↓ジェスチャで既読にする
  • 慣性スクロール中でもタップされたら記事を表示するよう変更
  • 描画中の文字列サイズをキャッシュするよう変更
  • マウスジェスチャの処理がおかしかったのを修正
  • 詳細で左右キーを長押しすると右メニューにあるほうのコマンドを実行するよう変更
  • フィード一覧のルートアイテムを未読あり/すべて既読に応じてフォントを変更するよう変更
  • あまりにもゴミだったHTTPのレスポンス受信部を少しましに
  • 更新中はサスペンドしないようにした。
1.2.2.8.rel2
  • フィードの取得に失敗しても.lastを保存してしまう不具合修正
  • 画像がキャッシュできない問題を修正
  • 新着優先がチェックついてる時に詳細で次/前の記事を見ると例外がでる不具合修正
  • 速報っぽいの削除時に記事間リンクが破綻する不具合を修正
1.2.2.8
  • フィードの並べ替えを実装。フィード設定でドラッグ&ドロップ。
  • 記事一覧に未読/既読アイコン追加
  • HTTPのバッファ周りを少し変更
  • 2行表示の時アイコンの下まで文字が流れるよう変更
  • 記事一覧での左右キーをページスクロールに変更
  • 速報みたいの実装
  • ひどすぎた表示周りのコードを少し整理
1.2.2.7
  • ようやくフォルダ選択ダイアログ実装
  • 不必要なサイズのアイコン削除
  • 言語リソース周りを少し修正
  • バイナリサイズを気持ち縮小
1.2.2.6
  • テキストファイルベースの多言語化
  • 詳細表示を閉じたとき例外が発生することがある不具合を修正
  • Todayのアイコンを未読があればオレンジ、無ければグレーにするよう変更
1.2.2.5
  • ブラウザで開くときGoogle Mobile Proxyを経由するオプションの追加
  • フィード内の未読エントリのみ表示するオプションの追加
  • エントリ詳細から記事一覧を開いたとき直前に読んでいたエントリを選択するよう変更
  • エントリ詳細からTodayへ戻ったとき流れるエントリを直前に読んでいたものにするよう変更
  • 慣性スクロールの速度制限を撤廃
  • TodayでのフィードタイトルをOPMLで設定されているものを参照するように変更
  • 詳細の右ソフトキーメニューの次/前エントリを次/前の新着に変更
  • 詳細の右ソフトキーの機能と左右キーの機能を入れ替える機能を追加
  • 2行表示のときはアイテムの高さを常に2行分に設定するよう変更
  • 詳細表示で記事変更時に風車出すように変更(微妙)
1.2.2.4
  • フィードを詰めてるとき左右キーで操作したときにたまに表示がおかしいのを修正
  • 計算結果のキャッシュをもう少しましに
  • 計算結果のキャッシュがおかしかったのを修正
  • IEのサブクラス化が解除されてなかったのを修正
  • フィードを詰めてるときタップ&ドラッグで記事をスクロールさせられるよう変更
1.2.2.3
  • 少しだけ省メモリ化。どれぐらい軽減されるかは登録されてるフィード次第。
  • Todayから別画面に切り替えたときシェルが一時的に応答しなくなる不具合を修正
  • 描画の計算の一部をキャッシュするように変更
1.2.2.2
  • 画像キャッシュが有効で<image>タグを含むエントリが読めない不具合を修正
1.2.2.1
  • 一部メモリを開放していない不具合を修正
1.2.2.0
  • 詳細表示のスタイルにwrap-option:emergency; 追加
  • 画像キャッシュオプション追加
  • タイトルをフィードから取得するオプション追加
  • Google ReaderからインポートしたOPMLを正しく読めないことがある不具合を修正
  • HTTPのバッファ増量
1.2.1.5
  • フィードを詰めて表示してる際に左右キーで記事を飛ばしているとエントリを表示した際に間違ったエントリが表示される不具合を修正
  • エントリがひとつも含まれないフィードを読み込んだとき特定の条件下でデバイスがフリーズする不具合を修正
  • 「すべて既読にする」を追加
1.2.1.4
  • フィードを詰めて流してるときの左右キーの動作を変更
  • GPRS強制切断を修正
  • メモリを確保できずにデバイスがフリーズしてしまう不具合を修正
1.2.1.3
  • 一覧表示の文字被りを解消
  • 短い記事がたくさん流れてきたときに挙動が美しくないのを修正
  • 設定画面のフィードテストが動かない不具合を修正
1.2.1.2
  • 未読記事の場合descriptionにnew!の表示を追加
  • W+Infoの更新時間にずれが生じていたのを修正
  • システムが管理しているダイアログが前面にあると2秒間のタイマが呼ばれないので独自で管理できるように変更
  • XMLドキュメントの生成コードの修正
  • 右端から流すとき記事の最後が画面の1/3を超えたら次の記事も流すようなオプションの追加
  • Bold重いらしいのでやめた。
1.2.1.1
  • published タグを評価するように
  • 一覧画面から既読チェックの操作を可能に
  • CDATAでないドキュメントを正しくエスケープするように
  • 未読記事がある場合、未読記事のみを流すオプションの追加
  • ダミーフィードを未読記事として扱ってしまう不具合を修正
  • 既読フラグをTodayが裏画面に回ったときに保存するよう変更
  • XML生成コードの修正
  • 時系列順で詳細を読んでいるとき左右キーは未読を優先的に表示するように変更
1.2.1.0
  • 既読管理の追加
  • タップ時の動作を調整
  • 最前面チェックの負荷低減
  • 最前面チェックのタイミング変更
1.2.0.4
  • エントリ操作時の再描画領域の変更
  • W+Info見たときに文字の置換処理の修正
1.2.0.3
  • W+Infoを見れるようにしてみた。[winfo://path]
  • 判別コードのバグ修正
  • 文字コード判別方法の変更
1.2.0.2
  • フィードが重複する場合がある不具合を修正
1.2.0.1
  • ATOMでないフィードのリンクを読めない不具合を修正
1.2.0.0
1.1.3.17
  • GPRS強制切断がきちんと動作してなかったので修正
1.1.3.16
  • バイスのロック中でも文字が流れるように変更
1.1.3.15
  • GPRS強制切断オプションの追加
  • 巡回用イベントのチェック時エラーなら再生成するようにしてみた
1.1.3.14
  • フィードのエントリが0件の場合例外を吐く不具合を修正
  • 設定読み込み時のフリーズ回避コードを追加
  • 記事の移動時にタイマー更新のタイミングまで再描画されない不具合を修正
1.1.3.13
  • フィード登録件数が0件の場合例外を吐く不具合を修正
  • フィードURLが "http://" の場合例外を吐く不具合を修正
  • フィード更新などのあと自動で再描画が再開しない不具合を修正
1.1.3.12
  • ランダムフィードの処理を変更
  • 詳細表示中に左右キーでエントリの移動ができるように
1.1.3.11
  • リンクを開くブラウザを設定できるように変更
  • ランダムなフィードを表示できるよう変更
1.1.3.10
  • descriptionタグが空のフィードの詳細を表示すると空白のダイアログが開くバグを修正
1.1.3.9
  • Last-Modifiedヘッダを無視するオプションの追加
1.1.3.8
  • 右端から流すのとき文字が流れないバグを修正
1.1.3.7
  • INIをUnicode
  • 文字が動き出すまでが設定の2倍だったのを修正
  • アイテムの高さを変更中は文字が移動しないように変更
1.1.3.6
  • 更新中など一部の表示の時、タイマーをとめるように。
  • XML実体参照(&#XXXX;)をデコードしてみた
1.1.3.5
  • 高さ変更時にWM_USER+103 を投げるように。
  • CPU使用率をもうちょっと少なく
  • IEやめてHTML viewer Contorlに変更。詳細表示がましになったかも。
1.1.3.4
  • 更新時刻によるフィルタリングがぐだぐだだったのを修正
1.1.3.3
  • <!CDATA[[]]> が異常な時エラー落ちするバグを修正
1.1.3.2a
  • 詳細表示の文字化けが直った気がする
1.1.3.2
  • 間近3日間の更新を表示が実際は2日半になってたバグを修正
  • エントリのフィルタリングに関するバグを修正
  • 画面の右端から文字を流すとき、止まってる時間を無視するように変更
1.1.3.1
  • 詳細表示から一覧を開けるように
1.1.3.0
  • 文字色変更オプションの追加
  • 2行表示オプションの追加
  • 画面端から文字を流すオプションの追加
  • 記事の日付の表示位置変更オプションの追加
1.1.2.5
  • フィードテストでLast-Modifiedヘッダが含まれていた場合取得に失敗するバグを修正
  • XMLの開始タグの直後、終了タグの直前のホワイトスペースを削除するように変更
1.1.2.4
  • OPMLおよび、キャッシュ済みフィードの別スレッド化
  • 時間をローカルタイムに変換するように変更
  • 設定画面を開くまでの時間を気持ち短縮
1.1.2.3
  • Last-Modified ヘッダを読んで新しければGETするように変更
  • RSS中のcontent:encoded もdescription として読むように変更
1.1.2.2
  • 再描画時のCPU負荷を約50%低減
1.1.2.1
  • 画像削除オプション追加
1.1.2.0
  • 詳細表示のメニューを追加。次のエントリとかいけますよ。
1.1.1.0c
  • 竜巻制御のコードを追加
1.1.1.0b
  • ConnMgrで正しく切断されるようになったはず
1.1.1.0a
  • RASで強制切断やめてみた。
1.1.1.0
  • 手動でエントリを飛ばしたとき文字の止まってる時間が有効にならないバグを修正
  • / で終わるURLを正しく保存できるように修正
  • Todayアイテムの高さ調整のコードを調整
  • 更新中に回線切ると反応しなくなるバグ修正
  • コードの整理
1.1.0.9
  • 「その他の設定2」のチェックボックスの初期状態を設定するの忘れてた
  • 更新中に回線切断が発生したとき正常に失敗しないバグを修正
  • フォント変更オプションを追加
1.1.0.8
  • サイズ0のフィードをhttpGetすると落ちるバグを修正
  • DNSが引けなかったりすると落ちるバグを修正
  • 文字が止まってる時間を変更できるように
1.1.0.7
  • 設定画面を呼び出すときに変数未初期化が原因で呼べないことがあるバグを修正
1.1.0.6
  • アイコン非表示にできるようにしてみた
  • フィードタイトルの有無を設定できるように
  • 詳細表示、右ソフトキーでリンクを開く
  • 日本語文字列をリソース化
1.1.0.5
  • 文字コード変換(フィードとは別)でメモリ開放してなかったのを修正
1.1.0.4
  • UTF-8の判別がだめだめだったバグを修正
  • 設定を別EXE化したので日本語も大丈夫
1.1.0.3
1.1.0.2
  • フィード保存先が保存されてなかったバグを修正
  • EUC-JPとかSJISなフィードも読めるようになったはず
1.1.0.1
  • フィード混合時にフィード名を出すように
1.1.0.0
  • descriptionを開くときに固まらなくなったかもしれない
  • オプション項目をたくさん追加
  • 変なフィード読んだときのエラー処理ができきれてなかったのを修正
1.0.0.7
  • descriptionがすべてIEに展開されないことがあるバグを修正
  • フィードを時系列順にソートするように変更
1.0.0.6
1.0.0.5
  • フィード編集画面のひどいバグを修正
1.0.0.4
  • タグの属性値の`?'を読み飛ばしていたバグを修正
1.0.0.3
  • 回線の接続済み判定の修正
  • マウスジェスチャ風味追加
  • ATLのHTTPクライアントがおかしいからさよなら

以下非公開バージョンなので省略

*1:要するに電光掲示板みたいなの

*2:PHS以外は自動切断されない。なぜだろう。

*3:オプションのGPRSを強制切断でPHS以外も大丈夫みたいです

*4:Todayを外部メモリにインストールとかありえませんよ

*5:ver,2.0.0.0 からは%CE1%\RSS Ticker Today\ にインストールされるようになりました

*6:普通なら\Program Files\RSS Ticker Today