Language Selection

English French German Italian Portuguese Spanish

Why Phonon is a broken wheel

Filed under
KDE

In the discussion the approach taken by the Phonon abstraction layer which the Phonon project is advocating for inclusion in KDE4 also came up. I have held back blogging about Phonon for some time to avoid flamewars, but I don't want to have efforts like OSDL delayed due to setups like Phonon being promoted or thought of as a workable solution for the issues faced. Let me start of with a brief introduction to the area of multimedia frameworks.

First of all multimedia frameworks are very complex systems, handling very hard technical problems in order to cater for issues ranging from problems from dealing with the analog past (for some technical information in this field I recommend fourcc.org), a forest of media formats with different traits, a host of features/deficiencies in hardware and a wide range of other software solutions to interact with like sound servers and legacy systems. On top of this you add performance and latency requirements, network protocols and multiplatform issues. In the end you have a problem space where even those who have worked on the issues for many years need to keep their head clear when designing the framework.

Multimedia frameworks are also by their nature abstraction layers themselves, trying to abstract away all the demuxers, muxers, decoders, encoders, cameras, soundcards, sound systems, network protocols and various types of filters into a coherent and userfriendly API.

Now to get back to why I think Phonon is conceptually broken. First of all it is destined to fall into one of two traps. Either its API become so high level and limited that application developers will shun it due to a lack of features, meaning that you have an API useful for doing 'ding' sounds in standard applications, but anyone wanting more powerful operations will feel its a bigger hindrance than a help. On the other hand if they actually try to implement a feature set that is big enough to at least satisfy a subset, of for instance music player writers, then they will be forced into accessing things so deep in the frameworks that the operations become so framework specific that generalizing them away into a common API will at best be a kludge and at worst produce various broken behaviour changing depending on framework chosen.

Phonon also falls short in many other areas.

Full Story.

More in Tux Machines

Latvian Ventspils controls costs with open source

The administration of Ventspils, Latvia’s sixth largest city, is an avid user of free and open source software. The main benefits: cost and resource optimisation. Read more

Ubuntu Touch finds a home on a conflict-free, fair-trade, user-maintainable handset

Handset maker Fairphone is teaming up with the community project UBports, which seeks to get Ubuntu Touch on mobile devices. They will be showing off Ubuntu Touch running on the Fairphone 2 during Mobile World Congress, which starts February 27 in Barcelona. While Ubuntu is probably not the first name that comes to mind when you think of mobile devices, the phone in question offers some compelling features. “UBports Foundation will be showcasing its work at the Canonical booth, the company behind Ubuntu. Canonical is planning to tell about the latest developments around the convergence of its devices and UBports Foundation will share its mission ‘Ubuntu On Every Device’ with the visitors,” UBports said in a February 8 press release. Currently, UBports’ website lists three devices as “fully working as daily drivers:” The OnePlus One, Nexus 5, and the Fairphone 2, with the latter showing all parts as functioning with Ubuntu Touch, save the GPS radio. (Interestingly, the UBports project website for the Fairphone 2 still lists the GSM radio [in addition to the GPS] as a work in progress. However there is a video of two people talking with the handset, so it’s likely the Fairphone 2 project website is out of date.) The website also has instructions for flashing Ubuntu to the Fairphone 2. Read more

BSD Leftovers

  • LLVM/Clang 4.0 Is Running Late Due To Seven Blocker Bugs
    LLVM 4.0 was supposed to have been released by now, but it's running late due to open blocker bugs. Hans Wennborg commented on the mailing list that while the release should have happened on 21 February, serving as release manager, he hasn't tagged the release yet due to open blocker bugs.
  • FreeBSD-Based pfSense 2.3.3 Open-Source Firewall Released with over 100 Changes
    Rubicon Communications' Jim Pingle announced the availability of a new point release to the pfSense 2.3 stable series, which adds over 100 improvements and a bunch of new features. Updated to FreeBSD 10.3-RELEASE-p16, the pfSense 2.3.3 maintenance release is here more than seven months after the 2.3.2 update and introduces several new packages, including TFTP Server, LCDproc, cellular, and tinc, a lot of improvements for the OpenVPN and IPsec implementations, as well as numerous stability and security fixes from FreeBSD. Dozens of bug fixes are included in pfSense 2.3.3 for WebGUI, graphs and monitoring, gateways and routing, notifications, Dynamic DNS, captive portal, NTP and GPS, DNS, resolver and forwarder, DHCP and DHCPv6 servers, router advertisements, HA and CARP, traffic shaping, firewall, rules, NAT, aliases, states, users, authentication, and privileges.
  • “Hi, I’m jkh and I’m a d**k”
    Yesterday, I was privy to a private email message discussing a topic I care deeply about. I contacted the author and said “You really need to make this public and give this a wider audience.” His response boiled down to “if I wanted it to get a wider audience, I was welcome to do so myself.” So here’s my first ever guest post, from Jordan K Hubbard, one of the founders of the FreeBSD Project. While this discussion focuses on FreeBSD, it’s applicable to any large open source project.

Linux Graphics