2009/07/06

Firefox3.5対応&Add-on Collector

新しいプロファイルに、"Add-on Collector"でアドオンを入れなおして見ます。

結論から言うと、Add-on Collectorに任せたアドオン管理はまだ実用的ではありませんでした。

初期状態

まっさらな状態

まずAdd-on Collectorを入れる

スペルミスがあっても見つかりました

普通にインストール

一個だけ入れた状態

コレクションを引っ張ってくる

自分が作った自動公開コレクションは自分の購読リストに入るため、まずはログインして古いプロファイルで作った購読リストを取得します。

[Add-on Collector]画面 > [General Settings]タブ > [Log in]ボタンをクリック。

AMOにログインします。

購読リストが取得できた状態。余談ですが、古いプロファイルと新しいプロファイルでFx3.0.11とFx3.5を同時に起動しAdd-on Collectorに同時ログインしても問題は起きませんでした。

インストールしていく

依存関係や設定の問題もあるんでしょうが、一発インストールボタンが無いのでとりあえず一個一個インストールしていきます。

コレクションの中からアドオンを選択肢、[Add to Firefox]ボタンをクリック。

普段のインストールポップアップが表示されます。

こんな感じでチマチマ入れていくしかないようです。

インストールできないアドオン

既にインストールしたアドオンやバージョンの関係でインストール出来ないアドオンは[Add to Firefox]ボタンがグレーアウトされ、インストールできません。一覧に表示させないようなフィルタ機能が欲しいですね。

それとは別の問題として、インストールできるはずのアドオンが"not compatible"と表示されインストールできませんでした。

例えば、上の画像のNightly Tester Toolsはそのような古いバージョン向けのアドオンを強引に入れるためのアドオンなので、βでも無い最新版に対応していないはずは無いんですが。

右上の[View Collection]をクリックすると、AMOのコレクションページに移動します。

Webページ上の[Add to Firefox]はEnableに見えます。アドオン名をクリックすると、そのアドオンの固有ページに飛びます。

やはり[Add to Firefox]ボタンはEnableに見えます。

下の方にある対応バージョンの表記でも3.6a1preまで対応となっているので、当然3.5も含まれるはずです。

このページから[Add to Firefox]をクリックすると、やはりインストール可能な様です。

一度古いプロファイルを立ち上げて、Nightlyをコレクションから削除、もう一度公開、新しいプロファイルで[Subscriptions]タブの左下にある[Reload All]を押した所、インストール可能になっていました。

  • 一度Webページ上からインストール画面を出してみた
  • コレクションに追加した時のバージョンで判定されるので、公開しなおせばよい

どちらか、もしくはまったく別の理由で直ったのかは不明です。

良く見ると他のアドオンでバージョンが未対応の物は、"for older"の表示になっています。"not compatible"は一体どんな判定で表示されるんでしょうか。

どちらにせよ、

  • 一括インストールが出来ない
  • 古いバージョン向けの物を強引に落とす事が出来ない

となるとちょっと実用には遠い気がします。

前者の問題はAdd-on Collectorの更新に期待ですが、後者はNightly Tester Toolsの"Override all compatibility"ボタンがコレクションにも表示される、なんていうのは無理ですかね。

結局ダウンロードに失敗するアドオンなどもあり、コレクションの半分も復元できませんでした。

それ以前に、AMOに登録されていて、無効にもなっていない、かつ古くも無く、正式に対応しているはずのバージョンのインストール済みアドオン(Adblocck Plusなど)がコレクションに追加できなかったりします。

AMOのサイトからは追加できるのに、アドオン画面からは追加出来ないので、コレクション機能ではなく、Add-on Collectorの機能的な問題か、私のPCの環境の問題かもしれませんが。

Add-on Collectorからログアウトしているのに、[Publish to]プルダウンからコレクション名の一覧が消えない、などバグっぽいのがぼろぼろ見つかりますね。

2009/07/04

Firefox3.5対応

Firefox3.0.*及び、既存のプロファイルをそのままに、3.5をインストールして、新しいプロファイルで起動してみます。

毎回やってますが、3.5でオプションが変わってない確認の意味でも。起動まで一通りやってみて、変わっていませんでしたが。

インストール

既定のブラウザを変更したくない場合、最初の画面でチェックを外す。
この画像では外れてませんが、後から外しました。
カスタムインストールでインストール先を変更。

"C:\usr\local\bin\"が正規版、"C:\usr\local\opt\"がお試し版という使い分けをしています。

ショートカットが上書きされないように、アイコンの作成を全部はずす。
デフォルトプロファイルが上書きされないように、すぐに起動を外す。

うっかり既定のブラウザにセットしてしまい、うっかり*.htmlファイルをダブルクリックしたりすると、デフォルトプロファイルが上書きされながら起動したりします。冗談みたいなミスが、たまに、よくあります。

プロファイルの準備

新規のプロファイルを作成します。

createprofileというオプションは今回初めて使いました。 "admhfu53.for3.5"というのが今作ったプロファイル。 "ph62nefn.default"というのは昔作ったデフォルトプロファイルです。

プロファイルフォルダを移動(名前の変更も)します。

移動元:{home dir}\Application Data\Mozilla\Firefox\Profiles\admhfu53.for3.5\
移動先:C:\home\KNYI Jong\.mozilla\Firefox\Profiles3.5\

