8 Punkte von GN⁺ 2024-07-25 | 1 Kommentare | Auf WhatsApp teilen
  • Erweiterung von Notion + Jupyter um zusätzliche Funktionen
    • Notebook-Planung, Umwandlung in Dashboards und Apps, SQL-Abfragen, die Ergebnisse als DataFrames zurückgeben, usw.
  • Lösung bestehender Probleme von Notebooks
    • Schwieriges Teilen: Um die Arbeit des Datenteams anzusehen, sind Docker- und Python-Installation erforderlich
    • Notebooks sind zu komplex: Zu viele Codeblöcke verschlechtern die Lesbarkeit und machen sie für Nicht-Techniker schwer verständlich
    • Selbst einfache Aufgaben wie Datenbankabfragen, API-Aufrufe oder das Erstellen von Diagrammen sind umständlich
  • Wie Briefer das löst
    • Lösung des Freigabeproblems
      • Verlagerung der Notebooks in die Cloud, sodass sie geplant ausgeführt werden können
      • Zustandsverwaltung mit CRDTs und Yjs, Übernahme von Bearbeitungen in Echtzeit
    • Aufräumen von Notebooks
      • Sauberes Design und Gruppierung von Blöcken für bessere Organisation
      • Blöcke lassen sich in Tabs gruppieren, und es kann ausgewählt werden, welche Blöcke in der veröffentlichten Version sichtbar sind
      • Funktion zum Erstellen von Dashboards
    • Vereinfachung einfacher Aufgaben
      • Diagramme per Klick erstellen, komplexen Chart-Code mit einem AI-Assistenten generieren
      • SQL-Abfrageergebnisse automatisch in DataFrames umwandeln, Dateien mit DuckDB abfragen

