Heimdallr 1.09beta3をリリースします。
安定版ではありません。
安定版はHeimdallr 1.08です。
1.09beta3では、バグが3点修正されました。k730さん、oojiさんから報告がありましたサイト順番入れ替わりバグも修正されているはずです。
mixiチャンネル alpha1をリリースします。
mixiチャンネルは、mixiを閲覧するための、Heimdallrのプラグインです。
mixiチャンネルを使うと、こんな感じのウィンドウをデスクトップに貼り付けておくことができます。
mixiに参加している方にはお馴染みのマイミクシィ日記とコミュニティ書き込みの新しいものが表示されます。
まず最初に、mixiアカウントが必要です。持っていない方は、なんとかしておいて下さい。
次に、Internet Explorerを使ってmixiにログインしましょう。普段別のブラウザを使っている方も、 このときはInternet Explorerを使って下さい。「次回から自動的にログイン」は必ずチェックして下さい。
mixiチャンネルを動作させるためにはHeimdallr 1.08以降が必須です。Heimdallrをインストールしていない方は、まずHeimdallrをインストールしましょう。 Heimdallrのインストール後、インストールフォルダにあるpluginフォルダの中に、MixiChannnel.dllをコピーした後、Heimdallrを再起動すればインストール完了です。
Heimdallr起動後、タスクトレイのアイコンを右クリックしてビュー設定を選択し、チャンネル追加ボタンを押してBmixiチャンネルを選んで下さい。これでmixiチャンネルが使えるようになります。以前の記事「HTML Syntax Parser」に書いた「Heimdallrのソースに組み込まれている超簡易Parser」は、概要ウィンドウにRSS Feedのdescription要素の中身を表示するために使われています。
「えー、でも<href="http://hogehoge">ほげ</a>って書いてもHeimdallrの概要ウィンドウにリンク張られませんよ?」
いえいえ、Heimdallrが解釈するのは<p>と<br>だけなのです。後のタグは表示しないようにはしますがそれ以外に何か処理を行うことはしません。
「いや、でも概要ウィンドウに<p>とかタグがそのまま表示されることがあるのですが・・?」
いえいえ、Heimdallrが解析を行うのは、仕様書に「エンコードされたHTMLを使ってもいいですよ」と明記されたdescription要素だけです。
「具体的にどれやねん」
Heimdallrが対応しているRSSのバージョンは、0.91/0.92/1.0/2.0です。1つずつ仕様書を見ていきます。
0.91は、仕様書のdescription要素の説明に、
A phrase that describes your channel, your channel's positioning statement. Maximum length is 500 characters.と書いてあるだけであり、使って良いとは書いていないので解析を行わず、プレーンテキストだと見なします。
0.92は、仕様書に、
0.92 allows entity-encoded HTML in theと、エンコードされたHTMLを使って良いと明記されているので解析を行います。of an item, to reflect actual practice by bloggers, who are often proficient HTML coders.
1.0は、仕様書に、明記はされていません。よって0.91と同様に、プレーンテキストだけと見なします。
Contentモジュールのcontent:encoded要素については、
An element whose contents are the entity-encoded or CDATA-escaped version of the content of the item.と、エンコードされたHTMLを使って良いと明記されているので解析を行います。
2.0は、仕様書に、
the description contains the text (entity-encoded HTML is allowed; see examples)使ってよいと明記されているので解析を行います。
とまあ、こんな感じでバージョン毎にエンコードされたHTMLとして解析したり、プレーンテキストとして扱ったりと、処理が異なっているのです。
「訳分からん・・・」
あああごめんなさい。このように仕様を細かく考えても、ユーザにとってのメリットにはならないとは思うんですが、仕様書に書いてないことをするのはちょっと抵抗があったのでこうしたわけです。私って仕様原理主義者ですねぇ。
「アンタ頭の固いヤツやなぁ」
どうするべきなのかは未だ迷いも残っていますが、頭のカタイRSSリーダーが世の中に1つくらいあっても良いかなぁということで当面は現状のままの予定です。
HeimdallrがWineを使うことによりLinuxで動いたそうです。素晴らしいですね。
VineLinux+Wine+Heimdallr
Wineとは何か。
Wine は、UNIX 類の環境下にある X86 のハードウエアプラットフォームの上で、MS Windows のアプリケーションを動作させるためのプログラムローダーであり、エミュレーションライブラリーです。私はWineのことを何も知らずにHeimdallrを作ったのですが、それでも動いてしまっています。何もしなくてもLinuxに対応できてしまいました。凄い世の中になったものですね。
The Wine FAQより
インストール時のトラブルやパフォーマンスについては不明ですが、実用的なレベルに達しているならば、サポート対象に入れることを考えてもいいかもしれませんね。
瞳子さん、動かして頂きましてありがとうございました。
こうなると、IT Mediaのこのニュース「再び浮上する「Pentium Mac」の可能性」に期待しちゃいますね。
Pentium Macが実現すれば(Opteron Macでもいいですが)、Wine+MacでHeimdallrが動くのではないか・・・?と。
そうなれば何もせずともMacにも対応できてしまいます。
Windows万歳。
私は、RSSリーダーHeimdallr開発の参考にするために、様々なRSSリーダーに触れているのですが、
Bloglinesのようなサーバ型のRSSリーダーは、強力なGUIを持っていませんし、Headline-ReaderやHeimdallrのようなクライアント型のRSSリーダーは、複数のPCで実行したとき、既読情報の同期に難があります。
そこで、これらを融合させることにより、強力なGUIを持ち、既読情報の同期が容易にできる理想的なRSSリーダーができるのではないかと思っています。
つまり、クライアントサーバ型のRSSリーダーって良さげでは?ということです。
といっても、クライアントサーバ型のアプリケーションなんて目新しいものではないので、この形式のRSSリーダーもとっくの昔に存在していてもおかしくないものだと思うのですが、なんで無いんでしょうね。それとも私が知らないだけなのかな。
ともかく、その理想形の一部だけでも実現しようと思い、「Bloglinesチャンネル」を作ったのですが、これが使っているBloglines APIにはバグがあって使い物になりません。
こんなバグです。
RSS Feedのchannelのタイトルが長い日本語の場合(これは推測)、Bloglines APIのlistsubsが不正なXMLデータを返します。
listsubsは、RSS Feedの一覧を返す重要なAPIですので、これが使えないと何もできません。
バグ報告はだいぶ前に出したのですが、未だ持って修正されていません。
そのため、上記したようなRSS Feedを購読している人はBloglines APIをまともに使えないことになります。
そうした人が多いかどうかは分かりませんが、おそらくRSS Feedを何十件も購読しているBloglinesヘビーユーザの方は、ほとんど当てはまるのではないでしょうか。
というわけで、「使い物になりません」という結論が出てくるわけです。
そういうわけで代替となるサーバ型RSSリーダーを探していたのですが・・・。
以前書いた通り、はてなRSSは惜しいところで代替となれませんでした。
はてなRSSのさらに代替となるものは見つかっていません。
Yahoo RSSリーダーやHeadlines.jpは既読管理機能が無いようです。
自分で作るのも無理な話ですし、さてはてどうしたものか・・・。
Heimdallr 1.09beta2をリリースします。
安定版ではありません。
安定版はHeimdallr 1.08です。
1.09beta2では、細かいバグが2点だけ修正されました。それ以外は変更無しです。
以前作成した「HTML Syntax Parser」を使って、「Bloglinesチャンネル」のはてなRSSリーダー版である「はてなRSSチャンネル」を作ろうと考えておりましたが、どうやら結構厳しそうなことが分かりました。
原因はこれです。
未読記事のタイトルを取得した際、記事を未読状態のままにしておくことができません。
これにより、はてなRSSチャンネルがアクセスしただけで全ての記事が既読になってしまい、ユーザがアクセスしたときは全て既読化された記事一覧を見ることになってしまいます。
これでは厳しいですね。
はてなアイデアの『次回表示時も未読表示されるような「読まなかったことにする」機能が欲しい。』にベットしておきましたので機能追加を待つことにします。
Heimdallrのリリース前、どんなテストをしているのか、ということを書いてみたいと思います。α版から使うか、β版から使うか、安定版まで待つか、と悩んでいる方は参考にしてみて下さい。
Heimdallrの開発は、安定版リリース→次のバージョンのαフェーズ→次のバージョンのβフェーズ→次のバージョンの安定版リリース→・・・という感じで、「αフェーズ→βフェーズ→安定版リリース」が繰り返されて進んでいます。
αフェーズには、α版がリリースされます。例えば、次の安定版のバージョンが1.05であれば、αフェーズには1.05alpha1、1.05alpha2、・・・というバージョンがリリースされます。αフェーズでは新機能がどんどん追加されます。1.05として十分な機能を実装できたら、βフェーズに進みます。
βフェーズには、β版がリリースされます。β版は、1.05beta1、1.05beta2、・・・というバージョンになります(beta1リリースをもってβフェーズとなります)。βフェーズでは新機能の追加はありません。ドキュメントの整備とバグフィックスだけです。一定期間が経ち、十分な安定性を確保できたと判断したら、安定版をリリースします。安定版のバージョンは「1.05」になります。
安定版にバグがあったら、修正されて、1.05a、1.05bという感じでアルファベットの小文字が付いたバージョンリリースされます。これらはパッチ版と呼んでいます。致命的なバグでなければ、パッチ版をリリースしないで次のバージョンで修正することもあります。
これらのテストは、網羅的なものではなく、例えばWindowsXPとWindows98SEで上書きインストールできてWindows2000で新規インストールできたらおっけーとかそんな程度のものです。
βフェーズに入ると、Heimdallrを起動しっぱなし(PC付けっぱなし)にして、暇を見つけてはビューをクリックして記事を読んだりするようになります。遥か昔のバージョン(1.04とか)からの上書きインストールや、インポート/エクスポートや普段あまり使わないような機能も試します。
しかし、βフェーズでも、メニューツアー(メニューの全項目を一通り試すテスト)のような網羅的なテストは行いません。暇を見つけては気の向くままに突っつく、という程度のものです。適当なテストですが、1週間なり2週間なりこれを続けると、時々バグが見つかりますので多少の意味はあるようです。
βフェーズに入り、最後のバグを修正してからある程度(1~2週間)経ったら、安定版としてリリースします。
これが、Heimdallrのテスト体制です。
これから、次のことが分かります。
他にも読み取れる情報はあるかもしれませんね。
導入タイミングの参考にしてみて下さい。
最近リリースされたgoo RSSリーダーの新バージョンにたくさんの不具合報告が寄せられているようです。
今この記事を書いている時点(4/18 23:04)で、スタッフブログの該当記事は
コメント ( 37 ) | Trackback ( 16 )
となっています。
これを見て素直にこう思いました。
こんなにたくさんフィードバック貰えていいなぁ・・・。
いつかはこのサイトもこんなにたくさんのコメント貰えるようにしたいですね。
日曜日の午後、ちょっと暇だったのでHTML Syntax Parserなんぞを作ってみました。 Heimdallrのソースに組み込まれている超簡易Parserを拡張し、他の言語のHTML Parserのインターフェースを参考にしつつ次のような特徴を持ったParserに仕立て上げました。
こういうParserは、正直なところboostライブラリを作れるようなスーパープログラマが作ったものを使いたいのですが、残念ながら上記の特徴を持ったParserが見つからなかったので自前で作ることにしました(実はありますなんて言われたら大ショック!)。
低レベルな解析を行うSyntax Parserですので、「開始タグがあって普通のデータがあってコメントがあって・・・」といったようなSyntaxしか見ません。開始タグと終了タグの要素名が一致しているかどうかなんてまったく気にしません。
というわけでさほど高度な解析を行うわけではありませんが、これがあれば、形式が決まっているHTMLデータ(例えばmixiが出力するHTMLデータ)の解析はかなり楽にできます。これでHeimdallrのプラグインネタが色々増えました。さて、何を作りましょうかねぇ・・・。
しかし暇だからといって日曜日の午後を潰してこんなものを作ろうとするあたりジンセイオワッテマスね。
Heimdallrの設定情報(RSS FeedのURLや未読・既読管理情報など)を複数のPCで同期させる方式について検討してみます。
最初に、このような機能が必要かどうか検討してみます。
正直な話、良く分からないのですが、
自宅と会社で既読情報を同期できるからという理由でBloglinesを使っている人は多いようですし、なにより必要ないという結論になると話が終わってしまいます。よって必要であるという前提で話を進めます。
次に、具体的な方式を思いつくままに挙げてみます。
他にも色々ありそうですが、とりあえずこの位にして検討を進めてみます。
独自サーバ方式はあまりにも難しいのでパス。クライアント間通信方式は役に立たなさそうなのでパス。一番良さそうなのは実現するのが簡単で分かり易いUSBメモリ方式。次に良さそうなのがFTPサーバ方式。穴馬としてはBlog同期方式でしょうか。
Blog同期方式はだれもやってないと思うので一番乗りしてみたい気もしますが、USBメモリ方式以外は実現するのがとても大変な上、私の役には立ちませんので、大勢の人の要望が無い限り動きたくない気もします。
さてどうしたものか・・・という所ですが、とりあえずは、私自身が設定の同期機能を必要としていないので、この件については検討だけで止めておき、実装は要望待ち、ということにしようと思います。
Heimdallr 1.09beta1をリリースします。
安定版ではありません。
安定版はHeimdallr 1.08です。
1.09beta1では、色々と細かい機能が追加されました。目に見える変更点はマウスジェスチャ入力窓によりマウスジェスチャが簡単にできるようになったことくらいです。 見え難い所では、既読ボタンドラッグが右クリックでキャンセルできたりマウスジェスチャが左クリックでキャンセルできたりとマウスの細かい制御が変わったり、自動学習機能が古い情報を捨てていくようになったりと細かい所が変わっています。
IT Mediaに「大画面で“プラズマより液晶”が選ばれている理由」という記事が掲載されています。
私はとりあえずテレビを買う予定は無いので、プラズマテレビか液晶テレビかというのは今のところどうでも良いのですが、気になったのが最後の方から始まる「画質の判断ができなくなってきた?」という章。
高画質のテレビが好まれる傾向が強かった“こだわり志向”の日本市場で、市場が画質に対する判断を行いにくくなり、結果として価格中心や製品イメージ中心にモノ選びがされるようになると、画質での優位性を保ってきた日本の映像機器がその力を失うのではないか? との危惧もある。
要は、消費者がプラズマテレビと液晶テレビのどちらが良いか、自分の目で見て判断することを行わなくなると、日本の映像機器が力を失うのではないか、ということである。
確かに今の日本のエレクトロニクス業界を世界に通用するところまで押し上げてきたのは、消費者の厳しい目、すなわち「こだわり志向」だったと思います。
これが無くなりかけている事(が本当かどうかは分かりませんが)には危機感を感じます。皆様、製品選びをするときは、製品を自分の目で見て、こだわりを持って選びましょう。
消費者のこだわり志向が業界のレベルを向上させるということは、どんな業界でも言える事だと思います。
例えば、とても小さい業界ですがRSSリーダー業界(そんな業界があるのか?)でも同じです。
自分の目で見て、こだわりを持ってRSSリーダーを選ぶことにより、RSSリーダーはより優れたものになっていくと思います。こだわりを放棄したらいかんですよ。
新しいプリンタを買ったついでに色々写真を撮ってみました。
最近は2万円強のプリンタでも、PCを使わずにデジカメとプリンタを直接繋げてL版からA4までのフチ無し印刷ができるんですね。
時代は変わったなぁ・・・
GW中に撮った写真のうちお気に入りの3枚を公開してみます。
たぶんヒメウラナミジャノメ。
ヤマトシジミ雌。雄は青色ですが雌はこんな色みたいですね。
ベニシジミ。
昆虫撮るのは面白いですね。
Heimdallrは、カスタマイズ版Heimdallrが作成できると謳っています(詳しくはカスタマイズ版Heimdallr作成ガイドラインを参照して下さい)。
カスタマイズ版を作るのでしたら、スキンはオリジナルのものにするべきだとは思います。
しかし、Heimdallrで、オリジナルのスキン、特に画像付きのスキンを使おうと思った場合、
UNLHA32.DLLを使う必要があります(実は必ず使う必要はないのですが、使わないとかなり不便なので、使った方が良いでしょう)。
UNLHA32.DLLは、ソフトウェアに同梱する場合は、事前に許可を取る必要があります。
つまり、カスタマイズ版Heimdallrを作成する度に、それにUNLHA32.DLLを同梱してよいかどうか許可を取る必要があります。
これは面倒ですね。もうちょっと緩やかな利用条件を持ったアーカイブ展開ライブラリに切り替えたいところです。
というわけで、いくつかアーカイブ展開ライブラリの同梱に関する利用条件を調べてみました。
まずはHeimdallrでも使っているUNLHA32.DLLから。付属ドキュメント(UNLHA32.TXT)から引用しました。
商用・公用・私用にかかわらず,書籍等への収録やソフトへのバンドルについ ては条件がありますので,必ず事前に連絡をお願いします。企業・団体等での業 務利用や業務用ソフトやオンラインソフトでの使用を前提とした転載等もこれに 含みます。連絡がなかった場合には,しかるべき処置を講じさせていただく場合 があります。
もちろん、Heimdallrは、事前に連絡し、許可を頂いております。
CAB32.DLLの利用条件は以下の通りです。付属ドキュメント(welcome.txt)から引用しました。
転載・雑誌等の付録収録については事前の転載確認が必要です。 たとえフリーソフトウェアであっても、「何をしてもフリー」ということでは 決してありません。このソフトウェアには著作権で保護された権利があり、 著作権をもたない第三者が、その権利を無断で行使することはできません。
ソフトウェアへの同梱はどうなるの?というあたりは明確に書いてなかったので良く分かりません。 しかし、上記の文を読む限りでは、事前の許可は必要なように思えます。
UNZIP32.DLLの利用条件は以下の通りです。付属ドキュメント(UNZIP32.TXT)から引用しました。
公開された場への転載・収録は原則的に無償ですが、特定のメンバー(有償・無償 を問わず)しかアクセス出来ない、あるいは特別な理由(ウィルスに感染してる等) 以外の条件で掲載ソフトを選定している場への転載・収録については、有償のサポー ト契約が必要な場合があります。 パッケージソフトへの同梱等の商用使用に関しては、原則的にライセンス契約が 必要です。
商用ソフトウェアに同梱する場合はライセンス契約が必要のようです。 非商用ソフトウェアの場合は・・・。明記してないので良く分かりません。 でもライセンス契約しておいた方が無難だとは思います。
TAR32.DLLの利用条件は以下の通りです。付属ドキュメント(index.html)から引用しました。
TAR32.DLL Version 2.xは基本的にPublic Domain Softwareとして配布、改造、ソース等の一部利用など自由に行ってください。ただし、ZLIB及びlibbzip2を用いていますので、この部分についてはそれぞれの利用条件に従ってください。また、義務ではありませんが、ソースを改良した場合はその変更をオリジナルにも反映させるためなるべく変更点を教えてください。
ZLIBの利用条件は・・・。
ええと、TAR32.DLLを使う限り、変なこと(ZLIBは私が作ったと言い出すとか)をしなければ何もしなくて良いような感じの利用条件になってます。
libbzip2の利用条件は・・・。
これも、TAR32.DLLを使う限り、変なことをしなければ何もしなくても良いような感じの利用条件になってます。
これらを全部合わせると、TAR32.DLLを使うときは、事前許可が必要ないのはもちろん、著作権表記さえ必要ないようです。
これは、とても使いやすい、っていうか使い易過ぎる利用条件です。
UnZipの利用条件は以下の通り。付属ドキュメント(LICENSE)から引用しました。
Redistributions in binary form (compiled executables) must reproduce the above copyright notice, definition, disclaimer, and this list of conditions in documentation and/or other materials provided with the distribution.
the above copyright noticeは(たぶん)以下の通り。
Copyright (c) 1990-2005 Info-ZIP. All rights reserved.
DLLファイル名がUNZIP32.DLLなので上記UNZIP32.DLLと間違えやすいですが別物です。 事前に許可を頂く必要がないのでとても使いやすい利用条件になっています。 英語の壁を突破できる方にはお勧めです。
ところでこのライブラリってzipファイル展開用のライブラリですよね? お勧めしておいてなんですが、使ったことが無いので良く分からないのです。
さて、5つほど利用条件を調べたところ色々なものがありましたので、 そろそろ結論が出せそうです。
まず、どんな利用条件であれば良いのか、もうちょっと考えてみます。
最初に述べたとおり、事前連絡が必要だとカスタマイズ版Heimdallrを作る度に連絡が必要になるので面倒です。 他の人に作ってもらうときにも障害になるでしょう。というわけで、事前連絡必要なしが望ましいです。
付属ドキュメントに著作権表記の追加が必要になるような利用条件はどうでしょう。 これは全然問題なさそうです。私がドキュメントをちょっと整備すれば、それ以降はそのドキュメントを使いまわすだけで済みますし。
商用利用する場合に色々と契約が必要になるような利用条件はどうでしょう。 カスタマイズ版Heimdallrは商用利用も考えているので、商用利用するときに色々と問題がでてきそうな利用条件は避けたいところです。
ソースコードの公開が必要になるような利用条件はどうでしょう(ソースコードの公開が必要な利用条件は今回調べたものにはありませんが)。 ソースコードの公開は、とても面倒です。 ソースコード再配布禁止のライブラリや、暗号化の鍵など、公開しても問題があるものが含まれてないかどうか、精査する必要がありますし、含まれていれば、それを取り除く必要があります。これは、大変な作業です。
こうしたことを考慮すると、TAR32.DLLまたはUnZipが良さそうです。
後は、ライブラリの機能(圧縮データをメモリに展開できるか、など)を考慮して決める予定です。
Heimdallr 1.08に追加された、Heimdallrのプラグインの1つであるキーワードチャンネルの使い方についてのお話です。
このキーワードチャンネルは、何かキーワードを登録しておくと、そのキーワードが含まれている記事をインターネットから拾い出してくれます。
仕組み自体は単純です。いくつかのRSS検索サイトで検索を行ってその結果をまとめるだけです。
仕組みは単純であっても、キーワードの選び方で様々な用途に使えます。
ここでは、どのようなキーワードを登録するとどのような便利さが得られるのか、そんなことを考えてみようと思います。
規格や仕様の名前を登録しておくと、業界の観察に便利です。
例えば、私は「RSS」というキーワードと「C++」というキーワードを登録しています。
新しいサービスや本が出れば大抵引っかかりますので、何か動きがあればすぐに分かります。
製品名を登録しておくと、色々な感想が読めます。どの製品を買おうか悩んでいるときに便利です。
例えば、私はプリンタを買う前に、「EPSON プリンタ」「CANON プリンタ」というキーワードを登録しておき、
製品の感想を色々読みました。
製品が特定できていれば、型番を登録しておくのも良いと思います。
本や映画のタイトルを登録しておくと、他の人の感想を聞けて便利です。
ネタばれは多いので、ネタばれを気にする方は読む前にやらない方が良いでしょう。
お気に入りの本のタイトルを登録しておくと、様々な意見が読めて参考になります。
有名な本のタイトルを登録しておくと、概要をつかむことができますので本を買わなくても話題に乗り遅れなくて済む・・・かもしれません。
お気に入りの俳優、歌手、野球選手の名前を登録しておくと、同好の士を見つけることができるのではないかと思います。
私はこれを試したことはないので、本当にできるかどうかは不明ですが、興味がある方はチャレンジしてみて下さい。
そのときは感想など頂ければ幸いです。
他にも様々な使い方があると思います。
キーワード検索って用途広いですねぇ。
色々試して、色々な使い方を発掘してみて下さい。
毎月恒例のカウンタートラックバックです。
4月中にHeimdallrを紹介して頂いた方々に対し、トラックバックを送ると共にお礼を込めてコメントなどを書かせて頂きたいと思います。
4月に初めてHeimdallrを紹介して頂いた記事です。
4月は、半ばを過ぎるまでHeimdallr紹介記事が無かったので今月はカウンタートラックバックできないかと心配しておりました。
ところでRSS Feedへのリンクってページ内の目立たない位置にあることが多いですが、このサイトみたくページ内の目立つ位置にあった方が良いのではないですかね。結構重要なリンクだと思うのですが。というわけでさっそく見習ってみました。
どこがとっつきにくかったのでしょうね。クイック初期化かな?それともビュー設定かなぁ・・・。
設定にもよりますが、一時間おきぐらいにリーダーが更新状況チェックするのでROとかゲームしてると、その瞬間は多少ラグがありますのであしからずおっとラグがでますか。そう言えば、他のアプリケーションへの影響はあまり考慮して設計していませんでした。 更新状況をチェックするときは、RSS Feedのダウンロードもありますが、キーワード設定により設定されたキーワードや、自動学習機能により興味ありと認識された単語のチェックを行うので、数秒CPU使用率が100%になります。これが結構響くんでしょうね。