Many Pies

Many Pies

Wednesday, August 22, 2012

Evolving layouts for web pages

Seven years ago (surely a century in internet time) I posted a blog post which I won't summarise, but repeat here as it's short:
It's a big deal when a magazine or a newspaper has a redesign. Similarly with websites. It's something to do with the fact that it's easy to churn out issue after issue/page after page using the same layouts, fonts etc.
I would have thought that in the dynamic web world you could spend more time with your templates, spending more effort making them work harder for you, so each new page looks like an evolution, or a minor redesign, whereas you haven't put any effort into that page, you just put it in at the beginning. Does that make any sense?
Today, I've just read an article in Contents magazine, Made to Measure, which expands that idea, and is so much better written than I could do. It doesn't say that all the work can be done at the beginning, but with thought I agree with them that some work needs to be done for each article.
So if static templates are too limiting, but per-piece art direction is too costly, how else can we make scalable, sustainable digital publications that are beautiful and accessible? To find a middle path, we can take a cue from the art of the tailor.

Friday, July 06, 2012

What is a website exactly?

I've come across a blog recently called The Pastry Box project - "30 People Shaping The Web. One Thought Every Day. All Year Round. Sugar For The Mind.".

This recent post talks about interviewing candidates, and a standard question for them:
What's your favourite website?

If I were asked that question it might take me a while to answer. My thinking went like this:

Well, I use Gmail a lot, but that's my email, not really a website. Google Reader too. I use Librarything to keep track of the books I've read, but I think of that as my library catalogue, not a website. Flickr's where I store my photos, Facebook is... well Facebook.

