feat: add bilingual blog post about dialog-based applications

Add new blog post "Computer, ..." exploring how modern language models
enable Star Trek-like computer interactions. Includes a practical
experiment with dialog-based member management using MCP and GraphQL.

Features:
- German version at /de/blog/dialogbasierte-anwendungen/
- English version at /en/blog/dialog-based-applications/
- Translated URL slugs linked via translationKey
- Content sourced from Notion with natural English translation
- OpenSpec proposal with validation passing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-25 16:53:55 +01:00
co-authored by Claude
parent 285f7a2eed
commit e599e0404c
5 changed files with 330 additions and 0 deletions
@@ -0,0 +1,38 @@
---
title: "Computer, ..."
date: 2025-11-25
description: "Modern language models make it possible to interact with computers almost like in Star Trek. An experiment with dialog-based member management shows how chatbots can control complex applications."
translationKey: "dialogbasierte-anwendungen-post"
---
**TL;DR:** Modern language models make it possible to interact with computers almost like in Star Trek. Instead of complicated programs, a chatbot could manage members, import data, and generate reports. This makes tasks simpler because you only need to describe what you need in plain language. Whether this is actually more reliable and productive than traditional interfaces in everyday use remains to be seen.
🔗 **Source code for my experiment:** [https://codeberg.org/gurix/clubber](https://codeberg.org/gurix/clubber)
## From Science Fiction to Breakthrough: How Language Models Are Revolutionizing Computer Interaction
Since my childhood, I've been captivated by [Star Trek: The Next Generation](https://en.wikipedia.org/wiki/Star_Trek:_The_Next_Generation). The interaction with the ship's computer in natural language was one of the aspects that fascinated me and that I remember well. With the keyword "Computer, ..." the crew could engage in dialogue with the system, for example to query analyses of the ship's status, scan for life forms, or contact other crew members.
For me, this was science fiction until recently. While there were always attempts to build such voice assistants one of the first I experimented with back in 2003 was A.L.I.C.E. not even Siri, Alexa and Co. were truly usable by my standards. Then came the breakthrough with the first public [language model](https://en.wikipedia.org/wiki/Language_model) from OpenAI. Suddenly it was possible to interact with the computer even in complex language. For me, it already feels almost a bit like talking to the ship's computer, perhaps even somewhat more natural in Star Trek, the voice interface was operated less in dialogue and more in command form.
## Why Chatbots Could Be the Better User Interface
Since language models have interfaces with tools and can essentially communicate with the outside world, I've been wondering whether you couldn't simply use this to effectively build a productivity application. Why do I need a complex user interface when I can just talk to a chatbot and manage the data that way? This has several advantages. You don't have to create a UI, but can focus entirely on data management. Users don't have to learn the system visually, study dialogs and interfaces, or worry about the "correct" workflow. On the contrary: the system thinks along and assists with the work. The input language is irrelevant; I can even operate the system in Swiss German with an Appenzell dialect. Minor linguistic errors are recognized and compensated for. However, you don't actually find completely dialog-based operation of business applications. While Microsoft builds a Copilot into every product, when you call it up in Teams, it can't access chats, and Outlook can't write emails either at least not when I last tried it in fall 2025.
## A Very Simplified Dialog-Based Member Management System as an Experiment
For over a year now, I've been asking myself whether you could build such a dialog-based application and how. At first, I toyed with the idea of testing it with the online registration form for the playgroup in the village: so that you simply talk to a chatbot that asks all the questions to parents who want to register their child. Back then I tried it with ChatGPT and the tools functions. However, the implementation was too complex and time-consuming for me.
With the current models and the [Model Context Protocol (MCP)](https://en.wikipedia.org/wiki/Model_Context_Protocol) developed by Anthropic, new possibilities are emerging. Time for a second attempt. This time I chose a simple scenario: member management. The code for this experiment can be found at [https://codeberg.org/gurix/clubber](https://codeberg.org/gurix/clubber). The idea is that you take the model and chatbot of your choice that supports MCP calls and use it to operate the database interface. As a first step, I defined a simple table for members in a [SQLite](https://en.wikipedia.org/wiki/SQLite) database. The database can be replaced later, for example with PostgreSQL. The MCP server is not directly connected to the database, but communicates with a [GraphQL](https://en.wikipedia.org/wiki/GraphQL) API, which in turn executes the database operations. This has the advantage that you could easily connect another application, such as a web application, to the API at a later time. GraphQL also has the advantage that the schema is documented at all times and can be made available to a chatbot again via MCP to define queries itself.
## The Brave New World with Many Possibilities?
Now some very concrete applications are conceivable that would not be possible or only difficult to implement with a traditional user interface if you consistently optimize them for voice interaction:
- "Attached is an Excel list of members to be entered. Open the list and save it to the database."
- "Export me a CSV list with email address and last name of members who were registered in the last 6 months. Since we don't record gender, try to define the salutation based on the first name. If this is not possible, choose a neutral salutation with first and last name. The final CSV list should contain: creation date, salutation, last name, email address."
- "Count how many members are distributed across Switzerland by canton. Which canton has the most members?"
With this, we're already very close to the example of verbal communication with the ship's computer of the Starship Enterprise.
But is this also practical in reality? Does it result in a productivity gain, and how reliable is the collaboration? These are questions that we will hopefully get answers to soon. Personally, I see it as motivating, because in the long run, people find it more pleasant to discuss and work together with someone on equal footing than to click through anonymous interfaces.
@@ -0,0 +1,38 @@
---
title: "Computer, …"
date: 2025-11-25
description: "Moderne Sprachmodelle machen es möglich, mit dem Computer fast wie in Star Trek zu diskutieren. Ein Experiment mit dialogbasierter Mitgliederverwaltung zeigt, wie Chatbots komplexe Anwendungen steuern können."
translationKey: "dialogbasierte-anwendungen-post"
---
**TL;DR:** Moderne Sprachmodelle machen es möglich, mit dem Computer fast wie in Star Trek zu diskutieren. Statt komplizierter Programme könnte ein Chatbot die Mitglieder verwalten, Daten importieren und Auswertungen machen. So werden Aufgaben einfacher, weil man nur noch in klarer Sprache beschreiben muss, was man braucht. Ob das im Alltag wirklich zuverlässiger und produktiver ist als klassische Oberflächen, muss sich erst noch zeigen.
🔗 **Source Code zu meinem Experiment:** [https://codeberg.org/gurix/clubber](https://codeberg.org/gurix/clubber)
## Vom Science-Fiction zum Durchbruch: Wie Sprachmodelle die Computer-Interaktion revolutionieren
Seit meiner Kindheit hat mich die Serie [Star Trek: The Next Generation](https://de.wikipedia.org/wiki/Star_Trek:_The_Next_Generation) in den Bann gezogen. Die Interaktion mit dem Bordcomputer in menschlicher Sprache war einer der Aspekte, die mich faszinierten und an die ich mich gut erinnere. Mit dem Stichwort „Computer, …" konnte die Besatzung mit dem System in Dialog treten, um beispielsweise Analysen des Schiffszustands abzufragen, nach Lebensformen zu scannen oder eine andere Besatzung zu kontaktieren.
Für mich war das bis heute Science-Fiction. Zwar gab es immer mal wieder Versuche, solche Sprachassistenten zu bauen eines der ersten, mit denen ich anno 2003 herumexperimentiert habe, war A.L.I.C.E. aber wirklich brauchbar waren meinem Gusto nach nicht einmal Siri, Alexa und Co. Mit dem ersten öffentlichen [Sprachmodell](https://de.wikipedia.org/wiki/Sprachmodell) von OpenAI kam nun der Durchbruch. Plötzlich war es möglich, selbst in komplexer Sprache mit dem Computer zu interagieren. Es fühlt sich für mich schon fast ein bisschen wie das Sprechen mit dem Bordcomputer an, vielleicht sogar etwas natürlicher in Star Trek wurde das Sprachinterface weniger im Dialog, sondern eher in Befehlsform bedient.
## Warum Chatbots die bessere Benutzeroberfläche sein könnten
Seit Sprachmodelle Schnittstellen mit Tools besitzen und sozusagen mit der Aussenwelt kommunizieren können, frage ich mich, ob man das nicht auch einfach nutzen kann, um effektiv eine Produktivitätsanwendung zu bauen. Wieso brauche ich eine komplexe Bedienungsoberfläche, wenn ich auch einfach mit einem Chatbot sprechen kann und so die Daten verwalte? Das hat einige Vorteile. Man muss keine UI erstellen, sondern kann sich ganz auf die Verwaltung der Daten konzentrieren. Die Anwender müssen das System nicht visuell erlernen, keine Dialoge und Oberflächen studieren und sich nicht um den „richtigen" Arbeitsablauf kümmern. Im Gegenteil: Das System denkt mit und assistiert bei der Arbeit. Die Sprache der Eingabe ist irrelevant, ich kann das System sogar auf Schweizerdeutsch mit Appenzeller Dialekt bedienen. Kleinere sprachliche Fehler werden erkannt und ausgeglichen. Die komplett dialogbasierte Bedienung von Business-Applikationen findet man aber eigentlich nicht. Zwar verbaut Microsoft in jedem Produkt einen Copilot, aber wenn man das Ding in Teams aufruft, kann es nicht auf die Chats zugreifen, und Outlook kann auch keine Mails schreiben zumindest nicht, als ich es im Herbst 2025 das letzte Mal versucht habe.
## Ein sehr vereinfachtes dialogbasiertes Mitgliederverwaltungssystem als Experiment
Nun frage ich mich seit etwas über einem Jahr immer wieder, ob man so eine dialogbasierte Anwendung bauen könnte und wie. Zuerst spielte ich mit dem Gedanken, es mit dem Online-Anmeldeformular für die Spielgruppe im Dorf zu testen: Also, dass man einfach mit einem Chatbot redet, der den Eltern, die ihr Kind anmelden wollen, alle Fragen stellt. Damals versuchte ich es mit ChatGPT und den Tools-Funktionen. Die Implementation war mir aber zu komplex und langwierig.
Mit den aktuellen Modellen und dem von Anthropic entwickelten [Model Context Protocol (MCP)](https://en.wikipedia.org/wiki/Model_Context_Protocol) ergeben sich nun neue Möglichkeiten. Zeit für einen zweiten Anlauf. Diesmal habe ich ein simples Szenario gewählt: eine Mitgliederverwaltung. Der Code für dieses Experiment findet sich unter [https://codeberg.org/gurix/clubber](https://codeberg.org/gurix/clubber). Die Idee ist, dass man das Modell und den Chatbot seiner Wahl nimmt, der MCP-Calls unterstützt, und damit die Schnittstelle zur Datenbank bedient. In einem ersten Schritt habe ich eine simple Tabelle für Mitglieder in einer [SQLite](https://de.wikipedia.org/wiki/SQLite)-Datenbank definiert. Die Datenbank kann später ausgetauscht werden, beispielsweise mit PostgreSQL. Der MCP-Server ist nicht direkt mit der Datenbank verbunden, sondern kommuniziert mit einer [GraphQL](https://de.wikipedia.org/wiki/GraphQL)-API, die ihrerseits die Datenbankoperationen ausführt. Dies hat den Vorteil, dass man zu einem späteren Zeitpunkt auch problemlos eine andere Applikation, beispielsweise eine Webapplikation, an die API anbinden könnte. GraphQL hat darüber hinaus den Vorteil, dass das Schema jederzeit dokumentiert ist und wieder via MCP einem Chatbot zur Verfügung gestellt werden kann, um selbst Abfragen zu definieren.
## Die schöne neue Welt mit vielen Möglichkeiten?
Nun sind einige ganz konkrete Anwendungen denkbar, die so mit einem klassischen User Interface nicht oder nur schwer umsetzbar wären, wenn man sie konsequent auf Sprachinteraktion optimiert:
- „Im Anhang befindet sich eine Excel-Liste mit Mitgliedern, die zu erfassen sind. Öffne die Liste und speichere diese in der Datenbank."
- „Exportiere mir eine CSV-Liste mit E-Mail-Adresse und Nachname der Mitglieder, die in den letzten 6 Monaten erfasst wurden. Da wir das Geschlecht nicht erfassen, versuche anhand des Vornamens die Anrede zu definieren. Ist dies nicht möglich, wähle eine neutrale Anrede mit Vor- und Nachname. Die finale CSV-Liste soll beinhalten: Erstelldatum, Anrede, Nachname, E-Mail-Adresse."
- „Zähle, wie viele Mitglieder über die Schweiz nach Kantonen verteilt sind. In welchem Kanton leben die meisten Mitglieder?"
Damit sind wir dem Beispiel mit der verbalen Kommunikation mit dem Bordcomputer des Raumschiffs Enterprise schon sehr nahe.
Doch ist dies in der Realität auch praktikabel? Ergibt sich daraus ein Produktivitätsgewinn, und wie zuverlässig ist die Zusammenarbeit? Das sind Fragen, die wir hoffentlich bald beantwortet bekommen. Ich persönlich sehe es als Motivation, denn Menschen finden es auf Dauer angenehmer, mit jemandem auf Augenhöhe zu diskutieren und zusammenzuarbeiten, als anonyme Oberflächen durchzuklicken.