[mythtv] MythWeb

Michael T. Dean mtdean at thirdcontact.com
Wed Jan 29 17:33:19 UTC 2014


On 01/29/2014 11:59 AM, Steve Campbell wrote:
>> The general idea is that the MythTV web interface will no longer be a separate web application that runs using PHP on Apache/nginx/lighttpd,
>> but will be an integral part of the backend.  It will use the same code as the rest of MythTV (mythbackend and mythfrontend and ...) and will be
>> available immediately upon starting mythbackend.  This has many benefits including
>> a) eliminates the need to re-code MythTV logic (libraries and application logic) in a completely different programming language and application
>> b) no need to keep redundant logic up to date with changes to MythTV (and no worries about the web interface being outdated compared to other applications), and
>> c) *much* easier setup for users (no need to install and configure Apache/nginx/lighttpd and install and configure PHP (and set various memory sizes for PHP and ...).
>
> Hmm. Lets look at those points
> a) You should always use the best programming language for the job.
> PHP is much easier to maintain/develop in than C++ (at least for PHP
> devs!), and any good webapp will be making as much use of Javascript
> as possible.

I'd argue that the best language for the job is the language in which 
the code is already written and will continue to be written...  In other 
words, for any other language, we have to write the code twice, once in 
C++ with Qt framework for MythTV applications and once in "the best web 
language" for MythWeb.

> b) The integral web interface and frontend seem way outdated compared to Mythweb

Um, how can brand new be outdated compared to "hasn't been touched, 
other than minor bug fixes, in a couple years"?

> c) Is handled by the distribution package creators. There are good
> arguments for keeping things modular.
>
> I really don't want to knock Stuart who is doing a great job, but
> please don't kill off Mythweb just yet.

Given that one accepts your argument that c) is irrelevant because of 
packages, users won't even notice a difference.  Or, more precisely, 
users of packaged distributions won't even notice a difference (other 
than seeing a much newer user interface) while self-compiling users will 
see a huge difference in ease of installation/configuration.

Besides, MythTV users keep telling me that it's a waste to run a Window 
Manager that takes 300kB of RAM, so imagine the hails of glory when they 
find they don't have to run httpd and waste 7.2MB of RAM!  Besides, I'm 
also told that best practices say that you need to compile all software 
on your GNU/Linux system so that it doesn't include any capabilities you 
don't absolutely need (even if that means disabling functionality you 
may want or eventually need) because installing software/libraries on 
GNU/Linux--even if you don't execute the software or use the 
libraries--creates security problems.  (Okay, this whole paragraph is a 
farcical argument because I completely disagree with the assertions made 
in those arguments--that really do occur on the -users list.)

The point, though, is that nothing will change from a user's 
perspective--save for seeing a new interface that includes significantly 
more functionality (most everything available to 
mythfrontend/mythbackend will be available for inclusion in the 
WebFrontend) as well as much more safety (much of the code in MythWeb is 
incorrect, because things have changed in MythTV and were never updated 
in MythWeb, and in some cases using parts of the MythWeb implementation, 
today, can actually cause data issues that may break functionality in 
MythTV).

I don't know why so many people say, "Please don't kill of MythWeb."  
This change should affect people as much as if Facebook were to 
announce, "Hey, everyone, we've started porting our Facebook server-side 
code from PHP (that sends HTML/JavaScript/CSS to the client) to Java 
(that will send HTML/JavaScript/CSS to the client)."  No one should 
care, as it's really only something that affects developers.

Mike



More information about the mythtv-dev mailing list