On collaboration and consolidation (1 Viewer)

Oxan

Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    (note: this is mainly interesting to developers, even though user input on what you want to see is welcome too).

    Hi,

    I believe the current situation with MediaPortal-webservices isn't good for the enduser: there are a lot of projects, all aiming to provide the same or parts of something that should be a single solution. Every service has its own webserver, TvServer plugin and (sometimes quite difficult) configuration.

    We currently have this:
    • TV4Home Core Service: an API that can be used to communicate with the TvService. 'Just' an dependency for other services.
    • TV4Home Web Interface: a webinterface to manage the TV Server over the internet: schedule recordings, etc (no stable release yet?)
    • MPWebStream: stream LiveTV and recordings over the internet (no stable release yet, but it should come quite soon)
    • GMAWebService: A webinterface for the clientside of MediaPortal (not yet released)
    • iPiMP: webinterface to the TvServer and the client, quite advanced, but mainly meant for iPhones
    • kroko's Android app: an Android remote for MediaPortal with a serverside
    • What did I forget?

    If you've both an iOS and Android device, and you want to be able to use MediaPortal on your PC too you'll have to install about 5 different services... That doesn't sound good. The ultimate goal is a smooth user experience: the user downloads one installer, that installs all dependencies, configures everything and just works. Then there's a single webserver running that hosts everything.

    I see a few problems here:
    • How do we get things so far that everything uses a single webserver? At least some of the sites are simple ASP.NET which can be adapted quite easily to IIS (Express), but I don't know about the others.
    • How do we integrate the client part with the server part? For multiseat, you want a single webinterface for the TV Server, and another one for the client, so that the server is still available even if the client isn't online. For singleseat installations, you want a single webinterface (just like MediaPortal).
    • If you have multiple clients, you ideally want to have the same databases (music, tv series, movies, etc) available on all of them. This seems more like a design flaw in MediaPortal: it was a lot easier if everything was client-server and not only the TV part. But it isn't, so we have to work around it, but how?

    Another problem is that people are implementing the same in different ways: both MPWebStream and iPiMP have implemented transcoding, there are like 10 (some of them obsolete) webinterfaces available, etc. It would be much better if things are implemented just once, and we focus on creating new cool stuff instead.

    Main goal of this topic is to reach some consensus on how to continue to create the best user experience, hopefully without duplicating effort. After all a perfect webinterface can be one of the unique features that other mediacenters lack :)
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    I think one of the main goals should be interoperability. That's why i would suggest, that we use the TV4Home Core Service for the tv server part because it's stable, it's clean and furthermore it's based on WCF this leads to the ability to easily add additional endpoints(currently SOAP and JSON available, so easily adaptable by any programming language and platform).
    Regarding the (media on)client side i would suggest to redesign and combine cheezy's approach (using the database.dll of mp) and also WCF (like used in the GMAWebservice) but i would also extend this by using Managed Extensibility Framework to provide a really generic webservice which for example could also use XBMC's local database files (or a filesystem access or whatever any dev could think of)

    In reference to the singleseat vs. multiseat mess i suggest to develop a "sync service" may be based on SyncFX(MS Sync framework) which syncs all client data with the server which then uses this databases to offer the data by the service.

    Last but not least i want to explain some thing we(tv 4home) are planning:
    We want to merge features of my WebMediaPortal together with the current (tv4home)webinterface using ASP.Net MVC3. The resulting webinterface will be provided for WHS AND standalone using IIS Express.
    Furthermore we would like to work together with anyone who is willingly to extend it. So for example Oxan if you are interested in adding your transcoding solution to the resulting webinterface this would be really great :)

    eagle
    DieBagger's application is already based on tv4home core service and the mentioned gmawebservice ;)
     

    DieBagger

    Retired Team Member
  • Premium Supporter
  • September 11, 2007
    2,516
    1,276
    39
    Austria
    Home Country
    Austria Austria
    To me the most promising combination regarding remote access would be:
    - TV4Home for tvserver (with MPWebStream support)
    - GmaWebservice for media access (with MPWebStream support)
    - WifiRemote for remote control (WifiRemote - MediaPortal Wiki)

    These should make the backend. Neither of those actually needs a webserver so all that is needed is an installer that copies files for all 3 services and stuff like opening firewall ports, a config (ideally a single one for all of them) and a user management (again, ideally one for all services).

    All 3 services offer json interface so pretty much every app can use it.

    Clients would be:
    - Webinterfaces (ipimp for mobile devices, combination of TV4Home Web Interface and mikes webinterface for gmawebservice)
    - Native mobile apps
    - aMPdroid
    - krokos android remote
    - couchpotato (iphone)
    - ...
    - Native Apps for Windows/Unix
    - TvViewer
    - ...
     

    Oxan

    Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    I think you should keep in mind DieBagger's aMPDroid Remote Controll and Big_Kev's Web-Interface. The first one looks pretty promising the second one is used by myself to trigger recordings over the internet

    eagle
    aMPDroid already uses the TV4Home CS and GMAServices, so that isn't relevant on the server side. Big_Kev's webinterface seems to be unmaintained and there isn't any source code available, so I guess we can't do much with that either.

    Mike: the TV4Home Core Service for the TV Server part seems to be a good choice indeed. Your idea for the client side seems good to, but it needs a new service to be developed? I also have no idea what th eManaged Extensibility Framework is, so I'll do some research on it.

    I can't find any references to WebMediaPortal, so a link would be nice, but the idea seems good. It is going to be a single webinterface for everything? (I'll look into transcoding integration later).

    DieBagger: there's a single problem there: you can't integrate MPWebStream with a WCF service. The result is that it needs
    a webserver, which was one of the problems.
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    Your idea for the client side seems good to, but it needs a new service to be developed?
    Well... We have to "working" solutions but partly the code of the gmawebservice is a bit messy and could need some work(especially the music section) and cheezy's approach only uses json.
    So i think it would be best to design a new one based on the existing code bases of both. The idea behind the MEF is to have a plugin based architecture to also allow other developers to use the service for as an example XBMC databases.(For example assume someone uses the tvserver with XBMC.. with MEF someone can write a plugin for those databases and any frontend would just work fine with these data too).

    WebMediaPortal is the name of my current work which i've posted here https://forum.team-mediaportal.com/...ccess-webservice-89956/index2.html#post729096
    Together with akoeplinger we will move the tv4home webinterface from asp.net(Forms) to asp.net MVC 3 and then merge both interfaces in one. The code isn't public yet but i'm planning to do this soon.

    It is going to be a single webinterface for everything?
    Yes that's the plan.
     

    DieBagger

    Retired Team Member
  • Premium Supporter
  • September 11, 2007
    2,516
    1,276
    39
    Austria
    Home Country
    Austria Austria
    Btw, one more component would be great:

    A tray-application (starting on windows startup) that offers a webservice and a configuration interface to:
    - start/stop mediaportal client
    - start/stop tv server
    - start/stop/configure gma/tv4home/webserver
     

    Oxan

    Retired Team Member
  • Premium Supporter
  • August 29, 2009
    1,730
    1,124
    Home Country
    Netherlands Netherlands
    Well... We have to "working" solutions but partly the code of the gmawebservice is a bit messy and could need some work(especially the music section) and cheezy's approach only uses json.
    So i think it would be best to design a new one based on the existing code bases of both. The idea behind the MEF is to have a plugin based architecture to also allow other developers to use the service for as an example XBMC databases.(For example assume someone uses the tvserver with XBMC.. with MEF someone can write a plugin for those databases and any frontend would just work fine with these data too).
    Seems a good idea. It looks like the main problem here is developers now?

    WebMediaPortal is the name of my current work which i've posted here https://forum.team-mediaportal.com/...ccess-webservice-89956/index2.html#post729096
    Together with akoeplinger we will move the tv4home webinterface from asp.net(Forms) to asp.net MVC 3 and then merge both interfaces in one. The code isn't public yet but i'm planning to do this soon.
    Ah, I missed the link. All the naming is getting a bit confusing :)
    It looks like this can be the ultimate webinterface for MediaPortal, if we can integrate MPWebStream. Whenever you release the code I'll take a look at that. Another nice thing would be if this webinterface could host the above mentioned service, so a single installation would work for everything.

    Yes that's the plan.
    Ok. It would be a nice feature if it can run without the client installed (obviously you can only use the TV part then).
     

    Mike Lowrey

    Portal Pro
    February 4, 2009
    638
    124
    Berlin
    Home Country
    Germany Germany
    Seems a good idea. It looks like the main problem here is developers now?
    Yes...

    Whenever you release the code I'll take a look at that.
    You can find the code here General Media Access WebService
    Currently the tv guide isn't working because i have to figure out how to calculate the length of each program div ;)

    Ok. It would be a nice feature if it can run without the client installed (obviously you can only use the TV part then).
    As far as i know there would be no problem as long as the views will not be accessed, and whether a link in the menu is shown or not can be determined based on availability of the needed databases.
    With this we could also address a multiseat setup where the user shares the databases with a server...
     

    Users who are viewing this thread

    Top Bottom