When looking at one of the trailers (Tetro: Original Trailer) that has been transcoded into WebM. I wanted to compare YouTube's x264 settings versus their WebM settings. I've also uploaded some 1080p footage for more recent footage (in case the H.264 settings had changed between Dec. 2009 and now - which AFAIK they haven't) to compare. It's also important to note that the HTML5 access to YouTube videos is only available on non-monetized content.

During my testing I noticed that in the HTML5 Beta on older versions of Chrome and Safari (aka H.264 using browsers) when you select 360p for your video size, YouTube does NOT give you a 360p file - it is actually smaller in terms of resolution (480x270) and has to be upscaled. This is most likely a reason why my initial thoughts on Twitter didn't match with what I had on paper.

Disclaimer: Subjective paragraph to follow - I'm not an expert and I'm judging just by general visual quality to my eye.

A quick visual inspection shows the WebM version in 360p seem noticeably sharper in terms of details than the 480x270 H.264 which had to be upscaled. The 720p WebM version was close enough to it's H.264 counterpart. However I did definitely notice with the 360p version, a "quality bump" every once in a while as described in the ratecontrol section of a blog post by one of the x264 developers when criticizing the VP8 specification.

Using MediaInfo Mac the following settings can be found:

Tetro Trailer (Originally encoded 12/26/09)

Resolution Container - Codec Total Rate (kbps) Video Bit Rate File Size (MiB) Notes
640x360 WebM - VP8/Vorbis 812 ? 14.2
480x270 MPEG4 - H.264/AAC 500 393 VBR 8.7 Baseline Profile - HTML 5's "360p"
640x360 FLV - H.264/AAC 677 568 11.8 Main Profile
1280x720 WebM - VP8/Vorbis 2887 ? 50.4
1280x720 MPEG4 - H.264/AAC 2172 2045 37.8 High Profile



Part of the reason I chose Teatro is that it has some excellent DOF changes, the other reason is that I just liked the visual style of the trailer. It was also the first trailer I clicked on that worked in the HTML5 beta that didn't resort to using Flash because it has been monetized.

12 Second Test Clip Uploaded Today

Resolution Container - Codec Total Rate (kbps) Video Bit Rate File Size (MiB) Notes
640x360 WebM - VP8/Vorbis 709 ? 709 KiB
480x270 MPEG4 - H.264/AAC 508 415 VBR 751 KiB Baseline Profile - HTML 5's "360p"
640x360 FLV - H.264/AAC 542 466 835 KiB Main Profile
1280x720 WebM - VP8/Vorbis 1736 ? 2.61
1280x720 MPEG4 - H.264/AAC 2120 2005 3.06 High Profile



What's the conclusion for what YouTube is offering? Visually, WebM can be made to look quite decent - especially for what I believe is it's target market; the web and mobile devices. However on higher resolution and higher bit rates, H.264 definitely appears better. I don't think most people will notice - they're close enough with the current settings. However I do believe that the WebM settings are more fine tuned than the x264 settings to get a little bit more video quality. Encoding my sample 12 second video with a relatively recent version of x264 locally with some rather generic settings is more visually appealing than YouTube's.

Even though H.264 is definitely better on paper, I think VP8 will do just fine as a replacement for Theora and a competitor to H.264 for use on the web. For the near future (next 3 months IMO) you won't see a lot of WebM footage available as the playback availability is extremely limited.

This review referred to the version 1.3. Version 2.0 and 2.1 have been released that make the game even better (and address most of my issues with it). Go check them out.

Own This World is a location based game for the iPhone by Big Nerds in Disguise a company in Calgary, Alberta. I discovered the program via yycapps and purchased it to try it and support a fellow Calgarian company. After a week of playing it solidly I wanted to share my opinions.

The game itself is an odd (but extremely neat) cross between Risk and real life ("a geo-dependant online game" - yycapps), pitting different users against each other in their own backyards by spending time accumulating troops in territories in order to accumulate more resources and hopefully rule the world (by actually travelling the world).

It's a very intriguing and novel idea but suffers from some design flaws that takes the diminishes the fun of the game.

The Good

The application design is very straight forward, giving you a map of your current location overlaid with the territories used in game. The application performance is relatively decent, moving around on the map and it starts up in only 10 seconds on my iPhone 3G. The best part is that the opening 10 seconds or so counts down meaning the time waiting for the application to finish starting up counts towards gaining troops. It's a little touch that makes the experience as a casual game much more pleasant.

The game itself is not a fast moving game, in many ways it feels like a day based turn based online game of old. OTW however makes it very interesting (read: addictive) once you get involved with other players, either through attacks or simply taking over a territory. The activity and frequency of "violence" means that the troop counts (at least in Calgary) haven't become insurmountable leaving the game approachable by new users; especially in the more heavily populated (by users) regions of the city.

OTW promotes getting out and investigating the city, and even enjoying heavy traffic in order to spend more time in zones you normally only pass through - so you can rack up troops in hopes of being able eventually overthrow the leader. It also requires that the user be in the territory that they actually want to attack and have at least 1 troop giving attacks a new tangible cost - especially if wanting to strike back at someone who has several other territories. It drops the sniping and requires the player to be more active within the game.

OTW also offers (via in game purchase) the ability to create your own world so that you can play the game with just friends and ignore the rest of the public. It will carry over your current troops in different territories - it'd be a great way to turn some of the bits of the game I really dislike (see below) into advantages.

The Bad

The largest downsides to the game is that leaving the game on all the time chews through your battery like no tomorrow as it opens a new network connection every 30 seconds to talk to the server. Turning off the screen I found didn't help as it would often mean that the application would not record your time accurately (instead of 1 troop every 30 seconds, it seemed to be 5 or 6 every 10 minutes or just stop once I let the screen turn off). The slow pace of the game and the requirement to actively go check your status in the game can be a bit tedious at times.

The UI of the game itself for the most part is straight forward and intuitive but several bits just don't feel like they "fit" (subjective warning) with the iPhone. The sliding information bar below the map in the Conquest view just doesn't feel right. Maybe it's the ALL CAPS, or the font choice but it looks very out of place. Especially if you have a double width status bar (eg. Internet Tethering, on a call, etc.)

By far however the worst part of the UI design is the user selected colours; from the RGB selection sliders in the User Info (functional but not very friendly) right through to using the user's selected colour everywhere their name appears in the game. Black on black does not easy reading make.

In terms of attacks, there is no defence against attacks. If your hours of work establishing troops is blown away by someone driving by who has several hundred territories or purchased resources your only recourse is to rebuild. After all it's a game like Risk where territories are won and lost frequently. Don't bet on making a stronghold aim for gaining lots and lots of territories if you want to last - and so if your job isn't conducive to road trips outside the city, consider making time on the weekends.

The Ugly

The ugly bits are by far the largest reason I'm uninstalling the game from my iPhone. The first is the ease of being able to track a person in real life - by using the User search I can see where someone last checked in and if I really care enough it's quite easy to know the areas of town where a person is likely to live and/or work. I find that the tracking information is too easily discernible and it leaves a bad taste in my mouth - however it's not a fault of the game itself but a downside of the concept. My best recommendation is that unless you're playing in your own world with friends, be aware of mixing your game identity and your personal identity. The odd part is that you can't find out any other details about the users - how many territories they have or other details unless they are on the leaderboard.

The other bit that really rubs me the wrong way is the $0.99 micro transaction that allows users to buy 100 of each resource, and once I had been on the end of where a person was just throwing money at the problem to attack my territory if only because it's insanely more economical for the player when dealing with more than a couple hundred troop difference. It doesn't actually level the playing field in any respect, it means those who feel like pissing away a loonie or 4 away can take someone from 12000 troops (~100 hours of having the app running on your phone) to nothing (as seen in downtown Calgary). It's infinitely faster than building up your resources and/or fighting within the city for territories. It harms the game balance that exists. I can understand the reasoning behind such an option - it's something I find takes away from the game in it's current form.

Conclusion

It was a lot more fun than I expected but honestly not worth the time investment and/or the sheer battery life drain. It was intriguing and reasonably well done but has too many flaws to give it more than the 3/5 stars I rated it on the App Store. I know I couldn't have made an app that well, it's definitely not an app I'd recommend buying but definitely worth looking at as an example of where gaming on a smartphone opens up new interesting challenges.

I've been using Chromium (the developer version of Chrome) since May side by side the WebKit nightlies. They're very fast and I like Chrome quite a bit however I won't be moving to Chrome/Chromium as my main browser. Yet. After all it's still a beta and under very active development.

And like any craptastic method of making sure one has an easy time of making an article/blog post/etc. a set of pros and cons as to what I like and dislike about Chrome/Chromium)

