PDA

View Full Version : TV Software Development at Philips (and developers motivation in general)



matthias
11-25-2011, 03:31 PM
I was wondering ... I've worked for an OEM for some time, where a lot of the actual software development was done by a subcontractor, and I have the feeling I see similar types of software issues with Philips TVs, for example quite unstable software with occasional crashes, bugs that should have shown up during testing and features that are minimally implemented (just enough to fulfill the specification sheet) and long cycle times until a new firmware is available.

The reason was, that I felt, the subcontractors did the work, but they didn't really feel "connected" to the product they were making and you could notice that when looking at the code quality and features.
My guess is that if you have motivated people, who want to bring "their" product and "their" company further, the features and quality of the software will probably improve quite a lot, too.

Especially, as it is often feels more time consuming to get the "features" group to decide on which new features to put in compared to actually "just" implement it right away.

For example, the sort order for USB:
This type of error happens, if a subcontractor gets the specification for a picture viewer, but nowhere is stated that the files should be shown in order.
A motivated (Philips-internal?) programmer who would use that program himself would have probably just implemented it event if it was not in the specification.
I guess, the same is true for the way, subtitle support is implemented. If there are developers just who wanted to have this thing, they would probably just do it.

So I'm wondering - how does Philips develop its TV software - is it outsourced, or done by "inhouse" people?

And how do you bring subcontractors to not deliver "the minimum" specification, just because of cost&man hours limitation, but to bring in new ideas and create something "inspiring"?

Do you think, giving him a TV he is developing for, for private use as incentive, would work?

I mean - if I get one of the high-end Philips TV for free and the development environment, I would probably even do it for free in my spare time, just because it's cool to have your features in a TV millions of people use.
This would still require work at Philips to test the new features on all of the TVs in a series, but with a decent test description, that should be possible - or could even be automated with webcam and remote ;-)

I know might turn into a flaming thread, but please refrain yourself from accusations and keep it factual and inspirational - thanks :-)

Matthias

PS: Sorry for this wall of text. But maybe someone related to Philips is allowed to share some insights ;-)

smart
11-25-2011, 04:58 PM
Hi,

I would agree in that thing, that the implementation of "details" is not as a good as it could be. I call it details, because, as you are saying, the general functionality is in most cases given, but to make many ideas/features really fully enjoyable, there has to be done more work than just fulfilling the minimum spec.

Another reason, instead of contractors, might be time pressure. Even a passionated developer would not be able to implement "details", if he has not got enough time.
And if the software code base/structure is bad, developers might need way too much time to just implement small changes. So you can have enough developers, but they will discuss and break the code, introduce new bugs, just because it is difficult to implement.

I agree, in general I would also try to improve some parts of the code in my free time to just have bugs solved and the functionality improved.

This observation is a Philips-only thing, I have seen similar products also from other companies. Just look the the mobile phone market before apple created their iPhone. There were so many phones with having two cameras, a touch screen, bluetooth, wlan and all the other hardware spec as the first iPhone. Even some years before. But all missed the usability and details.
Just look at Microsoft Windows Mobile. It was on the mobile phones long time before apple has introduced their phone. But it is nearly unusable. It was really slow, it looks like Windows 3.11 on a phone. Small buttons, which you can hardly reach with the pen, even if there is enough space on the screen.

matthias
11-28-2011, 10:46 AM
Another reason, instead of contractors, might be time pressure. Even a passionated developer would not be able to implement "details", if he has not got enough time.
And if the software code base/structure is bad, developers might need way too much time to just implement small changes.
Good point. I guess, the time issue is a real problem, no matter if it's internal or external - the release cycles are pretty short and the number of devices is pretty high:-)

So, giving the developers more time for the old models would increase these details, but if the software for new models and series was branched out too early, this would limit fixes and "details" to only specific bransh.

