Monday, May 7, 2012

A Barça Game Full of Firsts & Lasts

I had always said to Dante that he'd go to see a football match once he was 4 years old. We were lucky enough to get a free ticket to last week's Barça match. As luck would have it, the game would be a series of "firsts" and "lasts" for us and the team:

  • Last time Guardiola would coach in el Campo Nou
  • Last home game of the season
  • Last time I can probably take Diego to see a game and have him get in for free
  • First game ever for Dante
  • First game ever for all three of us together
  • First time for someone to break the single season scoring record in all competitions (Messi) since the 1920s
  • First time for someone (Messi) get to 50 league goals in a single season
90 minutes can be long for young kids, even if it is watching great football.  Nevertheless, being there was special and something that I'll never forget. Thank you Eva and Xavi for getting the ticket for us.

Just me and the boys with great seats...

Friday, April 20, 2012

Distilled bookmarklet modified to support GA Custom URLs

Tom Critchlow from Distilled released a bookmarklet this week that lets you instantly access the traffic stats in GA for whatever page on which you are navigating (assuming you have permission in GA of course).  It works perfectly on any site with GA so long as it does not use custom URL in the _trackPageview command (well over 90% of sites).

However, for sites like ours, we were out of luck because we always use custom URLs to give us finer tuned reporting and allows us to leave URLs optimized (or at least semi-optimized with what our CMS will allow) while having detailed and optimized data for reporting and analysis.

I have modified the script to work with sites that use custom URLs for tracking in GA as well as for standard implementations.

javascript:location.href=""+encodeURIComponent(":"+ (typeof _gat.N[0].F == "undefined" ? location.pathname : _gat.N[0].F))+"%26explorer-table.secSegmentId%3Danalytics.source/";

The key change is to substitute location.pathname from the original script and replace it with a block that checks for any custom URLs stored in GA for that page

(typeof _gat.N[0].F == "undefined" ? location.pathname : _gat.N[0].F)

The only caveat is that you are still out of luck if your use inbound filters to transform your URLs inside GA. Unfortunately, there is no easy solution other then creating a regex yourself to apply the same transformation to the URL.

Instructions for making this work on your site:
1) Go to Tom's post
2) Enter your code from GA as he mentions it in his post
3) Drag the bookmarklet to your toolbar
4) Right click the bookmarklet and edit the script by changing:
(typeof _gat.N[0].F == "undefined" ? location.pathname : _gat.N[0].F)

Change the part that says location.pathname to (typeof _gat.N[0].F == "undefined" ? location.pathname : _gat.N[0].F)
5) Click OK and you are good to go

Monday, April 16, 2012

GA is a bit confused this morning...

GA this morning forgot its cup of coffee

I am really enjoying the new GA v5, especially as they start porting some of the remaining functionality that has been missing these last months such as PDF and email support.  They even have improved the contrast in the latest iteration so I don't feel compelled to try to make GA higher contrast

One area, however, that I prefer from before was the main graph area.  It used to show the comparison information from previous periods as well as percentage differences. I suppose to save CPU they decided to remove that info and only post the standard aggregate data. The scaling also really needs some improvement because they play with the labels and scale with every change of a report.

Some things though you can just chalk up to being "beta".  This morning GA seems a bit confused on how to display its labels for time.  Look at the screenshot below. Hours are days and days are hours....feels a bit philosophical.
Not quite up to swiss watchmaker standards...

Hope they fix this later today.

PLUS: GA Evolution is Evolving

