2012年7月24日火曜日

ESウェブブラウザ通信 - escort バージョン 0.2.1 公開


escort バージョン 0.2.1 を Google Code から公開しました。このバージョンは先日公開したバージョン 0.2.0 のバグフィックス版です。また今回から Fedora 用の yum レポジトリを合わせて用意しました。Fedora に関しては、これまでよりも簡単にインストールしたりアンインストールしたりできるようになっていると思います。

修正内容


主な修正内容は、
  • URL, URIの処理周りのバグ修正(r2854, r2857)
  • HTTPキャッシュシステムのバグ修正(r2858, r2861-r2865)
  • 子ウィンドウのクリップ処理のバグ修正(r2859)
です。

r2859では、iframe 中のクリッピング処理が正しく行えていなかった問題を修正しました。これによって、Google の検索結果のページの表示が崩れたりしていた問題などが修正されています。
r2858 (子ウィンドウのクリッピング処理が崩れていました)
r2859 (修正済)
r2864では、HTTPリダイレクトに対応しています。いままで日本から www.google.com にアクセスすると、302 Movedの画面が表示されて自分でリンクをクリックして www.google.co.jp にアクセスし直さないといけなかったのですが、r2864ではescortブラウザが自動的にリダイレクトするようになりました。
r2863 (HTTPリダイレクトの未対応)
r2864 (自動的に www.google.co.jp にジャンプします)

yum レポジトリの利用方法


escort ブラウザ等、ES オペレーティング システム プロジェクト用のレポジトリ サイト http://download.esrille.org/ を用意しました。現在は Fedora のみの対応ですが、今後他のディストリビューションにも対応していければと考えています。

この yum レポジトリを利用する場合は、root で、

# yum-config-manager --add-repo http://download.esrille.org/fedora/esrille.repo

のように実行してレポジトリをお使いのコンピューターに追加してください。

一度、レポジトリを追加しておけば、コマンドラインから yum を使って、

# yum install escort


のように escort ブラウザをインストールしたりアップデートしたりすることができます。GUI版の Apper (KDEの場合)のようなツールを使ってインストールすることもできます。
Apper から escort をインストール

yum レポジトリからパッケージを公開するまでの作業手順 (参考)


参考までに Fedora 用のパッケージを yum レポジトリから公開するまでの作業手順を紹介しておきます。

前々回の ES ウェブブラウザ通信では、一般的な rpm パッケージを作る方法についてまとめましたが、Fedora の場合は直接 rpmbuild コマンドを使うのではなくて、Mock というツールを利用することができます。Mock を使うと、SPEC ファイルに記述した依存関係に誤りがないかをチェックしたり、利用している PC とは別のアーキテクチャ用のパッケージを簡単に作ったりすることができます。

1) tarball を作る

ビルドディレクトリで、

% make dist

を実行します。ビルドディレクトリ中に escort-0.2.1.tar.gz のような tarball が作られます。escort の tarball には SPEC ファイルが含まれているので、この tarball を使って RPM ファイルを作れる、というところまでは前々回説明した通りです。

2) ソース RPM パッケージを作る

Mock を使う場合はソース RPM パッケージが必要になります(その他のパッケージは Mock が作成します)。

% rpmbuild -ts escort-0.2.1.tar.gz

-ts オプションを指定して rpmbuild コマンドを実行すると、~/rpmbuild/SRPMS の中に escort-0.2.1-1.fc17.src.rpm のようなソース RPM パッケージが作られます。ソース RPM パッケージを作るだけなのでこのコマンドの実行はすぐに完了します。

3) mock レポジトリの初期化

% mock --init -r fedora-17-i386

x86_64用のパッケージを作る場合は、 fedora-17-i386 の部分を fedora-17-x86_64 に置き換えます。これで /var/lib/mock/fedora-17-i386/root の中にまっさらな Fedora 17 の chroot が作られます。(はじめて実行する場合は、すこし時間がかかることがあります。)

4) chroot に esidl をインストールする

% mock -r fedora-17-i386 --install esidl-0.2.0-1.fc17.i686.rpm

