PND-GUI: Softwareverwaltung für die Pandora


Also, ich habe meine Arbeit in zwei Teile aufgeteilt. Erstens den Store und zweitens die lokale Verwaltung. Die Featureliste für die lokale Verwaltung steht soweit für eine erste Version, sodass ich damit beginnen kann, während man mit dem Storeteil noch diskutieren und umstrukturieren kann. Das Ganze war ein bisschen undurchsichtig, weil ich nichts davon erwähnt habe.


Thott
 
Thott Chief said:
Also, ich habe meine Arbeit in zwei Teile aufgeteilt. Erstens den Store und zweitens die lokale Verwaltung. Die Featureliste für die lokale Verwaltung steht soweit für eine erste Version, sodass ich damit beginnen kann, während man mit dem Storeteil noch diskutieren und umstrukturieren kann. Das Ganze war ein bisschen undurchsichtig, weil ich nichts davon erwähnt habe.


Thott

Aber du willst keine zwei Programme programmieren, sondern eins, oder?
 
Klar, aber die beiden Teile des Programms haben ja eigentlich keinen Abhängigkeiten voneinander, denn der lokale Teil benötigt nur irgendwelche PNDs.
 
Zu all den Ideen, zwar sind viele Bilder und Videos wunderbar, dennoch brauchen diese Platz also Server also Geld.

Hab heut auch noch ein bisschen an der Store-Qt Version rumgemacht, bin mir aber noch nicht zufrieden.
Als Videostreaming wurde ich Youtube + Phonon nutzen.

