On Interoperability, HTML 5, and Ogg

Tags: , , , , , January 22, 2008 (0 comments)

Just over a month ago, there were all kinds of accusations going around about Apple, Microsoft, and Nokia paying to get Ogg/Theora/Vorbis removed from the HTML 5 draft. However, as someone within both the W3C HTML WG and the WHATWG I find these accusations wholly unbelievable.

Unquestionably the first issue I'll have to clear up is why they would be removed otherwise: without the support of Apple, Microsoft, and Nokia (the former two who make up a large percentage of the web browser marketshare) any mandated format for the media elements (audio and video) is pointless. The entire point of mandating a format is to have a common format that can relied upon (and, as such, it really needs to be a MUST not a SHOULD) — if major companies consider Theora a large financial risk they simply will not implement the specification, and what is a specification worth if it does not create interoperability? Without interoperability, there is no difference from the specification not existing at all.

But why is Theora a large financial risk, and why only for major companies?

  • Video codecs are known to be a hotspot for submarine patents (and no matter how complete a patent search you do, you can never be certain there are not unpublished patents covering a format).
  • The financial risk is huge — when submarine patents do arise the fines tend to be in the hundreds of millions (if not billions) of USDs.
  • Anybody who holds a submarine patent will wait a while before pouncing, and even then only on to a major company (for a small company won't have shipped enough products in breach of the patent and have enough money to be worthwhile suing).

"But I read that Theora was patent-free! Surely this is all irrelevant‽" has been asked all too many times — it is known that Theora isn't patent-free (though the known ones held by On2 have got an irrevocable royalty-free license), and it is not known if there are any submarine patents (by their very definition (i.e., patents that aren't published for a long time after they are applied for) they cannot be known about).

If video codecs are patent risks, how come companies continue to add new support for codecs such as H.264? The answer is a simple one: they will add support for new codecs when the new codec is technically superior to what is already supported or there is a significant body of already deployed content that requires support for the new codec; though many people have tried to spin this issue by omitting is technically superior to make an argument that they can't under their argument add any new codecs ever (as the last clause is mainly for legacy codecs, and as this post later explains it is highly unlikely to be used to add any new codecs nowadays).

Many have argued that Wikimedia's use of Theora is a significant body of content, however, compared with the number of videos on the web (undoubtedly predominantly pornography) this is wholly insignificant (it is extremely unlikely to be as large as even 0.001% of video on the web).

So, to get support for a codec such as Theora we need people to distribute data in Theora. There are major issues with this: most people will only use codecs that have encoders that are bundled with software, and that are widely supported. We don't get encoders for codecs unless they are technically superior to what is currently available or are widely supported by decoders; and we don't get decoders for codecs unless they are technically superior to what is currently available or there is a significant body of already deployed content that requires support for the new codecs (which doesn't exist until we get support in the encoders which we don't get until we get support in the decoders, ad infinitum). Realistically, this means the only way to get support for a new codec (and not one that is already widely deployed) is by it being technically superior to what is already used.

What can we use as a base video codec, though? This is a very hard question, and not something that can easily be answered. It is, however, clear that Theora is not an option (nor is any MPEG standard, as these all have known non-royalty-free patents). Arguing that Theora should be put back in is pointless — it's not what we want in a specification. We want interoperability. There are a large number of people both within the W3C and outside of it looking for a suitable codec. To quote what the specification currently lists as requirements:

  • We need a codec that is known to not require per-unit or per-distributor licensing,
  • That is compatible with the open source development model,
  • That is of sufficient quality as to be usable,
  • And that is not an additional submarine patent risk for large companies.

Any suggestions that meet all four of these requirements would be warmly welcomed by the HTML WG.

However, I have kept Ogg/Vorbis out of the entire body of this post. Neither of these is an issue. Both already have major companies shipping them in bulk (Microsoft, Epic, and Rockstar all have used Ogg/Vorbis in major products). That said, it cannot be said for certain that these can be used with the video codec (some video codecs require certain containers or audio codecs). Why remove these, though? It makes little sense to define what MUST be used for some of the media elements but not for others.

Take me to the fields of Elysium

Tags: , , January 7, 2008 (0 comments)

Why does love have to screw everyone over?
Why the fuck don't I hate her4?
Why can I love someone who has annoyed me so much?
Why am I always screwed over?

Why does anyone I ever have a chance with annoy me?
Why do lustful actions annoy me?
Why does everything just seem to emphasise my loneliness?
Why do I refuse anything to do with love?

Wouldn't I be better if I did?
Wouldn't it help me?
Wouldn't it rid me of my loneliness?
Wouldn't it help me?

What state am I in when I can't read a book without breaking down?
What must I do to myself to move beyond this?
What can I do to myself to stop refusing love?
What can I do to move forward?

Jesus, take me into Your loving arms.
Jesus, help me through these hard times.
Jesus, remind me of what Your love can do.
Jesus, take my hand and show me the fields of Elysium.

ByePie