この時点で、9KBしかないですね。予備に一つコピーしておくと、この後の作業が失敗した時のリトライに便利かもしれません。

起動

プロファイルをパス指定で起動します。

{install dir}\firefox.exe -profile "{profile dir}\Profiles3.5"

Windowsの基礎ですが、パスにスペースがある場合、""で囲む必要があります。

また、プロファイルフォルダの最後に"\"(円マークもしくはバックスラッシュ)は要りません。たしか付けてしまうと、そのフォルダの下に、さらにサブフォルダを作成してしまった気がします。

無事起動。この時点で4,210KBに増加しました。指定したプロファイルで起動してくれたようです。起動直後に既定のブラウザにするか聞かれるので注意してください。

実際の起動には-no-remoteなども付けています。どのプロファイルで起動する際にも使う共通のオプションは、JScriptを書いてfirefox.exeの横にfirefox.jsとして置いてあります。そうすると、ショートカットの記述は

{install dir}\firefox.js "{profile dir}\{profile name}"

だけで良くなるので見通しが良くなります。

さて、ここからが大変です・・・

参考:小粋空間: Firefox2 と Firefox3(ベータ版)の共存

2009/07/03

Firefox3.5対応

まだ入れてないのですが、いい機会なのでProfileのオーバーホールをしようと考えています。長いこと使っていると結構あっちこっちいじっているので何かしら移行し忘れるものですが。

ブックマークは元々GMarksによってGoogleブックマークを直接参照しているので、そもそも「同期」を取る必要がありません。どの環境からでもログインすれば同じ物を使えるというのが、ハードリンクの様で便利です。

アドオンはaddons.mozilla.org (AMO)コレクション作ってみました。新しい環境でのダウンロードはまだですが。とりあえず真っ先に"Add-on Collector"を入れれば後はリストからインストールできるような感じです。

正直コレクション自体も、"Add-ons Collector"もまだ出来たばかりで使い勝手が悪いと思うのですが、少なくとも、名前の一覧をメモして新しいProfileで再検索して、、、とやるよりは遥かに良いと思います。

extensionsフォルダを丸ごと上書きする方法もありますが、設定等色々不安が残りますので、出来ればちゃんとインストールしたい。

about:configなどの設定周りが不安ですね。オプション画面の設定やアドオンの設定も色々いじる必要があると思うので、prefs周りの仕組みを理解できていれば、ファイル一発コピーで復元できる物なんでしょうか。

一部のアドオンでも外部ファイルやsqliteでDBを使用していたりもします。特定のアドオンの設定を別のProfileからインポートなんて出来れば便利そうですが。

そもそも、アドオンの設定やデータの保存方法に統一的な方針ってあるんでしょうか。

2009/07/02

Gmailのラベル機能が刷新

Firefox3.5の対応に忙しい中、GmailまでUIの重要な部分に大幅な変更がありました。

公式の説明として

表示位置が変更
表示非表示が選択可能に
ドラッグ&ドロップによるメール振分けが可能に
ラベル自体もドラッグ&ドロップ可能

特に触れられていませんが

日本語表示でも既に利用可能
既定のラベル(Sttared,Sent Mail,Trash...)も非表示可能に
ただしInboxは不可?

ここが惜しい

並び順は変えられない?
たまに表示が崩れる(Fx3.0.11)

是非コレも

"Quick Links(Labs)"も同じ扱いにして欲しい
検索条件に名前を付けて保存できる"Quick Links"こそ、Googleの本領発揮じゃないですか?

これは辞めて欲しい

ラベルが一つも無いと、適当なラベル(プライベート、旅行...)が作成される
新規ユーザへのオススメならわかりますが、既存のアカウントに勝手にラベルを追加するのはいただけません。

参考:

3.5慣らし運転?

Firefox3.5ユーザのセッションがもうあるのかな?と思ってAnalyticsみてたら、なぜか昨日のセッション数が普段の2.5倍になってました。

参照元とかも変わりないのに?と思ってたら、セッション数の半分がFirefox3.5!

chromeの時もダウンロード開始当日から数件アクセスがありましたが、Firefoxは段違いですね。

みんなあっちこっちのサイト見に行って変化を体感してるんでしょうか。

個人的に気になるのは、DOM Storageの対応とか。モノとして面白いなーとは思うのですが、Cookieみたいにトラッキングデータを拒否する設定が3.0.*では見つからなかったので3.5はどうなっているのか、とか。

対応アドをンをまた整理しないといけないなとか思いつつ面倒くさくてまだ試してません。

3.0の時も思っただけで調べてないのですが、β系列の自動アップデートはβ系列だけ、とかに出来るんでしょうか。

例えば現在3.0.11→3.5になると思うのですが、3.5RC3を別に共存させていた場合、そちらを更新しても3.5にはしないで欲しいのです。

3.5β2→3.5RC→.nextという感じに正式版回避アップデートが出来るとβのたび環境作らなくて楽そうですが。

2009/06/29

deliciousのタグに半角スペースを使う

deliciousのタグはデリミタ(区切り文字)が半角スペース(ブランク)なので、タグに半角スペースが使えません。

"Google Toolbar"と入力すると、"Google"と"Toolbar"になります。

そこで、no-break space(*)を使います。HTMLなんかで と書くアレです。

