Was wurde aus RealPlayer?

Illustration eines roten Zebras mit blauer Mähne, das genervt auf einen alten Röhrenmonitor mit RealPlayer und der Meldung „Buffering“ blickt

Ein Mediaplayer, der uns alle traumatisiert hat – und trotzdem Kult ist

Damals: Streaming mit Buffer-Schmerz

In den späten 90ern war das Internet langsam, aber voller Hoffnung. Musik und Videos? Damals eher ein Abenteuer als ein Feature. Und mittendrin: RealPlayer – ein Pionier des Streamings.

Der Player wurde 1995 von RealNetworks (damals noch Progressive Networks) veröffentlicht und war der erste weitverbreitete Streaming-Client für Audio und später auch Video. Statt eine Datei komplett herunterzuladen, konnte man nun Inhalte „live“ übertragen.

Das klang futuristisch, hatte aber seinen Preis: geringe Bitraten, miese Qualität, lange Pufferzeiten und ein proprietäres Format namens .rm (RealMedia) bzw. .ra (RealAudio).

Die Technik dahinter

  • Streaming-Protokoll: RealPlayer nutzte das hauseigene Real Time Streaming Protocol (RTSP).
  • Formate: .rm, .ra, später .rv (RealVideo), teils mit DRM-Schutz.
  • Encoder: Nur mit spezieller Software von RealNetworks nutzbar, was Open-Source-Player ausschloss.
  • Bitrate: Oft unter 64 kbit/s Audio, 240p Video war normal.
  • Codec: Anfangs RealAudio G2, später Helix.

Trotzdem war das revolutionär: Nachrichten, Konzerte oder Radio über Web war auf einmal möglich.

Warum alle RealPlayer gehasst haben

  • 🐌 Performance-Killer: Der Player beanspruchte CPU und RAM wie ein ganzer Browser heute.
  • 🧲 Zwangsinstallation: Wurde gerne mal mit anderer Software gebündelt.
  • 🔊 Autoplay und Autoupdate: Nicht abschaltbar, oft mit Werbung.
  • 🔐 DRM und Formatzwang: Inhalte konnten nur im RealPlayer abgespielt werden.
  • 💸 RealPlayer Plus: Viele Standardfunktionen (z. B. Equalizer, CD-Ripping) waren nur kostenpflichtig verfügbar.
Screenshot des RealPlayer-Mediaplayers mit geöffneter „Welcome!“-Datei und 128 kbps Anzeige

Heute: RealPlayer lebt – irgendwie

Die Firma RealNetworks existiert immer noch. Der RealPlayer 24 wird aktiv weiterentwickelt:

Offizielle Seite von RealPlayer

Tatsächlich zielt RealPlayer heute mehr auf Medienmanagement und YouTube-Downloads als auf Streaming. Die DRM-Vergangenheit wurde still beerdigt.

RealPlayer vs. Moderne Medienplayer

FeatureRealPlayer (damals)VLC (heute)Plex (heute)
Codec-SupportSelektiv + DRMFast allesAlles + Streaming
WerbungJa (viel)NeinOptional
SystemfreundlichkeitNiedrigHochHoch
UILaut, blinkendMinimalistischModern
PreisShareware-ModellKostenlosFreemium

Nerd-Fazit

RealPlayer war seiner Zeit voraus, aber hat sich selbst überlebt. Er war der erste Schritt in Richtung Streaming-Zukunft, aber mit den falschen Entscheidungen zur falschen Zeit.

Er steht exemplarisch für Tech-Unternehmen, die lieber Kontrolle statt Kompatibilität wollten. VLC und Co. haben ihn letztlich durch Offenheit überflügelt.

Und doch bleibt er ein Stück digitaler Nostalgie:

„Kennst du noch .rm-Dateien? Dann bist du offiziell alt genug für einen eigenen Serverraum.“


Weiterlesen auf Prokrastinerd.de:

