Nokia is doing it again

So, i’m flooded with work this week, finals being next week and all but I came across this press release by nokia and was floored.

I don’t know what air duct cupid used to get into Nokia’s CEO’s office but thank you Mr. air conditioning repairman for forgetting to seal the vent.

There are very few companys who really make decisions and big moves to help the end user. Steve jobs did it a while ago in pushing record labels to remove DRM from some itunes music. Google does it everyday just by being google. Nobody though, nobody, can compare to nokia in the recent couple months. Now, before you cry ‘fanboy’ (of nokia?) here me out. I really like my phone, but for everytime I say I love it I probably also complain about it. The mobile computing/entertainment experience is often difficult (in that I have to use lots of effort / tricks to get things to work) or near impossible. Anything these big companies do to bring ‘ultra convergence’ and ease into the average person’s handset is a good thing. Google is thinking it with android (a more user friendly OS) and Nokia is now thinking it as far as the music experience.

Mr. Bob, lets call him, has his new cool smartphone. Mr. Bob works in an office, non-tech related and doesn’t give a damn about computer ‘mumbo jumbo’. Mr. Bob wants to listen to music on the way to work. (Mr. Bob is starting to sound a lot like my dad). Mr. Bob is unfortunatly totally left in the dark. Does he click the real one player on his phone and hope theres music there? Does he buy it on the phone? Does he even have to buy it? Oh he has to get it from the computer… how? Put in a CD and click and drag? Oh he has to get it from some store like iTunes. But then how can I get it on smartphone X? Bob switches from Palm to WM6. Can he put music on in the same way?

You see my point; this kinda stuff is murder for those who only have a casual interest and want it to ‘just work’. Free music for a year (hopefully integrated into their on-the-phone music service, ovi for a simple experience) certainly help’s make Mr. Bob’s life easier. He can solve his questions himself in the second sentence of the above paragraph. “Do I click on this real player link? No, that didn’t work, but this OVI Music Store link looks promising. Oh, I don’t have to pay either and all I have to do is click and it works? Fantastic”. How it should be.

Wine Weekly Newsletter

As of today I am officially the new writer of the Wine Weekly Newsletter (WWN). Wine is a layer that sits inbetween linux and windows applications allowing you to run windows apps (windows API calls) on native linux. I presume most of my readers will be familiar with this software. Head over here to read my first issue! Also, if you happen to notice a small easter egg or two, blame XKCD πŸ™‚

Downloading youtube on non-youtube capable phones

So, as many of you will know most phone’s browsers are incapable of properly displaying and playing youtube. There are several work arounds; one of my favorites being bywifi.com‘s solution. Their solution is to have a website where cell users can search and browse youtube in a mobile-capable fashion (so they parse youtube) then let you select a video to download. Their site fetches the video, converts it and provides it for you to download.

I’ve been using this service for some time. Yesterday however, their site was down. Me being impatient decided that wasn’t good enough for me; I want a service thats always around when I want it.

So I wrote it myself. Here is the result of about 2 hours of work. It needs a bit more polish, but it always works… in making the video. For some reason my phone is really picky about which 3gp files it will play. They’re all encoded the same, yet when I try and download in the browser it _always_ open with a text viewer, and when I do manage to actually save the file its only about 50% of the time that it is a “recognized format” (despite always having the same extention and same encodings).

I’ll be making small updates to that site, and posting the source here in the near future. But for those of you curious it uses the following tools:

Perl Module LWP::Simple to download youtube.com
Perl Regular expressions to parse youtube.com HTML (Google made it REALLY easy to parse <3 )
youtube-dl.py – A really cool python script which download’s FLVs from youtube.
Mplayer — to dump PCM audio from the FLV
Mencoder (from player) to dump a MPEG4 video stream from the FLV
FFMPEG to rencode the PCM and MPEG4 into a 3gp container

Canadians got it right this time

Would like to direct your attention to This article on pirating software in Canada. Now I’m not encouraging piracy but just the statement “Their priority will be to focus on organized crime and copyright theft that affects the health and safety of consumers instead of the cash flow of large corporations.” seems to make a lot more sense too me than the current policy of US industry “Sue … everybody, with or without evidence”.

Source article (french) (headline reads: Pirates can now sleep easy. Yep, I speak French)

One cool Operating System

So i’ve a newfound respect for Symbian S60 as of today.

The other day I got a new N95-3. Why? Because I’m obsessed with my cell phone, that aside this thing is amazing. If I felt my readers (I count maybe 1 or 2) would benefit from a full review I’de post one but meh. Summary: 3G is 2 orders of magnitude better than edge and makes the overall experience vastly better, bigger battery is nice and holy cow 80 megs of RAM?

