「ツールを追加するのではなく、削除することを目指しています...」Netlifyの創設者がフィードバックループの簡素化などについて語る

Table of Contents

「ツールを追加するのではなく、削除することを目指しています...」Netlifyの創設者がフィードバックループの簡素化などについて語る

インタビューNetlify は、Web アプリケーションのプレビューとプロトタイプのフィードバック フローを簡素化するシステムである FeaturePeek を買収しました。

マット・ビルマン

Netlifyの創設者マット・ビルマン

FeaturePeekのコンセプトは、ウェブサイトやアプリケーションのコード修正や新機能を試す開発者やデザイナーと、フィードバックを提供するレビュアーやテスターの間のプロセスを短縮することです。ユーザーはブラウザでオーバーレイを開き、コメントを投稿したりスクリーンショットを撮ったりすることができます。このシステムはGitHubやTrello、Linear、Clubhouseなどの問題追跡サービスと統合されているため、フィードバックは問題追跡ツールに即座に表示されます。

Netlifyは、Jamstack(JavaScript、API、マークアップ)アーキテクチャで構築されたウェブアプリケーション向けのホスティングプラットフォームを運営しています。静的ウェブサイトはAPI呼び出しを介して動的コンテンツを取得します。このようなサイトはウェブサーバーを必要とせず、コンテンツ配信ネットワークに最適ですが、APIを提供するサーバーがパフォーマンスのボトルネックとなる可能性があります。

このプラットフォームではすでに「デプロイ プレビュー」という機能が提供されており、プル リクエスト (本番環境への統合を検討するためのコードの送信) によってビルドが自動的にトリガーされ、プレビューとして公開されます。

新しいフィードバック機能は、プレビュー Web アプリケーション上にポップアップ表示されるオーバーレイに埋め込まれています。

新しいフィードバック機能は、プレビューウェブアプリケーション上にポップアップ表示されるオーバーレイに埋め込まれています。

新しい動き

買収後、FeaturePeekシステムはDeploy Previewの一部となりました。「ツールを追加するのではなく、むしろ減らしていきたいと考えています」とNetlifyの創設者マット・ビルマン氏はThe Registerに語りました。

従来のワークフローでは、新機能のテスターとして、「スクリーンショットを撮り、注釈を付け、PowerPointプレゼンテーションにまとめ、それをJiraチケットに追加したり、メールで送信したりしていました。私たちは、こうした煩雑さをすべて省き、既存のツールに簡単に統合できるようにしたいのです。」

  • ウェブサイトメーカーWixが奇妙なWordPress批判キャンペーンを開始、「インフルエンサー」ユーザーに「WP」のヘッドフォンを送付
  • JavaScriptエコシステムは「絶望的に断片化」しています...そこで別のランタイムが登場します:Denoは会社になりました
  • Drupal 20周年:創設者Dries Buytaertが語るAPIファースト、互換性破壊の終焉、そしてJavaScriptの肥大化
  • マイクロソフトはGitHubとVisual Studio Codeを介してAzure App Serviceを通じてJAMstackを普及させることを目指している

「これで、デプロイ プレビュー URL に直接アクセスし、そこにあるボタンを押してスクリーンショットを撮り、注釈を付け、そのビューから直接、たとえば Trello でチケットを作成できるようになりました。そして、スクリーンショットを添付して開発者に送り返します。」

「そのチケットには、開発者がGitHubで作業している実際のプルリクエストへのリンク、ブラウザとオペレーティングシステムのコンテキスト、使用していた解像度、そして実際に使用していたデプロイプレビューのURLが記載されているので、誰でも見ることができます」と彼は語った。

新しいフィードバック機能は、プレビュー Web アプリケーション上にポップアップ表示されるオーバーレイに埋め込まれています。

システムに送信するためのスクリーンショットをキャプチャする

コードのコミットからデプロイメントまでのプロセスを自動化することが継続的インテグレーションだとすれば、これは継続的レビューと呼ばれるかもしれません。

もう 1 つの機能は、BrowserStack の統合です。これにより、「ユーザーからプル リクエストで、デバイスの表示がおかしいというコメントが返ってきた場合、開発者はクリックして同じデバイスを同じ解像度で BrowserStack インスタンスで開き、そこで問題をトラブルシューティングできます。」

GitHub との統合により、コード、問題、フィードバックが 1 つのツールで提供されるようになり、プル リクエストを受信したときにデプロイ プレビューをトリガーするシステムにもなります。

他のコード管理システムはまだサポートされていませんが、Netlify は「今後さらに多くの統合が行われる予定」だと述べています。

Biilmann氏は、FeaturePeekとNetlifyが同じ問題に異なるアプローチをとってきたと語った。「FeaturePeekはステージング環境向けに独自のシステムを構築し始めていましたが、そのステージング環境が本番環境と実質的に同じでなければ、Deploy Previewというコンセプトの大部分が無駄になってしまいます」と彼は述べた。