Bezüglich Server würde auch die örtlichen Blog`s mal fragen oder anschreiben vielleicht kriegst die damit sogar mal alle unter eine Decke :-D
 
Thott Chief said:
Zu all den Ideen, zwar sind viele Bilder und Videos wunderbar, dennoch brauchen diese Platz also Server also Geld.
Das mit den Bildern sehe ich nicht so als Problem an. Man kann es ja so machen, dass sobald ein Client die Bilder/Videos einmal hat, diese erst dann wieder von Server geladen werden, sobald dieser meldet dass sich die Daten des jeweiligen Spiels geändert haben oder Cache geleert wird. Die großen Versionen der Bilder werden dabei nur auf Nachfrage des Nutzers abgerufen.

Außerdem kann man Bandbreite gegen Rechenleistung austauschen. Man könnte also sobald sich auf dem Server die Bilder eines Spiels ändern für sämtliche Bilder kleine Vorschauen generieren und diese dann allesamt in ein Paket komprimieren. So werden sowohl Bandbreite als auch Rechenzeit des Servers insgesamt verringert.

Videos könnten schon eher schwierig werden.
Thott Chief said:
Als Videostreaming wurde ich Youtube + Phonon nutzen.
Hm, das ist keine schlechte Idee. Bei meinem Entwurf wäre die minimale YouTube-Auflösung noch zu viel, denn der Nutzer würde wahrscheinlich als erstes Videos aufrufen um sich über eine Software zu informieren, weil es einfach ist (auf dem Spiel den Finger nach rechts bewegen, wenn man genug gesehen hat scrollt man einfach weiter), viel geballte Information erbringt und damit den höchsten Nutzen pro Aktion bietet.

Wenn ich das aber auf deinen Entwurf anwende, dann wird der Nutzer dort zuerst die Detailseiten einzelner Spiele aufrufen, und dort könnte man dann auch das Video einbetten. Das wäre dann ein Kompromiss. (Ich persönlich mag Kompromisse zwar nicht und tendiere dann eher zur Streichung, aber das ist eine andere Sache...)

Das wichtigste scheint somit wohl zu sein, dass die Videos auch wirklich sinnvoll sind. Wenn die Videos zu lang sind und die ersten 20 Sekunden den Kern des Spiels nicht treffen, dann werden viele Nutzer trotzdem (oder gerade deswegen) einfach weiterziehen. Das wäre schade drum. Dazu hatte ich in meinem Richtlinien-Entwurf ja vorgesehen:
Christoph.K said:
• Ideally, video 0 should contain a good amount of ingame action and be no longer than 20-30 seconds to quickly demonstrate why the user may find your game interesting (unless any of that doesn't make sense in your particular case, of course).
• Any video except for video 0 should have a short description that is no longer than a yet to be determined number of characters (maybe 140 would be a good choice?). Video 0 will not have a description.
• Any game can have an unlimited number of screenshots and videos as this is not critical to traffic.
Hat jemand dazu irgendwelche Anmerkungen?
Thrake said:
Bevor man anfängt eine GUI zu designen, sollte man erstmal sich die anforderungen ankucken, davon eine Checkliste machen und dann die Gui auf Papier konzeptieren (dabei die Checkliste abarbeiten). Daraufhin solltest du einen prototypen entwerfen (aber erst dann).
Ja, danke, aber ich weiß wie man das machen "sollte". ;) Bei mir finden alle drei Dinge gleichzeitig in Kopf statt wobei ich noch ein paar übergeordnete Dinge beachte, wie z.B. Activity Centered Design, also dass ich Dinge teils radikal anders gestalte als viele es täten. Deshalb auch diese Entwürfe, weil ich sonst keine Aufzeichnungen habe anhand derer ich Ideen mit anderen teilen kann.

Das schaut bei mir dann ungefähr so aus:
  1. Was soll es tun, wie soll es das tun?
  2. Fertigstellen der gesamten Benutzeroberfläche.
  3. Sind im Laufe dessen neue Ideen hinzugekommen? Sollten diese implementiert werden? Wenn ja, dann wieder zu Punkt 1 gehen.
  4. Implementierung.

Wenn ich's einfach so machen würde wie alle es tun, dann könnte ich nicht das tun was ich so gerne mache: etwas erdenken, das BESSER sein soll.
 
Zu dem Video"problem":
Man könnte einfach einen Button einbauen ("Videos suchen"), welcher dann folgende URL aufruft:
Code:
http://www.youtube.com/results?search_query=PND+Programm+Name
Denn für eingebettete Videos ist der Screen wirklich (jaa!) zu klein ;)
 
Also zu klein wärenes wenn das Video als 200x300 Bildchen zu sehen wäre, aber man könnte doch auch einfach einen Fullscreenmodus einbauen.

-- Mo Jul 19, 2010 14:46 --

Ich habe jetzt einmal einen kleinen Mockup für die Detailansicht erstellt:
[youtube]LxipOxYMrnU[/youtube]
 
Thott Chief said:
Ich habe jetzt einmal einen kleinen Mockup für die Detailansicht erstellt:
video:http://www.youtube.com/watch?v=LxipOxYMrnU
Schön! So kommt beim Benutzen zwar nicht das Gefühl auf, dass ich bei meinem Konzept mal vorgesehen hatte, aber es ist auf andere Weise gut.

Sowie ich mal wieder ein System habe, das leistungsmäßig mit großen Photoshop-Dateien umgehen kann, bin ich dir übrigens gerne behilflich falls du irgendetwas grafisches brauchst.
 
Also kurze Zwischenmeldung, es ist jetzt möglich PND Dateien anzuzeigen ( mittels libpnd ) sprich man gibt im Programm einen Pfad an, und schon erscheint ein Item in der Liste, und man kann wählen, um dann rechts in der Detailansicht die Details zu sehen. Man kann also auch auf den Pfad der PND zugreifen. So ist es jetzt nicht mehr sehr schwer die Entfernen-,Verschieben-,AppDataOrdner- oder Verstecken- Funktion einzubauen. Momentan bin ich daran, die Previewbilder aus der Datei zu extrahieren.

@ChristophK , ich würde deine Hilfe gerne in Anspruch nehmen, sobald es etwas
gibt, gebe ich Bescheid. Ich finde dein Konzept ziemlich gut, dennoch sehe ich ein paar Schwachstellen, denn wenn ich auf dem Bildschirm nur ungefähr 3 Programme in Kleinansicht sehe, dann hat man nicht die nötige Übersicht die man benötigt. Dennoch möchte ich deine Mühe nutzen, denn dein Konzept eignet sich sehr gut zum stöbern. Ich habe vor deinem Konzept als Stöbern-Funktion Einzug zugeben.

-- Di Aug 03, 2010 21:13 --

Also, ich habe heute Abend leider keine Zeit mehr, aber morgen gibts ne
Statusmeldung. Ich kann schonmal soviel sagen, der lokale Verwaltungsteil ist eigentlich fertig.

-- Fr Aug 06, 2010 13:34 --

Es ist nicht mehr ganz "morgen" geworden, aber hier jetzt endlich mal ein VIDEO:
[youtube]4jVlZ4SBtNs[/youtube]
http://www.youtube.com/watch?v=4jVlZ4SBtNs

Vorschläge sind natürlich wie immer willkommen.
 
Thott Chief said:
@ChristophK , ich würde deine Hilfe gerne in Anspruch nehmen, sobald es etwas
gibt, gebe ich Bescheid. Ich finde dein Konzept ziemlich gut, dennoch sehe ich ein paar Schwachstellen, denn wenn ich auf dem Bildschirm nur ungefähr 3 Programme in Kleinansicht sehe, dann hat man nicht die nötige Übersicht die man benötigt. Dennoch möchte ich deine Mühe nutzen, denn dein Konzept eignet sich sehr gut zum stöbern. Ich habe vor deinem Konzept als Stöbern-Funktion Einzug zugeben.
...genau dafür ist es ja auch gedacht, zum Stöbern. :)

Dass die Übersicht fehlt weiß ich, ich hatte dafür eine Art Buchstabenleiste oben in der lilafarbenen Leiste angedacht, etwa wie folgt:
Code:
<i>
</i>[Zurueck-Pfeil]-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[Schliessen]

Wobei zwischen den einzelnen Buchstaben mehr oder weniger Abstand sein soll, je nachdem, wie viele items mit dem jeweiligen Buchstaben beginnen, also übertrieben dargestellt etwa so:
Code:
<i>
</i>[Zurueck-Pfeil]-A--B----C-D---E---F--G-----H--I--J-K---L------M-N--O--PQ---R--S---T-U------V--W--XYZ[Schliessen]

Der Zurück-Pfeil bringt den Nutzer zur Kategorieauswahl zurück, "Schließen" speichert den momentanen Zustand der Anwendung und schließt sie sofort und ohne Nachfrage. Per Druck auf einen Buchstaben gelangt man direkt zu den entsprechend benannten items, alternativ ersetzt das Drücken eines beliebigen Buchstabens auf der Tastatur die ABC-Leiste mit einem Suchfeld, in dem sich bereits der gedrückte Buchstabe befindet. Beim Drücken der Taste "u":
Code:
<i>
</i>[Zurueck-Pfeil][u                                                                            ][Suche schliessen]

Das dann versehen mit einer graphischen Repräsentation des momentanen "Aufenthaltsortes" innerhalb der item-Liste:
Code:
<i>
</i>                                                     __
[Zurueck-Pfeil]-A--B----C-D---E---F--G-----H--I--J-K---L------M-N--O--PQ---R--S---T-U------V--W--XYZ[Schliessen]
(Schematische Darstellung)

Außerdem hatte ich noch einen Kategorie-Bildschirm eingeplant, der vor dieser Liste ("showfloor") angezeigt wird, mit großen Schaltflächen z.B. für Spiele (mit in die Schaltfläche eingearbeiteten "Unterschaltflächen" für Genres), Anwendungen, Nutzdaten und einer "Stöbern"-Schaltfläche, die ALLES auf einmal in einer Liste anzeigt (dann mit beabsichtigtem Verlust der Übersicht und in zufälliger Reihenfolge, allerdings noch MIT Aufenthaltsort-Anzeiger).

Solange man den Überblick innerhalb des Gesamtmenge an items behält sehe ich es nicht als Problem an, dass nur 3 items auf einmal angezeigt werden können (bzw. sogar nur 2, wenn man es genau nimmt). Oder könntest du mehr als ein Spiel auf einmal beachten? Der Sinn ist ja gerade, den Fokus auf jeweils EINEN Eintrag zur Zeit zu richten, und über diesen möglichst sinnvolle Informationen mit möglichst gutem Information/Interaktion-Faktor bereitzustellen (z.B. das Scrollen zu den Seiten, um die Bilder und Videos schon in der Liste ansehen zu können).

Ich möchte noch einmal anmerken, dass das von mir eingestellte Bild lediglich einen unfertigen Prototypen eines Ausschnitts der Benutzeroberfläche darstellt, der logisch wie auch graphisch unvollendet ist (z.B. würde ich die "Mehr"-Schaltflächen so niemals in das fertige Projekt einfließen lassen, die lilafarbene Leiste am oberen Rand ist komplett leer, die Bewertungsbalken zeigen keine Bewertung an). Einen kompletten Einblick in das Projekt erhält man auf diese Weise nicht, was ganz einfach daran liegt, dass ich das Konzept aufgrund fehlender Resonanzen eigentlich bereits gestrichen hatte.
Thott Chief said:
Es ist nicht mehr ganz "morgen" geworden, aber hier jetzt endlich mal ein VIDEO:
[...]
http://www.youtube.com/watch?v=4jVlZ4SBtNs

Vorschläge sind natürlich wie immer willkommen.
Naja... wenn du PND-GUI schon als eine Benutzeroberfläche für den Endkunden konzipierst, dann wäre es meiner Meinung nach sinnvoller, das Video aus eben dieser Sicht zu erstellen (also auf einem fiktiven 800x480-Bildschirm, nicht mit einem "großen" Gnome-Desktop). Aber das ist nur wie ich es handhaben würde.


------------------------------------------------------------------------
edit-10aug2010-1214: Achso, und das hier hatte ich ganz übersehen:
Screeny said:
Zu dem Video"problem":
Man könnte einfach einen Button einbauen ("Videos suchen"), welcher dann folgende URL aufruft:
Code:
http://www.youtube.com/results?search_query=PND+Programm+Name
Denn für eingebettete Videos ist der Screen wirklich (jaa!) zu klein ;)
Thott Chief said:
Also zu klein wärenes wenn das Video als 200x300 Bildchen zu sehen wäre, aber man könnte doch auch einfach einen Fullscreenmodus einbauen.
...ich hatte dafür damals bei mir auch eine Detailansicht für jedes Spiel erdacht. Ganz oben Erklärung, dann Steckbrief (Genre, Spielerzahl, Gesamt-Dateigröße etc.). Weiter runterscrollen -> Vorschaubilder zu den einzelnen Bildern und Videos, die durch Antippen im Vollbild angezeigt werden. Außerdem war bei mir vorgesehen, dass wenn man bei der Ansicht des Programms, bei der die erhältlichen Spiele aufgelistet sind (also diejenige, von der ich auch das Bild eingestellt hatte) man mit dem Finger auf einem Spiel nach rechts wischt, die Bilder des Spiels nach rechts herausgeschoben werden und an dessen Stelle ein Video tritt, mit einer sehr kurzen Beschreibung des NÄCHSTEN Videos (== das erste Video nach rechts aus dem Bildschirm schieben) anbei. Etwa so:

Ursprungszustand:
Code:
<i>
</i>[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ Battle for Wesnoth, The                                                              ]

[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ Tuxracer                                                                             ]
...mit dem Finger auf dem "The Battle for Wesnoth"-Eintrag nach recht wischen bewegt die Bilder nach rechts aus dem Bild und bringt das erste Video zum Vorschein:

Code:
<i>
</i>[     [VideoVideoVideoVideoVi]                                                         ]
[     [VideoVideoVideoVideoVi]    Next Video:                                          ]
[     [VideoVideoVideoVideoVi]    The Battle for Wesnoth's beautiful fantasy theme     ]
[     [VideoVideoVideoVideoVi]                                                         ]
[ Battle for Wesnoth, The                                                              ]

[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ [BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil][BildBildBildBildBil] ]
[ Tuxracer                                                                             ]
Das Video wird SOFORT abgespielt und durch Berührung im Vollbild dargestellt.

Mich würde interessieren, ob jemand dazu irgendwelche Anmerkungen oder Überlegungen hat.
 
Verstehe ich das richtig, dass auch ein Online-Shop für die Programme in Planung ist? Wenn ja möchte ich euch REST als "Schnittstelle" zwischen Server und Client ans Herz legen.

Erstens ermöglicht ihr damit noch anderen Teams die Nutzung des Servers und zweitens würde es ein wenig zukunftssicherer werden. Ich hab schon viel mit solchen Dingen entwickelt, von daher weiß ich die Vorteile zu schätzen, auch wenn es durchaus schönere Konzepte für solche Services gibt ;)

Ein sehr gutes Beispiel ist dabei YQL (Yahoo Query Language). Guckt es euch an ;)
 
Also, nach langer Zeit melde ich mich mal wieder. Ich war ein paar Wochen nicht zuhause, aber jetzt bin ich wieder da. Ich hab das ganze ja in Qt in Planung gehabt, zwar ist das für mich total bequem, würde aber wie bei Minitube bedeuten das die Pnd um die 100MB hätte. Also habe ich einfach alles in GTK neu geschrieben. Ist soweit fertig, sieht eigentlich genau gleich aus. Insgesamt ist es viel schneller, da vor dem Start nicht jede PND gemountet werden muss.

Zu REST, wenn ich die Möglichkeit hätte, dann würde ich das durchaus machen, aber da ich keine Server-Anwendung schreiben werde, habe ich mir eigentlich gedacht das ich das mit dem Parsen der Webseiten mache. Da jetzt wiedereinmal die Diskussion aufkam, welche PND-Quelle nun die Wahre sei, muss ich wohl mehrere in Betracht ziehen. Also am praktischsten wäre so eine Art Pluginsystem, jedes Plugin ist dann eine andere Quelle. Wobei ich mich erstmal informieren müsste, wie man sowas am Besten anstellt.

Thott Chief
 
Back
Top