Hauptfunktionen

  • Dateibaum
    • Der Dateibaum ist der Ort zum Verwalten und Durchsuchen von Notebooks
    • Wie bei Notion kann für jedes Notebook ein Icon gewählt, die Reihenfolge geändert oder ein Notebook in ein anderes verschoben werden
    • Wenn ein Notebook gelöscht wird, bleibt eine Kopie im Papierkorb und kann bei Bedarf wiederhergestellt werden
  • Blöcke und Tabs: Briefer-Notebooks bestehen aus Blöcken verschiedener Typen
    • Textblock: um dem Notebook Kontext hinzuzufügen
    • Query-Block: um Daten aus Dateien oder verbundenen Datenquellen wie Postgres, BigQuery, Redshift oder Athena zu holen
    • Datei-Upload-Block: um CSV-, XLS- oder andere Dateien zum Notebook hinzuzufügen, wenn sich die Daten nicht in einer verbundenen Datenquelle befinden
    • Python-Block: um Python-Code zu schreiben, Daten zu bearbeiten, Visualisierungen zu erstellen oder andere gewünschte Aufgaben auszuführen
    • Eingabeblock: um interaktive Elemente wie Texteingaben oder Dropdowns zum Notebook hinzuzufügen
    • Visualisierungsblock: um Visualisierungen ohne Code zu erstellen
    • Nach dem Hinzufügen von Blöcken zum Notebook können diese in Tabs gruppiert werden, damit das Notebook leichter zu strukturieren und zu navigieren ist
  • Dateien und Datenbanken
    • Mit Query-Blöcken lassen sich Daten aus Dateien und Datenbanken abfragen, ohne Wrapper oder Connectoren zu schreiben
    • Wenn sich die Daten in einer Datenbank befinden, kann mit einem Query-Block eine SQL-Abfrage geschrieben und die benötigten Daten geholt werden
    • Wenn sich die Daten in Dateien befinden (CSV, XLSX, Parquet usw.), können diese hochgeladen und mit normalem SQL abgefragt werden
    • Mit Query-Blöcken lassen sich auch DataFrames mit normalem SQL abfragen
  • Automatische DataFrames
    • Jeder Query-Block erzeugt automatisch einen Pandas-DataFrame mit den Abfrageergebnissen
    • Dadurch können diese Daten in weiteren Python-Blöcken verwendet werden
    • Standardmäßig erhalten DataFrames Namen wie query_1, diese können aber in aussagekräftigere Namen geändert werden
  • AI-Assistent
    • SQL- und Python-Blöcke enthalten einen AI-Assistenten
    • Wann immer Hilfe benötigt wird, kann auf „Mit AI bearbeiten“ geklickt und dem Assistenten mitgeteilt werden, was getan werden soll
    • Der AI-Assistent erzeugt dann einen Vorschlag und zeigt ein Diff, das ausprobiert, angenommen oder abgelehnt werden kann
    • In Python-Blöcken erkennt der AI-Assistent vorhandene DataFrames und Spalten
    • In SQL-Blöcken kennt der AI-Assistent bereits die Tabellen und Spalten der Datenbank und kann dadurch bessere Vorschläge machen und beim korrekten Schreiben komplexer Abfragen helfen
    • Wenn ein Fehler auftritt, kann auf „Mit AI beheben“ geklickt werden, damit der AI-Assistent eine Korrektur versucht
  • Zeitpläne
    • Notebooks können so geplant werden, dass sie in bestimmten Intervallen wie stündlich, täglich, wöchentlich oder monatlich ausgeführt werden
    • Beim Erstellen eines Zeitplans können außerdem Benachrichtigungen eingerichtet werden, damit bei erfolgreicher oder fehlgeschlagener Ausführung E-Mails oder Slack-Nachrichten gesendet werden. Bei erfolgreicher Ausführung wird zusätzlich eine PDF-Datei mit den Notebook-Ausgaben versendet
  • Snapshots und Versionsverwaltung
    • Jedes Mal, wenn ein Notebook veröffentlicht wird, wird sein Zustand automatisch gespeichert, sodass Änderungen im Zeitverlauf nachvollzogen und bei Bedarf frühere Versionen wiederhergestellt werden können
    • Dadurch lassen sich Änderungen am Notebook verfolgen und bei Problemen auf eine frühere Version zurückgehen
    • Jede erfolgreiche geplante Ausführung erzeugt außerdem einen Snapshot des Notebook-Zustands zu diesem Zeitpunkt
    • Snapshots sind nützlich, um zu sehen, wie sich Ergebnisse im Laufe der Zeit verändert haben, oder um Ausgaben verschiedener Läufe zu vergleichen
  • Vom Notebook zum Dashboard
    • Mit den Ausgaben eines Notebooks können Dashboards erstellt werden
    • So lassen sich Ergebnisse mit anderen teilen, ohne unnötigen Code oder Erklärungen einzubeziehen, etwa wenn vor dem Zeichnen eines Diagramms viel Data Wrangling nötig ist
    • Die Dashboard-Ansicht ist auch nützlich beim Erstellen von Daten-Apps, bei denen Nutzer mit Eingaben und Dropdowns interagieren können sollen, ohne dass der interne Code sichtbar ist

Meinung von GN⁺

  • Diese Plattform scheint für Datenanalyse- und Visualisierungsarbeit im Notebook-Stil nützlich zu sein
  • Sie ist Cloud-basiert und ermöglicht Echtzeit-Zusammenarbeit; durch die benutzerfreundliche Oberfläche und Organisationsfunktionen verbessert sich die Lesbarkeit, und auch nicht-technische Nutzer können Analyseergebnisse leichter verstehen, was die Zusammenarbeit effizienter machen kann
  • Dass der AI-Assistent beim Schreiben von SQL-Abfragen und Python-Code unterstützt, könnte die Produktivität bei der Datenanalyse steigern. Wie präzise und nützlich die AI-Vorschläge tatsächlich sind, zeigt sich allerdings erst in der Praxis
  • Die Funktionen für Notebook-Planung und Versionsverwaltung dürften bei wiederkehrenden Datenanalyseaufgaben oder Zusammenarbeit hilfreich sein. Voraussetzung dafür ist jedoch ein stabiler Infrastrukturbetrieb
  • Ebenfalls ein Vorteil ist, dass sich Analyseergebnisse über die Dashboard-Funktion einfach mit Nicht-Entwicklern teilen lassen. Unklar bleibt jedoch, wie frei sich Layout und Design der Dashboards gestalten lassen
  • Ähnliche Plattformen sind etwa Jupyter Notebook, Google Colab und Deepnote. Es lohnt sich zu überlegen, worin genau Briefer sich von ihnen abhebt – zum Beispiel durch einfachere Bedienung oder stärkere Kollaborationsfunktionen

