Quiver pen holder

Here’s how I used to carry my pen:

Before

Here’s how I do it now:

After

So much better. I really love this thing.

Things tags: Emoji, frogs and GTD contexts

I’ve been using Things as my GTD app of choice for quite a long time now. In addition to experimenting with a physical progress meter, I’ve also been fiddling around with the tags.

Using Emoji in Things tags

Things tags

And here are all of my tags and their shortcuts.

Mark Twain suggested that we “eat a live frog in the morning and nothing worse will happen to you for the rest of the day.” During my daily review I try to pick out the one thing I really don’t want to do but really should do first.

Of the priority tags, the only one I use a lot is the high priority tag (the little red circle) to help me spot the urgent/important stuff.

Although I spent far too long making this look pretty, it was really just whittling while I was thinking about contexts. Rather than tagging things according to the project (which Things handles anyway) or type of activity (which isn’t very helpful), I’m finding it useful to be able to pick out actions according to the situation and tools I have to hand. What can I do while I’m on the train? If I’m in the mood to make some phone calls, what do I need to do? What can I do that will only take 5 minutes? That sort of thing.

Tagging be people and agendas is useful too. In preparing for regular meetings, or time with certain people, it’s great to be able to quickly pull out relevant things that I need to cover.

There are some ‘Waiting for…’ tags too, useful when something has been delegated but still needs to be kept an eye on. Having different flavours means I can check the ‘chase’ ones daily and the others less frequently (usually weekly, at the moment).

You’ll also notice that absolutely everything has a keyboard shortcut. When I’m using a computer, and I mean really using a computer, I don’t like to switch between using keyboard and trackpad and I always want to be able to everything I can with keyboard shortcuts. For example: tagging actions without having to skip a beat.

Jargone

I made a thing.

Jargone is a bookmarklet for highlighting jargon words on any web page.

The list comes from the Government Digital Service GOV.UK style guide, specifically the plain English and words to avoid sections of the guide, which has this to say about avoiding jargon

We lose trust from our users if we write government ‘buzzwords’ and jargon. Often, these words are too general and vague and can lead to misinterpretation or empty, meaningless text. We need to be specific, use plain English and be very clear about what we are doing.

While the guide is very helpful, and includes alternative suggestions for many of the words to avoid, I wanted to be able to spot jargon more easily on the web.

The bookmarklet is very simple. It just adds a bit of CSS styling and javascript to the page and then checks all the words on the page against a list of known jargon words and phrases. Once you run it on a page, offending words are highlighted and, borrowing heavily from the design of Gmail’s handy spellcheck feature, any entries which also have notes associated (suggestions for alternatives, for example) also let you click on them to see the suggestion. It doesn’t (yet) let you replace with a suggestion, mainly because it doesn’t even pretend to be clever enough to get it right. In fact, the implementation is so simple that it’s quite likely to think there’s jargon on a page even if there’s not. For ‘impact’ it gives the advice “Don’t use it as a verb” even when you’ve used it as a verb. It could probably be made a bit cleverer, but as a quick automatic highlighting of things to watch out for, it’s hopefully already quite useful.

Although I based the list on the GDS style guide, I’ve already accepted several contributions from elsewhere. Thanks to everyone who has already contributed.

You can find out more about Jargone or just install it here if you want to try it in your own browser. Enjoy.

Inky-Linky

I made a thing.

Inky-Linky makes web pages 100% more useful and irritating when printed. It’s a bookmarklet that adds a QR code to the margins for each external link in the page.

It came about because I wanted to make it easy to visit a link from a printed page, and also wanted to see if I could find an actual useful use for the much (rightly) maligned QR code.

Although it just about works there are, or course, quite a few things wrong with it.

  • It really doesn’t work very well on very busy pages with lots of links.
  • The layout algorithm could be a bit smarter when deciding which margin to use (e.g. links on the right of the page should ideally prefer to be shown in the right margin, rather than blindly alternating).

If that doesn’t put you off, and you want to try it for yourself, here’s the Inky Linky repository and installation page. Enjoy.

(Oh, hello Boingboing!)

Color: why it’s interesting and why it won’t be “the next Twitter”.

Color invites you to “creates new, dynamic social networks … wherever you go”. It’s getting a lot of attention at the moment, largely because of $41M VC funding. It’s even being hailed as having ‘a very good chance of becoming a large scale success like Twitter‘.