Was wurde aus XML und XSLT?

Cartoonhafte Blätter mit Aufschrift XML und XSLT fliehen aus einer blauen Mülltonne

Die tote Webtechnologie, die keiner vermisst

Meta-Description:
XML und XSLT sollten einst das Web revolutionieren – doch was wurde wirklich aus den beiden? Ein zynischer Blick auf tote Technologien, überladene Tags und moderne Alternativen.


1. Einleitung: Der Traum vom semantischen Web

Es war einmal, im finsteren Zeitalter vor HTML5, da träumten Webentwickler von einer besseren Welt. Einer Welt, in der man sich seine Tags selbst aussuchen konnte. Einer Welt, in der Design und Inhalt so konsequent getrennt waren, dass man beide hassen lernte. Einer Welt… mit XML und XSLT.

XML – das Extensible Markup Language – klang nach Fortschritt, nach Struktur, nach Ordnung im HTML-Chaos. Und XSLT? Das war der Versuch, Stylesheets mit einer Gehirnverdrehung zu kombinieren. Wenn du jemals versucht hast, ein <xsl:for-each> mit einem Namespace zu debuggen, dann hast du wahrscheinlich heute noch Albträume in UTF-8.

Doch was wurde eigentlich aus dieser glorreichen Vision? Warum sieht das Web heute aus wie React-Komponenten mit CSS-Grütze – und nicht wie ein gepflegtes XML-Skulpturenmuseum?

Willkommen im Gruselkabinett der Webentwicklung.
Wir graben aus, was längst vergessen schien – und zeigen dir, warum das vielleicht auch besser so ist.


2. XML: Die Sprache der Hoffnung – und des Wahnsinns

In den späten 90ern war XML das neue heiße Ding. Die Idee: HTML ist zu fest verdrahtet, zu unflexibel. XML dagegen lässt dich selbst bestimmen, wie deine Tags heißen. Statt <div> und <p> konntest du plötzlich <produkt>, <preis> oder <superMegaDatenModul> verwenden.

Das versprach Semantik, Struktur, Zukunft – und endete in Chaos, Namespaces und nicht enden wollenden DTDs. Der Mensch war frei. Viel zu frei.

3. XSLT: Wenn Stylesheets Albträume bekommen

Dann kam XSLT – das „eXtensible Stylesheet Language Transformations“. Der Name allein klingt schon nach XML-Sekte. Die Idee war eigentlich clever: Statt HTML mit Layout zu schreiben, schreibst du XML mit Inhalt – und XSLT formt es zu hübschem HTML.

Oder zu dem, was man damals für hübsch hielt.

Aber XSLT war nicht CSS. Es war XPath, Templates, Bedingungshölle und eine Schreibweise, bei der jedes < doppelt und jedes </ dreifach gezählt werden musste. Wer damit arbeiten musste, lernte schnell: Das Web ist nicht freundlich.


4. 🧟 Das Gruselkabinett: Ein extremes, aber valides XML+XSLT-Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="rezept-style.xsl"?>

<kochbuch xmlns="https://prokrastinerd.de/rezept"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="https://prokrastinerd.de/rezept rezept.xsd">

  <rezept datum="2025-04-14T12:34:56" vegetarisch="true">
    <titel>XML-Auflauf mit XSLT-Kruste</titel>
    <autor>Gray The Zebra</autor>
    <zutaten>
      <zutat menge="200g">Verzweiflung</zutat>
      <zutat menge="100ml">Tränen von Entwicklern</zutat>
      <zutat menge="1 EL">Namespace-Magie</zutat>
    </zutaten>
    <zubereitung>
      Alles in eine Datei werfen, mehrfach validieren,
      bei Fehlern laut fluchen und dann im Browser servieren.
    </zubereitung>
  </rezept>

</kochbuch>