Tags: , December 28, 2007 (0 comments)

Having put a lot of thought into the matter over the past several weeks, I've made my decision to leave development of SimplePie.

"Why!? Oh Why!?", you scream (well, maybe not, but I'm not a telepathic seer). For a start, I haven't actually really used SimplePie myself since early 2006 (now almost two years ago), and I now have less and less to do with PHP at all (and I totally hate it — a recent bug in SP was caused by the fact that "0" == false — and have therefore moved to (mainly) Python).

Furthermore, over the past year, since March/April, my time has become increasingly limited, and SP has de-facto been one of the things that I have cut a long time ago (the reason for the lack of commits from me much) — the majority of my time is now spent on schoolwork, with what is left over being spent working on various specs (predominantly HTML 5 and Tolerant HTTP Parsing).

However, what does the future of SP hold? Well, various decisions need to be made about the future direction — do you try and improve 1.x further (it was already stretched to breaking point at 1.0, mainly held back by PHP itself — a sad state to be in), or do you start on the vision of SP2? To take the former option, I doubt you could get much further than what is currently planned for 1.2 with the current 1.x base — any further development requires a large amount of reworking the internals of SP (to the extreme of being questionable about whether there is any point of not starting from scratch). The latter option is probably the best (though ideally get 1.1 out as soon as it can be).

One of the aims of SP2 is true modularity — it should be possible to use (and load) nothing more the parser itself (i.e., give it raw XML data, and it gives you an API to access the title, description, etc. as they are in the feed without sanitising them at all) — which has several advantages for deciding any successor to myself: get people to write various modules for it against pre-existing specs (most of which are only drafts and so will need further development over time). What exactly those modules will be I am mainly undecided (though it won't, I assure you, be the more complex parts of the API itself — the design of them is mainly unwritten and comes from knowledge of successes/failures from SP1's API). I will myself continue maintaining a couple of the modules (namely, the Unicode and IRI ones, both of which I use outwith of SP — though more may be added to that list).

I'm more than willing to be around in a consulting role for a while — my contact details are in the footer here, and I'll stay around in the IRC channel for a while — as well as helping people around the SP1 codebase (though I'd like to see that totally feature frozen come the end of January, with a final non-bugfix release from it in February) — which is horrifically uncommented in parts, and uses stupidly complex algorithms in others that without prior knowledge of them make no sense (I've had issues with some myself when coming back to them having not touched them in a while :) ).

Alas, there's too much to write about the vision of SP2, so that will have to be done in another post; until then, g'nite.

Lovely Paranoia

Tags: , November 22, 2007 (0 comments)

By defending myself in such a way as to avoid conflict at all, I am afraid to do many things, not least asking anyone out. My paranoia of asking anyone out has three levels:

  • Will I be laughed at at the time?
  • Will people continue to be mean to me and tease me about it for weeks/months to come?
  • Will others refuse me on grounds I asked someone else out first?

Starting with the first, people around me will only care whatsoever if I make a deal out of it. If I don't, nobody will care.

A longer term reaction is harder to judge: the three likely possibilities are teasing me of who it is I asked (regardless of who it is), calling it sweet, or not caring whatsoever.

Finally, the only people who'd refuse me because I had asked someone else out first would be someone mad enough to fancy me, though likely only for a short time after I asked anyone else out.

Search Strings

Tags: November 14, 2007 (0 comments)

This domain has managed to get its fair share of referrers from search engines already, including the below:

causes of love
The lustful part of your brain.
what do i do if fancy someone and am too shy to ask them out
Don't ask me.
menage a trois literal translation
Household of three.
i can't get you off my mind "poem"
I can't get my mind off you.
green day homophobia
Shouldn't this be biphobia?
take me to love
No. I want to take others.
what is a hetrosexual [sic] person
Someone attracted to the same sex.
59
58 < 59 < 60
emo poem
Don't read these. They're depressing.
i'll start making assumptions
No you won't.
end of day knife
Does it have a blade that's more blunt than the start of day knife?
poems "moving on from the past"
Try. Fail.
wordpress ?> top of page
Leave WordPress. Leave PHP.
how love leads to hate
Like this.
fatal error invalid utf-8 string wordpress
Get a better UTF-8 decoder and blogging platform.
teenagers love matters
For some it does
assuming everyone is hetrosexual
Don't.
emo love i kiss
How can you kiss a concept in a grammatically incorrect manner?
i want but i cant have poem
You'll find a few here.
it truly has been a pleasure talking with you, too.
No, the pleasure has been mine.
new surroundings
Get a crush.
rfc 3339 parsing php
Try this.
causes of happiness
Neither lust nor depression.
emo poems about confusion
If you're confused, go left. It normally works for me.
songs about cowardliness
My voice is fucked up from years of illness. Don't get me to sing.
being surrounded by people yet alone
All right, I'm alone, I admit it.
tolerant http parsing
If in doubt, do what the HTTPBIS WG says not to.

Page:  1 2 3 … 28