24 hours with an iPod video

I just surrendered to my geekyness again. I'm passing my iPod photo over to my girlfriend, so I had to buy a new iPod for me. Or maybe it was actually the other way round? :roll:

Oh well... let's just pretend I got an iPod video for my birthday! :D

iPod photo and iPod video
iPod photo vs. iPod video

First contact at the dealer: I was really surprised by the size of the packaging! It's barely larger than a double CD jewel case! I first found it pretty cool because it optimizes shipping... thus uses less fossile energies... okay I disgress... the point is: later in the evening it dawned on me: Apple just did it again!

Since the 4th generation, Apple has been removing stuff from the package all the time. They took away the remote control. They took away the dock. Then they took away the firewire cable. Now they just took away the power adapter! Hence the slim packaging...

This is how they manage to keep the same price tag when adding core functionnality... and they raise their margins at the same time!! (Those accessories are so insanely overpriced when purchased separately!) Guess, there's yet another Apple marketing lesson to be learned here...

I have to admit that I barely ever used the power adapter on mt iPod photo since I've been charging it via the USB connection all day long. Still it was comforting to know that if I ever took a vacation (yeah like that's gonna happen anytime soon...) I had what is needed to get uninterruped music... (though not uninterrupted podcast streams, but that's another story...)

Also, I'm a little bit worried that with watching videos which keeps the screen backlight on for significantly longer periods of time, it will drain the battery even faster than before. On the other hand, the new battery "might" last longer than before.

And it doesn't stop there: Apple has also removed the user manual from the box and the remote controller port from the iPod itself. And you know what else they removed? Firewire! Yes, that's right, they removed firewire support completely. When you connect your 19 € worth firewire cable, the iPod screen will turn to "You can't use a firewire cable with this iPod!" :(

The sad thing is that my 35 GB of music are stored on my older PC which has large ard drives, but no USB2 port. It had a firewire card though... which made the trick pretty darn well until now!

So I had to sync the iPod via USB1! Oh no... it would normally take about 10 hours to copy the 35 GB down to the pod at USB1 speed... so I've left it transfering overnight...

Then of course Murphy's law kicked in: Windows Update decided it would be a good idea to reboot in the middle of the night. So I had to do it all again and leave the iPod at home today (with Zone Alarm's internet lock ON so ). I wasn't finished when I got back from work... but eventually completed all right. Let's see the bright side: I finally found a use for Zone Alarm's internet lock: preventing Windows Update from attempting any funky update when you don't want it to! :P

Okay, nuff said about what's missing. Here's what's added! :)

First there is a sleeve included so you can protect that scratch-me-baby-I-love-that plastic when the iPod is in your pocket:

iPod video in sleeve
iPod video in sleeve

I'm not sure it's very convenient to adjust the volume with that thing on though... I'd like to rant about how much I'd like a volume control on the headset but I said: enough! :-/

First thing I tried, even before synching my music was to put some video onto the pod. That's a pain in the pass. It didn't accept any of my quicktime MOV files. And although iTunes could play them well it wouldn't even attempt to convert them so the iPod could.

So I subscribed to a video podcast... and... several... dozens... of... minutes... later... I finally had a 5 minute clip to look at on the iPod. Awesome! Really nice screen! Really fluid motion. And easy navigation control. B)

I'm definitely going to enjoy those videos... but again... why isn't there a video cable included so I can connect to my TV? Bleh... I know... marketing...

The coolest stuff anyway is the new form factor: same 60 GB capacity but thinner! Same overall width and height but larger screen! I wonder why they made the click wheel smaller though... is it easier to manipulate? Or does it just make the screen look bigger??

The larger screen is the killer feature for me: easier to locate podcasts (or songs) in long lists, larger pictures/cover art... and... you can finally see the lyrics for the song you're currently playing. Yeah! :D

Conclusion: this upgrade from a 4 months old iPod is totally not worth the price for anyone with reason... but it's just as exciting as my first iPod for the geek inside of me. I fear I'll upgrade again when the next one comes out... (WiFi anyone?)

Podcasting in Windows Media Player: BitTorrent?

Window Media Player logo BitTorrrent logo

In yesterday’s “Daily Source Code", Adam Curry is talking about his meeting in Redmond with the Windows Media Player team.

Adam says he can’t tell anything… but what else could this probably mean than Windows Media Player supporting podcasting – or “blogcasting” as they like to call it in Redmond ?

What could Microsoft possibly add to get their Media Player ahead of iTunes? Video? No way: iTunes has had that for even longer than the iPod video.

If I was Microsoft (yeah, right :>>) I’d definitely add all podcasting features you can find in iTunes and I’d add this little extra: BitTorrent distribution! (Or any other P2P distribution method if I had a political/licensing problem with BitTorrent…)

Today, independant podcasters can easily put their shows online, but as soon as they get popular, they face a huge problem: bandwidth!