escort のビルドには esidl が必要になるので、これだけはあらかじめインストールしておきます。(esidl-0.2.0-1.fc17.i686.rpm は現在配布中のものです。)

補足: esidl もソース RPM からビルドする場合は以下のようにします:

% mock -r fedora-17-i386 rebuild esidl-0.2.0-1.fc17.src.rpm

ディレクトリ /var/lib/mock/fedora-17-i386/result の中に esidl の RPM パッケージが生成されています。

5) escort をビルドする

% mock -r fedora-17-i386 --no-clean rebuild escort-0.2.1-1.fc17.src.rpm

--no-clean オプションを使って、esidl を残したまま、escort をビルドします。 mock が完了すると、ディレクトリ /var/lib/mock/fedora-17-i386/result の中に escort の RPM パッケージが生成されています。

% ls /var/lib/mock/fedora-17-i386/result
build.log
escort-0.2.1-1.fc17.i686.rpm
escort-0.2.1-1.fc17.src.rpm
escort-debuginfo-0.2.1-1.fc17.i686.rpm
root.log
state.log

依存しているパッケージが増えているのに SPEC ファイルがそれに合わせて更新されていなかったりするとビルドに失敗するので、その場合は SPEC ファイルを修正して 1) のステップからやり直します。

6) ローカルに yum レポジトリを作る

インターネットからパッケージを公開する前に、ローカルに yum レポジトリを作っておきます。