For my feeling, Nvidia solved that pretty well with its unified driver architecture. Maybe something like this could be applied to TVs as well - then bug fixes and maybe even new features (like that switching-off bug) could be fixed for multiple series at once, provided that a suitable HW description exists that allows to select features upon HW dependencies..



This observation is a Philips-only thing, I have seen similar products also from other companies. Just look the the mobile phone market before apple created their iPhone.

I guess you mean "is _not a Philips-only thing" :)
Interesting observation. I fully agree. The difference with Apple is, there's only one device every 1-2 years, so there's "enough" time to just get things working.
But the division between low-cost and high-end is different for Philips - it's determined by the panel size and not by the software, so simply cutting off the low-cost market like Apple probably won't help.

I don't have an IPhone, because I think it's just too expensive, but I admire the way they succeeded in putting together a stable architecture that doesn't break on one end if you fix something on the other end.

Having good system architects who worked for Apple or Nvidia is probably something that would help Philips ;-)

petasis
11-29-2011, 07:28 AM
It is not the first time have volunteer to help improving the firmware. Philips does not respond in such requests... :)

WHA1949
11-29-2011, 02:11 PM
long cycle times until a new firmware is available.

I think it is just unbelievable slow. To wait six months for bug corrections is too much. I don't ask for new features, but if my guarantee runs out and the bug is still there then it's too long.

I appreciate however this forum. At least Philips allows negative comments.

PinkChocobo
12-03-2011, 03:06 PM
I totally agree with you, as a software developer i think that software developed for philips tvs is the worst part of phillips tv products, its a sorry that developers like us dont have access to the firmware source code to try to improve easy things like the EPG, menu navigation, response times, usability in general and to revolve bugs that keep us worried about their solution.

If philips opens only part of the source code that can be enough to keep us happy with our products. Open source projects has more "free power" to become great projects. I has already contacted philips to try to get the firmware source code (part of it its bases on open source GNU license) but i cant get it because of pay licenses applied to part of the project, maybe philips can open only free license code or phillips developed code and a way to compile the firmware by parts.

matthias
12-06-2011, 10:33 AM
Well, as basic toolchain, any MIPS32 compiler and the GNU libraries available from Philips is probably good enough for a start, but I see difficulties in getting data&driver on the available HW accelerators (the PNX5xxx), as well as actually getting the application in the TV and starting/hooking it into Jointspace.

I just looked into Jointspace a little more, and must say, I'm impressed! (see here (http://sourceforge.net/apps/mediawiki/jointspace/index.php?title=Presentations) or here (http://jointspace.sourceforge.net/projectdata/SPACE_porting_guide.pdf) if you're interested). So, Philips recognized this problem of software architecures and development a few years ago already and works to solve it :-) It seems Jointspace offers the flexibility and stability to outsource respective components.

I don't fully understand the architecture (esp. the role of the applicationManager and what's possible / not possible in hooking in new applications), but I think there is a huge potential in such an architecture - especially as it is not closed, but documented and publicly available.

Philips can get in the independent developer & open-source community, for remote applications, they actually already doing this.

Not sure about this, but my guess is, Jointspace is already used for the "on-tv" apps, so this is a hook we could use. So, if Philips wanted to go the next step and and provide the possibility to run cross-compiled jointspace applications directly on the TV (e.g. from USB, maybe even in a chroot environment for security) and hook them into the home menu, or capture and re-assign keys to replace existing applications, that would offer the possibility to include/improve TV applications.

Of course, this doesn't allow to fix bugs, such as the media player sorting, unless Phlips would provide the source-code or library API for these applications.
But it would provide the possibility to build a new image viewer application - even if it would mean re-implementing the DNLA interface.
Or a video player could be developed that supports more formats (e.g. based on mplayer) - even if a lot of effort would need to go into optimizing it for the platform.

Maybe, things like the automated EPG could even be implemented now over the remote jointspace interface, but it would a PC of it's own to run the application, this is why a way to run applications on the PNX itself would be really cool.