The current podcasting architecture relies on a central server for each podcast and independant podcasters just can’t afford the bandwidth it’s going to take. And it only gets worse with video-casting.

Right now they have no alternative other than paying the bills and financing them by adding advertisements to their shows. A peer-2-peer add-on to the architecture would change the deal significantly. We all know how large files get distributed easily that way.

Of course the risk is for the system to be hijacked in order to illegally distribute copyrighted material… This is why Apple hasn’t done it in the first place. Will Microsoft have the guts to do it? Hum…

Does Microsoft only need to do something like this? Well… yes… sort of. They’ve lost the leadership in digital contents already and they’re losing a lot of momentum too. Besides, they have finally realized they needed a damn good IE7 after swearing there would never be a new browser after IE6… Now they realize they need a damn good new Media Player…

Can’t wait to see what’s in it!

Why I consider (MVC) Smarty templating inefficient

Most PHP developers (and other web developpers too) seem to evolve on a similar path which goes like this:

Step 1: take HTML pages an add PHP tags into them.

Step 2: Realize that on a large scale this is getting very hard to maintain.

Step 3: Learn about the MVC (Model View Controller) paradigm and begin to think it's cool.

Step 4: Use Smarty or another templating engine like that.

The way most of those templating engines work is basically this:
a) Do a ton of PHP processing in the framework and fill in variables.
b) Call smarty and let it fill in variables in a template.
c) Send the output.

The issue here is that during steps a and b, nothing is sent back to the user. The user is just waiting for a response. Sadly enough, steps a and b will take a lot of precessing time. So the user will wait quite a long time before he gets any feedback on his action.

Even worse, when the application gets bigger, step a will take even more time!
And the more complex page you request, the more time you'll be left in the dark...

This is why I don't like all those mainstream templating engines. I want to send output back to the user as soon as possible. I want to send the page header at the begining of step a. And as soon as something has been processed and is ready for display, I want to send it out.

The global processing time will be approximately the same, but if the user sees content begining to display immediately, instead of all the content displaying at once 2 seconds after clicking, he will get the (false but humanely useful) impression that the application is faster. (Please do not say AJAX here, it is so not my point :P)

I'm not saying MVC is a bad paradigm, I'm saying most implementations of MVC are flawed, and Smarty is the most common example of this in PHP. Because they do the M & C stuff and then they do the V (view) stuff at the end. In my opinion they definitely need to interleave all this a lot more.

In evoCore (b2evolution's framework) our approach is to have the Controller really control the processing flow. In other words: for every block of information the View wants to display, the Control will process data from the Model and immediately pass it to the View in order to display the result block by block.

Of course, this has drawbacks: you won't be able to change the block order of the output if it's hard coded into the Controller. But really, that's okay to some extent. Who really needs to move the global header and the global footer for example? This is what we use for the back-office.

However, for the front-office, we want more customization, and we want people to be able to rearrange blocks in any order. In this case we have a little more complex processing, where the View actually calls the controller everytime it needs to display something.

Anyway, in any situation, my point is: the View should not be handled last.

Efficient vs. effective

Guy 1: I am so efficient I can fold 100 parachutes in a hour.

Guy 2: I am so effective I can fold 100 parachutes and every single one of them will open right.

Would you rather give your parachutes to the efficient or to the effective guy?

Now what I'd like to know is why all these programmers we interview pride themselves on being efficient?

I'm so sick of their industrial strength bug generating skills... :/

iPod podcast listening frustration

Today, I've got this massive stack of clothes to iron... bleh :(

To make the experience a tiny little bit more pleasant, I'm listening to every podcast on my iPod I hadn't listened to yet...

Great time to catch up with all that stuff... but great frustration too!

A typical podcast has an average length of 15 minutes. And when the iPod is done with playing it, it just goes back to the main menu. Yes, that's the MAIN menu, not the podcast feed you where in, not the podcast menu either! It's all the way back to the main menu!

So you need to drill down into the podcast menu again and then into the feed you were listening too, select the next podcast you want to listen to and then, finally, you can continue to listen...

Wouldn't it have made sense for the iPod to automagically playthe next episode in the feed I was listening too!? Isn't the whole podcast concept somewhat supposed to mimic a radio with better programs? Do you need to click on your radio in order to listen to the next show?

Apple seems to have thought this through... at some point... but only halfway I guess: you can actually press play when a podcast feed is selected and the whole feed will get played. But in this case you'll suffer 2 major problems:

  • You'll listen to the feed in reverse chronological order. And you'll hear feedback on the previous episode before you hear the referred to episode! :(
  • You'll listen to everything, including the episodes you've already listened to before...

This second point is something else that has been bugging me for a while: there's no way you can see on your iPod what episodes you've already listened to and which ones are new.

Each episode definitely needs a 3 state icon in front of its title, indicating wether it's unplayed, partially played or completely played.