@pck: Es gibt keinen Grund, sich zu ärgern. Das ist hier keine wir-gegen-dich- oder wir-haben-Recht-und-du-nicht-Sache. Es ist eine sachliche Diskussion. Also bitte nimm das nicht persönlich. Wir sind gerne bereit, auf alle Vorschläge einzugehen. Aber du musst auch akzeptieren, wenn andere eine andere Meinung haben.
pck hat geschrieben:Wie erfährt man ohne Settings von wann bis wann ein Tag läuft?
Das geht in der Tat noch nicht. Wenn du das brauchst, dann müssen wir den PluginManager erweitern.
pck hat geschrieben:Wie informiere ich ProgramChangeListener, dass sich meine Icons verändert haben?
Da gibt es einen Workaround: Rufe beim betroffenen Program mark und gleich wieder unmark auf, dann wird es neu gezeichnet.
pck hat geschrieben:Wie deaktiviert sich ein Plugin bei 1.0.1 ohne internes Wissen?
Ein Plugin sollte sich nicht selbst deaktivieren. Warum brauchst du das?
pck hat geschrieben:Til hat geschrieben:Wir können die Icon-Einstellung ja so ändern, wie wir es auch bei den Plugins gemacht haben: Standardmäßig sind alle eingeschalten.
Dann hätte LocalImdb ja dieselben "Rechte" wie die mitgelieferten Plugins.
Bleibt aber Bodos berechtigter Einwand: "Wenn du einfach magisch Icons anmachst, weiß ja keiner wo man die aus macht und die Reihenfolge ändert."
So, wie es im Moment ist, ist es natürlich nicht gut: Der Benutzer installiert ein Plugin und muss dann TV-Browser gut genug kennen, um zu wissen, dass er zusätzlich die Icons aktivieren muss, damit er was sieht. Da denkt natürlich keiner dran. Zuerst denkt man, dass die Installation des Plugins nicht geklappt hat. Ergo sucht man an der falschen Stelle.
Ich fände es trotzdem am besten, wenn Icons standardmäßig angeschlten sind. Man kann davon ausgehen, dass der Anwender alle Icons will. Wie du bereits gesagt hast: Viele Plugins haben ohne Icons gar keinen Sinn.
Wenn er eines explizit nicht will, dann muss er halt die Einstellungsseite finden. Dann sucht er aber auch nach der richtigen Funktion. Und "Aussehen/Sendungsanzeige" ist doch eigentlich passend.
pck hat geschrieben:Wie wäre es wenn ihr mich einfach mal machen lasst, und nach paar Monaten "Erfahrung sammeln" reden wir darüber ob Plugins wie bei Such-Panels auch bei PluginIcon-Panels einen offiziellen Funktionsaufruf kriegen.
Such-Panels sind etwas anderes. Da geht es nicht um ein und die selbe Funktion. Ob ich eine Lieblingssendung einstelle, einen Filter zusammenbaue oder ob ich jetzt eine Suche durchführen will, sind verschiedene Funktionen.
pck hat geschrieben:Es wäre schon sehr arm, wenn man in einem OpenSource™ Projekt die Features beschränkt, nur weil etwas nicht von den Schöpfern vorgesehen ist.
Das hat nichts mit Open-Source oder nicht-Open-Source zu tun. Es geht nur darum, dass eine wachsende Software beherrschbar bleibt. Um das zu ermöglichen gibt es gewisse Techniken, die wir einhalten wollen.
pck hat geschrieben:War mir ja fast klar das keine konkreten Gegenvorschläge für TVB1.0.1-kompatible Plugins kommen. Nur noch mehr vom allgemeinen Gemecker.
Tschuldigung, dass ich jetzt erst genau auf deine Punkte eingangen bin. Ich dachte, die Antworten von pumpkin wären deine gewesen. Hab ich übersehen...
pck hat geschrieben:bodo hat geschrieben:wenn du an der Plugin-Schnittstelle vorbei arbeitest, dann können wir dir nicht garantieren das dein Plugin in der nächsten Version läuft. Das heißt du hast erhöhten Pflege-Aufwand.
Du meinst im Gegensatz zu "wenn du nur offizielle Funktionen nutzt garantieren wir auch nichts"?
Oder im Gegensatz zu "wenn du's auf dem offiziellen Weg nicht programmieren kannst, spar dir dir Mühe und schreib einfach kein Plugin".
Was soll denn das jetzt? Ist das eine Anspielung auf die Änderung der Plugin-Schnittstelle in Version 1.1?
Genau diese Änderung ist wie ich finde der beste Beweis, wie wichtig die Schnittstelle ist. Bei dem Umbau habe ich extrem darauf geachtet, dass alte Plugins trotzdem noch laufen. Bei einer klar definierten Schnittstelle kann man bei Änderungen die alten Sachen als deprecated deklarieren und sie so umschreiben, dass sie immer noch funktionieren. Dann kann man auch einen Wiki-Artikel schreiben, in dem man genau erklärt, was sich verändert hat, so dass der Aufwand für beide Seiten minimiert werden kann.
Wenn du einfach auf TV-Browser-Interna zugreifst, dann kann alles mögliche passieren. Es kann sein, dass es die Klassen/Methoden gar nicht mehr gibt. Es kann sein, dass sie bestimmte andere Vorbedingungen erwarten. Es wird also ein elendes Chaos.
pck hat geschrieben:bodo hat geschrieben:Und wenn ein Autofahrer sagt das er den Blinker nich findet, baut der Hersteller doch nich noch einen 2. Knopf ein der auch noch den Blinker betätigt, oder
? Dann positioniert er den Blinker anders.
Wenn ein Zulieferer die Blinkersteuerung über den Kofferraum anbietet sollte der Autobauer auf einen Blinker am Lenker verzichten, bis der Zulieferer 2007 andere Teile liefern kann? Bullshit.
Wenn du findest, dass sich die Icon-Einstellungen "im Kofferraum" befinden, dann sag uns einen besseren Platz. Wenn ein Blinkerhebel im Kofferraum ist, dann macht keinen zweiten dazu, sondern man packt den Hebel aus dem Kofferraum wo anders hin...
pck hat geschrieben:Aber schauen wir mal, wie sich andere Plugins an die "tvbrowser.* nicht in Plugins" Regel halten ...
Code: Alles auswählen
CapturePlugin, Bodo Tasche / troggan / bodum: tvbrowser.core.Settings
FavoritesPlugin, Til Schneider / darras: tvbrowser.core.filters.FilterList
ListViewPlugin, Bodo Tasche / troggan / bodo: tvbrowser.core.Settings
ReminderPlugin, Martin Oberhauser / darras: tvbrowser.core.plugin.PluginProxy
Echt super, dass die größten Nörgler bei mir andere Maßstäbe ansetzen als bei sich selber. Und im Gegensatz zu mir können die alle die Plugin-Schnittstelle erweitern.
Natürlich gelten die Regeln genauso auch für uns. Stimmt. Wir haben vereinzelt (und es ist wirklich vereinzelt) auch auf das tvbrowser-Package zugegriffen. Aber glaube mir, wenn ich dir sage, dass das aus Versehen passiert ist.
Wir werden das umgehend ändern.
pck hat geschrieben:Wenn ihr wirklich Kompatibilität mit der Zukunft wollt ...
... haltet euch an die Empfehlung, jede JComponent Accessible zu machen.
(Vielleicht bringt's nichts in Bezug auf die aktuellen Mac-Probleme, aber sauberer ist's dennoch.)
... haltet euch beim Überladen an den DesignContract.
(programpanel.getHeight() != programpanel.getSize().height)
... meidet reservierte Schlüsselworte als Variablennamen.
("Enumeration enum" verursacht aus gutem Grund seit Jahren eine Warnung.)
... nutzt evtl. WebStart anstelle eines plattformabhängigien Installers.
Mann mann, jetzt gräbst du aber Sachen aus... Wir haben nie behauptet, dass wir perfekt sind. Wir haben auch nie behauptet, dass wir in irgend einer Weise besser als Du oder jemand anderes sind. Also bitte reiss dich mal am Riemen und verstehe, dass das hier kein persönlicher Angriff ist...
Es gibt überhaupt keinen Grund derart emotional zu reagieren. Wir haben eine bestimmte Meinung, die wir sachlich erklären. Wenn du anderer Meinung bist, dann schreibe sie uns. Aber akzeptiere, dass es andere Meinungen gibt und gehe nicht gleich in die Luft...
pck hat geschrieben:Und wenn ihr Pluginprogrammierer nicht vergraulen wollt macht EINMAL einen KONKRETEN Vorschlag wie es besser geht anstatt wiederholt allgemeine Kritik zu äußern.
Jemanden zu vergraulen wäre das letzte, was wir wollen. IMHO war unsere Kritik auch durchaus konstruktiv...
Wir sind der Überzeugung, dass das Design-Prinzip mit der Plugin-Schnittstelle wichtig ist, wenn TV-Browser in absehbarer Zeit noch stabil laufen soll. Das heißt nunmal, dass sich Plugins an die Schnittstelle halten sollen.
Im Umkehrschluss heißt das: Wenn ein Plugin eine Funktionalität braucht, die die Plugin-Schnittstelle nicht hergibt, dann muss von unserer Seite eine offizielle Möglichkeit dafür geschaffen werden.
Alles andere würde dazu führen, dass die Software innerhalb kürzester Zeit nicht mehr beherrschbar wird. Dann treten die typischen Symptome von verrotteter Software auf: Man ändert etwas an einer Stelle und an einer völlig anderen Stelle kracht es. Und kein Mensch ist mehr in der Lage das undurchschaubare Dickicht von Abhängigkeiten zu verstehen. Der Aufwand für Änderungen steigt ins unermessliche und keiner hat mehr Lust, irgend etwas zu machen, weil er Angst hat, er macht mehr kaputt als besser.