――テクニカルプレビューを使ってみて、機能的な部分では便利でユニークなフィーチャーが今後どんどん追加されていく期待が持てると感じました。ただ、独自のエンジンを内製できない環境で、かつてのOperaの軽さ、例えば[戻る]ボタンを押したときにスパッと前のページが表示されるような軽快感を実現できるのでしょうか。
正直、同じレベルまで行けるかはやってみないとわからないところではあります。しかし、できるだけそこへ近づけるよう、少なくとも世の中にある他のブラウザよりは軽快に動作することを目標にしています。
機能についても、UI部分だけでなくエンジン周りに手を入れないと実現できないものもあります。例えば、3月5日のテクニカルプレビューで実装したイメージ読み込みのトグルボタンも、作ってみたら実はすごく時間がかかりました。Operaはキャッシュに関してかなり独特の実装をしていたので。
――単にUI部分だけを作っているわけではなく、技術的な挑戦もしていると。
BlinkにUIをかぶせてChromiumの派生版を作ることが僕らのビジネスではないので、必要に応じて手を入れなければならないところはやるということですね。ただ、あまり特殊な実装をすると、Blinkがバージョンアップされるときに互換性がなくなるリスクもあるので、バランスを取りながらやっています。空間ナビゲーションは以前のOperaだとレンダリングエンジン側で作っていた機能ですが、VivaldiではJavaScriptで実現しました。
――逆に、現時点では対応が難しい部分はありますか。
メモリの消費量や、バイナリサイズが大きいというのは致し方ないところです。確かにかつてのOperaではロースペック機器への対応が差別化要因のひとつだったんですが、今使っているレンダリングエンジンではどうしてもサポートしきれないところはあると思います。それと、プロキシサーバーでデータを圧縮して読み込みを高速化する機能は、技術的な問題ではなく、インフラのコストが理由で現時点ではやらないことにしています。
――スマートフォンなどのモバイル端末も、ターゲット機器に入っていますか。
まずはデスクトップ版を出してからということになりますが、もちろん入っています。VivaldiではUIもWeb技術のHTML/CSS/JavaScriptで実現しているので、既にWindows/Mac/Linuxとすべてのプラットフォームで同じUIのコードが走っています。
――以前に比べると、モバイル版アプリも技術的には開発しやすい環境になっているということですか。
具体的には、VivaldiのUIはFacebookが中心となって開発しているJavaScriptライブラリの「React」を利用して実現しています。ReactがネイティブアプリのUIもサポートすることがアナウンスされましたので、モバイルへの移植も楽になると思っています。
もちろん、例えばキーボードのない機器でキーボードショートカットはあまり意味がないので、デスクトップ版にある機能とすべて同じにする必要はないですし、逆に見た目や使い勝手の部分でモバイル機器向けのデザインは必要です。しかし、デスクトップ版と異なる技術を用いてスクラッチから書き直す必要がなくなるのは、モバイル版の実現可能性という点で大きなメリットです。