Soapbox
HTML5 Video - Rotten Apple
by Daniel on Apr.28, 2010, under Soapbox
Forgive me, but it’s a gonna be a long one…
Did anyone else notice Steve Jobs tearing a big-old centrefold page out from Microsoft’s book with regards to the whole HTML5 audio/video codec debarcle?
Just to get this clear, I’m not taking sides on what codec should be used, they both have their advantages and should both be supported in my opinion.
Before: Microsoft approached the PC OEMs and essentially bullied them into not including Netscape with their PCs. Going so far infact to threaten not to license Windows to them if they didn’t comply. (BBC Article) Microsoft successfully decided the future of the internet in regard to browser dominence and the familliar sight of “This site is best viewed in Internet Explorer”. Not to mention the hours of stress they caused web developers the world over, the relentless swearing at IE “quirks” that was to follow.
Now: Apple release a new “revolutionary” internet device, without Flash. This makes the web experience on the device today, less than revolutionary, and infact takes it a distinct step backward. To help alleviate that rather massive shortfall, they propose the all-singing all-dancing HTML5 and it’s <video/> element! Which is all very well and good but content providers are currently using today’s internet “standard” of Flash video. We’ll also temporarily ignore the fact that video isn’t the only thing Flash is used for.
To that end, they approach content providers, eg: Wall Street Journal, and Steve tells them to rewrite parts of their site(s) to accomodate his new device. (ArsTechnica) Just to keep perspective, this is one device, in a veritable ocean of web-enabled devices available to consumers. Or two devices if you really insist on pretending that the iPad is anything new. But Steve really does have the gift of the gab and it wouldn’t surprise me if these big-money content provider executaves swoon to him and do it his way. Maybe they all want to be him or just near him, he seems to be everyone’s favourite CEO lately. If all else fails a couple of hours in the Reality Distortion Field should do the trick.
Apple have decided that they can go ahead and do this because they support an interpretation of the HTML5 Audio and Video spec which is one that would see MP4 (H.264/AAC) used as the official format. Another interpretation would be one that uses Ogg (Theora/Vorbis) used instead. This is still a matter of hot debate.
I’m not going to go into detail on their respective pros and cons because they both have them and the intracacies of patent law quite frankly bemuse me. I swear it only exists to give lawyers something to do. Suffice to say there are good points for both. As it stands, Mozilla Firefox and Opera both support Ogg. Safari, in all it’s incarnations only supports MP4 as does the Android browser. Google Chrome is the only browser so far to support both. (Dive into HTML5) In my opinion they’re the only ones doing it right, but what do I know? If this stalemate continues for much longer then it’s only going to harm HTML5 audio and video.
But if Apple skips the whole formality of actually coming up with a fair compromise and goes straight to the content providers, then they can push the content providers to do it The Apple Way. Effectively they’re trying cut out the middleman and make the decision on behalf of The Internet without the hassle of involving other points of view. That just makes things more complicated, right?
Microsoft used their position of power to push Mozilla aside, now Apple are using their position of hype and popularity to do the same to Adobe. But not only that, also to strengthen the position of the codec they endorse as the future HTML5 video standard. Something that is causing quite a stir at the moment and nothing has been formally agreed thus far.
Now on the matter of Flash itself, I get that Flash isn’t exactly great or rather, the Flash player browser plugins. I use the Adobe Flash player plugin for Safari and Firefox on Mac OS X and Firefox for Linux. On my MacBook Pro, if flash is running, I notice. It gets hot. On linux, it’s just slow. Not slow in itself but it makes Firefox slow. The point is, dispite this, it is ubiquitious on the internet these days. Not because it was forced on anyone, but because there was a toolkit behind it that designers could use. Not developers. The combination of HTML, CSS3 and JavaScript is very developer-centric. Even with frameworks like jQuery or Prototype, it’s still “programming”, which is not a skill that all designers have, and those that do tend to have a reduced programming skillset since it’s not their main priority.
When you consider Flash’s versitility, with the multi-platform multi-browser plugins and the designer toolkit, it’s no wonder it’s in the position it’s in today. It powers the vast majority of the video on the web, as well as all manner of interactive apps like games. - Flash is not just for video.
Getting back to the point…
Apple’s actions are not about whether or not HTML5 replaces Flash for video delivery. That is a convenient side effect. This is about keeping Flash out of Apples precious, and maintaining 100% control over the platform, what code can and can’t be run. But most importantly what users can have for free and what they have to pay for through the App Store. No free flash-powered video, go buy it from iTunes (consumers) or do it our way either through MP4 HTML5 or a native app (content providers)! No free flash games, go buy special Apple-endorsed games from the App Store! You must do it The Apple Way. Don’t forget that doesn’t stop at technicial implementation, but moral standards (TechCrunch) as well. If you don’t endorse something, you don’t have to provide it, but what gives you the right to stop users from doing what they want to, in their own time?
Call me old-fashioned, but I believe that when I give someone money, and they give me a gadget, that gadget becomes mine. If I want to throw it on the ground and jump up and down on it, that’s my choice. If I tied it to my dog, that’d be my decision. So why can’t I make my own software choices?
Remember the Commodore 64 emulator app that was rejected because it could interpret BASIC? Gizmodo Story: Fully Licensed Commodore 64 Emulator Rejected By Apple App Store
Buzz off Google Buzz!
by Daniel on Feb.11, 2010, under Soapbox
Despite their entry into the “social network” scene with Orkut some time ago. (Anyone heard of that one? Know anyone who uses it? No, I didn’t think so.) Google are at it again, this time with a more Microsoftesque approach.
*sighs* What is a monolithic corporate to do? There’s so much data out there that could belong to Google, and it doesn’t! Nevermind the fact that nobody outside of Brazil seems to give a damn about Orkut. If Muhammad won’t go to the mountain, then the mountain must go to Muhammad.
Build it into something we know people use so that they can’t get away from it! Something like Gmail, the almost ubiquitous free email service! Yes!
Oh, but remember Google’s catchphrase, “Don’t be evil”. So in the spirit of not being evil let’s add a splash page when you log into Gmail asking if you want to try Buzz or not, give people the choice. We’ll make the “Yes” button huge and hard to miss, and we can make the “No” button the smallest link you ever did overlook repeatedly. Oh yeah and not everyone should get to see the splash page, some people are blessed and can have it automatically, but more importantly, silently enabled. As was the case with my mother who didn’t have a clue what the hell was going on, all she knew was that suddenly she had “loads of stalkers on Gmail”.
Should “no” disable it completely? - Don’t be silly! We can’t deny them the one true social network of freedom, democracy and peace! What kind of commie are you?! Just make “no” mean “yes” and have it automatically follow everyone you’ve ever emailed and vice versa. I guess we should have a disable button somewhere, but people shouldn’t find it, let’s just make it one of the smallest and most inconspicuous links in the footer. (That’s where it is by the way)
Google have a monopoly, they know it and they’re using it. Yeah, not evil at all.
Google do make some really cool products. Some I really like. I also realise that a lot of the cool stuff they can only do because they already have the infrastructure in place to make it happen. I also like that Google have always made a point about being able to get your data back out again through free APIs. So all the time that’s the case I’m appeased.
Just remember that too much of a good thing is bad for you. - I think it’s time for Google to back off. I can’t help but suspect that a slippery slope is just round the corner.
I think that’s this rant more-or-less over. I can’t vouch for those within earshot though, they may have to hear it one or two more times.
UPDATE:
I was talking with Dave about this and he, being better with words than I, found a way to phrase my main gripe with this whole affair. It “devalues” your Google account. By adding all these new social features it’s making my Google account noisier and crowded with people all chattering away about stuff that I quite frankly don’t care about. There’s nothing wrong with the features themselves, besides being a bit flaky and having to authorise someone four times and still have it not work! I love that I can “connect” other sites to my Google account. The fact that it’s on by default regardless of whether or not you wanted it is the step too far.
People use different tools for different things and have different circles of friends that they may want to keep separate or just don’t relate. My “rocker” friends and “geek” friends don’t tend to mix much. I use my Google account for all my Google related gubbins. I use Facebook for being “social” online. Because that’s where my friends are. While it’s great that the capability is there, *I* don’t want Google to automatically broadcast everything I do on YouTube or any other site it happens to own.
Google seem to think that people have lost the ability to communicate with one another on their own and we need a web-app to do it for us. “They” talk about how technology and the Internet is making people more isolated than ever before. Why should I talk to someone when they can just watch my online activity in almost real-time?
You’re Doing It Wrong: Branches
by Daniel on Nov.19, 2008, under Programming, Soapbox
A fairly straightforward thing you’d think. And you’d be right. But consider the following example.
if ( isset( $a ) )
{
if ( isset( $b ) )
{
if ( isset( $c ) )
{
echo $a, ' - ', $b, ' - ', $c;
}
else
{
die( 'need $c' );
}
}
else
{
die( 'need $b' );
}
}
else
{
die( 'need $a' );
}
As you can see, the actual operation here is the echo, and it’s nested three levels deep. If it were in a class method, then it’s still three levels deep, but it’s tabbed across the screen five times already.
Imagine this was a far more complicated piece of code and and it was a good four or five “screenfuls” it starts getting a bit challenging keeping track of all the different levels of branches and where you are in them. You end up doing a lot of scrolling up and down to remind yourself.
Why not adopt a “return-early” coding style instead? You check for what would stop your code working as opposed to what it needs to work. The above example has been rewritten to return-early style instead and now the echo statement isn’t in any branches at all.
if ( !isset( $a ) )
{
die( 'need $a' );
}
if ( !isset( $b ) )
{
die( 'need $b' );
}
if ( !isset( $c ) )
{
die( 'need $c' );
}
echo $a, ' - ', $b, ' - ', $c;
What you have now is three small branches or chunks of code on screen that can be modified and rearranged a lot easier than they would be if you had multiple nested branches.
I guess the moral of the story is to keep as much of your code as far left of the screen as you can.
You’re Doing It Wrong: Tabs
by Daniel on Nov.15, 2008, under Programming, Soapbox
This is likely the first in a series of You’re Doing It Wrong posts that I have rattling around my head.
Today, using Tabs to indent code. As i’m sure we’re all aware, the wonderful thing about tabs is that you can set how wide you want them to be displayed. I like a tab width of four, others like two, some like eight. And all the time that we indent our code with tabs then everyone can be catered for when it comes to their whitespace preferences.
Like most things, there is a dark side. When you start to turn to the dark side, you start use tab characters to create structured whitespace in amongst your code, that being non-tab characters, followed by tabs, followed by further non-tabs.
It’s a bit difficult for me to demonstrate this adequately on the bloggenator, so take a look at this example.
And now your work of art is ruined. Editors are trying to be too clever for our own good. Yeah it’s great if i’m the only one who’s working on the code, but what if someone else joins me on it? Or someone else takes over the project? Yeah sure you could say “their problem, not mine”, but it’s not very considerate is it?
By sticking to a rule of only using tabs at the beginning of a line, your code will have the same presentational layout whatever editor I, or anyone else want to use to view it.
When someone else eventually takes over my code, and it’ll happen, the last thing I want them to do is throw it all out. If they see bits of lines of code all over the place because they use eight spaces and you use two, it looks a mess. That gives them a bad impression of you’re coding competence, unjustly so, since if they tweaked their editor it would look good again.
Personally I use a variable-width font at work and a fixed width font at home. Don’t ask me why I do, i don’t know. The editor background on my work editor is white, at home it’s black! How whacky is THAT?!
Damn You Apple!
by Daniel on Apr.23, 2008, under Soapbox
For their size, the Apple Pro Speakers that came with the iMac G4 are very good speakers. The iMac is now old and replaced, but I can still use the speakers! … no.
Is a 3.5mm jack somehow insufficient in it’s ability to carry two channels of audio? Why on earth do you insist on mucking around with ports?! The only thing I can use those speakers with is the iMac. Well wasn’t that just a stroke of genius? I want to use your speakers! Why won’t you let me!? I would have far preferred the USB Pro Speakers that you could get with the G4 Cube. Those would still be useful.
But it doesn’t end with audio ports. Oh no, you like to fiddle with display ports too. Remember the Apple Display Connector? Or even the Apple MultiMedia Display Connector before that? Thankfully I think you’ve got the point now that one fancy port to carry a bunch of other ports is just a pain in the arse and have stopped doing that one. The Mini-VGA, Mini-DVI then the Micro-DVI ports. I see why you’re doing it, display ports are a bit big. You want to include the port but don’t want to compromise the design of the computer. But is it really necessary on the iMacs?
The real pain though is when, after you’ve finished mucking around with perfectly good ports, do you fail to include an adapter?! That is just cheap and/or greedy, it’s also a slap in the face for the iMac owners, they don’t even need a special port!
My MacBook Pro has a normal DVI port. Thank you. You also supplied me with a DVI to VGA adapter. Thank you again. ‘Course I should bloody well have expected to get one for what you charge for the machine in the first place. It still annoys me though, my mum and sister both have regular MacBooks which have a Mini-DVI port. DVI - Awesome… But. No. Adapter. So when my sister came back from a college trip to Greece and wanted to show her photos on the big screen, she couldn’t, because you just couldn’t help yourselves. If you’re going to do it, then include an adapter. They cost you pennies, and it makes your users life easier.
P.S. While i’m on at you, where the fuck is my remote?! Why don’t I get one!? That is Not. Cool. Good thing mum has no desire to use her remote. *yoink* S’ok though, your man haggled.