Warum ist Software so schlecht?



  • axo und kupplungspedal find ich end geil... da kann mans zumindest mal richtig schnalzen lassen 🕶

    und wer das nicht zu schätzen weiß, kauft sich einen smart :p



  • Autobash schrieb:

    So eine "Bugliste" wie unser Windows bashender Freund kann ich auch für Autos erstellen.
    [...]

    Du hättest einige meiner Punkte widerlegen können, wenn du so schlau bist. Stattdessen schreibst du dummes Zeug.



  • Warum Software so schlecht ist?

    Ganz einfach, die Softwareentwicklung ist sehr jung und kein Mensch weiß wirklich wie man gute Software schreibt, die auch noch wart-/erweiterbar ist und zudem bezahlbar für den Kunden bleibt.

    Das ist alles noch ziemliches Neuland im Vergleich zu anderen Technologien. Wenn es irgendwann mal einen Menschen gibt der weiß wie es richtig geht, dann wird es auch irgendwann gute Software geben. Noch habe ich keinen gesehen. Große Klappe ja, aber sonst wird im Prinzip nur nachgeplappert was irgendwelche Autoren mal geschrieben haben. Für Fortschritt muss man aber anders denken als die meisten und andere Wege probieren.

    In der Wissenschaft sind es oft die, die von den meisten Experten für verrückt erklärt wurden, die wirklich was bewegt haben. Ein Stromschwimmer wird nie besondere Kenntnisse erlangen, weil er das macht was alle machen.



  • TyRoXx schrieb:

    Autobash schrieb:

    So eine "Bugliste" wie unser Windows bashender Freund kann ich auch für Autos erstellen.
    [...]

    Du hättest einige meiner Punkte widerlegen können, wenn du so schlau bist. Stattdessen schreibst du dummes Zeug.

    Wenn du schlau wärst, hättest du gemerkt, dass ich einige deiner dämlichsten Punkte widerlegen habe.

    Mehr will ich zu deinem getrolle agrnicht mehr schreiben.



  • Software ist um Größenordnungen besser als noch vor 10 oder 15 Jahren.

    Butterbrot schrieb:

    ...

    Nachgeplapperter Schrott



  • TyRoXx schrieb:

    Autobash schrieb:

    So eine "Bugliste" wie unser Windows bashender Freund kann ich auch für Autos erstellen.
    [...]

    Du hättest einige meiner Punkte widerlegen können, wenn du so schlau bist. Stattdessen schreibst du dummes Zeug.

    Ne, das ist kein dummes Zeug.

    Sobald du ein komplexes System hast, ist es sehr schwer es fehlerfrei zu bekommen. Es ist dann einfach einen Resourcen Frage.

    Und Resourcen kosten Geld - so dass man idR nicht ein "perfekt" anvisiert sondern ein "gut genug".



  • [quote="Shade Of Mine"]

    TyRoXx schrieb:

    Ne, das ist kein dummes Zeug.

    Sobald du ein komplexes System hast, ist es sehr schwer es fehlerfrei zu bekommen. Es ist dann einfach einen Resourcen Frage.

    Und Resourcen kosten Geld - so dass man idR nicht ein "perfekt" anvisiert sondern ein "gut genug".

    Ja und dazu kommt oft noch, dass Software garnicht für den Anwender prdouziert wird ... (Insbesondere Webseiten)



  • ScottZhang schrieb:

    Ja und dazu kommt oft noch, dass Software garnicht für den Anwender prdouziert wird ... (Insbesondere Webseiten)

    👍
    Sehr guter Punkt.
    Die prioritaeten wie die vorhandenen Resourcen verteilt werden soll, werden nur sehr sehr selten vom Endanwender festgelegt. Auch bei Software wie zB MS Office ist das der Fall.

    Denn es wird nicht ueberlegt: wie koennen wir die perfekte Software schreiben, sondern die Aufgabenstellung lautet: wie koennen wir den Gewinn maximieren. Welche Features brauchen wir, damit wir uns von anderen abheben.

    Hier hat Community driven Software natuerlich vorteile - aber dort kommt ein anderes Problem zum tragen: unlustige Aufgaben werden nicht gerne gemacht. Es sind sehr wenige kommerzielle Resourcen verfuegbar und die Leute die gerne helfen wollen was lustigeres machen als einen obskuren synchronisations Bug zwichen 10 Threads zu suchen.



  • Einiges wurde ja schon gesagt.

    Es ist erstmal logisch, dass man bei der Softwareentwicklung Fehler und für den Benutzer nicht sehr angenehme Dinge einbaut. Um das rauszukriegen, muss man Review-Prozesse einbauen und es korrigieren. Das kostet aber Geld und Benutzer akzeptieren sehr viele Mängel in der Regel gerne, wenn es dafür günstiger ist. Softwareentwicklung für Endbenutzer ist nicht auf Korrektheit, sondern auf Wirtschaftlichkeit ausgelegt.

    Und Crapware ist ja auch ne Art von Spam(werbung), z.B. Suchleisten oder Plugins für Firefox. Ist ja nicht so, dass man dem Benutzer etwas angenehm machen möchte. Und DRM gefällt Benutzern auch nicht, aber die Softwareleiter bilden sich dadurch eben ein etwas zu erreichen (was partiell ja auch stimmt).

    Von daher wundert mich das alles gar nicht... Hat imo auch nicht so besonders viel mit supervielen schlechten Programmierern zu tun.



  • Software, wie alle anderen kommerziell verkauften Produkte sind häuptsäschlich schlecht, weil das Management nicht mehr Geld für Entwicklung, Tests und Produktion ausgeben will, sondern Einnahmen machen will. Irgendwann wird das Zeug halt mal verkauft, auch wenn jeder weiß, dass man noch viel verbessern und einige Bugs fixen könnte.



  • cooky451 schrieb:

    Flash Player: Riesiger Ressourcenverbrauch, instabil, unsicher, proprietär, nervig, unnötig, hoffentlich bald endlich tot

    👍 👍 👍 Ich würde spenden dafür, dass sie den Quatsch endlich sterben lassen.

    Brauchst du garnicht für spenden, Adobe macht das schon für Dich.
    Flash wird eingestellt



  • adonis schrieb:

    Brauchst du garnicht für spenden, Adobe macht das schon für Dich.
    Flash wird eingestellt

    Ich dachte nur flash für linux. Link?

    //edit

    Zur Liste: vieles davon ist in der Kategori: "ich mag es nicht, also ist es scheisse". ABer als Programmeirer hier in diesem Forum ist man aller Wahrscheinlichkeit nach nicht in der Zielgruppe dieser Programme.

    Windows: Man kann Fenster an den Seiten "andocken", sodass sie die Hälfte des Bildschirms einnehmen (das ist ein so nützliches und selbstverständliches Feature, dass andere GUIs damit fast unbenutzbar für mich sind)
    das Andocken funktioniert aber nicht bei mehreren Bildschirmen
    es sind auch keine anderen Größenverhältnisse als 50:50 möglich

    1. Mache dir den Unterschied "windowmanager" und "GUI" klar.
    2. Schaue dir Tiling Windowmanager an. Windows hat halt keinen Tiling Windowmanager und damit sind die Einstellungsmöglichkeiten begrenzt. (awesome machts zum Beispiel richtig gut).

    @cooky

    . Bei einem Windows 7 System mit üblicher Hardware muss man sogar kaum noch eigene Treiber installieren.

    Ich habe heute auf meinem neuen notebook ine ganze batterie treiber über linux runter laden müssen, weil windows mal rein gar nichts erkannt hat - inklusive ethernet. Im Vergleich dazu musste ich bei Linux ausser dem nvidia treiber exakt gar nichts installieren.

    Dann noch so Kleinigkeiten: WIndows bietet keinen automatisierten Weg an, beim einstöpseln der Maus das touchpad abzuschalten, das funktioniert nur durch direkten Treibersupport. Das linux udev script sind 2 Zeilen.



  • otze schrieb:

    Das linux udev script sind 2 Zeilen.

    😃 👍 Kann man udev essen?



  • otze schrieb:

    Ich habe heute auf meinem neuen notebook ine ganze batterie treiber über linux runter laden müssen, weil windows mal rein gar nichts erkannt hat - inklusive ethernet. Im Vergleich dazu musste ich bei Linux ausser dem nvidia treiber exakt gar nichts installieren.

    Kann es sein, dass deine Windowsversion vor deiner Hardware released wurde und dein Linux danach?



  • Mal wieder wegkommend von der Diskussion Win/Linux und Treibern - so weit muß man in die Tiefen der Systeme gar nicht absteigen.

    Es gibt viele Beispiele im Alltag, die einfach nur nerven, mein Klassiker ist bei einer Bank ein Online-Applet für die Kontoauszüge.

    Wenn ich da am 27.10.2012 drauf gehe, bietet mir die Datumszeile "Alle Buchungen ab" dann an:

    27.09.2012

    Also immer 1 Monat zurück.

    Jetzt will ich ab z.B. ab dem 01.10. eingeben, ich setze den Cursor auf das Datumsfeld an den Anfang, und lösche mit "Entf":

    7 .09.2012

    Und PENG geht eine Messagebox auf! Ungültiges Datumsformat (da an der ersten Position eines Tagesfelds nur 0, 1, 2, 3 stehen darf, offensichtlich). Das System prüft wohl nach jeder Eingabe sofort gegen einen sehr starren Prüfausdruck der Form [0,1,2,3][0-9], so daß ein an sich als "07" interpretierbares Datum zu einem ungültigen Ausdruck wird.

    Und natürlich die Messagebox. Bestätigen, danach ist der Fokus aus der Eingabe weg. Keine Taborder... man muß den Fokus neu mit der Maus setzen.

    Alternativ haben die Jungs natürlich auch einen Date-Time-Picker, den ich verwenden könnte, aber ich bin eigentlich mit der Tastatur viel schneller als mit der Maus, auf jeden Fall bei sowas.

    Da kann man dann auch erkennen, wie getestet wurde... nämlich ein Prüffall war "ungültiges Datum erkennen", ein anderer Prüffall war "Datum aus Picker richtig übernehmen". Aber es gab wohl kein Testszenario für "Benutzer gibt Datum ein".

    Bei solchen Fällen würde ich den Fehler daher weniger im Management suchen, denn anscheinend wurde ja Zeit und Aufwand in sowas gesteckt, weil die Prüfung an sich immer ein gültiges Datum garantiert - auf Kosten der Nerven des Benutzers. Aber die Prüfungen wurden aus Sicht eines Programmierers erstellt nach der Vorgabe "egal was kommt, da darf nie ein illegales Datum stehen". Aber es wurde nicht aus Sicht des Nutzers gedacht.

    Und das ist bei vielen nervigen Problemen im Alltag meines Erachtens das größere Problem... daß Programmierer eben wie Programmierer denken, die ihr Programm vor dem Benutzer schützen wollen, also quasi restriktive Auslegung der Benutzerinteraktion. Der Benutzer dagegen will eine Aufgabe erledigen, das steht selten im Vordergrund.

    Ein anderes Beispiel?

    Ich habe einen HP Allinone mit Scanner und Co. Prima Geräte, gute Scanqualität. Wenn ich in den Einzelblatteinzug einen Stapel Papier einlege und alles für den Scan vorbereite, erscheint bei jedem neuen Blatt kurze eine Fortschrittsbox à la "Scanne Seite x". Gottseidank geht sie wenigstens von alleine weg und man muß nicht klicken, aber sie raubt dem anderen aktiven Programm unweigerlich den Fokus. Noch fieser ist, daß es in diesem Dialogfenster einen Button "Abbrechen" gibt, der Default ist, d.h. ein Druck auf die Return-Taste wird als Abbruch erkannt. Sobald ich also neben dem Scanvorgang noch irgendwas schreibe und Pech habe vom Timing her, bricht mein Scanvorgang ab, weil das Zeilenende in der Email als Auslösen des Abbruchs im Scannerdialog erkannt wird. Zur Sicherheit heißt das also: während des Scanvorgangs nicht weiterarbeiten. Da hat man dann eine Multicore-CPU, die problemlos mit sowas im Hintergrund klarkommt, aber leider macht die Software das kaputt.

    Auch sowas sehe ich weniger als Problem eines Managements, sondern als Versagen der Testcases - offensichtlich wird da relativ exklusiv getestet, d.h. wenn man den Treiber testet, läuft sonst nix weiter. Es ist kein Benutzerumfeld, daß da testet, sondern ein Tester an einer weitgehend sterilisierten Box, kein Wunder, daß dem das nicht auffällt.

    Das wäre nicht einmal schlimm, da man solche Seiteneffekte im Vorfeld kaum überblicken kann (naja, eine Best Practise wäre natürlich schon, nie einen Fokus zu stehlen), wenn ein Benutzer da wenigstens die Chance hätte den Fehler zu melden. Habe ich versucht... Szenario erklärt, Email an den Support gemacht. Kam zunächst mal eine Standardantwort wie "blabla, neuer Treiber, und keine Garantie für andere Anwendung, ich soll mich doch an deren Hersteller wenden." Noch mal nachgehakt, bis jemand das Problem als solches verstanden hat, und meinte, sie würden das an die Fachabteilung geben. Das war irgendwann 2010. Es gab seit der Zeit viele Updates. Behoben ist das nicht.

    Wobei sich da einiges durch die App-Märkte tut, wenn da was nicht geht in Bezug auf Usability schreien einige 100 User, und es wird auch bei großen Firmen eher rasch gefixt - man kann sich nur wünschen, daß das auch beim PC-Markt bald mal Einzug hält.



  • Marc++us schrieb:

    Bei solchen Fällen würde ich den Fehler daher weniger im Management suchen[...]

    Wo denn sonst? Das Management ist dafür verantwortlich, Aufgaben wie die Beurteilung der Usability an die richtigen Leute zu delegieren. Es sei denn das ist eine kleine Klitsche, wo jeder macht, was er für richtig hält.

    Auch sowas sehe ich weniger als Problem eines Managements, sondern als Versagen der Testcases - offensichtlich wird da relativ exklusiv getestet, d.h. wenn man den Treiber testet, läuft sonst nix weiter. Es ist kein Benutzerumfeld, daß da testet, sondern ein Tester an einer weitgehend sterilisierten Box, kein Wunder, daß dem das nicht auffällt.

    Wieso versagen? Das ist doch absolut korrekt so. Funktionale Tests finden in einer "sterilen" Umgebung statt, so dass alles jederzeit nachvollziehbar ist.

    Das Problem ist, dass es zusätzlich keine Tests gibt, die das ganze aus Benutzersicht testen. Und das wiederum zu etablieren ist Aufgabe des Managements.

    Habe ich versucht... Szenario erklärt, Email an den Support gemacht. Kam zunächst mal eine Standardantwort wie "blabla, neuer Treiber, und keine Garantie für andere Anwendung, ich soll mich doch an deren Hersteller wenden." Noch mal nachgehakt, bis jemand das Problem als solches verstanden hat, und meinte, sie würden das an die Fachabteilung geben. Das war irgendwann 2010. Es gab seit der Zeit viele Updates. Behoben ist das nicht.

    Und du meinst, das hat ein kleiner Programmierer oder Supporter unter den Tisch fallen lassen? Nein, die haben das in ihre Problemdatenbank eingetragen, und das Problem ist -- vom Management natürlich -- nicht ausreichend priorisiert worden, um angegangen zu werden.

    Was alles nicht heißt, dass das Management "schuld" an irgendwas ist, die machen auch nur ihren Job und haben halt entschieden, dass es wirtschaftlich nichts bringt, die Usability zu verbessern.



  • Marc++us schrieb:

    Jetzt will ich ab z.B. ab dem 01.10. eingeben, ich setze den Cursor auf das Datumsfeld an den Anfang, und lösche mit "Entf":

    7 .09.2012

    Und PENG geht eine Messagebox auf! Ungültiges Datumsformat

    ...

    Alternativ haben die Jungs natürlich auch einen Date-Time-Picker, den ich verwenden könnte, aber ich bin eigentlich mit der Tastatur viel schneller als mit der Maus, auf jeden Fall bei sowas.

    Da kann man dann auch erkennen, wie getestet wurde... nämlich ein Prüffall war "ungültiges Datum erkennen", ein anderer Prüffall war "Datum aus Picker richtig übernehmen". Aber es gab wohl kein Testszenario für "Benutzer gibt Datum ein".

    Bei solchen Fällen würde ich den Fehler daher weniger im Management suchen, denn anscheinend wurde ja Zeit und Aufwand in sowas gesteckt, weil die Prüfung an sich immer ein gültiges Datum garantiert - auf Kosten der Nerven des Benutzers.

    Hast du schon mal im Bugtrackingsystem deiner Bank nachgeschaut, ob der Bug nicht sogar vielleicht schon bekannt ist und irgendein Manager entschieden hat, dass es trotzdem einen Release der SW gibt, weil man sie ja benutzen kann.



  • Ähm, ich bin verblüfft, was betrachtet Ihr eigentlich als Managerebene? Wo beginnt die für Euch? Für mein besseres Verständnis.



  • Marc++us schrieb:

    Ähm, ich bin verblüfft, was betrachtet Ihr eigentlich als Managerebene? Wo beginnt die für Euch? Für mein besseres Verständnis.

    Das Management beginnt grundsätzlich eine Stufe über einem selbst. Und wenn man Konzernboss ist, wird "Management" durch "Politik" ersetzt 😉



  • Naja, eigentlich ist es schon fast so wie Tim es sagt. Kommt halt auch darauf an, wieviele Hierarchiestufen ein Unternehmen hat. Im Prinzip die Leute die bestimmen können, ob noch mehr Geld ausgegeben wird um einen Bug zu fixen oder ob die SW jetzt raus geht.


Anmelden zum Antworten