In case you have not yet heard of Color, here’s how Caroline McCarthy describes it for CNET

In Color, photos taken through the app are shared through proximity, something which amasses a list of your contacts through machine learning; in effect, you’ll be able to see all photos around you that were taken with Color. You’ll be able to see the Color photos of the guy sitting two tables away from you at Starbucks, but when he finishes his caramel macchiato and leaves the coffee shop, you can’t see them anymore. But if you spend a lot of time in proximity to someone–an office-mate, for example–that person’s photos will gradually begin to stay in your contacts list for longer.

Someone asked me this week whether I thought it really would be ‘the next Twitter’. I found it hard to say at first, because my first experience with the app had been so awful that I had to go back and try it again to see what I’d missed. It really is a rather hard app to pick up (and has been heavily slated in the App store reviews, often for being hard to understand) but it’s not hard to see that the idea of physical spaces having an invisible cloud of history and shared photos has potential; being able to see other angles you missed, knowing your friend was here yesterday, … you can imagine lots of fun stuff emerging from an experiment like this.

But no, I don’t think it’s going to be “the next Twitter”. Not at all.

Being based on physical proximity makes for a pretty tough first experience. Unless you happen to install and try it while you’re at a big event with at least a couple of other people using it, you’re left with a pretty unsatisfying starting point. Any app that requires you to be in the same place as other people using the same app at the same time is going to have a difficult bootstrap problem.

Most importantly though, Twitter is a platform with an open API allowing other apps to be built on top of it. Want to write your own Twitter client? Want to integrate Twitter into another app? Want to print out tweets that contain the word ‘snow’? Easy. Not so with Color. Want to make a site showing the most recent Color pictures taken in a particular place? You can’t. Unless you’re the Telegraph and you want to do a joint PR thing around the royal wedding (the sanity of which also raised some eyebrows).

That’s not to say that the situation won’t change. Instagram started closed and opened up an API after a few months. That move made it easier for people to make all sorts of really cool apps like Extragram, GramFrame, Instagrid, Instaprint, Instac.at and many more.

In fact, the most common use I’ve seen of Color so far has been that people will sometimes post a direct link to a picture to Twitter or Facebook. While that’s a useful feature (and in theory leads to more people discovering Color) it does mean that the whole local proximity and physical social discovery aspect of Color becomes optional; people continue to rely on those two tools to maintain their contact networks.

I think in its current incarnation Color is more of a photo sharing service, like Twitpic or Yfrog, with some additional features which might rarely get used. If they open up and offer an API (like Instagram did) they could become a much more interesting thing altogether, but only if it can get – and keep – users. Although I like its innovative approach, I think it’s going to be very tough for this app to become anything like mainstream.

I’ll give Color another chance, but I think I’ll also be looking out for the next next big thing.

Cross-posted to the W+K London blog.

MeeTimer and myware and SQLite

I’m interested in the idea of self-interested self-surveillance. Long before we had PMOG (the Passively Multiplayer Online Game, now called The Nethernet) to make a game of it, Seth Goldstein was calling the idea ‘myware’ and building the (short-lived) AttentionTrust site. As Fred Wilson said at the time, “If someone is going to spy on you, it’s probably best if its you.”

With that in mind, I installed MeeTimer over the weekend. It’s a Firefox plugin which…

records where you spend your time online. It does it in a rather useful way, by allowing you to group websites into activities … so you can make sense of where your time is going. Finally, it accumulates time spent on a site over the course of a day…

I’ve been using it for 3 days and it’s giving some interesting food for thought.

MeeTimer

You can even optionally set up ‘tab warnings’ on specific groups (sites you’ve labeled ‘Procrastination’, say) which will pop up with a nice overlay telling you exactly how much time you’ve wasted in this site, and others in the same category (though allows you to click through and ignore the warning just this once or for the current browsing session if you still want to). I’m already finding this feature useful on the handful sites whose feed I’m subscribed to but for some reason still find myself visiting out of habit. (For me, it’s Waxy links and Boing Boing. I love them, but I’d rather be reminded to enjoy them as part of my feed reading routine rather than browsing out of habit. I bet you have your own which make you ask is this really what you want to be doing right now?). A little reminder is really useful for habit-breaking here.