Pros:

  • Super fast, uses a newer version of WebKit than Safari. (If you like Safari but want the new versions of WebKit - use nightly.webkit.org - will never use Vanilla Safari again)
  • Automatically updates itself silently (Chrome only, Chromium must be manually updated
  • Updates often so new features and bug fixes in WebKit show up quite quickly.
  • Bookmark Sync (this came online last week). Awesome.
  • If one tab crashes the entire program doesn't crash. Huge. Not as huge since Safari started sandboxing Flash but huge none the less.

Cons:

  • Silently installs an auto updater that is hard to remove and impossible to control in a managed environment.
  • Extension support not easily accessible
  • Bookmark Management is near non-existent. It's a completely broken feature at this time.
  • No Click To Flash yet. Flash Blocker is a poor substitute.
  • Tabs just become a set of mountains when too many are open.
  • Top Sites look alike feature isn't as customizable. Oddly I use Chrome's Top Site feature but not Safari's.

I like it a lot but I believe calling it a beta is disingenuous. A beta usually refers to something feature complete and in bug testing. My usage however says that it's very solid but that new features are being added all the time. The reality is that Google Chrome is being treated like a web application - iterated fast and often and there is no real distinction between alpha, beta or a final "1.0" version number. Just a stable and unstable branch and the version number to correspond to where development is at.

It's a bit more chaotic but represents a change in how developers can approach development, after all there are no instances of a user using a version 3 or 4 versions old when you make sure everyone is using the latest version all the time.

In order to profile some in house web application development and find out a couple bottlenecks that were appearing I went looking for a decent PHP profiler and found Xdebug. Because I am using the built in version of PHP on the Leopard Server, and a MacPorts version on Snow Leopard (we also have an application that fails miserably on PHP 5.3) it lead to some fun installing Xdebug on the Leopard machine since I didn't want to reconfigure apache2 to use PHP 5.3 from MacPorts.

The crux of it is to grab the source of Xdebug, and then when configuring prefix your standard ./configure --enable-xdebug with the statement CFLAGS='-arch ppc64' or CFLAGS='-arch x86_64' as necessary. Compile xdebug as a 64-bit extension and it will actually work with a 64-bit version of Apache. With MacPorts it was as simple as enabling the xdebug variant and letting it recompile PHP.

I highly recommend using webgrind. It gave me more useful results than MacCallGrind, and didn't require an hour hoping MacPorts could compile all the dependencies for kcachegrind (which would require graphviz as an additional install). Now I have some numbers to tell me where to look for proof old me is a moron.

As many of you are aware, Apple released a new horribly named mouse, the Magic Mouse. On Saturday I had the opportunity (since I was in the mall anyway) to drop by the Market Mall Apple Store and give the mouse a whirl - it was comfortable, did not have the gum-up-every-5-seconds trackball, and was exceptionally responsive. On a whim I ended up purchasing one later that day.

The Good

The mouse is accurate, responsive and the multitouch feels intuitive and that with software updates it could become even more. Additionally the weight has just enough heft to feel solid but much lighter than most other wireless mice Definitely the best Bluetooth mouse I've ever used.

Scrolling without a wheel (and momentum on Snow Leopard) brings the best of scrolling on an iPhone/iPod touch to the desktop and for the reason alone is worth it. Instead of a tiny wheel that just spins the entire surface of the mouse is now you touchpad for scrolling, perfect for reading long PDFs and being able to lean back and just use one finger without having to clutch a mouse.

Of note the two finger swipe to go back in Safari hasn't been an issue and actually useful on occassion.

The Bad

The mouse is smallish and does not offer the ability for a "middle click" (3rd button). If you are used to the Mighty Mouse the muscle memory of squeezing may take a little while to get used to not being able to do. The loss of being able to trigger Exposé in any form is definitely a large loss and the primary reason I normally prefer 5 or 6 buttons on my mice. Being forced to use a less than optimum layout for Exposé on the Aluminum keyboard makes using Exposé more and more of an afterthought without resorting to Dock Exposé in Snow Leopard. Apple's hardware definitely is not very Exposé friendly at times.

The Ugly

The new mouse is quite cramped and not all that comfortable compared to full size mice like Logitech's MX Revolution, 1000 or the Performance. This is a huge misnomer because the Magic mouse is surprisingly comfortable even for long periods of time - it's that the MX line fits my hand more completely and feels nicer to hold at odd angles. That said, I always have a hand on the keyboard and avoid mousing unncessarily as keyboard shortcuts are nearly always faster then hunting for them in the menus.

Conclusion

Suffice to say, it's an excellent Bluetooth mouse, it's minimalistic and has all the features I want. For users who don't require a middle button, those who want a solid mouse it's perfect. I'll definitely be keeping it - at least until the wife steals it and I upgrade to an MX Performance.

I highly recommmend the mouse so long as you're not looking for a large or gaming mouse.

My initial impressions are that Snow Leopard is very much worth the upgrade if you can afford the time to do an operating system upgrade (in this case for me it was ~1.5 hours: 45 minute install, 45 minutes testing apps and seeing they still worked without any modification)

Pros:

  • Speed
    Awesome!
  • New Services Feature
    My favourite feature
  • OpenCL
    If you haven't seen MacResearch's Introduction to OpenCL check out 33:30 to 34:50 or so. (Rough timecodes
  • iCal Event Editing Gets a Window Again
  • Spotlight Default Search Location Fix and Sortable Results I can finally search within a folder without holding a needle to my eye first!
  • Enhanced Icon View Neat if I used icon view.
  • Faster wakeup to password screen Hawt.
  • Faster Time Machine Backup Hawt.
  • Airport Menu Changes Neat animation, but more info when holding the option key as well.
  • Gamma 2.2 Default No longer do I have to set this up each time.
  • New Fonts Menlo is cool, but Chalkduster; Heiti SC and TC; and Hiragino Sans GB are all fonts I'll never use.
  • Safari Plug-ins are sandboxed Awesome - Flash won't hurt as much even after ClickToFlash
  • QuickTime Player New UI is great for viewing.
  • Preview Faster and better scaling.
  • Mail Much faster. :-)
  • Set a time before the screen saver asks for a password. THANK YOU.
  • Smaller footprint I liked the good thwack of disk space I got back (~6GB)
  • Grand Dispatch Can't wait to see the results on the Mac Pros at work.
  • Screen Recording Neat, but I'll stick with ScreenFlow.
  • Revised Keyboard Shortcut / Services Preference Pane Much nicer to work with.
  • Wake on Demand No more having to worry about whether the computer is asleep or not? Over wireless? Sweet (Airport Extreme only though)

Cons:

  • Base 10 Counting
    WTF. DO NOT LIKE. "Mac OS X can not count" Would prefer a preference to turn this off and/or proper suffixes (eg. MiB instead of MB)
  • QuickTime Player Absolutely neutered into being useless beyond viewing and "Sharing" your movie to MobileMe.

In summary, there is no one real feature in Snow Leopard worth upgrading for - no major consumer focused feature. It's the sum of all the parts that make it worth much more than the $29 they are charging. Once installed you never want to go back.

At my workplace we use iCal Server running on Mac OS X 10.5 Server to share several calendars all under our one staff group. With iCal, so long as the group is delegated to be shown on the user's accounts you can see all the calendars but with Sunbird you only get to see the first calendar.

Before going further it's worth noting how to delegate a group calendar so a user can view it without manually adding the group calendar as it's own calendar (if using Delegates instead of multiple calendar "accounts" (same credentials, different calendars) is your aim). To do so you have to add the group calendar as a normal account in order to set it up, and then set up delegation as you would for a normal account. The important URL to know for using a group calendar is http://FQDN.OF.SERVER:8008/principals/groups/groupname (as always replace http with https and 8008 with 8443 if you are using SSL).

Sunbird uses slightly different URLs than what you use in iCal to start with, where in iCal an example URL might be http://FQDN.OF.SERVER:8008/principals/users/USERNAME or http://FQDN.OF.SERVER:8008/principals/groups/GROUPNAME. The corresponding URL to use in Sunbird is http://FQDN.OF.SERVER:8008/calendars/users/USERNAME/calendar or http://FQDN.OF.SERVER:8008/calendars/groups/GROUPNAME/calendar

That's great for adding a single calendar but what if a user or a group has multiple calendars under their one account? iCal will automatically show them as a group whereas Sunbird requires you to add each and everyone that you wish to have show up.

You can specify a "sub-calendar" to subscribe to in Mozilla Sunbird by specifying the unique ID of that calendar instead in the form of the url http://FQDN.OF.SERVER:8008/calendars/__uids__/UID_OF_GROUP_OR_USER/UID_OF_SUB_CALENDAR (Newer versions of Lightning will take http://FQDN.OF.SERVER:8008/users/USERNAME/UID_OF_SUB_CALENDAR). Note the lack of calendar at the end of the URL. To determine the UIDs in question it's easiest using iCal, if you click on a calendar and press Command-I (File -> Get Info) you can see part of the CalDAV URL at the bottom of the sheet that appears.

You will see calendars/__uids__/UNIQUE_ID/ONLY_PART_OF_THE_UNIQUE_ID because the label the text is placed into is not big enough to fit the URL. Because you can't get the full URL from there it's easiest to go to the iCal Server itself and navigate to /Library/CalendarServer/Documents/calendars/__uids__/ (you'll need administrator privileges to view this). From there find the folder named the same as the UNIQUE_ID portion of the URL and open it to find a folder with the UNIQUE_ID of the "sub-calendar". You can now put the URL together and use that in Sunbird to view that additional calendar.

Example URL of a sub-calendar in the group:
https://FQDN.OF.SERVER:8443/calendars/__uids__/FA26C8C6-5B78-4AB0-AE73-0E9576574EBB/F74174B7-380C-4630-9192-9025F4C691A2

EDIT:

Sub-calendars also work at https://FQDN.OF.SERVER:8443/calendars/users/USERNAME/UIDOFSUBCALENDAR

Sources Used:

When I read on MacRumors that the Chromium builds for the Mac were available and were actually launching the "stupid" geek in me jumped at the opportunity to try the unfinished, unpolished software. By "stupid" I refer to the side of near any geek who sees the OOO SHINY and is fully prepared to deal with the instability and issues that will crop up with using pre-alpha/alpha software. Naturally when I saw how fast and furious the updates were happening alongside the fact there was no automatic update mechanism apparent in Chromium (I don't have the Google Updater installed and don't want to) I sought to find out how to automate the updates to make the pain of manual downloads, copies and such go away.

Using my previous WebKit script, 5 minutes looking at the Chromium application layout and how the builds are stored on the server I changed the script. I fully expect it to break horribly in the future as Google changes folder layouts and/or adds Chromium support to their own "silent" updating mechanism.

  
#! /bin/bash

# Based off my WebKit nightly script (now defunct as WebKit uses Sparkle)
# Copyright 2009 Micheal Jones
# Software License: Do whatever you want.

#Find current revision
currentRevision=`/usr/libexec/PlistBuddy -c 'Print :SVNRevision' /Applications/Chromium.app/Contents/Info.plist`

#Get latest revision
latestRevision=`curl -s http://build.chromium.org/f/buildbot/snapshots/chromium-rel-mac/LATEST`

#Abort if there is no update
if [ $latestRevision -le $currentRevision ]  
then  
    echo "There is no update for Chromium available"
    exit
fi

#Append download address
address='http://build.chromium.org/f/buildbot/snapshots/chromium-rel-mac/'${latestRevision}'/chrome-mac.zip'

echo "Downloading... $address"  
curl -s $address -o /tmp/chrome.zip

#Abort if the build is not available
if [ "`head -n 3 /tmp/chrome.zip | tail -n 1`" = "404 Not Found" ];  
then  
    echo "Latest Version is not available yet (try again in a couple minutes)"
    rm -rf /tmp/chrome-mac.zip
    exit
fi

#Unzip
unzip /tmp/chrome.zip 1>/dev/null

echo "Copying..."  
#Copy to Applications
cp -RfL /tmp/chrome-mac/Chromium.app /Applications/ 2>/dev/null

echo "Cleaning up..."  
#Clean up
rm -rf /tmp/chrome*

revision=`/usr/libexec/PlistBuddy -c 'Print :SVNRevision' /Applications/Chromium.app/Contents/Info.plist`

echo "Finished. (r$revision)"  

Realistically you should be looking for the latest source at the link below:

As always this script can be found in my git repository on GitHub.

On ServerFault someone was asked a question why .csv files were unable to be viewed in Quick Look. For some reason .csv files are not defined as plain text by the operating system which leads to odd conflicts between applications that can deal with .csv files that causes QuickLook to report that it can't find a generator for the file and just show the icon.

The one way to force it to work is to roll your own, with a bit of help after reading the QuickLook Programming Reference it was rather simple to roll together a proof of concept QuickLook generator for .csv files.

It's not pretty, it may break at any time (if only because it's using a dynamic UTI since one is not defined anywhere, however .csv files have been using the UTI "dyn.age80g650" for quite a while - as far back as prior to 10.0) but it works and forces the .csv to display properly.

The code and a download of CSVQL is available on GitHub:

Source: http://github.com/Chealion/chealion/tree/master

Download: http://cloud.github.com/downloads/Chealion/chealion/CSVQL.zip

Check out Pascal's comment for a much nicer looking version - actually puts the data into tables.