参考: と普通の半角スペースの違い - うなの日記

もちろんdeliciousの登録画面での入力はHTMLエンコードされませんので、 と書いてもそのまま出てきてしまいます。

Windowsの場合、Altキーを押しながら数字を入力する事で、入力した数字に該当する文字コードの文字が出てきます。

半角スペースは0x20、10進で32です。nbspは0xA0、10進だと160です。

Altを押したまま、テンキーで1,6,0と順番に押し、Altを放すとnbspが挿入されます。

他の方法として、文字コード表から選択してコピーする事も出来ます。文字コード表は[スタート]>[プログラム]>[アクセサリ]>[システムツール]>[文字コード表]。もしくは[ファイル名を指定して実行]で"charmap"入力してEnter。

"Google Reader"というタグを付けた場合の画像です。"Google"と"Reader"の間にnbspが入っています。

以上はWindows XP SP3、Firefox3.0.11だけで確認したので他の環境ではどのように表示されるか解りません。deliciousのインポート、エクスポートにおいてどのような扱い方をされるかも未調査です。

*:厳密には違う文字なので「半角スペース」を使えるわけではありませんが。

2009/06/28

折り紙

最近、折り紙にハマってます。「折り紙」というWebサービスなどではなく、純粋な折り紙です。

折り紙もハードウェア的な制約が(*)多いのであまり好きでは無かったのですが、一部の折り紙にプログラマブルな性質があることに最近気付きました。

ちょっとググってみたところ、「ユニット折り紙」の「そのべ式」という事だけわかりました。

参照:ユニット折り紙 - Wikipedia

昔から祖母の家にあったのですが、20数年間、2種類しか無いと思っていた折り方(正確には組み方)に今年に入ってからブレイクスルーがありました。

細かい話はしょーもないので端折りますが、祖母のさりげない配色センスの良さと、自分の絶望的な配色センスの無さの差から思わぬ広がりに気付いたので、人生何が役に立つか解りません。

以来、週1で祖母宅に行くたびに細々と作ってましたが、ちょっとまどろっこしくなってきたので、自宅でも作成。ある程度大きな物になると、1個(組)4時間とかかかってしまいます。

作品の載ってるサイトなどもありそうですが、まだ色々自分で弄ってみたいので一通り出来てから他人の作品を見てみようかと画策中。

*:コピーコストが高い、ループコストが高い、コピーが劣化する等々。

2009/06/24

メールアドレスを公開しないでメールを貰う

貰う人がGoogleアカウント(≒Gmailアカウント)所有者で、送る人もGoogleアカウント所有者の場合、プロフィール画面からメールが送信可能です。

当然メールを送るので、送信者側のメールアドレスは受信者に判ってしまいます。

受信側の準備

GoogleのトップページやiGoogleページの右上にある[アカウント/My Account]を開く。

[アカウント情報/Edit your profile]画面でアバターアイコンの右にある[プロフィールの編集/Edit profile]を開く [プロフィールを編集/Edit your profile]画面でアバターアイコンの左にある[連絡をとれるようにする(メールアドレスは表示しない)/Allow people to contact me (without showing my email address)]チェックボックスにチェックを入れて保存します。

送信画面はプロフィール画面内にあります。
先ほどの[プロフィールを編集/Edit your profile]画面の一番下に自分のプロフィール画面のURLが有ります。

このURLへのリンクを、Bloggerのプロフィールやブログのサイドバーに置いておけばアクセス可能です。

送信側の手順

プロフィール画面を開くとアバターアイコンの右の方に送信リンクがあります。

あとは適当に文面入れて送信するだけです。送信者側のGmailのInboxにもちゃんと送信済みメールとして入ってきます。

このメール送信画面は

http://www.google.com/profiles/{user id}/contactme

というアドレスで直接参照も出来ます。httpsも可能でした。

また、

?continue={escaped url}

というオプションを指定すれば、メッセージ送信後に戻る画面を指定できます。

戻り先にブログのアドレスを指定して、連絡フォームとして利用するのも有りかもしれません。

メールアドレスをサイト上に平文で載せるとスパムが大量に送られてくるので、バナー画像にしたり、アットマークを全角にしたり、HTMLソースを難読化したり、という対策は良く見ます。

この方法ならプロフィールページはバレますが、メールアドレスはバレないので、割と手軽じゃないでしょうか。

もっともブログのURLからプロフィールページからメールアドレスまで全部同じにしている人には余り意味が無いかもしれませんが。

長々書いた後でググって見たら半年も前から出来たんですね。ただ、当時とはプロフィールページのアドレスが若干異なるようです。リダイレクトされるので見ることは出来ますが。

参考:

余談ですが、プロフィールページの姓・名の順序は見る側の言語によって変わっていそうですね。漢字圏の国では英語表記でも姓・名の順で表示しよう、といった意見もあるので、見せる側の国籍や言語で判定などしてくれないものでしょうか。

Bloggerのプロフィールでは(正直どうでもいい)干支にあれ程の拘りがあったので(個人的に)期待したい所です。

2009/06/20

サイトマップの警告

ウェブマスター ツールに登録してあるBloggerのサイトマップに警告が出ていました。

指摘されているauthorタグの中身はこんな感じです。 <author> <name> {ユーザ名} </name> <uri> http://www.blogger.com/profile/{BLOGGER USER ID} </uri> <email> noreply@blogger.com </email> <gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='{OPEN SOCIAL USER ID?}' /> </author>

