wiki:POKAL/Brainstorming

POKAL-Brainstorming

Veraltet: Mittlerweile ist POKAL fertig und unter http://pokal.uni-frankfurt.de/ erreichbar. Diese Seite spiegelt einen historischen Abriss Anfang 2012 wieder.

Ich bin völlig begeistert von den ganzen Frameworks, die es derzeit gibt.

Libraries und existierende Software

Etherpad(lite)-Softwarestack

Ehterpad Lite ausprobieren Etherpad von Studiumdigitale ausprobieren

  • node.js als high-performance event-driven webserver
  • express.js für URL-Dispatching, Middleware, etc.
  • socket.io auf Basis node.js
  • etherpad-lite auf Basis von node.js und socket.io. Extrem cool und flexibel, genau das brauchen wir.

Sage Softwarestack

Sage-Notebook ausprobieren

  • twisted, der event-driven webserver für Python (node.js-Alternative)
  • sagenb (sage-notebook), überschaubarer Code

Diskussion der eigenen Libs

Frage: Will man Socket.io und die umfangreiche etherpad-Syncing-Codebase verwenden (dafür braucht man eine Javascript-Python-Anbindung), ggf. am besten mit zwei Servern und Domainsocket zur Kommunikation, oder nicht?

Ich glaube es wäre am sinnvollsten, wenn man den sagenb-Code als Anregung verwendet und den ganzen Webserver-Bereich in Javascript neuschreibt, in dem man etherpad verwurstet. Als Backend verwendet man dann einen simplen Sage-Server.

Feature-Wunschliste

Neben den altbekannten Features vom Antrag fände ich geil:

  • MDI, um mit dem gleichen Team parallel anzeigen zu können:
    • Mehrere Notepads
    • Chat gleichwertig mit Notepads (nicht nur als Nebenfeature)
    • Freier Texteditor (wie etherpad)
    • LaTeX-Editor (mit Rendering)
  • Dedizierte Sandboxes (Root-Jails), in denen Teams auch ihre Dateien speichern können. Hintergedanke: Bearbeitung mehrerer Dateien (eines kleinen Softwareprojektes) online gemeinsam. Wichtig: Offene API auf diese Verzeichnisse, etwa per WebDAV, ILIAS/OLAT/…-Integration, ein vom HRZ gemountetes Heimverzeichnis, etc.
  • Möglichkeit, Leute einzuladen oder Einladungs-Links zu schicken
  • Selbstredend abgespackte GUIs für Tablet und Smartphone (wo's dann eben kein MDI mehr gibt)
  • Chat auf Jabber-Basis (Jabber-Conference). Etherpad hat ja bereits hervorragende APIs, das muss so weitergehen.

Offensichtlich würde sich also anbieten, Etherpad um austauschbare Backends (Sagenb, Freitext, LaTex, …) zu erweitern.

Wichtig: Minimalistische Software, die ihren Zweck tut und das gut und übersichtlich, ist eine gute Zielvorgabe. Ein feature-überfrachtetes System nervt nur mehr ab als dass man es einfach durchschauen kann.

Ein Blick in die Zukunft

Denkt man mal in langen Skalen (jetzt egal), ist es Unfug, wenn hunderte Studenten "in der Cloud" (also auf dem armen PhysikOnline-Server) rechnen, statt auf ihren dicken Core i7-Laptops. Daher wäre es cool, wenn Benutzer optional die Möglichkeit hätten, etwa ein (plattformunabhängig in Java geschriebenes) Clientprogramm auszuführen, sodass die Berechnungen verteilt gemacht werden. Das wäre ein ultimatives Entwicklungsziel, wenn die Software wirklich breiten Anklang gefunden hat.

Last modified 3 years ago Last modified on May 31, 2014 6:41:22 PM