Auch wenn weder Render Engine, noch Skriptausführen (und wahrscheinlich auch noch einige anderen Dinge) in irgendeiner Weise von ihm selbst geschrieben werden, heißt das nicht, dass man sein Programm nicht als Webbrowser bezeichnen kann. Das Problem ist eher, dass andere beim Lesen von "Ich schreibe einen Webbrowser" und sinngemäßen Aussagen aber genau das erwarten.
Neben diesen Funktionalitäten gibt es noch einige weitere Dinge, die einen Browser von anderen unterscheiden kann. Abgesehen von relativ offensichtlichen Features, die das Browser-Steuerelement ihm nicht abnimmt, wie Lesezeichenverwaltung, Browserhistorie, etc. gibt es noch sehr viele weitere Möglichkeiten. Beispiele wären (was mir gerade eingefallen ist, es kann natürlich noch dutzende weitere geben):
- eine Websuchen über die Adresszeile (bspw. indem eine bestimmte, Benutzerdefinierte Zeichenfolge am Anfang der Eingabe getätigt wird oder indem Suchbegriffe eingegeben werden)
- eine Downloadverwaltung (mit erweiterten Funktionalitäten, wie dem Analysieren von Seiten nach entsprechenden Links)
- Entwicklerwerkzeuge
- ein frei konfigurierbares Interface/Layout (Positionierung der Buttons, Eingabefelder, ...)
- Sitzungsverwaltungen
- weitere Clients (IRC, FTP (inklusive Upload), E-Mail, Torrent, ...)
- ein Dateimanager
- Skinning (Visualisierung der Buttons, Eingabefelder, ...)
- Benutzerdefinierte Skripte/Styles
- ...
Das Problem dürfte allerdings sein, dass es einen nicht zu unterschätzenden Aufwand bedeuten dürfte, die grundlegensten Funktionalitäten umzusetzen, damit man also browsen kann und vielleicht auch eine etwas angenehmere Eingabe hat, als URLs gänzlich eingeben zu müssen. Damit der Browser im Gegensatz zu anderen Browsern Features besitzt, die diesen zumindest für eine bestimmte Nutzergruppe interessant erscheinen lassen könnte, muss natürlich noch mehr Zeit investiert werden.
Abgesehen davon, dass es schwer werden dürfte, die anderen Browser einzuholen (dort sind mehr Leute am Werk, die bereits mehr Features umgesetzt haben), wird es auch schwierig, mit der Entwicklung mitzuhalten und neue, interessante Features zu implementieren.
Dazu kommt das Problem, dass einige der von mir genannten Features nicht ganz trivial sind oder für eine saubere Umsetzung eine gute Architektur im Hintergrund benötigen.
Als Übungsprojekt kann das relativ interessant sein (wenn man denn grundsätzlich gut genug im Bereich Programmierung ist), allerdings ist das Ziel, einen ernsthaften (konkurrenzfähigen) Browser zu entwickeln, übermäßig hoch angesetzt.