明らかに<gd:extendedProperty>が怪しそうですが、こちら(Is gd:extendedProperty supported in Atom Feeds used as Sitemaps? - Webmaster Help)でまるで同じ内容の質問がありました。

結論としては、「グーグルのクローリング等には影響ないので気にしなくていいよ」という事みたいです。常に警告を出すという状態を「問題無い」とされるのには釈然としませんが。

明らかにOpenSocial/Friend Connect絡みなのでウェブマスターツール側が対応できていないだけかもしれません。問題となっているIDを消す方法は解りませんが、利用する方法などはこちらに(Gadgets for Blogger - Blogger APIs - Google Code)書かれているみたいです。

2009/06/18

Friend Connect on Blogger

最近Bloggerでブログを新規作成したところ、サイドバーウィジェットにデフォルトでFriend ConnectのFollowers(読者)ウィジェットが入っていました。

Googleとして当然推奨する形になるんでしょうが、その割りにGoogle日本法人系の公式ブログにはFriend Connect無いですね。

Friend ConnectでFollowするとGoogle ReaderのSubscriptionsにも入るので、設置ブログのフィードはFriend Connect経由で統一したいのですが、既存の購読フィードは存外、置換できませんでした。

私は使ってないので調べてませんが、Feedburner経由にしている場合にどうなるのかも気になる所です。

2009/05/26

ヘッダ要素にCSS

table-cellが気になって調べていたら、こちらが見つかった
display: table-cell を使ったマルチカラムレイアウト - IT戦記

その中のデモページ
Cols with table-cell.

意外だったのが2点

  • <head>の要素でもスタイルシートでdisplayを設定すると可視化される
  • <link>にbefore/after擬似要素でcontentを入れると、ハイパーリンクになる

後者はFirefoxの独自仕様かも知れませんが。これはちょっと使いたい。

2009/05/22

Friend Connect管理画面

以前、「Friend Connect管理画面でBloggerの情報を見る」なんてのを書きましたが、さっきGoogle Friend Connectを見たところ、Bloggerから追加したサイトも一覧に表示されていました。

理由はわかりませんが、ひょっとしたら単に表示されるまで時間差があっただけかもしれません。または変更があったのかもしれません。最近GmailやGoogle Readerでも発表がなくても細かな変更がしばしば見られますし。

Bloggerウィジェットとしてしか設定していない方は、Googleのアカウント情報に表示される利用中サービスにGoogle Friend Connectがあれば見られるかもしれません。

2009/05/17

Google カレンダーの土日を色付け

割と最近、変更が有ったらしく、気が付くと以前のスタイルが無効になっていました。
Google Calendar - Colorize Weekends (Sun-Sat) | userstyles.org
上記は2009/02/12更新となっています。

日本語/English(US)やTasks表示には影響を受けませんが、週の開始曜日に影響を受けます。土曜、日曜を探している訳ではなく、単に各週の最初と最後に色をつけているだけの様です(上記、日曜~土曜用Styleの場合)。

随分まえからuserStyleには有るみたいですが、Googleが公式で提供しないんでしょうか。曜日に色を付けるのは日本独自?と思ったのですが、そうでもないみたいです。
なぜカレンダーで土曜日は青字で日曜日は赤字なのでしょうか? - Yahoo!知恵袋

例えばバングラディシュは金が週末扱いで、金が休日です。

Google カレンダーで土曜開始(金曜終了)の設定があるのは、こういう国も有るからなんですね。新しい発見は有りましたが、公式対応しない理由はわからず。

2009/05/16

SQLite Optimizer

ちょっと前にこんな事(FirefoxのProfileを縮小)を書きましたが、SQLiteにはVACUUM以外にもANALIZEとREINDEXという操作が可能な様です。
SQLite が認識する SQL - Third impact

VACUUM
実効データの格納に必要なサイズだけ確保し、*.sqliteファイルを縮小する
REINDEX
INDEXを再構築する
ANALYZE
INDEXの統計をとる

REINDEXとANALYZEの厳密な動作内容や、必要性(REINDEXの前後にANALYZEが要るのか?)は解りませんが、とりあえずVACUUM+REINDEXやっとけば動作が速くなるという話しです。

前回はサイズ圧縮が目的だったので、REINDEXはしていませんでしたが、早くなるのであればやった方がよさげです。 (ただ、VACUUMだけでも早くなったという話も見かけました)

SQLite Optimizer :: Firefox Add-ons
こちらを使うと、Profileフォルダの下の全*.sqliteファイルにVACUUMやREINDEXを一括処理をしてくれる様です。前回は一個一個手作業だったので非常に便利に。

スクリーンショットではREINDEXのみに見えますが、設定によりVACUUM+REINDEXに変更できるそうです。ただし、REINDEXがメインなので、VACUUMは(このアドオンで行う事は)あまり推奨していない様です。(miyafx: sqlite 最適化 - Firefox拡張機能)

また、SQLiteの仕様上、頻繁にVACUUMを行うのは逆効果との話。
sqliteのvacuum。auto_vacuum危険 — ありえるえりあ

こちら(VACUUM)を見る限りでは、vacuumとauto_vacuumの動作もバージョンによっては異なる様なので細かい挙動については、要調査ですが。