Also, I just wanted to give a quick heads up that I am completely rewriting Google Analytics Evolution.  The new version will be a responsive design in HTML5, based on Bootstrap, jQuery (of course), and the alpha (please don't break) version of the Google API Javascript Client Library.  I have all of the data pieces working and now I am just finishing the presentation of the returned data.

After that I will put Flot back into the mix and I'll relaunch.  This new verison will also include an option to sum/aggregate data from separate queries on the page.  Nothing very sophisticated and you'll need to be careful about aggregating averages, but for people who manage multiple sites but do not have "global" profiles setup in GA this can be a time saver.

Hope to have this released in the next week or two.

Wednesday, February 22, 2012

Pimp My gReader Script Updated for new Google Bar

Google does not seem to stop changing their lame  new Google Bar.  At least this time it was for the better by bringing back the top black bar for quick links.

Anyway, this update broke the PimpMygReader script.  Well, it is now updated and all I think are fixed.  The difficulty this time is that Google has decided to implement multiple css schemes depending on screen size AND browser type, so I had to make adjustments for small and larger screens for both Firefox and Google.... So much for working towards standards.

For more info, download the script and background, see the original post to improve Google Reader

Monday, February 6, 2012

Fines for surfing in the Med - what's next...You can ski, but only when it is hot in the summer?

From the absurd desk comes this news....

The city of Barcelona will fine surfers for being out in the waves. This is because the surfers are considered "bathers" and all bathers must follow the posted instructions and respect the flags. Well, for the average tourist who has no idea about surfing, perhaps they should not go in the water when a red flag is posted. What City Hall (Ajuntament in catalan) does not seem to understand is that surfers need "surfable waves" in order to surf.

It is like giving fines to dancers for dancing at a dance hall because it is not safe for the people who are walking to the bar for a drink. Or fining skiers for being on the ski slopes because it is cold outside... you know less than 60ºF (15.5ºC).

The fines range from 700-1500€ per instance.  This is so pathetic.

What's worse is that we are talking about the Mediterranean!  This is not Hawaii, Mavericks or even Portugal.... this is the home of the "mediometrismo" (1.5 ft. sets).  Although I have to say that living here has been pleasantly surprising with the amount of "surfable" days there are per year, we are still only talking 2 to 4 days a year of true overhead surf.  Even then you will be hard pressed to find many DOH+ sessions near Barcelona.

I understand if they want to fine/charge people who need to be rescued, but in no way does it make sense to fine someone for being in the water exactly at the moment when they need to be in the water.  Going back to the mountain example.  If search and rescue need to go save you because you ignored all the signs and you get lost, OK... let them make you pay for the public services.  But if you are going down the bunny hill, no one should be racing to make you pay the government.

OK, pop quiz... 1 of these surfers could be fined... guess which one:
You guessed it, the poor fella in the lower right better be reaching for his wallet...

May the wave gods help us all.

Tuesday, January 24, 2012

High Contrast Google Analytics is Easier to Read

I am not a big fan of the design direction Google has been taking lately.... great products (mostly) but supposedly for the sake of consistency they are ugilifing, and more importantly, making less usable various applications of theirs.

The primary manifestations of their misguided UI direction can be seen in:
  • Terrible contrast (especially the use of small or thin gray fonts on off-white or light gray backgrounds) 
  • Lots of empty / wasted space (vertical space is at a premium on laptops and tablets, yet they are opting for more scrolling and pushing everything down the screen for no better reason than to make the search bar stand out more)
 Google Analytics v5 will soon be the standard interface for all GA users.  A lot of the functionality is very welcomed (new user flows, better custom reporting), some is a waste of time / fad (real time reporting is the antithesis of web analytics for most purposes), and some is a step backwards (readability, more use of sampling, "fast access mode").

I have made a new userscript that addresses the problems with contrast I have found in GAv5.  Please give it a try.

Download the Better Contrast Google Analytics Script directly from

Better Contrast GA Script Homepage

Here is an example comparison showing GA without the script and after applying the script
I was blind but now I can see...

Download the Better Contrast Google Analytics Script directly from

Important Note: Google is updating its UI and CSS fairly regularly (seems about every 1 to 2 weeks they upload a change) and there is the chance that the class names or CSS may change.  I will try to keep the replacement CSS loaded by the userscript fairly up to date, but there may be times when it is out of sync.  If you find something that breaks the  CSS at some point, please post a comment to let me know.  Thanks!

Wednesday, January 4, 2012

Bringcast Podcatcher for Mango V3 feature requests

I just received my Nokia Lumia 800 from Nokia yesterday thanks to their developer program launchpad. I now have the SDK installed and hope to start tackling my first WP7.5 app soon.

In the meantime, I had to get the phone setup with the microSIM (cutting my old SIM down to size did not work I think because my previous SIM was way way too old and had a different chip pattern). Also, I started loading the phone with apps. WP7 may not have as many apps as iOS or Android, but the list so far is much more impressive then I have seen for Symbian, especially considering how short of a time they have been in the market with this platform. Mango is less then 6 months old and WP7 only launched publicly in Oct 2010.

One of the most glaring faults with the OS is the lack of a podcatcher and the need to sync with Zune on a PC. I download podcasts every day and I do not want to have to turn on my PC to get new podcasts. Nor do I ever listen to podcasts on the PC.

The good news is that I found BringCast for WP7. They apparently released a Mango optimized version in December (v2) and I decided to give it a try. Well, after 30 seconds I went ahead and bought it. From what I have seen and read so far it is the best podcatcher for WP7.

I saw that the developers are considering v3 new features so I wanted to give them a list it consider for v3 (and if not v3.5 or v4):
  • Automatic updates to check for new podcasts in the subscribed feeds that is configurable (every 2 hours, 4 hours, 6 hours, 12 hours, 24 hours, only manually, etc...)
  • Automatic download of new episodes with configurable general defaults (none, N, all) and also per feed settings (for example, I want all Slate podcasts, but only the newest episode from WTF?, 2 newest from Fresh Air, and none automatically downloaded from the Economist)
  • Perhaps automatic deletion of old podcasts (x days after 100% completed). I do not like how from the playlist you can delete it but you cannot delete the actual media. You need to go 1 by 1 in BringCast to delete the media
  • Live Tile integration:
    • # of new episodes
    • Now playing
    • Status (updating, downloading, etc...)
  • If possible, full podcast integration with Zune player on the device, not just via playlists. For example, from Zune, I cannot delete the downloaded podcast episode, I can only remove it from the playlist.  To delete it I need to go back into BringCast to delete media.
While not feature requests, I also found two things that seem like possible bugs:
  • While trying to do background downloading of podcasts, I received an error saying that the OS policy does not allow non-WiFi downloading of podcasts.  However, in my settings I have the checkbox set to allow 3g downloads.
  • I tried importing an opml file from a public dropbox url and the app just did a refresh of the screen but did not import anything.
So I hope will take my requests into consideration.

For any WP7 owner who needs a podcatcher app, check out BringCast.