Frühzeitig einplanen Benutzeroberfläche für Alle

Eine Vielzahl von Anwendungsfunktionen beeinflussen die Hardwareauswahl maßgeblich.

Produkte mit anspruchsvollen grafischen Benutzeroberflächen (GUI) und komplexen Funktionen auszustatten, ist dank preiswerter 32-Bit-CPUs, Displays und dem richtigen Einsatz von freier Software nicht mehr nur großen Unternehmen vorbehalten. Klein- und mittelständische Unternehmen beginnen jetzt mit der Entwicklung neuer Produktgenerationen.

Besonders beim ersten Projekt wird die Bedeutung des Produktdesigns und die tatsächliche Größe des Anteils der Softwareentwicklung an den Entwicklungsarbeiten (bis zu 80%) oft unterschätzt. Nicht selten bekommen die Softwareentwickler einen bereits fertigen Hardwareprototyp zum Beginn der Arbeiten präsentiert. Die Konsequenz kann eine zu teure, weil überdimensionierte Hardware sein oder es muss auf gewünschte Softwarefunktionen bzw. grafische Effekte verzichtet werden, da die Leistung der Hardware nicht ausreicht.

Bevor mit der Entwicklung der Hardwareplattform begonnen wird, sollte vorab das zukünftige Produkt ausführlich spezifiziert werden. Da eine Vielzahl von Anwendungsfunktionen die Hardwareauswahl maßgeblich beeinflussen, beispielsweise das Eingabeschema, das Applikationslayout oder zusätzliche grafische Effekte, sollte zuerst definiert werden, welche Leistungsmerkmale für das geplante Produkt angestrebt werden. Oftmals wird die Software nur ungenügend beschrieben und die Entwicklung der Hardware bestimmt die erste Projektphase. Die dort getroffenen Entscheidungen basieren hauptsächlich auf Kostenfaktoren und der Verfügbarkeit der einzelnen Komponenten. Kriterien, wie die Verfügbarkeit von Treibern oder Softwarebibliotheken, die die zukünftige Entwicklung vereinfachen und beschleunigen würden, werden nur ungenügend berücksichtigt.

Wird beispielsweise während der Hardwareplanung die Display-Auflösung erhöht, muss man beachten, dass eine Verdopplung der Auflösung eine Vervierfachung der zu berechnenden Pixel nach sich zieht. Sind Beispielanwendungen auf einer Testplattform noch performant gelaufen, kann diese Änderung auf der Zielplattform dazu führen, dass die Benutzung des User Interfaces nicht flüssig ist und die Software unrund wirkt. In solchen Situationen ist es oft nicht mehr möglich, Änderungen an der Hardware vorzunehmen, sodass man beispielsweise gezwungen ist, die Softwarealgorithmen zeitintensiv zu optimieren oder auf rechenintensive Darstellungen zu verzichten.

Daher sollten folgende Fragen zu Beginn der Hard- und Softwarekonzeption beantwortet sein:

  • Wie soll die zukünftige Benutzeroberfläche aussehen und wie wird das Produkt bedient?
  • Welche Schnittstellen sind für die Anwendung erforderlich?
  • Welche zusätzlichen Funktionen sind gewünscht (z.B. Konnektivität, Text-To-Speech, integrierter Web-Server)?
  • Welchen Lebenszyklus wird das Produkt haben?

Vor Beginn der Entwicklungsarbeiten sollte man mit einem User Interface Designer das Bedienkonzept - nicht die Gestaltung - erarbeiten und dieses durch Mock-ups in HTML oder mit Hilfe von Flash auf einem PC testen. Nur wenn diese Vorarbeiten erledigt sind, können die passenden Softwarekomponenten ausgewählt und die Anforderungen an die Hardware spezifiziert werden.