/
605.txt
278 lines (260 loc) · 18.6 KB
/
605.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
[1] まだ歴史が浅いから仕方がないとは言え、
使いにくい [[Atom]] や [[RSS]] の[[フィード・リーダー]]をどうにかしてください。
[2] 関連: [[いけてないフィード]]
* フィードの登録
-[3] '''自動発見に対応していない'''
-- ''改善方法'''
---[4] 指定された[[文書]]が[[フィード]]でなければ、
[[Feed Auto-Discovery]] して登録候補を探して[[利用者]]に提示する
-[5] '''[CODE(URI)@en[[[feed]]:]] [[URI]] に対応していない'''
-- 非標準とはいえ、 [CODE(URI)@en[[[feed]]:]]
[[URI]] を使っている [[Web頁]]が少なからずある以上、
[CODE(URI)@en[[[feed]]:]] [[URI]] にも対応して欲しい
-- ''改善方法''
--- [6] [CODE(URI)@en[[[feed]]:]] [[URI]]
が指定されたら、その中の本来の [[URI]] を抜き出して使う
-[31] '''[[URI]] を[[クリップボード]]から[[貼り付け]]できない'''
-- [[Thunderbird]] 1.5 の [[URI]] 入力欄は[[右クリック]]したら出てくる[[メニュー]]に[[貼り付け]]がありません
([KEY@en[[[Ctrl]]]] + [KEY@en[[[v]]]] なら[[貼り付け]]可能)。
-- ''改善方法''
--- [32] [[OS]] 等が提供する標準の [[GUI]] [[widget]]
を使用する (そうすれば、普通、
[[OS]] 等の提供する[[クリップボード]]の機能が利用できる)
--- [33] [[右クリック]]したときの[[メニュー]]に[[クリップボード]]関連の操作を含める
(具体的に含める項目や順序は、[[OS]] 等の慣習に従うのがよい)
--- [34] [[鍵盤]]操作で[[クリップボード]]関連の操作を可能にする
(具体的な方法は、[[OS]] 等の慣習に従うのがよい)
[[#comment]]
* フィードやエントリーの管理
-[12] '''フィードを階層管理できない'''
-- 必ずしも階層でなくても構いませんが、
何らかの整理方法を用意して欲しいところ
-- そうでないと、十数個の[[フィード]]を登録しただけでわけがわからなくなります
-- ''改善方法''
---[13] [[フィード]]を階層化して整理できるようにする
---[53] [[フィード]]に[[タグ]]を付けられるようにし、
[[タグ]]ごとに[[フィード]](群)を表示できるようにする
-[35] '''複数のフィードを同じグループにできない'''
-- [[フィード]]をグループ ([[フォルダ]]など)
として管理できる場合に、[[フィード]]とグループが1対1対応しているだけだと、
不便なことがあります。
-- 例えば、本文とコメントを別の[[フィード]]として提供している
[[Weblog]] [[ソフトウェア]]があります。
--- これはどちらかというと[[フィード]]の方がいけてないのですが、
現にそういう[[ソフトウェア]]がよく使われている以上、
[[フィード・リーダー]]で対処しておきたいところです。
-- あるいは、似た内容の[[フィード]]はまとめて一つのグループとして管理したいこともあるでしょう。
-- ''改善方法''
---[36] [[フィード]]と[[グループ]]を[[多対1対応]]または[[多対多対応]]にする
-[14] '''同じエントリが複数表示される'''
-- [[フィード]]の更新後、以前の内容の[[キャッシュ]]と新しい内容で、二重に表示されてしまう[[フィード・リーダー]]があります
-- ただし、[[フィード]]そのものから更新前後での同一性の情報が欠落していることがありますから、
すべての場合に[[フィード・リーダー]]が悪いとはいえません
-- [[フィード・リーダー]]によっては、
[[フィード]]の同一性 ([[エントリ]]の同一性ではなく。)
により管理しているものもありますが、
それではうまくいかない場合もあります
--- 例えば、ある[[フィード]]が F (t = 1)、
F (t = 2)、 F (t = 3) と更新されていったとします。
--- F (t = 1) にはエントリ E1, E2, E3 が含まれていたとします。
--- F (t = 3) にはエントリ E1, E2, E3, E4 が含まれるとします。
--- F (t = 2) 生成時には障害が発生していたため、
エントリ E0 が含まれていたとします。
--- 実装方法がよくないと、F (t = 1) と F (t = 3) で E1, E2, E3
が同じものであることを認識できません
-- ''改善方法''
--- [15] まったく同じ内容の[[エントリ]]は、
最新のものだけ表示する
- [16] '''エントリーの更新に気づかない'''
-- 同じ[[エントリー]]の内容が、後の修正や追記により変化することがあります
-- [[フィード・リーダー]]の一部は、この変更を無視してしまいます
-- ''改善方法''
--- [17] 修正された[[エントリー]]は、
その旨がわかるように表示する (最善解)
--- [18] 修正された[[エントリー]]は、
以前の[[エントリー]] (のキャッシュ) とは別の[[エントリー]]として表示する
-[26] '''一旦削除したフィードのエントリーが消失する'''
-- 一旦[[フィード]]を削除し、再度登録すると、
以前読んだことがある[[エントリー]]が既にあるものとして判断され、
表示されないことがあります
-- ''改善方法''
--- [27] [[フィード]]を削除した時に関係する[[エントリー]]の管理情報を削除するか、
再登録時に別個のものとして扱う
-[44] '''フィードから消えたエントリーを保持し続けられる'''
-- [[フィード]]が更新された結果消えてしまった[[エントリー]]が、
リーダーの保持している[[エントリー]]のリストから削除されてしまうことがあります。
-- 新着記事しか[[フィード]]に含まれていない場合、
[[フィード]]から消えてしまった記事でも残っていた方が便利です。
-- ですが、[[フィード]]にあるものだけを表示した方が便利なこともあるかもしれませんので、
[[フィード]]毎に選択できると便利です。
-- ''改善方法''
--- [46] [[フィード]]から消えた[[エントリー]]を削除するか[[フィード]]毎に選択可能にする。
(最善解)
--- [45] [[フィード]]から消えた[[エントリー]]も保持し続ける。
-[47] '''spam 判定が適用できない'''
-- [[電子メイル]]用[[利用者エージェント]]を兼ねている[[フィード・リーダー]]の中には、
[[電子メイル]]に対して[[spam]]判定を行うのに、
[[フィード]]に対しては行わないものがあります。
-- [[フィード]]も、[[掲示板]]や[[メイリング・リスト]]に対応するものなど、
[[spam]] が含まれることがあり得ます。
-- ''改善方法''
--- [48] [[フィード]]の[[エントリー]]に対して [[spam]]
判定を行えるようにする。
** [405] なぜかリストに表示されない記事がある
[406] [[Mozilla Thunderbird]] 2.0.0.18 では、 [[Atom]] [[フィード]]中にあってもなぜか一覧に表示されない[[エントリー]]がたまにあります。
[[バイト]]レベルでまったく同じ[[フィード]]を読み込ませても、ちゃんと一覧に表示されることもあります。
ですので、再現条件は不明です。
* エントリーの表示
-[19] '''レンダリングの程度の選択ができない'''
-- [[エントリー]]には [[HTML]] 版が含まれている場合や
[[HTML]] 版への[[参照]]が含まれている場合があります
-- 一般には、[[平文]]版よりも [[HTML]]
版の方が[[情報量]]が多く、より綺麗かつ読みやすく[[レンダリング]]できます
-- その一方で、勝手に[[フィード]]外の[[文書]]を読みにいってほしくないとか、
[[著者]]のセンスが悪いので[[平文]]版の方がむしろ読みやすいとか、
個別のケースにより好ましい[[レンダリング]]方法は様々です
-- ''改善方法''
--- [20] [[利用者]]が次の選択を可能にする
---- [21] [[フィード]]外の[[文書]]を自動的に表示するか否か
---- [22] [[フィード]]内の[[文書]]に埋め込まれている[[フィード]]外の[[画像]]等を自動的に表示するか否か
---- [23] [[平文]]版と [[HTML]] 版があれば、
どちらを表示するか
---- [24] [[HTML]] を[[著者]]の[[スタイル・シート]]を適用して[[レンダリング]]するか、
読みやすいように[[フィード・リーダー]]が提供する[[スタイル・シート]]を適用して[[レンダリング]]するか
--- [25] なお、 >>20 は個々の[[フィード]]ごとにどれが一番良いかが異なるので、
[[フィード]]ごとに選択できるようにしないと不便
- [28] '''[CODE(char)[<]] や [CODE(char)[&]] を勝手に [[HTML]] として解釈する'''
-- [[escaped markup]] が認められている場所や、
認められているか曖昧な場所で解釈するのは良いとして、
そうでない場所でまで勝手に [[HTML]] として解釈する[[フィード・リーダー]]がある
-- [[escaped markup]] を2回 (以上) [[HTML]]
として[[解釈]]する[[フィード・リーダー]]がある
--- その結果、 [[HTML]] に関する[[エントリー]]は表示が滅茶苦茶になる
--- [[RSS]] は歴史的に仕様が曖昧なので仕方が無い面はあるのですが。。。
-- 例えば、 [[RSS 2.0]] の [CODE(XMLe)@en[[[title]]]] は[[平文]]として解釈するべきですが、
[[HTML]] として解釈する実装があります:
--- [[Thunderbird]]
--- [[mixi]]
-- ''改善方法''
--- [29] [[escaped markup]] が認められていない場所で勝手に
[[HTML]] として処理しない
--- [30] [[escaped markup]] は高々1度だけ [[HTML]]
として解釈されるように注意する
- [49] '''自動スクロールできない'''
-- [[フィード]]から本文であるとして参照している [[Web頁]]を表示する場合、
その[[Webサイト]]の題名や[[ナビゲーション]]などが多く、
本文が1画面目に入っていないことがあります。
-- [[フィード]]が本文であるとして提示している [[URI]] に[[素片識別子]]をつけるのが技術的に適切な対処でしょう。
-- しかし、世界中の[[フィード]]がそれに従うことは残念ながら期待できません。
-- ''改善方法''
---[[フィード・リーダー]]の側で勝手に[[素片識別子]]を補う、
あるいは勝手に適当な部分まで[[スクロール]]するようなオプションを設けるべきでしょう。
--- 勝手にとは言っても、自動的に推測するのは困難なので、
[[利用者]]が指定できるようにすれば十分でしょう。
--- [[HTML 5]] の [CODE(HTMLe)@en[[[article]]]] [[要素]]に本文が含まれていれば自動的にそれを表示するのがいいでしょう。
- [51] '''外部内容を表示できない'''
-- [[フィード]]自体には本文の要約しか入っていないことがよくあります。
-- その場合、本文を表示できるようになっているべきです。
-- [[Google Reader]] や[[はてなRSS]] はそのような場合に新しい[[閲覧文脈]]で本文を開くことができるようになっていますが、
一々新しい[[閲覧文脈]]を開いたり閉じたりしなければならないのは非常に面倒です。
--- [[FAQ]] に載っているので、そういう仕様のようです。作った人達はそれが使いにくいと思っていないということなんでしょうか。
-- ''改善方法''
--- [52] 本文が[[フィード]]自体に含まれていない場合でも、
それを[[フィード・リーダー]]内で閲覧できるようにする
([[フィード]]毎に個別に選択できるようになっていると尚良い)
-[60] '''外部内容の先読みができない'''
-- [[フィード]]から外部の内容が参照されている場合で、
外部の[[鯖]]への接続には時間が掛かることがあります。
-- [[利用者]]が当該記事を読もうと選択した時に[[鯖]]に接続しにいくのではなく、
[[フィード・リーダー]]が適宜先読みを行ってくれれば、
[[利用者]]にとっては快適に記事を読めるはずです。
-- ''改善方法''
---[61] 適宜外部内容を先読みする。
-[62] '''同じ外部内容を毎回読み込みなおす'''
-- [[フィード]]内の各記事が参照している外部内容が同じ[[文書]]
(の[[素片識別子]]によって指定される異なる部分) であることがあります。
-- その場合に、毎回外部内容を別の記事と見なして取得・[[レンダリング]]をしなおすのは無駄で、
無意味です。単に[[素片識別子]]の[[要素]]まで[[スクロール]]すれば済むことです。
-- Thunderbird2 は毎回読み込みなおすようです。
-- ''改善方法''
---[63] 表示中の文書と同じ文書は再取得しない。
[[#comment]]
* 仕様への対応
-[10] '''Atom 1.0 に対応していない'''
-- [[Livedoor Reader]] は [[Atom]] に対応していることになっていますが、
なぜか追加できない [[Atom]] [[フィード]]があります ([[フィード]]が見つからないというエラーになります)。
-- ([[フィード・リーダー]]ではないですが) [[mixi]] は [[Atom]]
に対応していません。
-- ''改善方法''
--- [11] [[Atom 1.0]] に対応する
-[7] '''エラー・メッセージがひどい'''
-- [[HTTP]] [[誤り]]も [[XML]] [[整形式]]性の問題も[[フィード]]としての[[妥当性]]の問題も一緒くたに[Q[これは有効なフィードではありません]]などとする、
優しくない[[フィード・リーダー]]がある
-- ひどいものだとエラーがあったこと自体報告しない
-- ''改善方法''
--- [8] 詳細な誤り情報を報告する (最善解)
--- [9] [[名前解決]]、[[HTTP]]、[[XML]]、[[フィード]]のどの段階で問題があったのかくらいは報告する
-[37] '''非整形式を読み込めない'''
-- 非[[整形式]]を読み込めないのは別に悪いことではない、
というよりむしろ正しい動作ですが、
現実には[[整形式]]でない[[フィード]]も少なくありません。
-- ''改善方法''
---[38] 軽度の[[整形式]]性[[誤り]]から[[回復]]できる
[[XML]] [[構文解析器]]を利用する
-[39] '''DTD を必ず読みにいく'''
-- わざわざ [[DTD]] その他の[[外部実体]]を読みにいく[[フィード・リーダー]]もありますが、
ほとんどの場合無意味です。単に遅くなるだけです。
-- [[参照]]している[[実体]]がなくなったときに[[誤り]]となり、
[[フィード]]を読めなくなるような実装はかなりいけていません。
--- 実際に [[RSS 0.91]] の [[DTD]]
が削除され、読み込めなくなる[[フィード]]がでてくる事件がありました。
-- ''改善方法''
--- [40] [[外部実体]]を読み込めなくても、[[致命的誤り]]にしない。
--- [41] [[外部実体]]を読み込まない。
-[42] '''文字コードを手動指定できない'''
-- 現状では、 [CODE(MIME)@en[[[charset]]]] や
[CODE(XMLa)@en[[[encoding]]]]
の指定が正しくない[[フィード]]が多く存在しています。
-- [[文字コード]]の指定が正しくないと、
[[文字化け]]したり、そもそも[[整形式]]でなくて読み込めなかったりします。
-- ''改善方法''
---[43] [[フィード]]読み込み時の[[文字コード]]を手動指定可能にする。
- [50] '''基底 URI に対応していない'''
-- [[Thunderbird]] 2 は、[[フィード]]から参照されている本文に
[CODE(HTMLe)@en[[[base]]]] [[要素]]があっても、
これを無視してしまうようです。
-- [[RSS]] や [[Atom]] の [CODE(XMLa)@en[[[xml:base]]]] [[属性]]に対応していない[[フィードリーダー]]はままあるようです。
-- ''改善方法''
--- [[フィード]]の [CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性]]に対応する
--- [[フィード]]が参照している[[本文]]の [CODE(HTMLe)@en[[[base]]]]
[[要素]]や [CODE(XMLa)@en[[[xml]]:[[base]]]] [[属性]]に対応する
-[64] '''[CODE(XML)@en[[[alternate]]]] がないとフィードを登録できない'''
-- [[Thunderbird]] 1.5 では、[CODE(XMLe)@en[[[feed]]]]
[[要素]]内に [CODE(XMLa)@en[[[rel]]]] が [CODE(XML)@en[[[alternate]]]]
の [CODE(XMLe)@en[[[link]]]] [[要素]]がないと、なぜか[[フィード]]を登録できません。
--''改善方法''
---[65] [CODE(XML)@en[[[alternate]]]] がなくても[[フィード]]を登録できるようにする。
[[#comment]]
* その他
-[54] '''動作が重たい'''
-- [[はてなRSS]] はなぜかよくわかりませんが、非常に重たい ([[鯖]]が過負荷?) です。
--- 重い時と軽い時があるみたいです。
-- [[Mozilla Thunderbird]] はすごく重たいです。特に[[フィード]]を取得する時に、
[[フィード]]数が多いとずっとその処理に [[CPU]] を裂くのか、
読むのが困難なくらいのろくなります。
--- もちろん動作環境によるのでしょうが・・・。
-[55] '''存在しないフィードへの対処が良くない'''
-- [[フィード]]が [CODE(HTTP)[[[404]]]] になったり、
[[鯖]]ごとなくなったりすることがあります。
-- ただし、恒久的な消失の場合と一時的な不具合等による接続不可の場合があることに注意しなければなりません。
-- ''改善方法''
---[56] 多数[[フィード]]の(半)自動処理機能を実行する場合、
途中である[[フィード]]が存在しなくなっていても、
エラーで停止せずに、残りの[[フィード]]の処理を続けるべきです。
---[57] その場合でも、どの[[フィード]]でエラーが発生したのかを後から利用者が確認できるべきです。
---[58] また、認証等もそれによってすべての処理が中断されてしまわないような配慮があるべきです。
---[59] [[フィード]]中に本文が埋め込まれている場合、[[フィード]]から参照されている [[URL]]
の[[文書]]が存在しない場合には、 (表示できませんというエラーや
[CODE(HTTP)[[[404]]]] [[文書]]ではなく、) 本文の方を表示できるべきです。
[[#comment]]
* メモ