Vorschlag: Dreambox SDK

  • Hallo alle zusammen,


    Es scheint manchmal so als ob die Community sehr viele Ideen hat, aber wenige Ideen werden umgesetzt.
    Vielleicht ist es einfach so weil viele User angst von den ganzen verschiedenen Linux tools kriegen!?
    Oder viele User können nicht programmieren und versuchen es deswegen nicht einmal!?


    Die Lösung: Eine Dreambox SDK (Software Development Toolkit)


    Ich habe mir die SDK für Macs und Iphones angeguckt. Dort ist es kinderleicht Programme selbst zu machen. Man muss nicht mal wissen wie man programmiert für ein einfaches GUI Programm!!!



    Was ich mir unter einer Dreambox SDK vorstelle:
    1.Ein Tool für die Erstellung von Dreambox apps. Dazu gehört natürlich ein GUI Bearbeiter, wo man die ganze Oberfläche mit der Maus zeichnen kann. Man sollte alle Buttons , Drop down menus etc so platzieren wie man es am ende auf dem TV sieht!
    Natürlich muss das Tool das app in ein IPK file compilen können.


    2.Ein Tool für die Erstellung von Sh Scripts. Es sollte eine art Notepad sein, aber eine interface die leicht zu lesen ist (sprich colour coding + command help + autocompletion). Dieses Tool sollte das script direkt in der SDK ausführbar sein damit man testen kann ob die Befehle funktionieren. (dieses könnte man über Cygwin machen)


    3. Ein HTML Editor für die Bearbeitung vom Webcontrol. Das währe echt Interessant um selber Webcontrol zu bearbeiten oder selbst Plugins für Extras zu schreiben. Z.b. Ich möchte gerne eine Funktion programmieren wo ich im Webbouqet editor mehrere Sender auswählen und verschieben kann.


    4. Ein Skin Editor. Natürlich muss es Userfreundlich sein, damit man Kinderleicht einen Skin selbst bauen kann.


    5. Sourcecode editor. Ein tool wo mit man Enigma2 selbst bauen kann. Damit kann man es gestalten wie man will. Natürlich muss auch das Tool das ganze in ein Img file umwandeln können (z.b. mit einem mipsel emulator? )


    Im Prinzip soll alles leicht sein wie z.b. bei den Apple SDKs, alle tools sollten in einer SDK sein. Natürlich muss man auch die "exe" (also binary files) ganz leicht erstellen können um sie zu testen!


    Was denkt ihr alle davon? Fällt euch noch was ein was ihr in so einer SDK braucht? Was haltet ihr Developers von so was?
    Ich habe den Eindruck dass Ghost heute sehr frustriert war weil andere STB Hersteller den Dreambox code 1:1 "klauen" aber keinen code an die Community weitergeben.
    Mit so einer SDK würden sich meiner Meinung nach viel mehr Leute damit beschäftigen code für die Dreambox zu schreiben........... Ohne SDK ist das ganze auch viel schwieriger!

  • wenn ich so an meinen fingern herum zähle, arbeiten bei dmm z.z. 6 softwareentwickler. wieviele von denen sollen denn deiner meinung nach an dem sdk programmieren?

    mfg


    OoZooN


    Support für OoZooN Images gibt es auf forum.oozoon.de , nicht hier!


    Two Beer or not two Beer, thats the Question


    Aktuelle Nachrichten rund um OoZooN-Images gibt es auf Twitter

    • Offizieller Beitrag

    Die Idee ist, zugegeben nicht schlecht.
    Aber bei der Größe des Entwicklungsteams völlig utopisch.
    Ein "Visual Studio for Dreamboxes" wird es nicht geben. In solchen Tools stecken i.d.R. einige MANNJAHRE an Entwicklungszeit.


    So "einfach" wie du das alles darstellt ist das auch bei WEITEM nicht.
    WebControl ist Standard HTML, ein neues Layout kann jeder der möchte erstellen.
    Und wenn's Probleme gibt kann man (beim Webinterface) jederzeit bei mir nachfragen.
    Einen Visuellen Editor für Webcontrol halte ich für quasi unmöglich.


    ABER: Mit relativ geringem Aufwand kann man sich eine ganz verünftige Eclipse-Umgebung einrichten mit der es zumindest möglich ist vernünftig Plugins zu entwicklen (inkl. Funktionierender Imports für "from enigma import").
    Live-Debugging geht allerdings nur direkt auf der box.... (keine Ahnung ob es tools gibt mit denen das "einfach" remote gemacht werden kann).

    • Offizieller Beitrag

    Ich denke ein SDK könnte eher so aussehen, dass man ein Framework vorgibt, welches eine Entwicklungsumgebung bereitstellt (z.B. ein Linux-System) und ansonsten Anleitungen und Regeln vorgibt, wie man was entwickeln kann, also einen Leitfaden.


    SDK heißt ja nicht zwangsläufig gleich "alleskönnende Spielwiese für Dummies" und rechtfertigt wohl auch eher weniger den Entwicklungsaufwand, den Riesenkonzerne wie Apple oder Google stemmen können (ganz zu schweigen von der doch geringfügig unterschiedlichen Nutzerbasis)

  • "alleskönnende Spielwiese für Dummies" ist glaube ich was die Community dringend braucht. Das währe auch bestimmt zum Vorteil für die ganzen DMM Developers!


    Vieleicht währe ja ein Linux Distro mit allen erforderlichen Tools ein guter anfang?
    Ich meine meiste tools sind schon bestimmt open source. Was ich meine ist alle tools zu bundlen und in eine schöne SDK zu stecken :smiling_face:


    Was benutzen denn die dmm developers? Gibt es eigentlich tools um die GUI per hand "zu zeichnen"? oder muss man es programmieren?
    Mipsel emulatoren gibt es ja auch schon... vieleicht könnte man ja die ganze dreambox in der SDK emulieren ?


    Edit: ich weiss das es enigma2 zu x86 geportet wurde ... aber das ganze zum laufen zum bekommen ist kein schönes Abenteuer!


    Deswegen muss alles in der ""alleskönnenden Spielwiese für Dummies" mit dabei sein.

    4 Mal editiert, zuletzt von lolcat ()

  • ich nutze hier ein 32 bit ubuntu und alle erforderlichen tools sind eigendlich im online repository vorhanden. ansonsten finden man distributionsspezifische hinweise auf openembedded.org.

    mfg


    OoZooN


    Support für OoZooN Images gibt es auf forum.oozoon.de , nicht hier!


    Two Beer or not two Beer, thats the Question


    Aktuelle Nachrichten rund um OoZooN-Images gibt es auf Twitter

  • Hm, also natürlich wäre das ne tolle Sache...



    Zitat

    Dort ist es kinderleicht Programme selbst zu machen. Man muss nicht mal wissen wie man programmiert für ein einfaches GUI Programm!!!

    Ja, toll, super... wie eins bei Visual Basic unter Windows... jeder konnte auf einmal Fensterchen für Windows "malen"...aber was machste denn dann damit? Anschauen? :smiling_face:



    Aber was brauchst Du denn eigentlich, wenn Du was programmieren willst für die Box?
    Einen Linux-tauglichen Texteditor, ein FTP Programm und eine Telnet-Console. Und extrem viel Zeit, um Dich in die Sourcen von Enigma2 einzulesen. Das wars doch schon, wenn Du ein klassiches Python-Plugin für Enigma2 schreiben willst. Die benötigten Tools bietet doch eigentlich jedes Betriebssysttem von Haus aus. Naja, ne Dreambox brauchste natürlich auch noch. :smiling_face_with_sunglasses:

    Gibt es eigentlich tools um die GUI per hand "zu zeichnen"? oder muss man es programmieren?

    Das machst Du per Hand. Du positionierst also einfach die Objekte in einer xml-Struktur mit Koordinatenangaben an die Stelle, wo Du sie haben willst. Wenn Du Dich in Enigma2 eingelesen hast und ein bisschen was programmiert hast, geht das rucky zucky...ich habe noch nie einen Skin-Editor beim Programmieren vermisst...

  • Das einzige, was mir fehlt, ist die Nachverfolgbarkeit von Imports in meinem Eclipse. Da habe ich das PyDev- Paket installiert und das funktioniert wunderbar: Mit Syntax- Highlighting, Fehler- Erkennung (natürlich nicht von logischen Fehlern), etc... Nur testen kann man den Code nicht direkt, und auch nicht prüfen, ob man für die engima2- Klassen alle richtigen Parameter verwendet hat, aber ansonsten...


    Und für das Skin- Design: Es gibt doch den e2Skinner, der ist doch schonmal sehr nahe an einem "Skin- Editor für Dummies" dran...


    Und diese beiden Tools sind das Maximum, was Du erwarten kannst... Was natürlich cool wäre, wenn jemand mal ein Image erstellen würde mit einem enigma2, das auf dem PC läuft (siehe hier). Denn dann müsste man beim Entwickeln nicht immer seine Familie stören durch die ständigen Crashes, die bei einem Anfänger zwangsläufig sind.


    Ich habe mich an der Anleitung schon dreimal versucht, es aber nie hinbekommen... da wäre eine fertig vorinstallierte und eingerichtete VM echt ne coole Sache (gibt es z.B. für das Webcontentmanagement- system contao auch)


    ABER: Die Entwickler- Gemeinde rund um die Dreamboxen ist echt gross. Wenn Du einen sinnvollen Vorschlag für ein neues Plugin hast, und es nicht selbst umsetzen kannst, dann poste den Vorschlag doch mal hier oder im ihad. Da findet sich sicherlich jemand, der sich dieses Problems annimmt (wenn ohne Eingriffe in die DMM- Sourcen möglich)


    Gruss
    Tode

    • Offizieller Beitrag

    Also...
    Mit minimalen manuellen Ergänzungen/Anpassungen kann man problemlos soweit kommen, dass sämtlich e2-Schnittstellen (aus der enigma2.py und auch alle restlichen e2 Module) in eclipse korrekt bekannt sind. Dazu muss man eigtl. lediglich auch enigma2 als Projekt im Workspace haben, die enigma.py aus /test nach / kopieren und das Projekt dann zum Buildpath des enigma2-plugins Projektes hinzufügen.


    Damit hat man schonmal eine recht angenehme Entwicklungsumgebung.


    Ich frage jetzt mal so in die Runde, weil grad sehr gut passt:


    Wer hätte evtl. Zeit Interesse an einem Wiki mitzuarbeiten welches dafür da sein soll Einsteigern, Fortgeschrittenen und auch ggf. Profis die einfach e2 nicht kennen einen Leitfaden zur Programmierung von enigma2 plugins in python (von mir auch c++, davon hab ich nur keinen Plan ;)) and die Hand zu geben?


    Böse Zungen behaupten dass ich die Idee schon länger hatte und es sogar schon eine wiki-installation gibt (Auf Anfrage gibt es für an einer Mitarbeit interessierte den Link per PM).

  • Reichi: ausgezeichnete idee!:) ich kann mir auch nicht vorstellen, dass diese 'alleskönnende spielwiese für dummies' realisierbar ist, aber ... Wie wäre es mit nem bereich, wo python-interessierte 'doofe' fragen stellen dürfen, oder mal ein elaborat reinstellen können und bei problemen von erfahrenen codern nen schubs in die richtige richtung bekommen könnten? Vielleicht noch ne sammlung mit wichtigen links und ein paar hilfreiche tutorials, dann wäre der einstieg für einige interessierte bestimmt leichter. Hab in letzter zeit einiges gegoogelt und für den anfang mal ein hilfreiches einsteigerbuch gefunden ('a byte of python'). Wär nur wünschenswert, wenn es nen bereich gäbe, wo man E2 bezogene fragen stellen könnte.

  • Dann bräuchte man ja nur ein paar supporter 'requirieren'.;) ich glaub nur, dass ein wiki allein zu wenig ist, man sollte sich auch 'live' austauschen können.

  • Ein schönes Wiki wäre aber wirklich nicht schlecht mit ein paar Tutorials und Beispielscripten wie man zB ein kleines "Hello World" Popup auf den TV zaubern kann und dann halt auch ein paar Tutorials für fortgeschrittenere ...


    Ich hatte am Anfang auch arge Probleme, ein bisschen Programmieren konnte ich ja aber ich wusste wirklich nicht wo ich anfangen sollte, wo ich die dateien hinpacken muss, wie sie aussehen sollen und so oder wo ich in enigma2 suchen muss wenn ich mir anschauen will wie was funktioniert und was für funktionen E2 bereitstellt ...


    Also nen DEV-Wiki wäre aufjedenfall ne Gute Idee, ich würde da sicher dann auch den ein oder andere Artikel/Tutorial veröffentlichen

    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert aber niemand weiß warum.

  • auch wenn der wunsch nach einem dreambox sdk wohl ein unerfüllter bleiben wird, glaube ich, dass dieser thread doch ein ganz wichtiges und vor allem sehr interessantes thema anschneidet, über das ich auch schon gegrübelt habe.
    die dreamboxen verfügen ja nun von haus aus mit enigma und linux als basis über eine sehr offene plattform, die geradezu danach schreit, mit guten erweiterungen, plug-ins etc. gefüttert zu werden. dieses ist ja auch sicher die hoffnung vieler käufer - dass es zukünftig immer wieder kleine oder große innovationen in software für diese boxen geben wird.


    ich will hier sicher keine schlechte stimmung provozieren, aber die anzahl verfügbarer plug-ins für die dreams ist nach wie vor recht überschaubar. ohne zweifel sind die zugrundeliegenden ideen so mancher plug-ins sehr gut und auch nützlich, doch scheint mir die konkrete umsetzung oft halbherzig und in der entwicklung zu schnell abgeschlossen, was so gar nicht zum anspruch und preissegment dieser boxen passen will. die wesentliche ursache hierfür ist natürlich auch die offenheit der plattform. jeder kann im prinzip mit guten oder weniger guten umsetzungen - die in der freizeit entstehen - die gemeinde beglücken, langweilen oder auch enttäuschen. von einer (teils kommerzialisierten) app gemeinde à la iphone beispielsweise kann man hier derzeit aber nur träumen.


    ist die plug-in entwicklung für die dreamboxen also einfach nur unattraktiv, zu mühsam, zu kompliziert oder einfach nur etwas für "freaks"? ich selbst habe viele jahre software für unterschiedliche plattformen entwickelt. angefangen mit einer guten idee könnte mich auch heute noch der ehrgeiz bei der dreambox packen, wenn ich hierfür zeit, genug wissen, geeignete entwicklungswerkzeuge und schlicht eine ausführliche und vollständige dokumentation zur entwicklung hätte.
    bei letzterem hatte ich auch so meine probleme. kann hier jemand zum thema dokumentation etwas beisteuern? vielleicht habe ich einfach nicht lange genug gesucht, aber ich habe bis jetzt keine wirklich erschöpfende dokumentation zur entwicklung mit enigma unter einsatz einer dreambox gefunden, was natürlich grundvoraussetzung ist, wenn man nicht gerade einen großteil seiner zeit mit diesem thema verbringen will. ich verstehe, dass viel wissen und erfahrung bei dmm liegen, doch für außenstehende stellt es schon eine nicht unerhebliche hürde da, z. b. einen einigermaßen vollständigen skin neu zu "entwicklen". es gibt hierfür ein einziges einigermaßen brauchbares visuelles entwicklungstool, was jedoch noch viele ecken und kanten hat und auch nicht mehr groß weiterntwickelt wird - leider, denn ich kann mir gut vorstellen, wieviel aufwand hier bereits reingeflossen ist und wie sehr solch ein tool bei der entwicklung helfen kann, wenn es denn konsequent gepflegt wird.


    es gibt so gesehen keine (zentrale) treibende kraft, die die entwicklung von apps für die dreamboxen vorantreibt. jeder werkelt für sich an einer idee und lässt diese auch wieder fallen, wenn keine lust oder zeit mehr vorhanden ist. die entwicklung ist hier nicht kommerzialisiert, weil es hierfür aktuell auch gar kein geschäftsmodell gibt. deshalb existieren hierfür auch weder zeit noch mittel, um einer breiteren gemeinde die entwicklung an dieser tollen plattform einen nennenswerten schritt näher zu bringen. es bleibt bei einem - hobby. und wer das intensiv pflegen will, der muss sich halt durchkämpfen. die plattform ist technisch sehr offen, doch der (schnelle) zugang bleibt wenigen enthusiasten vorbehalten. meine prognose ist, dass sich hieran auch nichts ändern wird. das ist mehr als schade, doch wer kann/soll/will so viel zeit investieren und durchhalten, ohne dass dabei am ende etwas bei rüberkommt? die gemeinde wird das auch nicht stemmen können.
    dass hier ein wenig not am mann ist, zeigt m. E. auch der plug-in award, der sicher die entwicklung etwas ankurbeln sollte. ob dieser tatsächlich einen spürbaren effekt hatte, wird sich vielleicht noch zeigen.
    aktuell jedenfalls sehe ich die dreambox plattform als ein riesen potential, das momentan nicht im entferntesten ausgereizt wird - leider. vergessen wir aber auch nicht, dass die dreamboxen schon an sich sehr lohnende receiver sind, auch ohne dass man sie erweitert. aber vorsicht, die entwickler von "standard" receivern schlafen nicht, interaktivität mit zusatzdiensten sind im kommen und wird bedient werden, ob offen oder nicht. wir können daher nur hoffen, dass die grüne wiese dreambox hier den anschluss nicht verliert.


    ein breit und tief angelegtes wiki für entwickler wäre hier sicher ein guter start für eine wachsende akzeptanz bei eben diesen. man muss nicht alles im kopf haben, aber man sollte wenigstens wissen, wo man nachschlagen kann.

    db 8k (csv image) --dvi 1080i--> abt vp50pro scaler --dvi 1920x1080p--> jvc lt-42wx70 monitor
    db 8k --100 mb/s --> linksys befsr81 router --100 mb/s--> synology ds508 nas

  • Dann schon mal ein danke meinerseits an reichi für das 'anleiern' der sache.:) ein paar wichtige aspekte wurden hier im thread ja schon angeschnitten und auf diese ideen läßt sich sicher aufbauen. Ich als noob kann sicher (noch) nichts zu einer dokumentation beitragen außer aufzuzeigen, wo die schwierigkeiten für nen anfänger im umgang mit python liegt. In diesem sinne, auf ein gutes gelingen.