Mostly MeeTimer is just quietly keeping track of a bunch of per-site accumulators, cleverly based on whether Firefox has focus and which is the currently active tab. The results are already interesting. I realised that I was spending a bit less time on Twitter and Flickr, and a bit more time on work webmail, than I thought.

This is all very well, but I want more. Specifically, I wanted to get at the data. Not just the accumulated weekly/daily/monthly (etc) totals and averages, but the number of visits to each site per day. The raw visits. In as much detail as possible. I want CSV exports, or an API, or something. If I’m spending a daily average of 21 minutes on Twitter, how many visits comprise that time? MeeTimer simply doesn’t tell me.

Or does it?

Digging around my Firefox profile, I find a very interesting file at /Library/Application Support/Firefox/Profiles/{profile-id}/meetimer.sqlite. Ooh, I bet I know what that is. So I open up SQLite and start poking.

Sorry. It’s about to get a bit dull from here on in. Unless you get excited about the idea of being able to manipulate this data you’ll probably want to scroll down to the end. Honestly, I won’t mind.

They’ve gone? Right. Let’s get hacking.

$ sqlite
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .restore meetimer.sqlite
sqlite> .tables
deterrent_stats  groups           log            
deterrentlinks   groups_urls      url_maps       
deterrents       ignored_urls     urls

Excellent. We’ve got tables with sensible names and everything. Let’s see what log looks like.

sqlite> .headers on
sqlite> select * from log limit 3;
url_id|startdate|duration|day|week
4|1238324612508|3|200987|200913
5|1238324617244|44|200987|200913
6|1238324647668|17|200987|200913
sqlite> select * from urls limit 3;
id|url
1|mail.google.com
2|www.google.com
3|www.google.co.uk

Lovely. Easy enough then. The groups and groups_urls tables do what you’d expect too. For now, let’s make url_id more meaningful by doing a join with the url table.

sqlite> select
  url_id, duration, day, week, url
from log
left join urls on log.url_id=urls.id
limit 5;
url_id|duration|day|week|url
4|3|200987|200913|google.co.uk
8|40|200987|200913|meetimer.productivefirefox.com
4|16|200987|200913|google.co.uk
11|10|200987|200913|technorati.com
12|14|200987|200913|google.com/reader/

What if we wanted to show the number of visits, the total duration, and the maximum length of duration for visits to Twitter…

sqlite> select
  count(url_id), sum(duration), max(duration), url
from log
left join urls on log.url_id=urls.id
where url = 'twitter.com';
count(url_id)|sum(duration)|max(duration)|url
34|2712|455|twitter.com

Excellent. I wonder what the top seven URLs when ordered by the number of visits?

sqlite> select
  url_id, count(url_id), sum(duration), max(duration), day, week, url
from log
left join urls on log.url_id=urls.id
group by url
order by count(url_id) desc
limit 7;
url_id|count(url_id)|sum(duration)|max(duration)|day|week|url
9|34|2712|455|200989|200914|twitter.com
10|30|1075|249|200989|200914|search.twitter.com
1|22|2505|928|200989|200914|mail.google.com
4|20|206|57|200989|200914|google.co.uk
17|18|476|114|200989|200914|flickr.com
21|10|2480|2125|200989|200914|bbc.co.uk
39|8|13152|10212|200989|200914|webmail.bbc.co.uk

Twitter, with 34 visits. Sheesh. And for comparison, the top 7 sites by total duration of visit?

sqlite> select
  url_id, count(url_id), sum(duration), max(duration), day, week, url
from log
left join urls on log.url_id=urls.id
group by url
order by sum(duration) desc
limit 5;
url_id|count(url_id)|sum(duration)|max(duration)|day|week|url
39|8|13152|10212|200989|200914|webmail.bbc.co.uk
9|34|2712|455|200989|200914|twitter.com
1|22|2505|928|200989|200914|mail.google.com
21|10|2480|2125|200989|200914|bbc.co.uk
12|6|1355|633|200989|200914|google.com/reader/

13152 seconds (3.6 hours) on my work webmail between Sunday morning and Wednesday aftenoon. And all done in 8 visits. Yuck.

Ok. Let’s start thinking about daily summaries. Grouping by day, and then by URL (since I’m not very good at SQL, and don’t know how to limit it to 5 per day, I’ll just manually snip out all but the top 5 for each day for now)…

