Dieser Artikel ist für Einsteiger und fortgeschrittene Webworker gleichermaßen relevant. Für die IT-Talents mit etwas Vorwissen hilft dieser Artikel, vollgepackt mit Erklärungen zu den Basics des Web-Developments, gut gegen gefährliche Halbwisseritis. Ihr Einsteiger ins spannende Thema Web-Development: Lasst Euch von den vielen Begriffen und Zusammenhängen nicht abschrecken. Es wäre auch unfair das ganze Thema beim ersten Lesen zu verstehen – ich selbst habe Jahre gebraucht um die ‘Logik des Internets’ zu begreifen.
Wie funkioniert die Entwicklung einer markttauglichen Web Application eines Startups?
Nach vielen entwickelten Web-Apps, Websites und Designs hat sich im Laufe der Jahre eine bestimmte Vorgehensweise bei meiner Webentwicklung eingestellt, die ich im Folgenden vorstellen möchte. Das beschriebene Vorgehen kann als Orientierung im Web Development Prozess verstanden werden. So sinnvoll es oft ist, sich daran zu halten, kann es je nach Projekt auch richtig sein, hier und da ein wenig vom Masterplan abzuweichen. Das Fundament jeder Web-Entwicklung ist das Webdesign.
Webdesign – Begriffsdifferenzierung
UX steht für User Experience. Ziel des UX-Designs ist ein funktionales Konzept, das dem User ein bestmögliches Nutzererlebnis der App bietet. UI steht für User Interface. Ziel des UI-Designs ist es, das UX Konzept in ein schönes Äußeres zu verpacken. UX ist also die Basis des UI Designs. Es ist somit unbedingt vorher auszuarbeiten.
Zu oft werden UX und UI in einen Topf geworfen, worunter das Endprodukt leidet. Es ist wichtig, diese beiden Arbeitsschritte voneinander zu trennen. UX steht in engem Zusammenhang mit dem Produktkonzept. Es werden Features erdacht und ein Userflow erarbeitet, der das Verhalten der User steuert und das Nutzererlebnis in großem Maße beeinflusst – deutlich stärker als das UI-Design.
Es ist wie beim Dating: Ein schönes Äußeres (UI) kann viel Aufmerksamkeit auf sich ziehen, stehen aber keine inneren Werte dahinter (UX), sind die meisten Interessenten so schnell wieder weg, wie sie gekommen sind. Das ist auch oft bei Websites oder Web Apps zu beobachten, die den Fehler gemacht haben, sich stärker aufs UI-Design zu konzentrieren als auf das UX-Design.
UX-Design
Ziel: Nutzererlebnis maximieren.
Vorgehen:
Erarbeitung eines Features-Book mithilfe von Personas und User Stories
Erstellung von Wireframes auf Grundlage des Features-Books
Personas und User Stories
Ziel: Userflow der App abbilden und optimieren.
Vorgehen: Erfinde Personen der Zielgruppe, die die App nutzen sollen. Gib diesen Personen einen Namen und einen Hintergrund: Woher kommt die Person, welche Absicht hat diese Person die App zu nutzen und mit welchem Ziel usw. Dies sind die sogenannten Personas. Lasse diese Personas nun gedanklich die App nutzen. Versuche jeden Schritt von Login bis Logout durchzuspielen. In einer umfangreichen App gibt es dafür nicht nur einen Weg. Ziel ist es, möglichst alle Pfade und Abzweigungen im Userflow abzubilden. Gehe also mit verschiedenen Personas verschiedene Wege. Solange, bis möglichst jeder Schritt der App durchdacht ist. Dadurch entsteht ein guter Überblick über die Features, die zu implementieren sind.
Features List
Schreibe alle gefundenen Features in eine Liste. Ordne nun die Features nach Wichtigkeit. Wichtig sind solche Features, die sehr oft benutzt werden und der App ihr Gesicht geben. Unwichtig sind Features, die selten benutzt werden oder nur für eine kleine Nutzergruppe interessant sind. Hier sollte aus Sicht der größten Nutzergruppe sortiert werden.
Das erste Drittel der Features-Liste sollte nun alle Features eines “Minimum Viable Product” (MVP) umfassen. Ein MVP ist eine Version des Produktes, die die Mindestanforderung der User erfüllt und auch schon die Schlüsselfeatures enthält – mehr jedoch nicht. Behalte das zweite Drittel der Liste im Hinterkopf und vergiss das letzte Drittel.
Ein Startup zeichnet sich durch knappe Ressourcen aus. Deshalb ist unter Berücksichtigung dieser Engpässe zu optimieren. Sprich: Von der Idee bis hin zum Launch sollten wenige Monate liegen, damit das investierte Kapital möglichst schnell Umsatz erwirtschaftet, der die anfallenden Kosten (Personal-, Server- und Softwarekosten, aber auch eigene Opportunitätskosten) deckt.
Aus diesem Grund ist ein MVP zu empfehlen, das wegen seiner schlanken Architektur schon wenige Monate nach der Idee gelauncht werden kann. So können schnell erste Umsätze erwirtschaftet und zugleich früh Feedback der Zielgruppe eingeholt werden.
Features Book
Schreibe zu jedem Feature des MVP – also des ersten Drittels der Features-Liste – eine Kurzbeschreibung als Text oder, wo es angebracht ist, in Stichworten. Versuche so knapp wie möglich aber so ausführlich wie nötig zu formulieren, um es theoretisch einem externen Entwickler in die Hand geben zu können und dieser genau weiß, was welches Feature können soll und wie es zu implementieren ist. Das hört sich einfacher an, als es ist, aber die Arbeit macht sich später bezahlt.
So wird aus der Features-List nach und nach ein Features Book. Dieses Features Book ist das Fundament der App.
Wireframes
Wireframes sind Skizzen einer Ansicht der App. Beginne mit dem wichtigsten Feature. Mache Dir seine Hauptfunktionen klar und zeichne diese auf ein Blatt Papier. Solange, bis es Dir gefällt. Trial & Error. Bis der Papierkorb voll ist. Und dann nochmal.
Das wiederholst Du mit allen Deinen Features so lange, bis Du zu jedem Dropdown, zu jedem Button und zu jedem Eingabefeld ein konsistentes Konzept erarbeitet hast. Das bedeutet, dass sich ein Header, ein Button oder eine Sidebar in jeder Ansicht möglichst gleich oder ähnlich verhält und auch aussieht. Das erhöht das Nutzererlebnis und verringert Design- und Programmieraufwand.
Auch wenn die einzelnen Features in sich konsistent sind, kann es sein, dass sie nicht gut mit anderen Features des Designs zusammenspielen. In diesem Fall muss solange nachgebessert werden, bis es passt. Füge am Ende die fertigen Wireframes als Fotos oder Skizzen dem Features-Book hinzu. An dieser Stelle ist Perfektion angebracht. Sollten sich auf dieser abstrakten Ebene schon Probleme im UX herausstellen, werden sich diese durch UI-Design und Progammierung nicht auflösen – sie werden sich durch die gesamte App ziehen.
Eine besondere Herausforderung hierbei ist, dass zwar für ein MVP entwickelt wird, später jedoch das Produkt auf vielen Ebenen ausgebaut werden soll. Hier zeigt sich das Talent des UX-Designers, der das gesamte Konzept der App im Kopf hat und auch in Hinblick auf weitere Erweiterungen designt.
Es gibt viele Tools, die dem UX Designer Arbeit abnehmen sollen. Bisher konnten mich keine dieser Konzepte überzeugen. Ich bleibe bei Stift und Papier.
UI Design
Für ein erfolgreiches UI-Design sollte ein UI-Styleguide angelegt werden. Ein UI-Styleguide enthält Regeln für das Design von Features und Elementen. Er beschreibt z.B. wie ein Button aussieht (Farbe, Größe, Abstand, Icon) und sich verhält (Hoverstate, Error) oder wie Headlines gestylt sind (Schriftart, Größe, Zeilenabstand, Fontweight).
Das Erstellen eines umfangreichen UI-Styleguides für alle Features und Elemente ist sehr aufwändig. Je nach verfügbarer Zeit würde ich zu einer vereinfachten Version raten, die jedoch mindestens Informationen zum benutzten Farbschema und Regeln für die Schlüsselfeatures und -elemente beinhalten, die während des UX-Designs herausgearbeitet wurden.
Nachdem der Mini-UI-Styleguide angelegt ist, kann er mit den Wireframes des UX-Designs verheiratet werden. So entstehen die Ansichten der App, wie sie später im Browser oder auf dem Mobile Device zu sehen sein sollen.
Wenn man keine Erfahrung mit UI-Design hat, ist vom Selbsterstellen abzuraten. Es würde zu lange dauern und das Ergebnis würde weit unter den Erwartungen liegen. Auch wenn Kapital eine knappe Ressource ist, lohnt sich hier die Investition in einen professionellen UI-Designer mit Erfahrung. Gute UI-Designer haben auch Übung im UX-Design. Sie können so auf Probleme in der UX aufmerksam machen und diese lösen.
Ich erstelle meine UI-Designs hauptsächlich mit Adobe Illustrator ®. Viele UI-Designer arbeiten auch mit Adobe Photoshop ®. Es gibt viele Pros und Cons für beide Programme. Im Endeffekt ist es Geschmackssache.
Das UI-Design ist der letzte Schritt des Webdesigns. Jetzt sollte das Konzept soweit ausgereift sein, dass es guten Gewissens zur technischen Umsetzung übergeben werden kann. Damit beschäftigen wir uns zweiten Teil des Blogartikels.
Web-Development
Im Folgenden verwende ich oft den Begriff der “App” als Abkürzung des Wortes “Application”, dem englische Begriff für “Programm”. Diese Bezeichnung hat sich auch im Web-Development stark etabliert. Damit ist aber nicht (nur) die Entwicklung einer Mobilanwendung gemeint, sondern auch jegliche Anwendung im Browser (z.B. Facebook, YouTube, Soundcloud).
Die technische Umsetzung im Web-Development lässt sich allgemein in 3 Teile gliedern:
Client-Side Development
Server-Side Development
Deployment
Es gibt keinen festgelegten ersten Schritt im Web-Development-Prozess. Für das eine Projekt mag es sinnvoll sein mit dem Server-Side Development und dem Datenbankmodell zu starten, für ein anderes Projekt ist es besser mit dem Client-Side Development zu beginnen. Die Gliederung des Artikels spiegelt also nicht unbedingt das Vorgehen jeder Webentwicklung wieder.
Entwickelt wird nahezu jede Website und App zunächst lokal. Das bedeutet, dass die App nicht über das Internet erreichbar ist, sondern nur über den bzw. die Computer, mit denen entwickelt wird.
Client-Side Development
Der sog. Client im Web-Development ist der Browser (Chrome, Safari, Firefox, etc.).
So versteht man unter Client-Side Development alle Codes und Programmierungen, die direkt im Browser dargestellt und ausgeführt werden.
Hierbei kommen typischerweise drei Computersprachen zum Einsatz: HTML, CSS und JavaScript (auch JS). HTML (HyperText Markup Language) wird für die Entwicklung der Seitenstruktur (DOM) eingesetzt. CSS (Cascading Style Sheet) ist für die Darstellung und das Styling des HTML zuständig und JavaScript für die dynamischen Inhalte.
Eine ausführliche Einführung in alle Sprachen würde hier weit über das Ziel hinausschießen, deshalb hier nur eine Einführung. Am Ende des Artikels sind einige Empfehlungen aufgelistet, um mehr über das Thema Coding zu lernen.
HTML
Basis jeder Web-Application ist das HTML. Ein HTML Dokument besteht aus einem Head und einem Body. Der Head enthält hauptsächlich Informationen zum Dokument, die selbst nicht im Browser dargestellt werden. Der Body umfasst alle darstellbaren Elemente.
Ein HTML Element, dargestellt als
Inhalt
, wobei “html” hier für eine Elementbezeichnung steht, besteht aus einem Opening Tag () und einem Closing Tag (
). Es gibt eine Vielzahl definierter Elemente, wie z.B.
,
,
, , , ,
Beginne damit, deinen Suchbegriff oben einzugeben und drücke Enter für die Suche. Drücke ESC, um abzubrechen.
Zurück nach oben
Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die bestmögliche Erfahrung auf unserer Website bieten. Wenn Sie diese Website weiterhin nutzen, gehen wir davon aus, dass Sie damit zufrieden sind.Ok