SQLite Optimizerの設定メニューにある「終了時に(略)実行する」というのは毎回ではなく、(about:configの)指定回数毎みたいです(デフォルト10回)。ただ、再起動もカウントされてしまうので、指定回数をトリガーにした上で、確認ダイアログを出すオプションなどがあれば尚嬉しいですね。

なにかのカスタマイズで頻繁に再起動しているときに、たまに再起動が遅くなるとエラーと勘違いしたり。急いでPCの電源を切りたい時に限って10回目に当ってしまった!なんて事もありそうです。

2009/05/15

FriendFeed

FriendFeed

一言で言うとfeed aggregatorです。

ぱっと見で良い点

  • OpenIDでログイン(=GoogleのアカウントがあればOK)
  • 外部feedの集約
  • 取り込んだfeedの検索
  • 取り込んだfeedにコメント

OpenIDという点と、自分のfeedを横断的に検索可能という点だけでも利用価値があると思います。過去に書かれた解説記事と比較する限りでは、取り込み可能な対応サービスも1年で倍ぐらい増えています。

ちゃんと調べてませんが

  • private設定も可能?

イマイチな点

  • 日本語化が未完(とくにヘルプ)

Google ReaderのShared itemsはfeedを出すだけ出していても、他人のfeedを検索も出来ないし、ホットエントリーの様な集約もされていないし、と思っていたのですが、この手の外部サービスがあれば、発信元はとりあえず出すだけ出しておけばいいんですね。流行れば買収なり真似なりしてくれるでしょうし。

KNYI Jong - FriendFeed

2009/05/13

Google Subscribed Links

Googleのアカウント情報に行くと利用しているサービスが一覧されます。

その中に登録した記憶の無い物が。

Googleの検索結果に特定のサービス内のコンテンツを優先的に表示させられる。らしい。

解ったような解らないような。

少し前にShared Stuffが404になってしまいましたし、Google Baseみたいに一度触ったきりのサービスもあるので、Googleサービスもたまに棚卸をする必要がありそうです。

2009/05/10

Google Readerでtombloo

クロスポストに便利なtombloo。2種類のポスト方法があります。

  • コンテキストメニューからポスト
  • ショートカットキーからクイックポスト

一般的なサイトでの挙動はどちらでも大差無いのですが、Google Reader(多分LDRでも?)上だと若干異なります。

前者では現在フォーカスされているエントリーがポスト対象となり、後者ではGoogle Readerのページ自体がポストされてしまいます。後者でもフォーカスされているエントリーをポスト対象として欲しい。

コンテキストメニューの場合、イベント発生元の要素(=マウスポインタが置いてある要素)から遡って親要素からタイトルやリンクを取得している様ですが、ショートカットの場合、マウスの位置が関係ないので親要素の取得が出来ません。

ただ、DOM Inspectorで見る限り、フォーカスのあるエントリーは動的に"current-entry"というIDが振られる様です。なので、ID指定で要素を取得してポストする様に勝手にソース改変。

158: var ctx = update({ 159: document : doc, 160: window : win, 161: title : doc.title, 162: }, win.location); 163:// custom start 164: if(ctx.href.match('//www.google.[^/]+/reader/')) { 165: if(item = $x('id("current-entry")', ctx.document)) { 166: // Google Readerで、かつアクティブなエントリーが取得できた場合 167: // タイトル等を取得 168: var res = { 169: author : ($x('descendant::div[@class="entry-author"]/*[@class="entry-author-name"]/text()', item) || ''), 170: title : $x('descendant::a[@class="entry-title-link"]/text()', item) || '', 171: feed : ($x('descendant::a[@class="entry-source-title"]/text()', item) || $x('id("chrome-stream-title")//a/text()')), 172: href : $x('descendant::a[@class="entry-title-link"]/@href', item).replace(/[?&;](fr?(om)?|track|ref|FM)=(r(ss(all)?|df)|atom)([&;].*)?/,''), 173: }; 174: 175: // この後ポストフォームで、ctx.titleとctx.hrefが使用される 176: // ので、勝手に書き換える 177: ctx.title = res.feed + (res.title? ' - ' + res.title : ''); 178: ctx.href = res.href; 179: ctx.host = res.href.match('http://(.*?)/')[1]; 180: } else { 181: // Google Readerだが、アクティブなエントリーが無い場合 182: // 何もしない 183: } 184: } else { 185: // Google Reader以外の場合 186: // 何もしない 187: } 188:// custom end 1403: // ドキュメントタイトルを取得する 1404: var title; 1405:// custom start 1406: if(typeof(ctx.title) == 'string'){ 1407: // ctx.title設定済みの場合、ドキュメントタイトルに優先する 1408: title = ctx.title; 1409: } else 1410:// custom end

いささかスマートさに欠ける方法ですが、とりあえず目的は達成。

残る問題はSBM経由だとタイトルに余計な文字が入ることです。例えばDelicious/networkだとタイトルに"[from {user name}]"というプレフィックスが入ってしまいます。非同期でオリジナルソースページにアクセスしてタイトル取得とか、良くあるプレフィックスリストを作って削除、とかする必要がありそう。

2009/04/30

Gmail on iGoogle

Gmailの設定で「常にhttpsを使う」にしていると、iGoogle上のガジェットではinboxの表示が出来なくなったようです。自分の環境由来の不具合ではない模様。

