Mein Hardwareempfehler pc-kombo hat ein kleines Update bekommen: Man kann jetzt durch die empfohlene Hardware durchbrowsen. Ist beispielsweise die vorgeschlagene Grafikkarte zu schwach und doch noch Geld übrig, kann sie mit dem Pfeil nach rechts durch die billigste bessere Grafikkarte ausgewechselt werden. Alternativ durch die beste billigere, wenn sie zu teuer ist.
Die Buttons sind natürlich die skalierten Canvase, über die ich geschrieben habe.
Im Hintergrund ist das eine komplett neue Software. Statt Java mit handgeschriebenem Server ist es Ruby mit Sinatra. Anfangs nur ein Klon der alten Seite, ermöglichte es mir der Wechsel überhaupt erst, diese Ajax-Erweiterungen einzubauen, vorher wäre das viel zu kompliziert gewesen. Und so hielt ich die Hardwareerkennung auch das erste mal für solide genug, automatisch die Datenbank zu updaten. Wöchentlich wird jetzt Amazon nach neuer Hardware und Google nach neuen Preisen gefragt (die Beispiele sind immer aktuell).
Zuerst wollte ich die Oberfläche komplett über den Haufen werfen. Ich dachte erst an Punkte auf dem Performance-Balken, welche die verschiedenen Prozessoren/Grafikkarten anzeigen und auf die man klicken kann, um sie zu wechseln. Oder ein Slider auf einem Preis-Balken mit der Leistung als Säulendiagramm. Daraus wurde dann ein Karussell-artiges Widget, auf dem die Punkte platziert werden, da ich nicht wusste, wieviel Hardware er jeweils empfiehlt und ob der Platz auf einem normalen Balken ausreichen würde. Dazu sollte dann tooltipp-artig die gewählte Hardware angezeigt und im Hintergrund noch ein Balken die Leistung anzeigen. Auf Papier sah das ganz gut aus. Mitten im Bauen davon wurde mir bewusst, dass die wirklich wichtige Funktion davon ist, bessere und billigere Hardware zu wählen, was recht simpel in die alte Oberfläche zu integrieren sein müsste. Stimmte dann auch. Zum Glück, denn das Karussell-Widget in schön zu bauen hätte mich sehr viel Zeit gekostet.
Das gute an den ganzen Überlegungen ist, dass der Kernalgorithmus davon profitiert hat. Das war ein ziemlich wilder Optimierungsversuch aus allen möglichen Kombinationen. Durch ein Diagramm mit Leistung als y-Achse und Preis als x-Achse wurde mir klar, dass im Grunde nur die beste Hardware im Preisbereich ausgewählt werden muss. Dadurch wurde der ganze Algorithmus wesentlich weniger komplex (auch im Sinne der O-Notation) und so schneller. Überhaupt wurde das "wähle die nächstbessere Grafikkarte" durch diese Grundüberlegung erst wirklich möglich.
Wieder viele Änderungen im Hintergrund, wovon man die wenigsten direkt sieht. Aber die Ändern-Pfeile bemerkt man vermutlich schon direkt. Mich würde interessieren: Funktioniert die Seite mit den Pfeile so für dich?
onli blogging am : Hallo OSBN
Vorschau anzeigen