I was able to open 30, count ’em THIRTY applications before even getting close to low on ram. The kicker? Switching to any one of them and it was still running at full speed.

My suspicion? Symbian sends some sort of SIG_PAUSE to the processes when you switch, so its not completly fair to say it was managing 30 applications at once, but it certainly was doing so in memory. Some applications as well were definetly still processing (notably the browser. If i told it to go to some large website then went off to some application, and came back the page was fully downloaded and rendered).

Other cool observations? Its really hard to get this CPU to hit 100%. During java apps its in the teens, most games also don’t really peak past 40%. Something that did hit 100%? Opening that pesky multimedia menu.

After closing all 30 apps (which took a while) Device was still perfectly responsive, and free memory back up in the mid 70s. Try doing that on windows.

The real deal on Linux Gaming

So, in light of the fact that I got both Psychonauts and Oblivion to work well under wine I feel like I should add a bit more to the below post.

So, previously I suggested that the ideal would be to have windows virtualized and accelerated under linux. The question becomes can wine, the ‘proper’ solution (implementing windows on linux) keep up with the ever changing windows and windows gaming worlds? Apparently they’re doing pretty well, with Oblivion working 99.99% (oblivion also being one of the most recent and high power games).

So, given the choice between a perfect wine and virtualized windows obviously wine would win. The question is how frequently will we be faced with a scenario where we actually have an application working perfectly with wine vs. how much of a pain is it to buy/virtualize windows.

For now, i’m happy πŸ™‚

One platform: Consoles & OS

In my nightly travels across the internet tonight i stumbled upon to an article about EA Games praying for one day just one platform to develop games for. The article goes on to point out how Sony and Microsoft would never allow such a thing to happen etc. insert boring mumbojumbo here.

I’ve also been pondering a similar issue recently. I got the itch to play Elder Scrolls IV: Oblivion the other day, so I go into my closet, dust out the dvd throw it into linux and try and WINE it; why I would try this before checking online to see if its compatible I don’t know. Needless to say it didn’t work the first time, I do some research online and eventually get the game to load up.

Two issues. 1) It was annoying to get the game to work. Despite the fairly simple and thorough walkthrough I had little quirks causing this problem or that problem which were unforseen and took time.
2) Even once the game loaded, I had bad sound-static problems and visual artifacts in the menus and no HDR.

I rebooted into windows (which i hate doing), game played perfectly the first time; of course.

So… (and to my purpose in this post) we’re left with a conundrum. There are a couple ways to play games on Linux
1: The game creators released a linux version which most likely installs with no issues and works well.
Pros: It works!!!
Cons: It cost the developers extra time; very few games have this option

2: WINE
Pros: Pseudo-works for many many games.
Cons: Almost never works the first time, almost never works flawlessly. Theres always some glitch you either have to ‘just live with’ or find a workaround.

3: Reboot to windows. Not a good option as it doesn’t satisfy ‘gaming on linux’.
Pros: It works
Cons: Rebooting sucks, hard core.

So we’re obviously stuck between a rock and a hard place: native games are hard to find, and implementations on windows, while making great progress, are far from perfect and rightly so; developers make games FOR WINDOWS and its thus ridiculous to assume we can be clever enough to make them work perfectly on an entirely different OS, that they work at all is simply outstanding.

What would be a better solution?

Virtualization. I think that if some company produced a _fully_ accelerated X86 emulator that could run games even at 80 or 90% native speed virtualized, this problem would be solved. Yes, if the world were perfect for consumers developers would have infinite time and resources and release every game natively for every platform and operating system. The world isn’t; in fact its far from it.

So my prayer to the world: Lets bite the bullet so to speak, and accept what would be a fully working solution (if not the most ‘proper’). So, if you’re listening oh mightly philanthropist looking to throw lots of money at a project (or somebody like vmware already): please make a virtualizer (preferably free/open source) that allows for quality opengl/direct X accelerating. Developers could then focus their time on making games work well on windows, and Linux(solaris bsd etc.) users could be happy and simply virtualize windows to play the games.

Yes this requires buying windows, but it doesn’t require rebooting; which is my principle problem with the typical dual boot system. Its a price i’de pay to not have to reboot to play games. Booting a suspended OS in vmware takes about 3 seconds at the moment; meaning playing games is just one or two clicks away; perfectly reasonable considering they would be on their native environment and work 100% with no ifs ands or buts.

Update: Turns out im a fool and was using an old version of wine in working with Oblivion recently. With the most recent version the game runs nearly perfectly (with very very few of those ‘just live with it’ bugs). So many many kudos to the wine folks; as my frustration with wine has subsided a lot as of today.