Web

コンピューターと映像、HTML5とGoogle Chrome、Youtube、

現在、コンピューターで映像を視聴する場合、主にAdobe Flash、Microsoft WMV、Apple Quick Time、Oggなどが使われているのだろう。

インターネットではYoutubeで使用されているFlashが、Linuxを含むすべてのプラットフォームで視聴でき守備範囲が広い。しかし、FlashはApple(Macromedia)のプロプライエタリな技術製品である。かなり広範囲で使用されているが、例えばAppleのiPhone, iPadのSafariがそれをサポートしないなど、ベンダー間での軋轢がちらほら見える。

AdobeのCTOがFlash擁護 「HTML5があればFlashは不要」論に反論(ITMedia):
http://www.itmedia.co.jp/news/articles/1002/03/news057.html

FlashはWindowsと同様、非常に多くのユーザーに使用されているがプロプライエタリでありオープンではないため「スタンダード」とは呼ばれず「よく使われている技術」の一つである。

私がWindowsを使う状況の一つは、映画や動画、音楽を視聴するためだが、それは、配布されているコンテンツのフォーマットがWMVやQuick TimeやMP3だからであり、それ以外のコンピューティングは主にLinuxを使用する。Linuxはメディアのハンドリングが弱いが、それはコンテンツのフォーマットがプロプライエタリであり、Linuxのコミュニティは基本的にそういった独占的な技術を使わない。

最近、Linuxを使いながら、机の脇にiPhoneを置いて作業をするようになったが、音楽を同期できないという致命的な点(つまりiTunesが必要で、MacかWindowsが必要だということだが)を除くと、案外心地よい環境である。最近発表されたiPadはどのような環境と経験を提供するのは定かではないが、おもしろい状況が生まれるような気がする。つまり、現在、あらゆる「知的活動」や「欲望」をすべて1つのコンピューターに詰め込もうとしているが、これをいくつかに分けたようなユーザー経験のデザインはおもしろそうなのである。これは、また、別の機会に考えたいと思う。

Book: 基本的な構造

Web Applicationの基本的な構造は、概ね次のようなものである。

それぞれの部位に、多くの要件が課せられることになる。

例えば、HTMLには利用者が使いやすく心地く感じるようなデザインやナビゲーション、また国際化等のメッセージの保守が要求されるだろうし、inputフォームには入力のバリデーションが求められるし、更に一歩進んでバリデーションさえ不要になるような自動補完機能があると良いかもしれない。

コンポーネントの呼び出しを結びつけるDispatcherには、多くのコンポーネントやページ遷移の組み合わせを自由に、そして容易にコーディネートできるような仕組みが求められる。

BeanやLogicは、プレゼンテーションと切り離した再利用性と単体テストができなくてはならないし、データベースに対するアクセスの容易性も求められる。

全体を流れるデータやパラメーターのやりとりから冗長性を排除すべきであり、適度に分割され、適度にまとまっている必要がある。そして、作られるコードは、直感的に理解できるべきである。

Book: Web Application について

Web アプリケーションをどう作るかは、本当にたくさんのやり方があり、私自身決定的な方法論は未だ見つけられない。ある種の結論としては、アーキテクチャーやフレームワークの選定は、その時々で変わるのだと思う。

簡単なアプリケーションに大規模なフレームワークを持ち込むと疲労するし、複雑なアプリケーションを低レベルなAPIのつなぎ合わせで作成すると、場当たり的なコードが増え、統制がとれなくなり、やはり疲れる。

ある時は、自転車で移動した方が良いだろうし、ある時は自家用車、スポーツカー、またある時はバス、電車、飛行機、船、そしてある時はラクダや馬を使った方が良いだろう。目的に対して適当な選択が常にあるはずなのである。

ただ、ある程度オールマイティであり、中道的なやり方というやり方を身につけておくと、いろいろな場面で役立つと思う。細かすぎず、さりとて、大雑把過ぎず、制御しやすく自由度が高いやり方があればそれをまずスタンダードに据えて、そこから調整すれば良い。

今一度、自分なりに、Javaを使ったWebアプリケーションの基本的なフレームワークについて考えてみたいと思う。

WebSVN


Subversionをウェブからブラウズするwebsvnプロジェクトをのぞいて見たところ、新しいバージョニングで更新が続いていました。

http://websvn.tigris.org/

SVNでチェックアウトし、インストールして見たところ、デザインが良くなっていて、また、前のバージョンで気になっていた日本語も綺麗にでました。

calmスタイル

BlueGreyスタイル

Firefox 3 beta 2 release!

Firefox 3 beta 2がリリースされています。

いろいろ新機能があるようで、とてもよい感じです。

動かしていると、いろいろ新機能があるようで、「ズーム機能」がフォントだけでなく完全なズームイン/ズームアウトが使えたり、URL履歴が賢くなっていたり、また、パフォーマンスもあがっているとのこと。

押し売りの機能追加ではなく、シンプルで使い勝手の良い、センスの良い、「正しい道」を歩んでいると感じます。

開発者の方々、がんばってください!

--

SunがDrupalコミュニティーにX4200を寄付。良い感じです。


私も使っているCMS, Drupalですが、そのサイトで「Sun MicrosystemsがDrupalのサイトのインフラとしてX4200 (AMD Opteronマシン) を寄付した」と報じられています。
http://drupal.org/node/200275

Drupal.orgは、月に6百万から16百万くらいのアクセスがあるがあるそうで、遅さを感じる時がありました。(当然ですが、不満はありません)Apache + PHP + MySQLで動作していて、昔からパフォーマンスを向上させるためMySQLやPHPのパフォーマンスチューニングなどの、改善はなされてきたようですが、寄付で運営されいるサイトで細々とやっているような感じはしていました。

SyntaxHighlighter from Google Code.

こんなのがあったらいいな・・・と思いつついろいろさがしていたら、これだというものを見つけることができました。
Google Codeで開発/共有されているSyntaxHighlighterは、非常に便利で優れています。

プログラムコードを書き、それをWebで公開する時のフォーマットにはいつも考えさせられ、なかなかきれいにいきませんし、場当たり的にスタイルシートを書いていますが、SyntaxHighligherを使えばとてもきれいに公開できます。

/**
 * @author yyamazaki
 */
public class Main {
    public static void main( String[] args ){
        String helloWorld = "Hello World!";
        System.out.println( helloWorld );
    }
}
左上の、"view plain"をクリックすると、コピーペースト可能なプレーンなテキストを取得できますし、"copy to ..."でクリップボードに直接コピーすることもできます。

IE6のPNG透過

GIMPやその他のツールで、PNGのアルファチャンネルを指定すると、透明度を画像に持たせることができます。

Microsoft Windows Internet Explorer 7では、PNGのアルファチャンネルを扱えるようになって良いことです。IE6では、透過PNGは次のように表示されてしまいます。IE6のアップデート等で修正されているかどうかは分かりませんが、私のPCに入っているIE6の状況です。

本来、デザイナーは、FireFoxで表示される、次のような表示を期待しているのです。

Syndicate content