← Home About Now Photos Blogroll Replies Archive Tweets Also on Micro.blog
  • Why I never use URL shorteners on Twitter

    When we told our guide that we didn't want to go to all the tourist places he took us instead to the places where they take tourists who say that they don't want to go to tourist places. These places are, of course, full of tourists. Which is not to say that we weren't tourists every bit as much as the others, but it does highlight the irony that everything you go to see is changed by the very action of going to see it, which is the sort of problem which physicists have been wrestling with for most of this century.

    – Douglas Adams in Last Chance to See

    I am no scientific in any way, but still remember the importance of the above statement from my chemistry classes. As an example, when you want to test the pH of a liquid using a piece of litmus paper, you have to make sure that the amount of liquid is large enough to eliminate the effects of the pH change inducted by the piece of litmus paper. In other words, using litmus paper to test the pH degree of a drop of liquid has a huge error margin.

    I have this principle in mind with most things I measure. The inclusion of a piece of JavaScript on the pages of my web site in order to have Google Analytics collect data about my visitors has an effect on the user experience: the page loads a little bit slower. However, Google’s infrastructure is fast enough so that the increase in load time is hardly noticeable.

    URL shorteners

    Many Twitter users also want to measure the efficiency and popularity of their tweets. The most common method of doing this is by using an intermediate server, the ‘URL shortener’, which registers each visit to the destination site.

    In the first years of Twitter, URL shorteners such as bit.ly were necessary to prevent long URLs from using too many of the available 140 characters in a tweet. However, in 2011Twitter implemented their own URL shortener inside their service so that each URL, including the ones passed through another shortener, only use 20 characters. Therefore, URL shorteners are no longer necessary to actual shorten url’s, though I meet many Twitter users who believe it still is needed to prevent links from using too many characters.

    Another false believe about URL shorteners is that it’s the only method to get metrics about the popularity of each tweet. Once again, this was true in the past, but nowadays Twitter gives excellent statistics about the number of favourites, retweets and answers to each tweet on their statistics page.

    The biggest difference between Twitter’s own shortener and external services is transparency. When you see a tweet with a link in it, it will show (the beginning of) the URL of the shortening service in case of external shorteners and the URL of the actual page you’re linking to if you don’t use an external shortener – and therefore just Twitter’s service. See the two test tweets further below in this article for the actual differences.

    On a side note, using a URL shortener is adding an additional Single Point of Failure as each visitor clicking a link inside your tweet has to make two hops: first he visits Twitter to obtain the shortened URL, then he visits the site of the URL shortener’s service in order to get the actual address of the page you’re linking to and finally he visits the actual site. Without a shortener, the middle step is skipped.

    Since tweets are so short and give little context, I assumed that the actual link people see in tweets makes a lot of difference when deciding to click or not. My expectation was that tweets with shortened links get clicked less than tweets showing the original link. To confirm this hypothesis, I decided to craft an experiment.

    Experimenting

    For conducting the test, I selected a page with a nice viral title that I published a few years ago. I use Google Analytics on my site to measure traffic and labelled the link with campaign parameters, so I could separate the visitors clicking the links in the tweets from the regular visitors: ?utm_source=twitter&utm_medium=social&utm_content=NoShortener&utm_campaign=TestShortener

    I prepared two versions of my tweet: one with the link shortened by bit.ly and another one linking directly to the article.

    I decided that I had to publish the tweets multiple times over the course of a week in order to maximise exposure and got a significant number of clicks. For that purpose I used the Tweko service, which was invoked by adding the #tweko hashtag to the tweet. Previously I had configured Tweko for the two twitter accounts used in this test to repeat each tweet nine times with a ten hour interval betuneen each tweet.

    Of course, the likelihood of receiving clicks decreases each time the tweet is published, as many followers will already have seen the tweet before. I decided to give the expected underdog in this experiment – the tweet with the shortened URL – a small advantage by starting the publishing schedule with the shortened version of the tweet.

    Tweet 1 -- Shortener:

    Cómo ganar 2 horas productivas al día en un instante http://bit.ly/1c8gCuw #tweko

    — Jeroen Sangers (@JeroenSangers) agosto 26, 2013

    Tweet 2 -- No Shortener:

    Cómo ganar 2 horas productivas al día en un instante http://canasto.es/2010/03/como-g... #tweko

    — Jeroen Sangers (@JeroenSangers) agosto 26, 2013

    The results

    After a few weeks I decided to have a look at the statistics in Google Analytics. I went to the report that shows the visits per campaign, and clicked on the campaign named 'TestShortener' to focus only on the visits originating from my test. Then I configured the field 'ad content' as the secondary dimension of the report, to get the numbers for each of the two versions. These are the results I found:

    Ad content Visits
    Shortener 382
    NoShortener 438
    Total 820

    Clearly, the tweets that did not use a URL shortener received more visits that the shortened version, but is this a significant difference? Is it possible that this difference is caused by random fluctuations? In statistics, this question is usually answered by running the Chi-squared test. This test gives a confidence level, which is the percent of the time each sample’s success rate will fall within the reported confidence interval if the experiment is repeated many times. It is also the percent of the time no difference will be detected between the two groups, assuming no difference exists.

    In order to calculate the confidence level, I need two numbers for each sample: the number of successes and the total number of trials. I already have the number of successes, the number of visits I received on my page shown in the table above. The total number of trials is the number of people who received the tweets. Since I have sent the two different tweets to exactly the same group, I can assume that the sample size is the same for both samples. The few people who started following me or who left me in the hours between the tweets can safely be ignored. So we can say that the total number of trials is the sum of the followers of both Twitter accounts used in the experiment. Lets calculate:

    Ad content # successes # trials Confidence interval
    Shortener 382 7000 4.9% - 6%
    NoShortener 438 7000 5.7% - 6.8%

    The verdict is that the ‘NoShortener’ sample group is more successful (p = 0.0439).

    My conclusion

    For me the results are clear, this small test confirmed my hypothesis. Since using a URL shortener does not have any benefits for me and it even reduces clicks on the links I tweet, I will not use them anymore.

    → 3:17 PM, Jun 4
  • Hidden configuration options for Omnifocus 2

    Version 2 of the popular OS X task management application Omnifocus is about to be released today. I have been testing the beta versions for some time and have seen how the software matured little by little.

    Version 2 defers from the previous version in almost every aspect; it contains new features such as the review and forecast perspectives and also the user interface has been modernised. Especially the latter gave rise to many discussions on the support forums about the data density of the new design. Eventually, the Omni Group published a hack to change the layout of the task list back to a table of tasks more similar to Omnifocus 1.

    This made me wonder what other ‘secret’ configuration options exist. So far, I have been able to compile the following list.

    All configuration options are activated by opening a special URL starting with omnifocus:///change-preference in your browser, which opens Omnifocus and applies the configuration. The URLs in the list are clickable to apply the configuration directly form this post.

    Alternate layout

    Use omnifocus:///change-preference?ContentLayout=compact to switch to the compact layout, which only uses one line per task. Note that this layout is experimental and still has some issues. To return to the default layout you can use omnifocus:///change-preference?ContentLayout. The alternative layout looks like this:

    Alternative layout for Omnifocus

    Hide empty contexts in the main outline

    If you’re in a perspective grouped by context, you’ll see that empty perspectives will also show up in the main outline, to mike it easier to reassign tasks by dragging them to another context. If you would rather not see them, you can remove the empty contexts from the main outline with omnifocus:///change-preference?MainOutlineIncludesEmptyContexts=false. You can also pass the parameter true to reactivate the empty contexts.

    Hide On Hold projects in forecast view

    If you put a project on hold, it’s tasks will still show up in the forecast view. The reasoning is that even though the project is on hold, its tasks still have a due date. If you prefer not to see those tasks on the forecast view, disable them using omnifocus:///change-preference?ForecastIncludesProjectsOnHold=false. Use omnifocus:///change-preference?ForecastIncludesProjectsOnHold to restore the default setting.

    Reorganise the side bar

    This ‘hack’ is a little bit more complicated. The issue was that the order of the perspectives in the sidebar could not be reorganised. Note that in the final release the default perspectives behave just like any other perspective, and can be organised in any way you like it. However, if you want to freak out with URL schemes, this is the way:

    The default perspectives are on top (Inbox, Projects, Contexts…), followed by any starred perspectives. To add another perspective, you first have to star the perspective and open the URL omnifocus:///change-preference?SidebarTabs to get a list of the current tabs. Note the ID of the starred perspective, hdDT8UyDkVe in this case:

    Once you know the ID of your custom perspective, you can define the order of the tabs with omnifocus:///change-preference?SidebarTabs=(hdDT8UyDkVe,ForecastTab,InboxTab)

    Send clippings directly to the inbox

    Whenever you clip something from another application, the Quick Entry window shows up so you can specify some further meta-information about the task – project, context, dates… – and change the task description. If you would rather send the clipped information directly to the Omnifocus inbox, use the configuration URL omnifocus:///change-preference?ClippingsGoToQuickEntry=false.

    Sync settings

    There are two setting for configuring the synchronisation interval. First, you can set the maximum sync time –in seconds – with omnifocus:///change-preference?MaximumTimeBetweenSync=600 (this sets the maximum to 10 minutes). Use omnifocus:///change-preference?MaximumTimeBetweenSync to restore the default setting of one hour.

    The other option is for setting how long after making an edit Omnifocus should synchronise. The URL is omnifocus:///change-preference?TimeFromFirstEditToSync=15 and omnifocus:///change-preference?TimeFromFirstEditToSync to get back to the default setting of one minute.

    Toolbar colour

    If you have setup your mac to use the ‘Graphite’ appearance instead of the default ‘Blue’ theme, Omnifocus will have black and white icons in the toolbar instead of the modern coloured icons. If you prefer this to be different, you can use omnifocus:///change-preference?ToolbarItemTint=aqua to force the use of coloured buttons or omnifocus:///change-preference?ToolbarItemTint=graphite to get the black and white icons in the toolbar. As usual, with omnifocus:///change-preference?ToolbarItemTint you’ll go back to the default setting.

    Set defer date when dragging a task in Forecast view

    This option was contributed by Colter in the comments of this post. When in Forecast view, you can drag a task to another date in the calendar to change its due date. You can change the defer date instead by holding the ⌘ key. If you would like to change the defer date by default, you can use the URL omnifocus:///change-preference?ForecastDragSetsDeferDate=true.

    Change the project hierarchy separator character

    If you’re using folders, OmniFocus will show the complete path in the project selection drop-down list using a colon as the hierarchy separation character, e.g. Personal : Finance. You can configure the character used to separate the project hierarchy with the URL omnifocus:///change-setting?OFMNamedObjectHierarchicalNameSeparator=%20:%20 (note that %20 is the code for a space).

    Please leave a comment if you know of any other configuration option for Omnifocus 2; I will keep this post up-to-date.

    → 5:27 PM, May 22
  • RSS
  • JSON Feed
  • Micro.blog