sqlite> select
  url_id, count(url_id), sum(duration), max(duration), day, url from log
left join urls on log.url_id=urls.id
group by day, url
order by day, sum(duration) desc;
url_id|count(url_id)|sum(duration)|max(duration)|day|url
1|2|306|228|200987|mail.google.com
9|6|296|217|200987|twitter.com
12|2|225|211|200987|google.com/reader/
28|1|128|128|200987|hunch.com
21|1|66|66|200987|bbc.co.uk
[...]
39|3|10222|10212|200988|webmail.bbc.co.uk
21|3|2155|2125|200988|bbc.co.uk
9|18|1494|235|200988|twitter.com
1|12|1003|185|200988|mail.google.com
10|14|777|249|200988|search.twitter.com
[...]
39|5|2930|2667|200989|webmail.bbc.co.uk
1|8|1196|928|200989|mail.google.com
9|10|922|455|200989|twitter.com
12|1|394|394|200989|google.com/reader/
21|6|259|151|200989|bbc.co.uk
[...]

And returning to the original question of just how many visits do I make to Twitter

sqlite> select
  count(url_id) as visits,
  round(sum(duration) / 60.0, 2) as total,
  round(max(duration) / 60.0, 2) as longest
from log
left join urls on log.url_id=urls.id
where url = 'twitter.com'
group by day
order by day;
visits|total|longest
6|4.93|3.62
18|24.9|3.92
10|15.37|7.58

So it seems that on Sunday I made 6 visits for a total of about 5 minutes and a single longest session of 3 and a half minutes. On Monday it was 18 visits for a total of 25 minutes including one session of nearly 4 minutes, while today, 10 visits so far (including one of over 7 minutes) have already added up to over 15 minutes.

.mode csv

in SQLite is handy too, because it changes that list format to look like

visits,total,longest
6,4.93,3.62
18,24.9,3.92
10,15.37,7.58

so it’s trivial to open it in a spreadsheet.

Making graphs from MeeTimer

Even better will be something cunning and programmatic. Maybe in PHP or Ruby or something. Even this exploratory manual approach is fun though. It will obviously be better once I’ve built up a bit more history but now I know that MeeTimer is storing my data in a way that I can access it, I’m even more excited about it. Thanks, MeeTimer. You rock.

Social Networking report – highlights

I received a copy of the ‘Social network marketing, engagement marketing and brands‘ report by Tom Chapman yesterday.

You can request your own copy here (I don’t think it will cost you any money. Feel free to say I sent you). If you’re interested in social networking platforms can do for your brand or business, you might get something out of it. Although the sample size for this report is not huge, it’s an attempt to undertake some formal research into the use of social networking sites by brands, and it does a pretty good job. The report also includes case studies from Innocent drinks and BBC Radio 1 and the Chris Moyles Show, among others.

I don’t think it’s just relevant for marketing either, though that’s clearly an important focus of the study.

At 47 pages, it’s a bit too long for my tastes. Hence, I’ve pulled out some of the highlights. These may be obvious to you (they certainly make me nod pretty frantically) but it’s useful evidence.

From section 2.1:

“67% of Facebook respondents and 65% of MySpace respondents who answered 5 (slightly stronger) and 6 (much stronger) on the Likert scale indicated that they would feel more affinity and loyalty toward a brand they are a friend or fan of, if that brand listened to their opinions and responded to communications.”

From section 4.1 Are Facebook and MySpace effective platforms for social network marketing?:

“…the consumer conversation between brands and social network users should be controlled by the users themselves. This idea is backed up by the response to the Facebook and MySpace surveys, whereby the respondents strongly indicated that their loyalty to a brand on a social network site would be lost rapidly if the brand itself controlled the conversation…”

From section 5.6 User comments and suggestions offer real value:

“Brands should place significant importance on the value of comments made by users after they have become a friend or fan, and their ability to influence others as brand advocates. This really is the focus of a brands attention, not just the number of friends or fans they have. “

This really important point is also emphasised in section 5.3: Brands and marketers must listen to their friends/fans.

Although the BBC were interviewed for the report, I can’t take any credit; I actually didn’t have any involvement with it at all (Sam Bailey, from Radio 1, was the person interviewed). I’m just a reader and sharer, and I’d be interested to hear what you think about it.

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
The postings on this site are my own and don't necessarily represent my employer's positions, strategies or opinions.