Ajax アプリケーションのステータス変更をタイトルをロールさせて目立たせたい

おそらく常に起動している(開いている)ような Ajax アプリケーションを使う場合、タブブラウザを使っていることがほとんどだろう。そのアプリが例えば『新着メッセージがある』といった状態が変わったことを通知したいときに、ユーザーに目立たせるにはどうしたらよいだろうか。 Gears などを使うとブラウザ外へのアラートができるようだが、普通に行うにはタブ(タイトル)部分に注目させることになるだろう。そこでタイトルをロールしてみるサンプルを書いてみた。 TitleRoll クラス function TitleRoll(){} TitleRoll.prototype = { timerid: null, start: function(text, interval){ var itv = (interval != undefined) ? interval : 500; this.text = document.title; document.title = text + " “; this.timerid = setInterval(function(){ with(document){ title = title.substr(1) + title.substr(0, 1); } }, itv); }, stop: function(){ if (this.timerid == null) return; clearInterval(this.timerid); this.timerid = null; document.title = this.text; }, isrolling: function(){ return (this.timerid != null); } }; ...

2008年6月7日 · Toshimitsu Takahashi

ユーザーインターフェイスに許容性を持たせること

自分の作ったある AJAX な Web アプリを人に使ってもらってみたところ、そのときネットが重かったせいもあり、あるリンクを何度もクリックされてしまった。そのリンクの処理は非同期で DB にクエリをなげて返ってきたデータを表示するというもの。作った者としてそんなことしたら DB にクエリがどんどんいってしまうと怖かったが、当人はそんなこと知らないので反応が無いからつい連続してクリックしてしまう。開発してるときは、B フレッツだったのでレスポンスが気にならなかった。 また何人か、普段からブラウジング時にアンカーリンクをダブルクリックしている人を知っている。ただ、サブミットのようなボタンはダブルクリックしないようだ。どうももともとネットが普及する前から PC を使っている人にそういう使い方をしてる場合があるようだ。確かに Windows エクスプローラでフォルダをどんどん開いていくときなどはダブルクリックする。それと同じ感覚みたいだ。 Windows 98 のときに Internet Explorer が搭載され、Microsoft がデスクトップでもホバーによる選択、シングルクリックでの実行を流行らそうとしたが、結局のところ標準的には使われてはいない。 インターフェイスとして、こちらの想定とは違うユーザーのアクションを許容できる作りは必要だ。でも作るときはそういうのは後回しにしてしまいがち。連続したクリック防止や処理中の通知などインターフェイスの作りこみは重要なことだと改めて思った。 話が変わるがインターフェイスで思い出したので・・・ 携帯電話の通話と切断のアイコンは未だに、昔の黒電話を見立てたものが多い。今の学生にあれはアイコンとして通用するのだろうか。 大概のアプリケーションは、フロッピーディスクのアイコンを「保存」に使っているが、これもそろそろ危ない気がする。

2008年4月13日 · Toshimitsu Takahashi