Standardsoftware wird nach unternehmensinternen Qualitätsrichtlinien programmiert und verkauft. Wie ist das aber bei individuell erstellter Software?
Es gibt allgemeine Qualitätsrichtlinien, die aber vor der Auftragserteilung festgelegt sein sollten. Denn es gilt:
„Qualität ist die Erfüllung der Kundenanforderungen.“
8 Kriterien für Qualität bei Software Entwicklung
Es gibt wichtige Eigenschaften, die bei der Softwareentwicklung eine tragende Rolle spielen. Denn schließlich soll die Software während der Nutzungsdauer problemlos und kostengünstig eingesetzt werden können.
Benutzerfreundliche Bedienung
Ein Programm oder eine App sollen einfach zu bedienen sein. der Anwender soll möglichst ohne Hilfe zum Erfolg kommen.
Unempfindlich gegen Fehler
Eingabefehler sollen abgefangen werden, Fehlbedienung nicht möglich sein.
Integrität und Sicherheit
Die Daten und das System sollen gegen unberechtigte Zugriffe und Manipulation geschützt sein.
Korrekte Funktion
Bei der Eingabe, Verarbeitung und Ausgabe dürfen keine Fehler auftreten. Bei gleichen Eingeben muss stets das gleiche Ergebnis erscheinen.
Portable Verwendung
Die Software soll auf anderen Systemen nutzbar sein.
Überprüfbarkeit
Bei der Abnahme der Software soll der Prüfungsaufwand gering sein.
Kompatibel zu anderen Anwendungen
Die Software soll einfach mit weiterer Software verbunden werden können.
Erweiterbare und wiederverwendbare Eigenschaften
Die Software soll leicht mit neuer Funktionalität ausgestattet und vorhandene Funktionen erweitert werden können.
Fazit:
Software Qualität ist wichtig und entscheidet mit, wie die Nutzung im beruflichen Alltag stattfindet. Gerade bei den Projekten Industrie 4.0 und der zunehmenden Digitalisierung in allen beruflichen Bereichen ist fehlerfreie, hochwertige Software eine Basisvoraussetzung.
Algorithmen treffen wir tagtäglich in unserem Leben, denn Sie sind Anleitungen zur zielgerichteten Lösung von Problemen. Erstmals beschrieben hat dies der choresmische Gelehrte Al-Chwarizmi im 9. Jahrhundert. Er lebte in Bagdad, Iran.
Verfeinert wurde der Begriff im 20. Jahrhundert durch den in Großbritannien diffamierten Mathematiker Alan Touring.
Definition eines Algorithmus
Das Verfahren muss zum richtigen Ergebnis führen
Der Verfahren muss mit einem endlichen Text die Anforderungen ganz erfüllen
Das Verfahren besteht aus Arbeitsschritten, die zielgerichtet zur Lösung führen
Jeder einzelne Schritt muss ein eindeutiges Ergebnis besitzen
Gleiche Eingabewerte müssen immer zum gleichen Ergebnis führen
Das Verfahren muss auf alle zulässigen Daten fehlerfrei anwendbar, also Allgemeingültig sein
Hochwertige Programme erfüllen diese Anforderungen. Denn die Definition von Qualität lautet:
Qualität ist die Erfüllung der Kundenanforderungen
Computermonitore aus der Frühzeit der EDV waren monochrom. Es gab grün- und bernstein-farbene anzeigende Geräte. Als Mitte der 80er Jahre die Farbmonitore auf den Markt kamen, hat die Bildbearbeitung mit dem Computer begonnen. 1985 wurde mit Deluxe Paint eine leistungsfähige Bildbearbeitung mit dem Commodore Amiga präsentiert. Photoshop kam 1990 auf den Markt.
Die Monitore veränderten sich zu Flachbildschirmen und die Anforderungen an die Bildqualität dieser Geräte stiegen in den folgenden Jahrzehnten. Druckereien waren auf Farbtreue während des ganzen Produktionsprozesses angewiesen. Schließlich sollte eine fotografierte, rote Tomate in der gedruckten Zeitschrift ebenso aussehen wie das Original. So war die Standardisierung des Farbraumes notwendig. Dazu wurden verschiedene Farbmodelle entwickelt, von denen ich zwei Modelle vorstelle.
Betrachten wir zuerst die Grundlagen der Farbmischung. Um eine große Menge an unterschiedlichen Farben darzustellen, werden aus drei Grundfarben viele unterschiedliche Farben gemischt. Auf dieser Basis gibt es eine additive Farbmischung und eine subtraktive Farbmischung. Der darstellbare Bereich von Farben wird Gamut genannt.
Additive Farbmischung
Diese Farbmischung basiert auf selbstleuchtenden Farben. Von Schwarz (Keinerlei Farbe) wird durch die drei grundlegenden Farben Rot, Grün und Blau (RGB).
Ein Abbild vieler Farben ist so möglich. Nach diesem Prinzip arbeiten die Computer Monitore.
Subtraktive Farbmischung
Bei der subtraktiven Farbmischung werden die Farben durch eine Lichtquelle beleuchtet. Das reflektierte Licht fällt in unsere Augen und wir können die Farben sehen. Wenn das weiße Licht auf die Farben fällt, dann werden Lichtanteile verschluckt. Durch die reflektierten Lichtanteile sehen wir die Farbe. Die drei Grundfarben der subtraktiven Farbmischung sind Cyan, Magenta und Gelb.
Nach diesem Prinzip arbeiten Drucker und Farben, die wir im täglichen Leben benutzen. Allerdings wird bei Farbdrucken im Regelfall kein perfektes Schwarz erreicht. Daher gibt es Fotodrucker die noch weitere Farben wie Schwarz, Grau oder ein helles Gelb verwenden.
Das RGB Farbmodell
Das RGB Farbmodell basiert auf additiver Farbmischung. Es wird daher bei Farbdisplays, Fernsehern, Beamern und ähnlichen Geräten genutzt. Aus den 3 Grundfarben Rot, Grün und Blau werden die dargestellten Farben gemischt. Die Werte der einzelnen Farben können zwischen 0 und 100% liegen. Im Internet werden Farbtiefen von 24 Bit (= 8 Bit Rot, 8 Bit Grün und 8 Bit Blau) genutzt. Dadurch ergibt sich ein Wertebereich von 256 Stufen bei jeder Grundfarbe und eine Farbanzahl von 16.777.216 Farben. Sehr gute Monitore können eine Farbtiefe von 10 Bit pro Grundfarbe abbilden. Also insgesamt 30 Bit Farbtiefe und damit 230 oder mehr als 10 Milliarden Farben. Viele Grafikkarten können bis 232 Bit Farben darstellen. Dazu die RGB Farbraum Darstellung von Torre Anders. Der RGB Farbraum liegt innerhalb des schwarzen Dreiecks.
Das CMYK Farbmodell
Auf subtraktiver Farbmischung basiert das CMYK Farbmodell. Es basiert auf den Grundfarben Cyan, Magnet, Gelb und einem Schwarz-Anteil, der auch „Key“ genannt wird. Da es bei der Umsetzung dieses Farbmodells keine passend tiefes Schwarz gibt, wird Schwarz als 4. Faktor hinzugefügt. Dieses Farbmodell wird seit 1843 im Druckbereich beim 4-Farben Druck eingesetzt. Geräte dafür sind der Tintenstrahl Drucker, Farblaser Drucker, 4-Farben Druckmaschinen für Bücher, Zeitschriften und weitere Druckerzeugnisse.
Heute stelle ich den Webseiten Editor Brackets von Adobe vor. HTML Seiten lassen sich mit jedem Editor erstellen. Der Unterschied bei den Editoren liegt in der Unterstützung bei der Erstellung des Webseiten Kodes. Hier leistet der Open Source Editor Brackets gute Unterstützung.
Funktionen von Brackets
Horizontales und vertikales Aufteilen des Editorfensters mit „Split View“
Umfangreiche Funktionsergänzung durch viele Erweiterungen
Auswahl verschiedener Themen und dadurch „Dark Mode“ möglich
Aufruf von Quick Edit (CTRL+E)
zum schnellen Bearbeiten von Klassen und Ids
Auswahl von Farben
Erstellen von CSS Regeln
Aufruf von Javascript Funktionen
Unterstützung von LESS, SCSS und CSS
Umfangreicher Quellcode kann gefaltet werden
Eine Mehrfachauswahl und mehrfacher Cursor erleichtern das Schreiben des gleichen Textes an verschiedenen Stellen
Eine Suche von Text in geschlossenen Dateien ist möglich
Mit CTRL+Leertaste werden Code Vorschläge angezeigt
Dazu gibt es noch viel weitere Funktionalität die zeigen, warum dieser Quellcode Editor so beliebt ist.
Web Entwickler brauchen für die Erstellung von Webseiten, CMS, Blogs und weiteren internet-affinen Systemen eine Entwicklungsumgebung. Hier bietet seit vielen Jahren die Open Source Entwicklungsumgebung XAMPP eine tragende Rolle.
XAMPP Installation
Im nachfolgenden Video wird die Installation von XAMPP gezeigt. Mit dabei sind Tipps und Tricks.
In unserem täglichen Leben benutzen wir immer wieder Algorithmen. Aber wenn wir erklären sollen, was ein Algorithmus ist, dann wird es schwierig.
Ein Algorithmus ist eine Anleitung, mit bestimmten Eingabedaten bestimmte Ausgabedaten zu produzieren und auszugeben. Mit anderen Worten:
Es ist eine Handlungsvorschrift, um ein Problem schrittweise zu lösen
Anforderung an Algorithmen in der Programmierung
Der Algorithmus muss vollständig beschreibbar sein
Das Rechenverfahren muss aus einzelnen Arbeitsschritten bestehen, die zur Lösung des Problems führen
Jeder Schritt davon muss zu einem eindeutigen Ergebnis führen
Bei gleichen Eingaben erhält man immer das gleiche Ergebnis
Das Verfahren muss zu einem Ergebnis führen
Der Algorithmus muss universell und auf alle Daten anwendbar sein
Wie wird ein Algorithmus notiert oder aufgeschrieben?
Insgesamt kann dieser in einer Sprache wie zum Beispiel in Deutsch aufgeschrieben werden. Allerdings kann ein Computer den Algorithmus im Regelfall nicht verstehen.
Wie kann ein Computer mit Algorithmen arbeiten?
Damit der Computer den Algorithmus versteht, werden Programmiersprachen eingesetzt. Dabei wird zwischen strukturierter und objektorientierter Programmierung unterschieden. Die meisten Programmiersprachen bieten ähnliche Möglichkeiten die Lösung einer Problemstellung zu beschreiben oder wie der Programmierer sagt, zu implementieren.
Wie kann ein Algorithmus dokumentiert werden?
Dazu kann die Unified Modeling LanguageUML eingesetzt werden. Hier können Algorithmen grafisch dargestellt werden. Dies stellt eine praktische Ergänzung zur textuellen Beschreibung dar.
Für Programmierer und Webentwickler ist es interessant zu wissen, mit welchen Bildschirmauflösungen die Menschen in Deutschland arbeiten. Die Statistik bezieht sich auf alle Gerätegruppen, also Desktop PCs, Notebooks, Tablets, Smartphones und weitere internetfähige Geräte.
Scrum basiert auf agile Methoden wird sehr häufig bei der Software Entwicklung eingesetzt. Agile Methoden der Software Entwicklung werden inzwischen häufig eingesetzt.
Ziele agiler Entwicklungsmethoden
Eine schlanke, flexible Softwareentwicklung ist umsetzbar
Abbau bürokratischer Hemmnisse
Regelbasierte Tätigkeiten in Rollen werden eingesetzt
Die Entwicklung, die Dokumentation und der Test sollen eine Einheit bilden
„Qualität ist die Erfüllung der Kundenanforderung“ – diese Qualität ist zu erreichen
Agile Entwicklung ist dort einzusetzen, wo es Vorteile bringt
Das agile Manifest
Dazu werden die beschriebenen Werte eingesetzt.
Individuen und Interaktionen mehr als Prozesse und Werkzeuge
Funktionierende Software mehr als umfassende Dokumentation
Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
Reagieren auf Veränderung mehr als das Befolgen eines Plans
Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.
Entwickelt wurde diese Vorgehensweise von Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
Für die Entwicklung von Webseiten mit HTML, CSS, Javascript und PHP kann ein einfacher Texteditor genutzt werden. Aber es gibt Editoren, die das Entwickeln erleichtern und viele Zusatzfunktionen bieten. Dazu zeige ich Ihnen hier eine Auswahl an guter Software für die Webentwicklung.
Notepad++
Notepad++ ist ein kostenloser und vielseitiger Editor für Windows, der sich auch für die Erstellung von Webseiten und zur Programmierung in verschiedenen Programmiersprachen wie z. B. für Java, Javascript eignet.
PSPad
PSPad ist ein Freeware Editor und kann mit Hilfe des Internet Explorers die aktuell entwickelten Webseiten in einem Fenster anzeigen. Auch mit diesem Editor lassen sich verschiedene Programmiersprachen schreiben und mit Syntax Highlighting anzeigen.
Brackets
Ein kostenloser Editor von Adobe speziell für die Entwicklung von Webseiten mit HTML, CSS, Javascript und PHP. Er unterstützt die Präprozessoren LESS und SCSS. Diese vereinfachen die Nutzung von CSS. Mit Hilfe eines installierten Chrome Browsers kann eine Live Vorschau aktiviert werden.
Eclipse IDE
Die Entwicklungsumgebung Eclipse eignet sich nicht nur für die Erstellung von Webseiten, sondern auch für die Programmierung mit Java und C++. Der Editor ist kostenlos zu nutzen und bietet einen breiten Funktionsumfang.
Netbeans
Apache Netbeans ist, ähnlich wie Eclipse, eine kostenlose Entwicklungs-umgebung. Es kann für HTML, CSS, Javascript, PHP und für Java eingesetzt werden. Es lässt sich mit den Betriebssystemen Windows, Linux, Apple OSX und BSD einsetzen. Netbeans bietet Assistenten, die die Entwicklung vereinfachen.
Fazit:
Der hier gezeigte Auswahl an Software für die Entwicklung von Webseiten ist nur ein kleiner Teil der verfügbaren Software Tools. Diese zeichnen sich durch großen Funktionsumfang aus. Die Anforderungen von Entwicklern sind unterschiedlich und daher ist die Empfehlung: Probieren Sie die Tools aus.
XML oder ausgeschrieben Extended Markup Language ist eine Metasprache mit der Daten strukturiert beschrieben werden können. XML hat sich aus der Ende der 1960-er Jahre erfundenen Metasprache SGML weiter entwickelt. Mit XML wird die Struktur, der Inhalt und die Darstellung der Daten getrennt. Dadurch lassen sich die 3 Teilbereiche unabhängig voneinander verarbeiten. Auch die millionfach eingesetzte Auszeichnungssprache HTML basiert auf XML und SGML.
Bei der KI dient diese Sprache zur Kommunikation zwischen Anwendungen und Maschinen. So spielt XML eine immer wichtigere Rolle bei der Maschine zu Maschine Kommunikation und wird zudem bei Konfigurationen von IOT Geräten eingesetzt.
Definition von Dokumentklassen
Bevor Daten übertragen werden können, erfolgt die Deklaration der XML-Elemente. Dazu gibt es zwei Möglichkeiten zur Erstellung von Dokumentklassen und Elementen.
Mit DTD, der Document Type Definition lassen sich die Dokumentklassen und Elemente definieren.
Die zweite und modernere Methode ist das XML Schema.
Struktur der XML Dokumente
Die Dokumenttyp Definition
Oder alternativ das XML Schema
Das XML Dokument mit den strukturierten Daten
Das XML Dokument nutzt im Dokumentenkopf entweder das XML Schema oder den DTD. Die Elemente von XML werden auch Tags oder Nodes genannt.
Vorteile von XML
Als Konfigurationsdateien bleiben die Daten für den Menschen lesbar
Über Schnittstellen und Webservices wie SOAP und REST lassen sich Daten systemübergreifend austauschen
Die Dateien lassen sich mit jedem Texteditor öffnen und bearbeiten
Mit Hilfe von CSS oder XSLT lassen sich die Daten transformieren und so unterschiedlich nutzen.
Java Entwickler können jetzt die Version der Apache Netbeans Version 11.1 nutzen. Alle drei Monate wird ein kostenloses, neues Release freigegeben. Es gibt einige Neuerungen, die das Programmieren einfacher gestalten.
Vorgehensweisen für Software- und Webseiten Entwicklung gibt es viele. Heute lernen wir das V-Modell kennen, dass von mir auf Webdesign angepasst wurde. Das V-Modell beinhaltet Projektmanagement, Konfigurationsmanagement, Änderungsmanagement und Qualitätssicherung.
V-Modell im Webdesign
Es unterscheidet sich zu anderen Vorgehensweisen dadurch, dass hier hauptsächlich Aktivitäten und Ergebnisse definiert werden.
V-Modell – Vorgehensweise
Fazit:
Das V-Modell hat aus meiner Sicht eine strukturierte Vorgehensweise. Es ist nicht für jedes Projekt geeignet. Auf Grund verschiedener Kritikpunkte wurde das V-Modell insofern geändert, dass jetzt V-Model XT zusätzlich agile Software Entwicklungstechniken eingesetzt werden. Zudem wird der Auftraggeber (Kunde) mehr in eingebunden. Dies verbessert die Qualität der Produkte oder Dienstleistungen und erleichtert die Abnahme. Die Dokumentation während des gesamten Zyklus unterstützt die Entwicklung und die darauf folgende Qualitätssicherung. Der Kunden kann die Dokumentation bei Erweiterungen oder Ergänzungen nutzen. Bei der Qualitätssicherung kann unter anderen die PDCA Methode eingesetzt werden.
Agile Software Entwicklung wird von immer mehr Entwicklern eingesetzt. Zur agilen Software Entwicklung gibt es verschiedene Modelle. Wir betrachten heute Extreme Programming. Dieses System wurde von Ron Jeffries, Kent Beck und Ward Cunningham im Jahr 1995 entwickelt und eingesetzt.Extreme Programming ist eine Verknüpfung von Kommunikation, Offenheit, strukturierten Vorgehen und Teamarbeit.
Vorgehensweise bei Extreme Programming
Rahmenbedingungen des Entwicklungsprojekts definieren
Analysen durchführen
Nutzenanalyse
Risikoanalyse
Ressourcenanalyse
Synthese bzw. Erstellen eines Prototyps
Abstimmen bis alle Beteiligten den Prototyp akzeptiert haben
Sprung zum nächsten Entwicklungsschritt oder Iteration
Entwicklung und Integration des Produkts
Testen des Produkts
Lebensdauer /Nutzungsdauer bestimmen
Freigabe
weiter mit Punkt 1 bis das Endprodukt vollständig fertiggestellt ist.
Allerdings gibt es gerade im Bereich von Webentwicklung und Software eine ständige Weiterentwicklung. So ist jedes Produkt nur ein temporäres Endprodukt.
Vorteile von Extreme Programming
Der Kunde ist in den Entwicklungsprozess mit einbezogen
Durch die Risikoabschätzung am Beginn erhöht sich die Effizienz und Schwierigkeiten können teilweise vermieden werden
Kooperatives Lernen und kollektive Wissenslandschaften entstehen
Die Zufriedenheit der Mitarbeiter erhöht sich
Betriebswirtschaftlich findet eine Absicherung durch das verteilte Wissen statt
Rollen im Exterme Programming
Kunde/Auftraggeber
Bestimmt den Rahmen des Auftrags
Entscheidet, was gemacht wird
Projektmanager
Führt das Team
Kümmert sich um Problemlösung
Prüft Soll- und Ist Zustände aller Art
Stößt mangelnde Kommunikation an
Entwickler
Entwickelt das Produkt
Zeigt auftauchende Probleme oder Schwierigkeiten auf
Benutzer
Nutzt das Produkt
Gibt seine Änderungs und Erweiterungswünsche an den Auftraggeber weiter
Fazit:
Exterme Programming ist eine interessante Entwicklungsmothode und hat viel Potential. Es setzt auf Offenheit bei der Kommunikation. Denn nur so werden Probleme schnell bekannt und können Lösungen gefunden werden. Mut und Respekt im Umgang bei der täglichen Arbeit sind Voraussetzung für ein erfolgreiches Extreme Programming Projekt.
Die Entwickler der Content Management System Joomla haben die neue Version 3.8.10 entwickelt. Es handelt sich um einen Bugfix zur Version 3.8.9, die neue Funktionen bietet.
Es gibt in den beiden neuen Versionen Neuerungen für
Die Unterstützung aktueller Verschlüsselung
Eine stabilere Codebasis, die schneller funktioniert
Mehrsprachige Beispieldateien
Die verbesserte Generierung von URLs
Insgesamt gibt es Vorbereitungen zum Sprung auf die Version 4.
Scrum wurde in einem Projekt im Zuge der Zusammenarbeit von Ikurjio Nonaka und Jeff Sutherland entwickelt. Mit Scrum versucht man Anpassung, Transparenz und Kontrolle in der Software Entwicklung weitestgehend zu vereinfachen. Dadurch wird eine kostengünstige, schnelle und hochwertige Entwicklung von Software Produkten und -Dienstleistungen ermöglicht. Scrum basiert auf Erfahrung und wird iterativ erweitert. Scrum benutzt Rollen mit unterschiedlichen Aufgaben und Verantwortungen.
Rollen bei Scrum
Das Entwickler Team liefert die vom Product Owner gewünschten Produktteile oder Dienstleistungen in der gewünschten Reihenfolge. Zudem sind die Entwickler für die Qualität des Produkts verantwortlich. Dazu werden Qualitätsstandards vereinbart.
Der Scrum Master kümmert sich als Führungskraft um das Entwickler Team, gehört dem Team aber nicht an. Er kümmert sich um die Organisation und hilft Störungen, Konflikte und Hindernisse zu beseitigen.
In der Rolle als Product Owner ist man für die Konzeption, Festlegung der Produkteigenschaften und die Priorisierung verantwortlich. Er steuert damit den wirtschaftlichen Nutzen für das Unternehmen, ist aber kein Vertreter des Kunden.
Der Kunde oder Auftraggeber wird als Customer dem Product Owner aufzeigen, was das Produkt für Eigenschaften haben soll. Zudem wird der Customer ab einer frühen Phase periodisch das zu entwickelnde Produkt prüfen und Feedback an den Product Owner geben.
Das Management hat bei der Bereitstellung der Ressourcen und dem Ausräumen von Hemmnissen zu unterstützen. Dadurch werden die Rahmenbedingungen stabilisiert.
Die User sind die zukünftigen Nutzer des Produkts oder der Dienstleistung. Daher sind Sie in der Lage die Funktionalität des Produkts zu beurteilen. Zudem können Sie das Produkt ab einer frühen Phase regelmäßig, zum Beispiel nach einem Entwicklungszyklus, ausprobieren und Ihre Ergebnisse und Veränderungsvorschläge mitteilen. diese kann der Product Owner aufgreifen und zur weiteren Entwicklung einfließen lassen.
Dazu wurde im Jahre 2001 das Agile Manifest für Scrum entwickelt, das ich hier angepasst habe.
Agiles Manifest
Eine beständige Zusammenarbeit mit dem Kunden als Partner steht über den Verträgen
Kommunikation, Mut und die Offenheit für Änderungen gilt mehr als das genaue Befolgen eines festgelegten Plans
Menschen und Zusammenarbeit gelten mehr als Werkzeuge und Prozesse, ersetzen diese aber nicht
Funktionierende Programme sind höher einzustufen als ausführliche Dokumentation.
Fazit:
Lean Production in japanischen Unternehmen verfolgt ähnliche Ansätze wie Scrum und nutzt für eine bessere Wertschöpfung unter anderem starkes Teamworking und erfolgreiches Wissensmanagement. Hier sehe ich auch den wichtigen Unterschied. Es wird auch bei Scrum Dokumentation gebraucht, wenn diese nicht “Just in Time” zur Verfügung steht, dann verliert der Scrum Prozess an Effektivität!
Für Entwickler von Webseiten ist es wichtig zu wissen, welche Browser verwendet werden. Dazu habe ich eine Statistik über einen Zeitraum von einem Jahr erstellt. Die Daten wurden von Global Stats Counter zur Verfügung getellt.
Führend ist weiterhin der Chrome Browser von Google. Der Marktanteil von Chrome beträgt 44,8% im Januar 2018, wenn die Chromium Varianten dazugezählt werden. Der Marktanteil von Mozilla Browsern liegt bei 17,49% und Microsoft Browsern werden von 10,39% Nutzern eingesetzt.
Die Erhöhung der Geschwindigkeit des Firefox Browsers konnte keine Verbesserung der Marktanteile bewirken.