% cp /var/lib/mock/fedora-17-i386/result/*.rpm /var/yum
% cp /var/lib/mock/fedora-17-x86_64/result/*.rpm /var/yum
(/var/yum は一例です。ローカルなルールに従って置き換えてください。)

createrepo コマンドを実行して、レポジトリのメタデータを更新します。

% createrepo /var/yum

/var/yum/repodata の中にメタデータが生成されます。

補足: 下のように local.repo のようなファイルを作成して、/etc/yum.repos.d ディレクトリに置いておくと、この /var/yum レポジトリを使ってテストすることもできます。

[local]
name=local yum
baseurl=file:///var/yum
enable=1
gpgcheck=0

7) ローカルの yum レポジトリをウェブ サーバーにコピーする。

この手順はお使いのウェブ サーバーの管理マニュアル等を参考にしてください。download.esrille.org は今のところ Google AppsGoogle Sites を使って運営しています。Google Sites を使ったファイルのアップロード方法はこちらを参考に(ファイル キャビネットを使うのが簡単だと思います)。

8) repo ファイルを公開する。(はじめて公開するときなど)

yum レポジトリの中に .repo ファイルを合わせて置いておくと、ユーザーが yum-config-managerコマンドを使って簡単にレポジトリを追加することができて便利です。download.esrille.org では以下のような esrille.repo ファイルを置いてあります。

[esrille]
name=Esrille Inc.
baseurl=http://download.esrille.org/fedora
enabled=1
gpgcheck=0 

参考: 4.3.5, Adding, Enabling, and Disabling a Yum Repository, Fedora Documentation.

まとめ


escort バージョン 0.2.1では 0.2.0 版に残っていた基本的なバグをひとまず修正しました。次回からはバージョン 0.2.2 に向けて CSS の実装の改善などを進めていく予定です。

2012年7月8日日曜日

『飲食店内での撮影ガイドライン』を公開しました。

前回の"escort"ウェブ ブラウザのブログ記事については、たくさんの人がリツイート、いいね!、+1などをしてくださって、このブログの中で一番ページビューの多い記事になりました。できる限り早くベータ版をお届けできるようにこれからも開発を進めていきます。

飲食店内での撮影ガイドライン


今回はいつものようなウェブ ブラウザの話題ではなくて、本日公開したレストランやカフェ向けの『飲食店内での撮影ガイドライン』についてご案内します。

レストランやカフェで料理の写真や仲間との写真をカメラやスマートフォンで撮影することは、いまではよくある風景になりました。一方で、そうして撮影された写真と一緒にまったく無関係の他のお客様の写真などまで無断でインターネット上にアップロードされて公開されてしまったりするトラブルも発生するようになってしまっています。お店ですぐに気づいて対応できれば良いのですが、すべてを把握して対応することは難しく、どうしてもお客様のご協力が必要になっているのが現状です。

これまではレストランで撮影と言えば、全面禁止か暗黙に許可かのどちらかになっていたことが多かったと思います。しかし、スマートフォンのような手軽に誰でもインターネットに写真をアップロードできる端末が普及し、Facebookのようにプライバシーにも配慮しながらインターネットで情報をシェアしたりできるサービスも普及してきていて、単に全面禁止か暗黙に許可かのどちらか、というのは、お客様にとっても多くの飲食店にとってもあまり現実的な方法ではなくなりつつあるように感じています。

エスリル カフェでは先日から写真に関するポリシー(ルール)についてご案内するようにしています。しかし、これはエスリル カフェだけの問題ではないということで、すべての飲食店でご自由に利用できるようなガイドラインを作成して公開することにしました。

撮影ガイドラインのアイコン
公開したガイドラインでは、クリエイティブコモンズに倣って、上図のような8つのアイコンからいくつかを選択して、撮影禁止から、撮影だけはOK、インターネットへのアップロードもOK、といったお店にあったポリシー(ルール)を作成して表示できるようにしています。

ちなみにエスリル カフェでは、ガイドラインから、PA-SS-NC

撮影可・個人のブログやSNSにアップロード可・非営利のみ
を選択しました。個人的な利用やSNSでの共有はしていただけますが、店内で撮影された写真を無断で商業・営利目的のサイトにアップロードすることはできません、ということです。(もちろん、どのような表示であっても、また表示がなくても、他の人にご迷惑になるような写真の撮影、アップロードはしないようにお願いします。)

このガイドラインはどなたでも自由にご利用いただけるようにクリエイティブコモンズ ライセンスのもとで提供しています。またお店のホームページにこのガイドラインのアイコンを表示されていれば、コンピューターが簡単にお店の写真ポリシーを検出することができるようになります。そうなれば、飲食店を扱ったウェブサイトなども、現状のように写真をアップロードした本人にのみ責任を追わせるような運営から、技術的にはコンピューターで自動的にお店のポリシーに適さない写真の掲載を行わなくなるようなより公平な運営に変更していくことができるようになります。

詳細については、ぜひ『飲食店内での撮影ガイドライン』をお読みください。

2012年7月1日日曜日

新しいウェブ ブラウザ "escort" を公開しました

今日でエスリルも2周年を迎えることができました。2周年記念ということで、本日エスリルで開発を進めてきたescortウェブ ブラウザ(Alpha版)のパッケージを公開しました。

escort 0.2.0 (alpha)

escortウェブ ブラウザは、昨年からESウェブ ブラウザとしてオープンソースプロジェクトとして開発を進めてきた新しいウェブ ブラウザです。HTML/CSSレンダリング エンジンは完全に新規開発のものになります。またescortウェブ ブラウザでは、ユーザーインターフェイス(UI)自体もHTML/CSSとJavaScriptで作られています。

今回リリースしたものはアルファ版ですので、開発者の方からフィードバックを送って頂いたり、実際に開発に参加していただいたりするきっかけになればと思っています。なお日常的に利用できるような段階にはまだなっていませんのでご注意ください。

インストール方法


escortウェブ ブラウザの現在動作確認済みの環境は、Fedora 17Ubuntu 12.04 LTSです。

Fedora 17についてはRPMパッケージを用意しています。escort-0.2.0-1.fc17.i686.rpm (32ビット) もしくは escort-0.2.0-1.fc17.x86_64.rpm (64ビット)をダウンロードできたら、ターミナルから、

# 32ビットの場合
% sudo yum localinstall escort-0.2.0-1.fc17.i686.rpm

# 64ビットの場合
% sudo yum localinstall escort-0.2.0-1.fc17.x86_64.rpm

のようにしてインストールできます。(Fedora 17以外の環境については、ソースコードからビルドしてください。)

起動方法


最近はいろいろな GUI シェルが開発されているので、念のため主要なシェルでの escort ブラウザの起動方法をまとめておきます。

KDE


画面左下の Kickoff アプリケーションランチャー(Fedoraの場合はブルーのfedora ∞アイコン)をクリックしてから、Applications - Internet と選択して、 Web Broser / Escort を選択します。

KDE から起動

GNOME Shell


Activities - Applications をクリックして、Escort アイコンをクリックします。

GNOME Shell から起動

Ubuntu Unity


Dash home をクリックして Search テキストボックスに、escort と入力していくと、ESロゴアイコンが表示されるので、それをクリックします。

Ubuntu Unity から起動

ターミナル


ターミナルからは escort で起動できます。

% escort

操作方法


起動直後は about:blank ページが開きます。

about:blank

ウィンドウ下側にツールバーがあります。

ツールバー

左からESロゴボタン、戻るボタン、進むボタン、アドレスバー、再読み込みボタン、中止ボタンになります。ESロゴボタンを押すと、(いまのところは)about: ページが表示されます。

about:
about: ページで上から4行目、Copyright 2012 Esrille Inc. となっている青色のリンクをクリックすると、エスリルのページが表示されます。ロード中はツールバーのESロゴボタンの部分が歯車のアニメーション表示に変わります。

ロード中のツールバー
ロードが終わると、ESロゴの表示に戻ります。

http://www.esrille.com/
このときウィンドウのタイトルバーには表示しているページのタイトルとファビコン(もしあれば) が表示されます。

タイトルバー

続いて、ツールバーの中のアドレスバーをクリックして、http://www.webstandards.org/files/acid2/test.htmlとAcid2テストページのURLを入力してみます。

Acid2テストのURLを入力
入力できたら[Enter]キーを押すと、ページの読み込みが始まります。(ちなみに、アドレスバーのテキストボックスも今のところはXBL2を使ってHTML/CSSとJavaScriptだけで実装されています。)

http://www.webstandards.org/files/acid2/test.html
ウィンドウ内の Take The Acid2 Test というリンクをクリックすると、Acid2テストの結果が表示されます。

Acid2 テスト結果

現状CSS 2.1については比較的対応が進んでAcid2テストに合格するほか、CSS2.1 Conformance Test Suiteも約90%のテストにパスするようになっています。一方、JavaScriptをふんだんに使った最近のリッチなページやAcid3テストヘの対応はまだこれから、という段階です。

ファイル構成


escort ウェブ ブラウザをインストール後のファイル構成は以下のようになっています:

/usr/bin
    + escort          # ブラウザ コアを呼び出すシェルスクリプト
/usr/libexec/esrille/escort
    + escort          # ブラウザ コア(バイナリ実行可能ファイル)
/usr/share/applications
    + escort.desktop  # freedesktop.org対応のデスクトップファイル
/usr/share/esrille/escort
    + escort.html     # HTMLで記述したブラウザUIページ
    + default.css     # デフォルト スタイルシート
    + escort.ico      # デフォルトのウィンドウのアイコン
    + etc.            # その他escortが使用する画像ファイル等
/usr/share/esrille/escort/about
    + blank           # about:blank ページ
    + index.html      # about: ページ
    + etc.            # その他about URLが使用する画像ファイル等
/usr/share/icons/hicolor/*x*/apps
    + escort.png      # GUIシェルから参照されるアイコン

のようになります。また、ユーザーの設定ファイルなどは、

$HOME/.esrille/escort

を参照します。ブラウザがファイルを生成する場合もこのディレクトリの中に生成しています。

現状ではこれらをひとつのパッケージとして配布していますが、実際にはブラウザ コア (/usr/libexec/esrille/escort/escort) の部分を再利用して、いろいろな GUI アプリケーションを HTML/CSS と JavaScript だけで作ることができるように開発を進めています。(そういったお話はまたESウェブブラウザ通信で別の機会に。)

まとめ


今回は新しい escort ウェブ ブラウザの紹介をさせていただきました。エスリルでは引き続き escort ウェブ ブラウザの開発をオープンソースで進めていきます。エスリルも3年目になりましたが、エスリル カフェともども、これからもよろしくお願いいたします。