Weathrman is no more...

Weathrman was built around a simple idea; search Flickr for a photograph taken near you, showing weather conditions and time of day roughly similar to your current location's weather conditions and time of day.

For the most part, it worked surprisingly well, given that I had limited API capabilities from Flickr, time-of-day is badly managed in images, most of Flickr's images weren't geocoded well, the API is horribly slow, and althoiugh we start searching hyperlocal and step upwards until we find something, each of those queries is run sequentially (due to both limited number of queries per day to Flickr and the cost of AppEngine to me).

It's been many years since I seriously looked at the codebase; the app still worked, but the quality of the images it pulled had steadily decreased, people aren't really using Flickr like they used to.

The net effect is that the app was old (written for Froyo, and last updated in 2011), had bad image choices due to limited API control... and for a while, was actually costing me money to run, as it had enough users to hit AppEngine's limit on free CPU time.

But no longer; it's fallen out of use, gets few requests. The app has bitrotted, people have moved on from being endlessly fascinated with live wallpapers, and there's no point leaving it up.

So down it comes, three years after my last update.

If it brought you joy, thank you; if it brought you tears, I apologize.

It's ALIVE!!!!

AdSense Dashboard 3.1 is alive!!!

For those who've been wondering, life's been a little busy lately. Since moving to Mountain View, I've taken over the role of TL lead and Manager on the advertiser's side frontend of our Display business at Google, what we call the 'Content AdWords Frontend' in Google.

That's left me with precious little time; I first knew about 1.2 six months or more before it got released, and knew I'd have to migrate the dashboard to the API - but I ended up moving to Mountain View to take on this role before I had the chance to do so.

Now that my other major project, Search and Display Select is launched, I have a moment to take a breath and fix the dashboard.

Now, keep in mind I still want everyone to move over to the official app - but it's also true that it's 4.0+ only, and I supported folks on Froyo.

Froyo is no more. If you're still on Froyo, go buy a phone, the OS is much nicer now and you'll be happy you did.

So the AdSense Dashboard is Gingerbread or later now. I've gone and changed a few things to make it easier to maintain and take some of the pain away - including to moving to Play Services for authentication. (Auth used to be particularly ugly under the hood.)

New navigation hierarchy

  • Local TimeZone everywhere. Everyone but Google thinks in their local timezone. So timezone reporting isn't optional; the app works in the timezone you gave AdSense.
  • A new widget that supports resizing and lockscreen use.
  • Goodbye, ViewPager. It was broken anyways, and we now have way too many reports to just blindly page through.
  • Hello, Navigation The new design paradigm on Android is an ActionBar button linked to a navigation drawer; now that we have navigation, we've added more reporting.
  • New reports Ad unit and site reporting have been added.
  • More data A full set of metrics on all of the reports we show.
  • Pull To Refresh Because I was wrong, Nick.
  • New icons While playing with the navigation drawer I found we needed some kind of visual indicator. I wanted scaleable icons that worked at all DPIs, but was way too lazy to actually go and make icons of all of those sizes. Enter FontAwesome, a font with a host of icons of just the right style and use case; that, plus a customised TextView that supports specifying a font, and a bit of aggressive caching of typography, and we've got some icons in the app now.
  • Use of typography I switched everything over to the fonts that are used in JellyBean and KitKat, Roboto. This is temporary, until I can find (or get around to buying for app embedding) something like Trafalgar and Requiem
  • API 1.4 introduced a change I've been begging for since the first version of the API; at least some of this happened because they're now seeing these problems for themselves as users of the API.
  • Rewrite of networking I rewrote the networking to make a single batch request at the same time I moved to Play Services for authentication. The refactor cut the amount of code I had in the app by more than half.
  • Use of Play Services SDK Play Services adds a lot of critical support for doing auth properly across a wider range of devices.

And, of course, moving off of the v1.2 API, which is what broke the app for all of October and November.

I did this in two stages - a 3.0 release in November, and a 3.1 release just a few days ago to make use of some of the earlier cleanup.

Along the way, I cleaned up a bunch of code, imported the 1.4 libraries, followed the daisy chain of required updates, moved to Android Studio, deleted all of that and switched to the maven repository, fixed all the maven conflicts, updated to later versions of support libraries, rewrote a bunch of stuff that the support library changes broke, etc. This has been, undoubtedly, a massive yak shaving exercise; but it's better off now.

We'll see where things go next; as always, send me your feature requests, complaints, and general chatter to the support address.

AdSense Dashboard Update

TL;DR: App broken, fix coming this weekend. AdSense API we were using has been replaced by a newer version. App will be updated this weekend with fixes and new features. In the meantime, use the Google Adsense app in the Android Market.

So since I write that last message, I found myself with an unusual job offer; I left the AdSense team in London, which I've been on for years, and moved to Mountain View to run the Display portion of the AdWords frontend and help advertisers make sense of our display ads business.

So my life has been a bit upside-down lately, and that's meant I've had very little time to launch the version of the app that wouldn't have broken when the rest of the AdSense API team did their launch. Most of my life is still in boxes, there's IKEA furniture stacked in little flat-pack cardboard boxes in our new house in Noe Valley, and the dog sees me for about three hours a day.