自分はiGoogleのアドレスを"https://www.google.com/ig?hl=ja"にしていたので、見えている物だと思っていたのですが、iGoogle自体がhttpsだろうと、iGoogleとGmail間の通信は関係なかったのでしょうか。

iGoogleでGmailガジェットが利用できなくなったときの解決策? | りょーちの駄文と書評

2009/04/28

Google Toolbarを設定する

自分のGoogle Toolbarの用途は以下の三つ

  1. Web検索
  2. ページ内検索
  3. マウスオーバー辞書
Web検索

デフォルトの検索ボックスはFirefox標準のカスタマイズ機能で消す。Google Toolbarをトグルさせるショートカットキーを設定する。

ページ内検索

ボタン類はFirefox標準のカスタマイズ機能で可能な限り消す。[Google ツールバーオプション]画面 > [検索]タブ > [ウェブ閲覧ツール]の中にある、[検索キーワードのハイライト表示]と[ウェブページで単語を探してハイライトします]というチェックボックスをONにする。これでデフォルトのページ内検索(Ctrl+F)は不要になります。

マウスオーバー辞書

[Google ツールバーオプション]画面 > [ツール]タブ > [翻訳]チェックボックスをONにする

この時点でこんな感じになります。

問題が2点

オプションボタンが消せない

検索ボックスの右隣にあるボタンです。オプション画面を開いたり、検索を切り替えたり(Web/画像/地図など)できますが、要りません。ver.5からは、ツールバーを右クリックでオプション画面が開けるようになりました。また、検索切り替えは検索後でも出来ます。

翻訳ボタンが消せない

Firefox標準のカスタマイズ機能で消せますが、消すとマウスオーバー辞書が使えなくなります。マウスオーバー辞書を有効にすると翻訳ボタンも表示されます。ページ全体の翻訳は滅多にしないので邪魔です。

そこで、DOM InspectorStylishです。これら二つのボタンは独立したXULオブジェクトとして、IDが振られている様ですので、ID指定で隠します。

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); #gtbSearchButton, #gtbTranslateMenu { display : none !important; }

これで自分の使いたいボタンだけ表示されました。

一日の内で、最も長く使用するアプリのUIが自在にカスタマイズできるというのはすばらしいと思います。どうでもいい人にとっては本当にどうでもいいでしょうが。

2009/04/25

Friend Connect管理画面でBloggerの情報を見る

Blogger以外のサイトにGoogle Friend Connectのガジェットを追加した場合、Friend Connectのページから管理情報を参照できます。

しかし、Bloggerに設置した場合、Bloggerのダッシュボードから参照できる情報は内容が異なります。

前者の管理画面の各メニューは、設置サイトの管理IDを後ろに付けた下記のURLで表示されています。

http://www.google.co.jp/friendconnect/admin/site/metrics?id={site id}

そのため、サイトIDさえわかっていれば、Bloggerに設置したFollowersガジェットの情報も見られるようです。 明らかに表示内容が変化しているので多分合っていそうですが。

とりあえず、サイトIDを調べる手っ取り早い方法は、設置したブログのソースを表示して"site:"で検索すると以下の様なコードが見つかるはずです。

この"site:xxxxxxxxx"の数字部分を上記のアドレスにくっつければ、強引ですが見られます。Blogger以外のガジェットを何かしら追加したアカウントであれば、"Reports"や"Site Settings"などのメニューが表示されるので、とりあえず表示→最後のIDだけ張替え、で全てのメニューが確認できると思います。

一度もBlogger以外のサイトにガジェットを登録していないアカウントだとメニュー自体表示されていないので、URLを直打ちする必要があります。

Google Friend Connectはどこにどういったデータが保存されているのか、データモデルがイマイチ見えないので統一的な管理コンソールが欲しいところです。設置者用にも、利用者用にも。

ちなみに上記の「Blogger以外のサイト」として利用したのはGoogle Page Creatorです。Google サイトではhtmlファイルのアップロードが出来なかったため、設置できませんでした。明らかに代替として用を成していない辺りも気になります。

Reports
http://www.google.co.jp/friendconnect/admin/site/metrics?id={site id}
Site settings
http://www.google.co.jp/friendconnect/admin/site/settings?id={site id}
Social bar
http://www.google.co.jp/friendconnect/admin/site/socialbargadget?id={site id}
Members gadgets
http://www.google.co.jp/friendconnect/admin/site/membersgadgets?id={site id}
Social gadgets
http://www.google.co.jp/friendconnect/admin/site/osgadgets?id={site id}
Moderate posts
http://www.google.co.jp/friendconnect/admin/site/postmoderation/main?id={site id}&count=10
Manage members
http://www.google.co.jp/friendconnect/admin/site/visitors?id={site id}
For developers
http://www.google.co.jp/friendconnect/admin/site/jsapi?id={site id}
Plugins
http://www.google.co.jp/friendconnect/admin/site/plugins?id={site id}

2009/04/23

Google Toolbarを更新する

なぜか知りませんが、Google Toolbar for Firefoxのバージョンがあがっていませんでした。

アドオンマネージャでは"3.1.20081127W"。[更新を確認]しても、「更新は見つかりませんでした」。しかし、Google ツールバーを見ると、「Google ツールバー5をダウンロード」の表記。