1 Kommentare

 
GN⁺ 2024-07-25
Hacker-News-Kommentare
  • Produktmanager versuchen, die Arbeit zu erleichtern, indem sie einfache Excel-Formeln und Diagramme einrichten

    • einschließlich Aufgaben wie dem Erstellen von Screenshots
  • Dateningenieure erledigen technischere Aufgaben mit Open-Source-Lösungen wie Superset und dbt

  • Unternehmen versuchen oft, die finale UI selbst zu bauen

    • erinnert sich daran, dass Pinterest etwas als Open Source veröffentlicht hat
  • versteht sehr gut, wie schwierig es ist, Tools wie Notebooks zu bauen

    • es gibt Probleme bei Zusammenarbeit und UX
  • wegen der Daten selbst und des stark umkämpften Marktes ist es schwierig, Features vorzuschlagen

    • erinnert sich daran, dass Popsql nicht erfolgreich floriert hat
  • lobt Lucas’ Arbeit und schlägt CLI, Konnektoren, symbolische Berechnung, Offline-Support und verschlüsselte Namespaces vor

    • das würde sie gegenüber anderen Wettbewerbern nach vorn bringen
    • sagt, er oder sie sei beschäftigt, man solle sich aber melden, wenn man darüber sprechen wolle
  • unterrichtet viel Python und Data Science (in Jupyter mit pandas, Polars, scikit learn, XGBoost usw.)

    • vermittelt auch Best Practices des Software Engineerings
  • teilt die Erfahrung, dass viele Probleme durch Schulung gelöst werden

    • hat das kürzlich bei einem Kunden erneut bestätigt gesehen
  • meint, man solle Code auf Expertenniveau schreiben, statt sich auf einsteigerfreundlichen Code zu konzentrieren

    • Anfänger würden diesen Code nicht mögen
  • bekommt dafür Kritik in sozialen Medien, erhält aber positives Feedback von Studierenden und Leserinnen und Lesern

  • hat Erfahrung mit dem Aufbau von Workflows unter Verwendung von Notebooks, Cron-Jobs und Zustandsverwaltung

    • freut sich über den Versuch, das Problem ganzheitlich zu lösen
  • gratuliert zum Launch und erwähnt, dass das Mac-Finder-Chrome im 90er-Jahre-Stil im Beispiel-GIF ablenkt

    • schlägt vor, es visuell und semantisch aufzuräumen
  • die Unterstützung für Python-/Code-Blöcke ist interessant

    • Jupyter-Notebooks können überall ausgeführt werden
    • fragt, ob das unterstützt wird, indem Verbindungen zu einer lokalen Installation oder einer lokalen Python-Installation weitergeleitet werden
    • fragt, ob aller Python-Code auf Cloud-Servern laufen muss und ob dadurch kein Zugriff auf leistungsstarke GPUs möglich ist
  • gratuliert zum Launch und ist gespannt, wie es sich im Vergleich zu bestehenden Tools wie Hex weiterentwickeln wird

  • erwähnt, dass man es auch als Online-Kollaborationstool für nichttechnische Organisationen vermarkten könnte

    • viele Menschen wollten ein bequemeres Tool als Microsoft Access
  • erwähnt, dass es ein nützliches Tool für den Aufbau interner Query-Kataloge und Dashboards sein könnte

    • fragt, ob es dynamische Feldauswähler ähnlich den „Variablen“ von Grafana unterstützt
  • erwähnt, dass das erste Problem von Notebooks darin besteht, dass sie schwer zu teilen sind

    • teilt Notebooks mit PMs über GitHub-Links