None of those things are excuses for having failed to deliver you an update, but I hope they go some way into explaining why it didn't happen in time.

I'm very sorry the AdSense Dashboard isn't working for you today. I'm going to fix this very soon - this weekend - and will iterate a few times over the weekend to clean up a few long-standing bugs and handle a few errors and crashes that the occasional person has reported.

Now, it's important to state clearly that this app isn't going to live forever. I really want everyone to migrate to the official app - I worked hard to get approval for that team to get officially sanctioned and to build the best possible user experience for you and the rest of our AdSense users, and they're working hard to build out a fantastic feature set, and already has features I don't offer, like notifications. If that app has the feature set you're happy with, switch now; if it doesn't, tell them what you most wish it had by providing feedback on the app, which they're watching closely.

I miss my old team. I'm so proud of the app they've built, and the UX team has done an amazing job of making something not just functional but beautiful. Now's a great time to go and try their app - again, if you haven't used it recently - and remind yourself of what having full time engineering on making a great user experience can achieve, rather than some guy in his 20% time.

If you have any comments or questions, feel free to contact me.

Recent AdSense Dashboard Issues

I've been getting a lot of reports of problems with the dashboard, and I wanted people to know the status of some of this.

  • Authentication Problems There are two things we're looking at; one is a refresh of the app to a more modern set of sdk supports, the other is an investigation into auth problems with the API team.

  • YouTube Revenue Missing Yes, YT revenue is missing. YouTube has pulled its data out of AdSense. It's been pointed out to me that I could join the request with API data from the YouTube API that now has it, launched this month. I'll continue to work with the rest of the AdSense team to get this data back into AdSense for all our publishers, and will look at doing this as a stopgap in the meantime.

Have no fear, we'll put humpty dumpty back together again. Thanks for your patience.

Say hello to Google Publisher Toolbar 3.3.2!

We’ve been working through feedback from our users (thanks to everyone who has been leaving feedback, we love you) and have put together a refresh release.

Specifically, we’ll be announcing that this version enables ARC support for AdSense users, something we’ve been looking forward to for some time. If you enable Ad Review Center in AdSense, you’ll be able to block individual ad creatives - finer grained than URL blocking, and not limited in terms of the number you’re allowed to block.

Now you can pick and choose which ads you don’t want to see again without having to bar a whole domain. Domain blocking is still there in the dropdown.

The ARC team is really excited about this feature - we’ve been looking forward to providing this functionality to users from within their sites for a long time, and we’re excited to see it happening in this release.

Last, we’ve taken some of your feedback to heart about overlays and ad notification bars being too intrusive, and we’re working on redesigning and restyling them to be more lightweight and less in-your-face, while maintaining the existing functionality.

We’re launching the new overlay in this release; we think it’s a night-and-day improvement and hope you agree.

As always, please send us feedback.

Ad overlay, normal Ad overlay, hover, when an inspector is available Ad overlay for a DART tag

Google Publisher Toolbar 3.0 Launched

Well, it’s been a long, hard slog, but we’re back with a new release, and support for another Google publisher frontend.

We’ve added support for publishers using the DoubleClick Ad Exchange to use the Google Publisher Toolbar. At the same time, we’ve tried to address some of the top concerns, problems, and feature requests. We’ve added support for viewing details of an impression, and once you’re viewing those details, to block the ad.

To see more information about an ad, just click on any ad inspector that goes blue when you hover over it.

More to come soon.

Google Publisher Toolbar launched!

In the real world, publishers use a mix of ad products on their sites; they book direct deals and reservations through DoubleClick for Publishers (DFP), pass their inventory through exchanges like the Google Ad Exchange, or backfill unsold inventory to Google AdSense.

Since my initial launch of the AdSense Publisher Toolbar, we’ve got great feedback - both internally at Google across our publisher teams, and externally from users - and I’ve been very happy with the response so far.

Based on everyone’s feedback, e’ve been hard at work adding support for more products. I’m happy to announce that as of V2.0, we’ve renamed the AdSense Publisher Toolbar to the Google Publisher Toolbar, and added support for basic decoding of all DoubleClick tags. This is the first of many releases to broaden the toolbar to cover all of Google’s publisher products, and we look forward to your feedback.

Go check out the Google Publisher Toolbar extension on the Chrome Web Store for more information.

AdSense Publisher Toolbar v1.5 Update

We’ve been hard at work on the publisher toolbar, and I’m happy to announce that we’ve pushed a new version containing the most commonly requested feature: support for selecting a range other than a 7-day daterange for the custom and URL channel summary.

There’s more, of course - go see the AdSense Publisher Toolbar on the Chrome Web Store for more.


  • A new, first-install page explains the product features a bit better;
  • A First-install page added that explains product features in more detail, linked from help.
  • An overlay notification is added when overlays are disabled on a domain, to help users find the feature.
  • Choose your own reporting window on custom and url channel reports.
  • Uses your current Google account login, rather than OAuth.
  • Supports multiple logins.
  • Fixes for timezone issues. If you still see problems, please report them.

Looking forward to hearing feedback.

Copyright © 2010-2013, Gregory Block. All rights reserved.