I can't think of my favourite website, because the websites I use most are places for doing things. You could ask the same question about books, and I'd be able to give you an answer (apart from the Bible and Lord of the Rings it's probably Wintersmith actually). Books are more all alike than websites.

Is there something else that could give rise to head-scratching if you asked about a favourite, because it is such a diverse thing?

"What's your favourite activity?" maybe.

Monday, May 21, 2012

Playbook - 10 days in

Thoughts after 10 days with my Playbook:

It is slickly executed, but suffers from annoyances. It goes slowly at certain points, such as when you go into app world and click on the search box. It takes a while before the keyboard pops up. When you suspend it you don't know if a swipe will wake it up. There may be some logic to it, but I don't know what it is.

The app store, aka App World doesn't have a lot of what you want. For example, I couldn't find an app that acts as a satnav. The pricing is high too - $5 for angry birds, when it's less than $1 on the Apple app store. The online app store doesn't let you filter by device type, which seems to me to be crazy. When you create an app you specify which one of about 30 types of app it is, but you can't filter by those too.

There's no Adobe Digital Editions, which I was hunting for because I wanted to read ebooks from my library. However I did find the app from the company that manages ebooks for our county - Overdrive, and so that made me very happy - apart from the bugs in the app itself. It runs in the android emulator so it's probably hard to track down the cause of these bugs - the software, or the emulator itself.

I've released my second app, GPS to Grid Ref, which isn't rubbish, unlike my previous one. It is simple though - you click the button and it finds your position and displays it in UK Grid Reference format.

Thursday, May 10, 2012

I've got a Blackberry Playbook - plus QNX nostalgia

I've got a free Playbook. I got it by writing an app and submitting it to the Blackberry app world. I did almost the bare minimum needed as I didn't want to spend too much lunchbreaks on it. I downloaded the box2d javascript code - a physics engine which runs on Flash or javascript - and adapted the demo you can see on that page so that the circles moved as you tilted the device. It took me a few attempts to get my app approved. I didn't sign it the first time, there was a bug which didn't show up in the emulator (but did in the simulator - I now know there is a difference) and then I had to make it big enough fill the screen (fair enough). Even though I was doing the bare minimum needed to get an app published (BubblePlay2) it did actually do something, even if it wasn't much of a game.

I was amazed to find that 80 people downloaded it on the first day and 50 on the second. I guess it appeared on a "new apps" page. After that the downloads dropped right off. It got one 2 star review from someone who said it didn't work. The Blackberry simulator enabled me to check that tilting the device would move the circles, but I didn't know just what angle it was working at.

The Playbook runs the QNX neutrino operating system (a real-time OS designed mainly for embedded applications) which I came across in a previous job, so time for a bit of nostalgia.

QNX nostalgia

In the job before my current one I was working for an electronics firm. We developed one of the early webcams. It was a clever bit of kit - a PC104-based PC with a camera board that we developed. It ran the QNX Neutrino operating system. This was back in 1997. The company QNX already had a mature embedded operating system with the same name. Neutrino was their new product which had multi-threading and we were a beta customer. I wrote a point enabler for the card, a cut-down device driver designed to work with one particular device - the ethernet PCMCIA card we were using for networking. I flew to Canada for a week to the QNX offices near Ottawa to pick their brains.

Canada

I arrived at the airport on the Saturday evening, so my first experience of driving on the right was to drive a hire car through the dark into an unfamiliar city. Fortunately it was built on the typical North American grid pattern and once I'd worked out what the one way signs looked like I managed to get to my hotel.

Ottawa Ontario Canada  March 2011 — Rideau Canal  87
It was February and the temperatures were well below freezing. People were skating on the Rideau Canal. I fancied having a go, but I didn't want to fall over and injure myself when I was supposed to be working. I drove around the city on the Sunday and also experienced walking around in -20C temperatures.

A colleague of mine flew over early in the week. He was helping QNX debug their TCP/IP stack as we needed to get it working and we kept on finding bugs. We both got our jobs done in a week and I got to see Canada.

Our webcam wasn't successful. At around £2K it was quite expensive and although we had ideas as to what you could do with a PC onboard a webcam, we didn't find a market for it. After I left the company I heard that we had loads of them stockpiled in one of the offices. Which brings me back to the Playbook. My theory is that one reason that RIM are giving away Playbooks, is because as they've written lots of them off on their books, they have an asset value of $0 and so it's worth giving them away to try and increase the number of apps on their platform. Even if some of those apps aren't very good, like mine.

Photo from Douglas Sprott (cc) some rights reserved.

Friday, April 27, 2012

Public key encryption poster

Last Friday I tweeted
My Friday afternoon project is to make a poster about Public Key Encryption. I'm tired of forgetting what all the words mean.

I was wrestling with trying to get an encryption key produced by CoreFTP work with my bank. In the end I used ssh-keygen to produce the keys. However every time I have to do something with public key encryption I get frustrated because I don't really understand what's going on.

I understand the basics: you generate two keys somehow and give people your public key. Then when they want to send you something encrypted they lock it with your public key and only you can read it, by unlocking it with your private key. A better analogy is that the public key is a padlock, which can only be unlocked with the private key. Someone puts a message for you in a box, and locks it with your padlock and then only you can unlock it and send it.

However when it comes to things like "certificates" and "thumbprints" and other words like that I got lost. Also, in researching the answer to that question I got confused by things like "RSA" and "SHA". Were they different versions of the same thing or were they different things?

I looked for a poster but couldn't find anything so I drew up my own. It's probably not very clear, but the reason I'm putting it here is in case someone wanted to tidy it up and check for accuracy and so make something useful for other people.


Thursday, April 26, 2012

Visual display of tracking cookies - collusion

Thanks to the Guardian I've come across a Firefox plugin which gives you a visual display of tracking cookies. It's called Collusion. (Update 20 March 2021 It's now Lightbeam. Thanks to someone at Comparitech.com for telling me about this broken link.)

I've been vaguely aware that website were passing information to each other, as I noticed that if I visited crucial.com to look at memory then I'd see more Crucial adverts on other sites. Similarly with Dell. Then one day I found a link on a site next to an advert (unfortunately I didn't note it down) which gave more information on why I was getting these Crucial adverts. It was easy to understand and very upfront about how it used information from other sites to display relevant adverts.

Here's what you get if you visit the following sites:

  • crucial.com
  • dabs.com
  • ebay.co.uk
  • bucksfreepress.co.uk
  • guardian.co.uk
Each circle represents a site that places cookies in your browser and a line means that the site at one end placed a cookies for the site at the other end of the line.

The most circles appeared when I visited bucksfreepress.co.uk (one of the red squares with a yellow i in the middle). I guess it's a sign of a struggling industry that it has to try so hard to be clever with its advertising.

Wednesday, April 25, 2012

Getting rid of cookies on our website - Wordpress, YouTube, AddThis, Google maps

The deadline for complying with the EU Cookie law is 26 May, which is just over a month away.

Rather than get permission to use cookies on our website which would either be intrusive or ignored we've decided to not use cookies. Here's what I've found as I work through the various things that use cookies.

Wordpress Comments

The built in wordpress comments feature sets cookies so that it can remember the commenters details for next time. I commented out (no pun intended) these three lines in wp-comments-post.php. (If you upgrade and this file gets changed you'll have to repeat this.)
// setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
// setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
// setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);

Wordpress Jetpack Stats

The Wordpress jetpack plugin uses quantcast cookies (HT A. Cemal Eki). The wp-donnottrack plugin will stop this.

YouTube

When you get the YouTube embed code you can now tick the "low privacy" option. All this does is use the youtube-nocookie.com domain, so you could use that on existing iframe embed code. The SmartYoutube Wordpress plugin allows you to set an option so that this happens on all your embedded videos.

Addthis.com

For the addthis wordpress plugin go to the Advanced tab and put
{ data_use_cookies: false };
in the addthis_config values field. For an embedded button use this code:

<script type="text/javascript">
var addthis_config = { data_use_cookies: false };
</script>

This won't stop individual services, like twitter, using their own cookies, but it will stop the addthis.com cookies.

Google maps

For google maps use maps.googleapis.com rather than maps.google.com. HT barryhunter.