In diesem Teil unserer Serie #saywhat möchte ich auf einen Begriff eingehen, bei dem ich selbst die Erfahrung gemacht habe, dass er für den einen oder anderen nicht ganz klar sind. Deswegen freu ich mich ganz besonders auf diesen Beitrag, weil ich weiß, dass er einigen wirklich helfen wird. Heute wird also nur ein Begriff behandelt, weil es sonst wahrscheinlich zu viel wird.
Darum geht’s nun also: Schnittstellen!
Mir kommt es so vor als wäre das ein sehr sehr beliebtes Wort – wer noch lässiger klingen will, sagt API dazu (Englische Abkürzungen rocken immer). Glücklicherweise kann man sich aus dem Namen schon herleiten, was das ungefähr ist: da bekommt man Daten raus, z.B- mit der Twitter API. Mehr muss man eigentlich auch nicht wissen, wenn man nicht direkt damit arbeiten muss (wenn man also kein Programmierer ist). Vielleicht wollt ihr aber trotzdem genauer Bescheid wissen – schaden tut es sicherlich niemandem.
Die Twitter Schnittstelle ist eine Datenschnittstelle – eben weil sie Daten annimmt und verschickt. Diese Datenschnittstelle kann auch als Programmschnittstelle bezeichnet werden und ist somit eine API (Application Programming Interface). Es gibt noch andere Schnittstellen (die aber keine APIs sein müssen), wie zum Beispiel Hardwareschnittstellen (USB Anschluss oder Firewire). Dein Rechner besteht aus vielen Schnittstellen, damit du verschiedene Geräte und auch Geräte verschiedener Hersteller anstecken und auch verschiedene Programme benutzen kannst. Bei der (Computer) Maus treffen wir sogar auf mehrere Schnittstellen: Zunächst mal ist die Maus eine Schnittstelle zwischen Mensch und Maschine – damit können wir den Rechner bedienen. Die Maus wird über USB am Rechner angeschlossen – der USB Stecker bietet uns also eine Hardwareschnittstelle. So kannst du beispielsweise eine Apple oder Logitech Maus mit USB verwenden – welche du lieber magst. Zumeist (vor allem die Windows User wissen das) muss noch ein Treiber für die Maus installiert werden, der mit der Hardwareschnittstelle und mit der Schnittstelle des Betriebssystems kommuniziert, damit die Maus ordnungsgemäß verwendet werden kann. Vor vielen vielen vielen Jahren mussten Mäuse direkt an Schnittstellenkarten im Rechner angeschlossen werden und diese Anschlüsse waren zu Anfangs auch nicht standardisiert, d.h. der Mausstecker musste zur Karte passen. Das betraf aber großteils nur Rechner bei denen zunächst keine Maus vorgesehen war (das ist also wirklich schon lange her). Irgendwann danach kamen die PS/2 Anschlüsse für Maus und Tastatur – das waren die runden grünen bzw violetten Stecker mit den Pins. Der PS/2 Anschluss für die Maus konnte auch nur mit einer Maus kommunizieren – auch wenn der Stecker für die Tastatur die selbe Form hatte, konnte man damit nicht über den Maussteckplatz arbeiten, weil die dortige Schnittstelle für die Maus die Tastatur nicht versteht. Was auch ziemlich lästig war: diese Stecker müssen vor dem Start des Rechners angeschlossen sein(sonst wurden sie nicht erkannt) und durften während des Betriebs auch nicht abgezogen werden (ansonsten hätte die Schnittstelle kaputt gehen können)! Diese Anschlüsse findet man heute glücklicherweise so gut wie gar nicht mehr. Wir verdanken es also dem USB (einer Schnittstelle), dass wir verschiedene Geräte an unsere Rechner anschließen können, ohne uns groß über die Kompatibilität Gedanken machen zu müssen.
Bei Datenschnittstellen ist das eigentlich genauso. Wenn ich nun Userdaten von Twitter abfragen möchte, dann geht mich das nichts an, wie Twitter die Daten aus ihrer Datenbank lädt. Mich interessiert es auch nicht, wenn der Code dazu umgeschrieben wird, solange die 5 Punkte die ich gleich beschreiben werde nicht geändert werden. Um die Schnittstelle verwenden zu können, muss ich mich an ein paar Dinge halten:
0) um die Twitterschnittstelle zu benutzen muss ich mich zuerst authentifizieren (unter anderem damit Twitter weiß wer ich bin – falls ich Blödsinn mache können sie mir den Schnittstellen-Zugriff sperren 😉 )
1) ich muss eine bestimmte Funktion aufrufen – in unserem Fall die Funktion, die uns die Userdaten schickt
2) wenn die Funktion Daten braucht, müssen diese in einem bestimmten Format an Twitter geschickt werden (um bestimmte Userdaten zu bekommen, muss ich z.B. den Twitternamen des Users mitschicken, da Twitter sonst ja nicht weiß, welchen User ich meine)
3) die Daten die von der Schnittstelle zurückgeschickt werden haben ein bestimmtes Format
4) die Schnittstelle kann mir auch einen Fehlercode zurückschicken den ich beachten muss (z.B. wenn der angeforderte User gar nicht existiert)
Eigentlich ziemlich einfach – das blöde ist nur, dass die Schnittstellen alle anders funktionieren – die Facebook API funktioniert biespielsweise ganz ander als die von Twitter… Die Funktionen sind anders, die angeforderten und zurückgesendeten Formate auch – sogar die Authentifizierung kann anders funktionieren.
Kurz zusammengefasst: Schnittstellen sind also abstrakte Oberflächen die angesprochen werden können um bestimmte Ergebnisse zu bekommen.
Jetzt habt ihr es auch schon geschafft und hoffentlich ist der Begriif Schnittstelle etwas klarer geworden. Ich hoffe auch, dass euch der Teil mit den Mäusen nicht verwirrt hat – aber ich finde das einfach so genial wie das ganze funktioniert und wie sich Rechner und deren Umfeld immer weiterentwickeln, dass ich es euch nicht vorenthalten wollte. Wir haben auch schon Ideen für den nächsten Teil der Serie und freuen uns schon darauf interessante Begriffe zu behandeln.
Du willst mit jemanden über das Thema plaudern?
Einen kostenlosen Termin mit CEO Susanne vereinbaren!AI-Driven UX - Möglichkeiten, Design-Prinzipien und Pflichten für UX-Designer - 2024 Update
UPDATE 2024: Ausgegraben aus 2019 dieses schmucke Fundstück über AI und UX. Irgendwie drehen sich die Trend-Themen doch alle Jahre im Kreis und man könnte glauben man findet sich diesbezüglich als Bill Murray in "Täglich grüßt das Murmeltier [...]
Jetzt lesenFolge #62 mit Susanne Liechtenecker
In Folge 62 besinnt sich Susanne auf die Anfänge dieses Podcasts und begrüßt keinen Gast, sondern erzählt über das Buch "Jäger, Hirten, Kritiker" von Richard David Precht und warum es sie inspiriert hat.
Jetzt anhören