Well, Philips made a first step of publishing the Jointspace architecture - maybe more step in running "local" applications will hopefully follow :-)

PinkChocobo
12-07-2011, 09:45 AM
Well, as basic toolchain, any MIPS32 compiler and the GNU libraries available from Philips is probably good enough for a start, but I see difficulties in getting data&driver on the available HW accelerators (the PNX5xxx), as well as actually getting the application in the TV and starting/hooking it into Jointspace.

I just looked into Jointspace a little more, and must say, I'm impressed! (see here (http://sourceforge.net/apps/mediawiki/jointspace/index.php?title=Presentations) or here (http://jointspace.sourceforge.net/projectdata/SPACE_porting_guide.pdf) if you're interested). So, Philips recognized this problem of software architecures and development a few years ago already and works to solve it :-) It seems Jointspace offers the flexibility and stability to outsource respective components.

I don't fully understand the architecture (esp. the role of the applicationManager and what's possible / not possible in hooking in new applications), but I think there is a huge potential in such an architecture - especially as it is not closed, but documented and publicly available.

Philips can get in the independent developer & open-source community, for remote applications, they actually already doing this.

Not sure about this, but my guess is, Jointspace is already used for the "on-tv" apps, so this is a hook we could use. So, if Philips wanted to go the next step and and provide the possibility to run cross-compiled jointspace applications directly on the TV (e.g. from USB, maybe even in a chroot environment for security) and hook them into the home menu, or capture and re-assign keys to replace existing applications, that would offer the possibility to include/improve TV applications.

Of course, this doesn't allow to fix bugs, such as the media player sorting, unless Phlips would provide the source-code or library API for these applications.
But it would provide the possibility to build a new image viewer application - even if it would mean re-implementing the DNLA interface.
Or a video player could be developed that supports more formats (e.g. based on mplayer) - even if a lot of effort would need to go into optimizing it for the platform.

Maybe, things like the automated EPG could even be implemented now over the remote jointspace interface, but it would a PC of it's own to run the application, this is why a way to run applications on the PNX itself would be really cool.

Well, Philips made a first step of publishing the Jointspace architecture - maybe more step in running "local" applications will hopefully follow :-)

Yes JointSpace its a interesting arquitecture but limited in too many ways, perhaps a remote transparent EPG can be developed but i doubt that the information data gathered from TDT can be directly used, perhaps only with online web data. Like you said jointspace seem very useful to make remote applications like widgets for example, or a notifications app that only shows messages on screen when there is new data avaliable. But we are very limited in hardware access: its a common platform for all phillips tvs that dont get as much as hight spec tvs can offer, and in terms of resolution its limited to 720P (thats dont permit to make media player alternatives), has too much lag for real time apps too.

Anyway we first want to fix the bugs that the tv has, and later perhaps add more features/apps via firmware or jointspace. Normally its better having functionalities on firm that on remote apps but i thanks phillips to give us joint space, its a very interesting initiative, strange to see looking at the poor software quality on late phillips tvs.

matthias
03-12-2012, 12:24 PM
For all of you software guys out there: Just found an interesting case study on Philips TV software development from 2007 (referring to the component architecture used for older TVs:
http://www.spl-book.net/spl_book_case_study_philips.pdf

It seemed to have been successful previously.

But it also seems, the introduction of the new PNX processor line and moving to a larger operating system required to (re)create the software architecture - and Philips didn't do it right causing all the problems with crashes, slow and obviously time consuming bug fixes, etc.

smart
03-13-2012, 06:55 AM
Hey, thanks for sharing this interesting article. Read through the half of it and will read the remaining part later on.

I had the impression there are so many different models, when buying my TV. As the article also says there is large variability needed to support all marketing needs for many different models. Which gets one key factor of the TVs software.
But I'm really asking me, if this is really needed. The large variability is development ressource binding.
Why not much less models and spending more on usability and the features?
Like: this is our Philips TV, it is like it is, but it works really great!