試しに、そのままインストール(多分上書き)してみると、"5.0.20090324W"にあがっていました。こちら(Google ツールバー :: Firefox Add-ons)ではダウンロード前にマイナーバージョンまで解りますね。

Googleのアプリはインストール経路が幾つかあるので、以前はどこからどう入れたのか覚えていませんが、意図的にGoogle Toolbarの更新を止めたいといったサイトも見つかるので、自分も似たようなことをしていたのかもしれません。

2009/04/22

BloggerのFollowerになる(Googleアカウント版)

Google Friend Connectを利用して設置されている"Followers"を介して特定のブログのFollowerになる方法です。ブログの表示設定が日本語の場合、"Followers"は「読者」と表示されます。

  1. OpenIDを取得する

    • Googleのアカウント
    • mixiのアカウント
    • はてなのアカウント
    などを持っていれば利用できます。

  2. 設置しているページを見つける

    こんなガジェット(Bloggerウィジェット)を設置しているページを見つけて下さい。
    私はBloggerの旧Follower機能で読者指定して下さっていた、お二方のページで登録させて頂きました。

    現在自分のブログにも設置してあります。 見た目的にはmixiでいうマイミクに似ていますが、mixi程相互に強い繋がりではないので、ソーシャルブックマークやトラックバック程度のつもりでお気軽にどうぞ。
    *当該サイトでのCookieを許可する設定にして下さい

  3. アカウントを選択する

    [読者になる]ボタンを押すとどのアカウントでログインするか聞かれます。ここでは[Google]を選びます。

  4. ログインする

    見慣れたGoogleのログイン画面が表示されます。
    スクリーンショットではアドレスバーをトリムしてありますが、必ずアドレスが"https://www.google.com"で始まっているか、錠前アイコンがきちんと表示されているか確認してください。

  5. 公開範囲を設定する(簡易)

    他の人が当該サイトを訪れた際、読者一覧に自分を表示するか、表示しないかを決めます。 [詳細オプション]を押すともう少し細かい設定が可能です。詳細に設定しなくても進めます。

  6. 公開範囲を設定する(詳細)

    選択できる内容が増えます。

    [現在Bloggerプロフィールを使用しています変更]

    Googleのアカウントでログインした場合、Blogger用のプロフィールとGoogle用のプロフィールが選択できます。また、そのどちらでもない、このサイトだけの表示も可能です([変更]を押した後で[リンク解除]を押す)。

    [次の読者になっています 一般公開]

    簡易画面での自分が読者になっていることを公開/非公開にする設定です。さらに[プロフィールにこのサイトを含める]で、他のサイトの読者になっているかを表示/非表示にできます。
    他の読者登録しているサイトで、第3者が自分のプロフィールを見た際に[参加しているサイト]欄にこのサイトを表示するかどうか決められます。

    [このサイトでソーシャル ネットワークから友だちに接続]
    後で調べる
    [参加している他のサイトに履歴を公開する]
    プロフィールの[参加しているサイト]欄の下に履歴が表示されます。いつ、どのサイトの読者になったかが表示されます。

  7. 完了

    完了後にFollowersガジェットを見に行くと[読者になる]ボタンのあった位置にプルダウンが表示されます。

  8. 再設定

    上記6のプルダウンから、[サイトの設定]を選択する事で、4-5の設定画面に戻れます。

  9. 他のサービスとの連携

    Googleの場合既に幾つかの別のサービスと連携しています。

    Blogger

    Bloggerを利用していれば、ダッシュボードに[読者になっているブログ]一覧が表示されるようになります。
    下にある[管理]ボタンを押すと先ほどの設定画面を開いたりも出来ます。

    Google Reader
    Google Readrerを利用してれば、サイドバーの購読一覧に読者になったブログが自動で追加されます。

  10. 読者をやめる

    上記5の詳細設定画面から、[このサイトの読者をやめる]を押します。Google Readerの購読一覧から削除してもFriend Connect上の読者一覧からは消えません。

2009/04/20

Google Friend Connect

遅まきながら調べて見ました。ダッシュボードのFollowers表示が気になっていたのですが、放置しっぱなしで失礼致しました。

統一感のある日本語の解説サイトが見つからず、なんとも全体像が掴みにくいのですが、ざっと見た感じ。

  • mixi見たいなSNS的な機能がブログやその他のサイトに設置できる
  • 設置する側(サイト管理者側)はファイルアップロード(FTP等の)できるサービスが必要 *1,*2
  • 利用する側はOpenIDが必要(Google,Blogger,Twitter,mixiのOpenIDなど)*3

*1:Bloggerはアップロードしなくても使えるようになっている。
*2:あくまで現在公開されている「読者」機能の場合?
*3:mixiのログインIDとは異なる。

例えば、Bloggerの"Followers"、日本語設定だと「読者」機能の場合。 設置したブログにmixiでいう「マイミク」の様なガジェットが表示される。

Google Friend Connectサーバ(という物が便宜的にあったとして)上に、サイトのURL+OpenIDという二つのキーでプロフィールが登録されるイメージだと思っています。

当該サービス(当該サイトで提供しているサービス)の専用IDを使わず、OpenIDを使う利点は当然、既存のソーシャル情報を流用できるからです。