<!-- rezept-style.xsl -->
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:rez="https://prokrastinerd.de/rezept"
    exclude-result-prefixes="rez">

  <xsl:output method="html" encoding="UTF-8"/>

  <xsl:template match="/">
    <html>
      <head>
        <title><xsl:value-of select="//rez:titel"/></title>
        <style>
          body { font-family: monospace; background: #fffbf0; padding: 2em; }
          h1 { color: darkred; }
          ul { list-style-type: square; }
        </style>
      </head>
      <body>
        <h1><xsl:value-of select="//rez:titel"/></h1>
        <p><strong>Von:</strong> <xsl:value-of select="//rez:autor"/></p>

        <xsl:if test="//rez:rezept/@vegetarisch='true'">
          <p><em>Geeignet für Vegetarier</em></p>
        </xsl:if>

        <h2>Zutaten:</h2>
        <ul>
          <xsl:for-each select="//rez:zutat">
            <li><xsl:value-of select="@menge"/> <xsl:value-of select="."/></li>
          </xsl:for-each>
        </ul>

        <h2>Zubereitung:</h2>
        <p><xsl:value-of select="//rez:zubereitung"/></p>

        <footer>
          <small>Stand: <xsl:value-of select="//rez:rezept/@datum"/></small>
        </footer>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>


5. 🔁 Und heute?

// rezept.json
{
  "titel": "XML-Auflauf mit XSLT-Kruste",
  "autor": "Gray The Zebra",
  "vegetarisch": true,
  "datum": "2025-04-14T12:34:56",
  "zutaten": [
    { "menge": "200g", "name": "Verzweiflung" },
    { "menge": "100ml", "name": "Tränen von Entwicklern" },
    { "menge": "1 EL", "name": "Namespace-Magie" }
  ],
  "zubereitung": "Alles in eine Datei werfen, mehrfach validieren, bei Fehlern laut fluchen und dann im Browser servieren."
}

<!-- index.html -->
<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>Rezept</title>
  <style>
    body { font-family: sans-serif; background: #f0f8ff; padding: 2em; }
    h1 { color: seagreen; }
    ul { list-style-type: disc; }
  </style>
</head>
<body>
  <div id="rezept"></div>

  <script>
    fetch('rezept.json')
      .then(response => response.json())
      .then(data => {
        const container = document.getElementById('rezept');
        container.innerHTML = `
          <h1>${data.titel}</h1>
          <p><strong>Von:</strong> ${data.autor}</p>
          ${data.vegetarisch ? '<p><em>Geeignet für Vegetarier</em></p>' : ''}
          <h2>Zutaten:</h2>
          <ul>
            ${data.zutaten.map(z => `<li>${z.menge} ${z.name}</li>`).join('')}
          </ul>
          <h2>Zubereitung:</h2>
          <p>${data.zubereitung}</p>
          <footer><small>Stand: ${data.datum}</small></footer>
        `;
      });
  </script>
</body>
</html>


6. Fazit: XML lebt – aber bitte im Maschinenraum

XML ist nicht tot. Es ist nur dahin zurückgekehrt, wo es hingehört: tief in die dunklen Eingeweide von Maschinenprotokollen, Konfigurationsdateien, E-Book-Formaten und Industrienormen.

Und XSLT? Hat sich dort in einer .xsl-Datei zusammengerollt und schläft. Hoffentlich für immer.

Aber wir danken ihnen für ihren Dienst.
Möge der Validator immer mit euch sein. Amen.

Comicstil-Grabstein mit Aufschrift XML & XSLT – „Zu strukturiert fürs echte Leben.“

Und falls du dir dieses Kapitel aus der Web-Geschichte ins Bücherregal stellen willst, gibt’s da noch XSLT Cookbook: Solutions and Examples for XML and XSLT Developers* (bezahlter Link) – über 700 Seiten Nostalgie und Schmerz.

Für besonders Mutige: Das offizielle XSLT-Tutorial vom W3C – mit eingebauter Frustgarantie.