- Notion + Jupyter に拡張機能を追加
- ノートブックのスケジューリング、ダッシュボードやアプリへの変換、結果をデータフレームとして返すSQLクエリなど
- 既存のノートブックの問題点を解決
- 共有の難しさ: データチームの作業を見るために Docker+Python のインストールが必要
- ノートブックが複雑すぎる: コードブロックが多くなりすぎて可読性が低下し、非技術者には理解しにくい
- データベースクエリ、API呼び出し、グラフ作成などの簡単な作業も複雑
- Briefer の解決方法
- 共有の問題を解決
- ノートブックをクラウドへ移行し、スケジューリング可能
- CRDTs と Yjs を使って状態を管理し、リアルタイム編集を反映
- ノートブックを整理
- クリーンなデザインとブロックのグループ化で整理可能
- ブロックをタブでグループ化し、公開版に表示するブロックを選択可能
- ダッシュボード構築機能を提供
- 簡単な作業を簡素化
- クリックでグラフを作成し、AIアシスタントで複雑なチャートコードを生成
- SQLクエリの結果を自動でデータフレームに変換し、DuckDB を使ってファイルをクエリ可能
主な機能
- ファイルツリー
- ファイルツリーはノートブックを管理・探索する場所
- Notion と同様に各ノートブックのアイコンを選択し、順序を変更したり、あるノートブックを別のノートブックの中に入れたりできる
- ノートブックを削除するとゴミ箱にコピーを保持し、必要に応じて復元できる
- ブロックとタブ: Briefer ノートブックはさまざまな種類のブロックで構成される
- テキストブロック: ノートブックにコンテキストを追加するため
- クエリブロック: ファイルや Postgres、BigQuery、Redshift、Athena などの接続済みデータソースからデータを収集するため
- ファイルアップロードブロック: データが接続済みデータソースにない場合に、CSV、XLS、その他のファイルをノートブックに追加するため
- Python ブロック: データを操作し、可視化を生成し、その他必要な作業を行うために Python コードを書くため
- 入力ブロック: テキスト入力やドロップダウンなどのインタラクティブな要素をノートブックに追加するため
- 可視化ブロック: コードを書かずに可視化を作成するため
- ノートブックにブロックを追加した後、それらをタブでグループ化して、ノートブックの構成と探索をしやすくできる
- ファイルとデータベース
- ラッパーやコネクタを書かなくても、クエリブロックを使ってファイルおよびデータベースのデータをクエリできる
- データがデータベースにある場合は、クエリブロックで SQL クエリを書いて必要なデータを取得できる
- データがファイル(CSV、XLSX、Parquet など)にある場合は、そのファイルをアップロードし、通常の SQL を使ってクエリできる
- クエリブロックを使ってデータフレームを通常の SQL でクエリすることもできる
- 自動データフレーム
- すべてのクエリブロックは、自動的にクエリ結果を含む Pandas データフレームを生成する
- これにより、このデータを追加の Python ブロックで利用できる
- デフォルトではデータフレームには
query_1 のような名前が付くが、より意味のある名前に変更できる
- AIアシスタント
- SQL および Python ブロックには AIアシスタント が含まれる
- AIアシスタントの助けが必要なときはいつでも「AIで編集」をクリックし、アシスタントにやりたい作業を伝えられる
- すると AIアシスタント が提案を生成し、試行・承認・拒否できる diff を表示する
- Python ブロックでは、AIアシスタント は既存のデータフレームと列を認識する
- SQL ブロックでは、AIアシスタント はすでにデータベースのテーブルと列を把握しているため、より良い提案を行い、複雑なクエリを正しく書くのを支援できる
- エラーが発生したときはいつでも「AIで修正」をクリックして、AIアシスタント に修正を試みさせることができる
- スケジュール
- ノートブックを毎時、毎日、毎週、毎月など特定の間隔で実行するよう予約できる
- 予約を作成する際、スケジュールが正常に実行された時や失敗した時にメールまたは Slack メッセージを受け取るよう通知を設定することもできる。正常実行時にはノートブック出力を含む PDF ファイルも受け取る
- スナップショットとバージョン管理
- ノートブックを公開するたびにノートブックの状態を自動保存し、時間経過に伴う変更を確認したり、必要に応じて以前のバージョンへロールバックしたりできる
- これによりノートブックへの変更を追跡し、問題が発生した場合は以前のバージョンに戻せる
- また、すべての成功した予約実行は、その時点のノートブック状態のスナップショットを生成する
- スナップショットは、結果が時間とともにどう変化したかを見たり、異なる実行の出力を比較したりする際に有用
- ノートブックからダッシュボードへ
- ノートブックの出力を使ってダッシュボードを作成できる
- グラフを描く前に多くのデータラングリングが必要な場合のように、不要なコードや説明を含めずに結果を他の人と共有できる
- ユーザーが入力やドロップダウンと対話できるようにしつつ、内部コードは見せたくないデータアプリを構築する場合にも、ダッシュボード表示は有用
GN⁺の意見
- このプラットフォームは、ノートブックスタイルのデータ分析や可視化作業に有用そう
- クラウドベースでリアルタイム協業が可能であり、ユーザーフレンドリーなインターフェースと整理機能によって可読性が向上し、非技術者でもデータ分析結果を簡単に確認できるため、協業効率の向上が期待できる
- AIアシスタントが SQL クエリや Python コード作成を支援する点も、データ分析作業の生産性を高めそう。ただし、AI 提案の正確性や有用性は実際に使ってみないと分からない
- ノートブックのスケジューリングやバージョン管理機能は、反復的なデータ分析作業や協業時に有用そう。ただし、そのためには安定したインフラ運用が前提となる
- ダッシュボード生成機能により、分析結果を非開発者と簡単に共有できる点も利点。ただし、ダッシュボードのレイアウトやデザインの自由度がどの程度かは未知数
- 類似プラットフォームには Jupyter Notebook、Google Colab、Deepnote などがある。これらと差別化される Briefer 独自の強みが何かは考えてみる価値がある。たとえば、より簡単な使いやすさや強力な協業機能などが考えられる
1件のコメント
Hacker Newsの意見
プロダクトマネージャーは、簡単なExcelの数式やチャートを設定して作業を楽にしようとする
データエンジニアは、Supersetやdbtのようなオープンソースソリューションを使って、より技術的な作業を行う
企業はしばしば最終的なUIを自前で構築しようとする
ノートブックのようなツールを作るのがどれほど難しいかを深く理解している
データそのものと競争の激しい市場のため、機能提案が難しい
Lucasの仕事を称賛しつつ、CLI、コネクタ、シンボリック計算、オフライン対応、暗号化されたネームスペースの追加を提案している
Pythonとデータサイエンス(Jupyterでのpandas、Polars、scikit learn、XGBoostなど)を多く教えている
教育によって多くの問題が解決するという経験を共有している
初心者向けのコードを書くことに注力するより、専門家レベルのコードを書くべきだと考えている
ソーシャルメディアで批判を受けるが、学生や読者からは好意的な反応がある
ノートブックとcronジョブ、ステートフルな処理を使うワークフローを構築した経験がある
リリースを祝福し、サンプルGIFの90年代Mac Finder風のクロームが気を散らすと述べている
Python/コードブロック対応が興味深い
リリースを祝福し、Hexのような既存ツールと比べて今後どう発展していくのか気にしている
非技術系の組織向けオンライン共同作業ツールとしても販売できると述べている
社内クエリカタログやダッシュボードの構築に役立つツールになり得ると述べている
ノートブックの最初の問題は共有が難しいことだと述べている