例えば、Bloggerの「読者」機能でも、GoogleIDで登録すると*4、Googleのプロフィールからアバター画像、ハンドルネーム、そのたプロフィール情報が取得できます。既に設定されている個人のプロフィールを追加設定して二重管理する必要がなくなります。

*4:解りにくいのですが、GoogleのIDにはGoogleのプロフィールとBloggerのプロフィールが両方関連付けられている様です。一度もBloggerを利用していないGoogleのIDを使用したところBloggerのプロフィールは表示されませんでした。あとから追加する事も外す事もできます。

当然、mixiのOpenIDでログインすれば、mixiのハンドルネームが取得できます。マイミクの情報やコミュニティの参加情報はBloggerのFollowersでは流用しない様ですが。

端的に言うと、これまでの「コンテンツ・サービス提供者」=「ID・プロフィール管理者」という構図が、「コンテンツ・サービス提供者」≠「ID・プロフィール管理者」になるだけです。

全然まとまらないですが、最も注意する点が一つ。

mixiで登録したプロフィールがBloggerでも、その他のGoogleサービスでも、twitterでも、はてなでも流用できたら楽かもしれません。が、一回の登録が他に波及するということは、一回の失敗が全体に波及する、ということです。mixiでも住所や出身地、実名のそれぞれに公開範囲を設定している様に、OpenIDを使用する場合、まず自分がプロフィールにどんな入力をしていて、何が何処まで公開されているのか事前に確認した方が良いかと思います。

特に「Googleのアカウント=Gmailのアカウント」だった時代にアカウントを作成したっきりの人は、公開用のプロフィール情報をきちんと作成するか、個人情報の登録内容を再確認することをお勧めします。

また、GoogleのIDでFollowers登録し、かつBloggerを利用している場合、Bloggerのダッシュボードで自分がどのサイトに登録しているのか一覧できます。しかしmixiのOpenIDで登録した場合、登録したサイトに行かないと自分の登録情報が閲覧・変更・削除も出来ません。mixiの設定情報画面にはGoogle Friend ConnectでOpendIDを利用したことしか記録されていないので、登録したサイトそのものを忘れてしまった場合、何処で確認できるのか解りません(未調査)。

ここまで来てなんですが、Google Friend Connectではなく、オープンソーシャル一般論になってしまいました。

Googleのプロフィール
Google Accounts
Bloggerのプロフィール
Blogger:Dashboard
Dashboard > View Profile

2009/03/20

マウスジェスチャの見える化

コンセプトモデルです。実用には至ってません。

svg_gesture.xhtml

リンク先を開いてもソースが見えるだけなので、ダウンロードしてから開く必要があります。

右クリックすると、マウスポインタの周りにパネルが表示されます。表示されたパネルの上にマウスを移動すると移動した先のマウスポインタの周りに再度パネルが表示されます。

作業環境はFirefox3.0.7。右クリック禁止スクリプトの許可や他のマウスジェスチャをオフにしておかないとおかしなことになります。

これで、最終的に右クリックボタンを離したときに通った軌跡にコマンドを割り振れれば、マウスジェスチャっぽくなるかなと。

仮想的な奇跡を計算するより、コンポーネント配置してマウスイベント取った方が早いんじゃないか、と思ったコンセプトモデルです。次の一手が見えた方が思い出す手間も減りますし。

マウスジェスチャと聖剣伝説タイプのランチャの中間みたいなのが欲しいのです。

2009/03/08

Googleサービスのfaviconいくつか

Google Readerのフィード追加ブックマークレットにはfaviconがないため、Firefoxのフィード追加アイコン(アドレスバーの右端に出る奴)を流用していたのですが、Google Reader自体のfaviconと見間違えることが多いため、Readerの方を変更。

なぜか知りませんが、Firefoxの特定のProfileだけ、Google Readerのfaviconが32x32版のアイコン(を16x16に縮小表示)だったため、他のProfileでもそれを流用。

加えて、Note&Shareのブックマークレットもfaviconがないため、Readerのサイドバーから流用。こちらはスプライト画像のため、自分でトリムする必要がありました。

また、tasksのfaviconがなぜか透過されない、と書きましたが、透過版(png)と非透過版(ico)の2種類があるようです。Google Chromeではブックマーク時になぜかpngが使用されたようですが、Firefoxではicoの方が使用されたようです。これも手動で変更。

faviconの変更はFavicon Picker 3 0.5を使用。最近のFirefoxはbookmarks.htmlを変更しても反映されないようです。履歴やブックマークをDB(sqlite)化しているとかなんとか。

Favicon Pickerはローカルの画像ファイルしか扱えないようなので、下記の手順を踏む必要があります。

  1. 当該画像だけを表示
  2. デスクトップにドラッグ&ドロップで保存
  3. ブックマークのプロパティから変更

また、ブックマークのプロパティを保存しなくても(キャンセルしても)faviconは変わってしまうので要注意です。

Reader(デフォルト)
https://www.google.com/reader/ui/favicon.ico
Reader(32x32)
https://www.google.com/reader/ui/573007822-app-icon-32.png
Reader(64x64)
https://www.google.com/reader/ui/4283503602-app-icon-64.png
Reader(スプライト)
https://www.google.com/reader/ui/972236033-lhn-sprite.png
tasks(非透過)
https://mail.google.com/tasks/res/favicon.ico
tasks(透過)
https://mail.google.com/tasks/res/favicon.png