Netlify 側では、「Deploy Preview の上にコメント機能などのレイヤーを追加するだけでは、すでにわかりにくいツールにさらにツールが 1 つ追加されるようなものです。」

したがって、2 つのチームを統合することは理にかなっています。ただし、これはホスティングに Netlify を使用する必要があるツールであることに注意してください。

Biilmann氏は、現在Jamstackと呼ばれるものの初期の提唱者でした。FeaturePeekはかつてDockerコンテナなどの他の種類のホスティングをサポートしていましたが、今回の買収によって一部の機能が失われるのでしょうか?

「実際、FeaturePeekのデプロイプレビュー機能は、UIとバックエンドの分離なしには実現不可能でした」と彼は語った。「今でもそうです。Netlifyを使う必要があり、少なくともJamstackのアーキテクチャ原則に大まかに従ったアプローチが必要になります。私たちが現在構築しているエクスペリエンスは、Figmaがデザインとプロトタイピングで実現したことに似ていると考えています。当時はPSD(Photoshop)ドキュメントをやり取りしていたのが、デザイナーがURLを渡してくれれば、私が直接彼らの作業内容を確認できるプロセスになりました。」

「これはまさに私たちが今やっていることと同じです。開発者は安全な URL を送信するだけで、彼らが何に取り組んでいるかを直接確認できます。また、彼らはプルリクエストからすべてのコンテキストを得て、フィードバックを送ったり、スクリーンショットを撮ったり、ビデオ スニペットを録画して送り返したりすることもできます。」

「社内のコラボレーション方法はすでに変化しており、私たちのユースケースからすると大きな変化になると思います」と彼は語った。ただし、デザインドキュメントではなく、ウェブアプリケーションでのコラボレーションだという。

競争相手

Microsoft は Azure Static Web Apps で独自の Jamstack プラットフォームを導入しましたが、これは Netlify にとって脅威となるでしょうか?

ビルマン氏は、業界大手が同じニッチ分野で製品を発表した際に、専門企業が必ず示す答えを返した。「現代のウェブは分離され、エッジベースのホスティング、サーバーレス機能、エッジルーティング、API、そしてサービスという4つの基本要素を中心に機能するという、現代のウェブの基本的な考え方が正しいことが証明されたことは、大きな意義を持つ」と同氏は述べた。

「もちろん、競争は健全なものであり、私たち全員がより良い製品を開発するよう促します。私たちにとって重要なのは、開発者の生産性という点で差別化を図ることです。もう少し自主性を持って言うと、私たちはこのアーキテクチャを本当に信じており、これは完全なAWSコンソールやAzureリソースパネルへの入り口に過ぎません。」

Netlify自身もAWSの顧客であり、AWSサーバーレスプラットフォームLambda上で動作するNetlify Functionsサービスを提供しています。Biilmann氏によると、小規模な顧客はFunctions上ですべての動的コンテンツを構築できるだけでなく、大企業にも役立つとのことです。

「大企業であれば、既に膨大な数のAPIとサービスがあり、それらすべてを扱う大規模なチームを抱えているでしょう。関数は、UIレイヤーとこれらすべてのバックエンドレイヤーの間に接着コードを構築する上で重要なレイヤーとして機能します。」

Jamstack アプローチは Web アプリケーションのセキュリティにどのような影響を与えますか?

「ビルドプロセスとランタイムプロセスを分離するというアイデアには大きなメリットがあります」とビルマン氏は主張する。「WordPressやRails、Drupalといった実稼働システムでは、本番環境のウェブサイトで使用するあらゆるツールがリクエスト/レスポンスサイクルを通じて何らかの形で利用可能になり、インストールしたプラグインすべてが本番環境のデータベースやサーバーのコードベースにフルアクセスできるといった、複雑な問題が常につきまとっていました。」

Gatsby のような静的サイト ジェネレーターが使用する依存関係に欠陥があったとしても、「ビルド ステップを分離すると、それらの依存関係のほとんどが、リクエスト/レスポンス サイクルでユーザーに対して公開されることはありません」と Biilmann 氏は語ります。

それでもAPIやマイクロサービスは潜在的な脆弱性として残りますが、ビルマン氏は「この分離されたアーキテクチャでは、明確に定義されたAPIレイヤーがあり、それぞれのサーバーレス関数は、従来の大規模なモノリシックシステムに比べて、インフラストラクチャへのアクセスが本質的にはるかに少なくなります。一般的に言って、これはセキュリティをより容易に判断できるようにする上で大きな前進です」と主張しました。

FeaturePeekは現在、Collaborative Deploy Previewと呼ばれる機能の一部ですが、期待が持てますが、まだ改善の余地があるかもしれません。「見た目は素晴らしいのですが、新しいドロワーアイコンがアプリの重要なボタンを隠してしまうんです…皮肉なことに、それに気づいた人が普通のスクリーンショットを撮ってSlackで共有してくれたんです」とHacker Newsのユーザーがコメントしています。®

Discover More