Relevance v. Mode of Access

Sunday, 29th April 2012, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

If someone posts a photo to Facebook and I view it on my laptop, I can read and make comments on it.  If I view the photo on my tablet, using Facebook’s own app, I can’t.  Why?  My desire to read the comments is still there.  I may have clicked through especially to make a comment myself.  It perplexes me that someone has decided that I have no interest in this content or functionality simply because I’m using a handheld device.

Facebook is not alone in exhibiting this twisted logic.  Virgin Trains have decided that if I’m reserving a seat via their app (on a power-sucking vortex), I have no interest in requesting to be sat near a power socket.  Ocado think that I’m only going to want to add items to my shopping basket without yet placing an order when I’m sat at home (and can easily check existing stock levels) rather than when I’m on the bus (and can’t).

This is by no means a new conundrum.  Spend a day trying to use the web with JavaScript turned off or using a screen-reader and you’ll discover similar discrepancies.  Part of the problem seems to be determining where lies the dividing line between “basic content and functionality” and that which is merely “nice to have”.  However, another problem that I suspect I’m falling foul of is failure to thoroughly consider relevance.

For my needs, my tablet actually has a pretty good battery life; it’ll get me through the day, most days. But on a train journey, I’m likely to use it more heavily (for entertainment or work) and may also be planning to depend on it for directions, meeting details, phone calls, etc. at the other end of my journey. Therefore, the option to charge it as I travel would be much appreciated, especially on a long journey. Whether I book my tickets on a handheld device or not depends simply on where I am when I realise/remember I need to book them. If I’m close to my laptop and it’s switched on, I’ll probably use that. If I’m on the bus – or even close to my laptop but it’s not switched on – I’ll use my tablet. My need for a power socket will not be influenced by how I make the booking so it would be illogical for the ticket seller to make an assumption about my desire to request one based on which device I use to make the booking*.

So, if you’re in the process of deciding whether to include/exclude some content or functionality in an interface, please think carefully about how relevant it is to the person.

* Although, if they really had to, the fact that I’m making the booking on a handheld device could be taken as an indication that I own one, use it for more than just texts and calls and am likely to have it with me on my journey. Then again, a friend could be making the booking for me.

Molly Holzschlag

Friday, 7th October 2011, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

Today is Ada Lovelace Day and to mark the occasion I’ve chosen highlight Molly Holzschlag as one of the women in technology who have inspired me to be who I am today.

Six years ago, exasperated, I typed “geeks london” into Google.  I had had enough of not being able to talk freely about the things that I felt passionately about and just wanted to find some like-minded people to chat with.  Fortuitously, like-minded people had set up a group for exactly that purpose and days later I snuck tentatively into my first Geek Dinner.

The invited speaker that evening was Molly, who had just published The Zen of CSS Design, co-authored with Dave Shea, creator of the CSS Zen Garden.  As a fan of semantic markup and separating content from style, I hope she had my full attention but, to be honest, I can’t remember for sure; I was too excited at being in a room full of geeks.  What did stick with me was that Molly was helping to shape decisions that were having an impact on the strategic development of the web at a high level.  Until then, I’d been under the impression that you needed to be some kind of boy wonder to be involved with that stuff, yet she was just a normal person, like you and me.  OK, way more knowledgeable than me (I don’t know about you) but, nonetheless, an approachable, fallible human being with all the usual fears, doubts and uncertainties that the rest of us struggle with.  Somehow that made the web feel more “ours” than “theirs” and that one day I might be able to do that too.

Since then Molly has continued to inspire me with her openness, inclusiveness, bravery and determination.  You can find her at http://molly.com/ and, more frequently, on Twitter as @mollydotcom.

How to tether a Galaxy Tab P1010 to an X10 Mini Pro

Saturday, 25th June 2011, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

I realise that this is a very specific scenario but having spent ages fiddling with wpa_supplicant files and getting nowhere, I feel I ought to share the solution that has, finally, worked for me.

The Scenario

I have a Sony Ericsson X10 Mini Pro phone* (Android v2.1-update1) and a Samsung Galaxy Tab P1010 (Android v2.2.1).  As the tablet is wifi only, I wish to make use of my phone’s 3G data connection occasionally, when there’s no wireless network for me to connect to.

The Problem

Versions of Android older than 2.2 (Froyo) don’t include the option to broadcast a wifi hotspot and even the latest version of Android doesn’t support ad-hoc networking (http://code.google.com/p/android/issues/detail?id=82).

A Solution

Try this at your own risk.  Both devices need to be rooted and should be backed up before you begin.

  1. On the X10 Mini Pro, install Barnacle Wifi Tether
  2. In the settings for Barnacle:
    1. Specify a name for the network you wish to create (SSID), eg. freedom
    2. Enable the “Skip wpa_supplicant” option
  3. On the Galaxy Tab, install ZT-180 Adhoc Switcher
  4. In the settings for ZT-180:
    1. Specify the name of the SSID that you’ve just set-up on Barnacle, eg. freedom
  5. From the Actions menu in ZT-180, select “Switch to Ad-hoc mode”
  6. Grant superuser privileges to ZT-180 when asked.
  7. On the X10 Mini Pro, open up Barnacle and press “Start”
  8. Grant superuser privileges to Barnacle when asked.

After a short wait, the Wi-Fi Information panel in ZT-180 should update to show that the Galaxy Tab has connected to the network being broadcast by the X10 Mini Pro.

To switch back to a normal, infrastructure network:

  1. On the Galaxy Tab, open up ZT-180 and, from the Actions menu, select “Switch to Infrastructure mode”
  2. On the X10 Mini Pro, open up Barnacle and press “Stop”.

I came across this solution in this thread: http://forum.xda-developers.com/showthread.php?p=14979870.  If it doesn’t work for/isn’t applicable to you, if you haven’t tried them already, these links might help:

* Fantastic size and form but zero battery life and slower than a sloth

The Brussel Sprout Challenge

Thursday, 13th January 2011, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

In summary: eugh.

It’s my own fault.  @abelandcole provide me with the opportunity to pre-check the contents of each fruit and veg box, to filter out things CHiP and I don’t like but I’m not very good at remembering.  Consequently this week’s box included brussel sprouts.  However one of the reasons for getting the box in the first place was to add some more variety to our diet so… I turned to Twitter:

request_for_brussel_sprout_recipes_tweet

A tweet for help

And within minutes, several people had responded:

response_to_brussel_sprout_recipes_twitter

Responses via twitter

On Facebook too:

Sharon's brussel sprout recipe suggestion

Response via Facebook

The prospect of left-over tuna and rice forced my hand this evening when I opted instead to do a compare and contrast experiment using all five suggestions:

Except I had a limited quantity of sprouts so I decided that the two fried with bacon suggestions could be merged into one (the more interesting one, of course).

Brussel sprout extravaganza

Clockwise from the top: fried with bacon, pine nuts and cheese; à l’orange; fried with red onion and balsamic vinegar; steamed and topped with butter

By far, the simplest to prepare and cook was the first – steamed with butter.  Sprouts à l’orange (recipe: http://bit.ly/fsI4p1) is a faff to prepare and, unfortunately, reconfirmed a long held prejudice against all things flavoured orange that aren’t actually an orange.  Fried with red onion and balsamic vinegar was quick and easy and tasted OKish too (as taste disguising goes) but the runaway success was fried with bacon, pine nuts and cheese.  But you probably knew that already, right?  Bacon, nuts and cheese = nom.   It was so good, that I didn’t even taste the sprouts!  Hang on, though.  What’s the point in going to the trouble of preparing and cooking the things if you can’t taste them..?

So, in conclusion: Many thanks to everyone who responded.  I had thought I might, maybe receive one interesting idea so to have choice was great.  It was fun trying them all out too.  And, thanks to you, I won’t be adding sprouts to our dislike list (there’s so much on there already that I worry that soon we’ll just be receiving potatoes, onions and carrots…) but if they turn up again I think I’ll probably just stick to steaming them.  They’re actually not bad like that.  But if I can’t overcome the sense that that’s just too boring, I’ll be turning to bacon, nuts and cheese to spice things up.

Spice, now there’s an idea…

X10 Mini Pro

Wednesday, 21st July 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

Or “How Sony Ericcsson took a good thing and very nearly made it bad.”

I love the X10 Mini Pro. I’ve had it for a few weeks now and am still marvelling at how light and compact it is and that I once again have an FM radio with me at all times.  However I am struggling to adjust to the customisations that Sony Ericsson have made to to Android.  For example:

  • Right now, as I type, there’s an annoying blue bar occupying the bottom sixth of my screen. On the left-hand side it tells me, in no more than three letters, what language I’m currently set to.  On the right-hand side it tells me what mode the keyboard is in (letters vs. numbers, upper, lower or title case) and provides an option to hide the bar.  It’s information I’d rather do without, in return for a larger usable screen area. So I hide it, only to discover that it reappears with the very next key press…  I’ve had a rummage through the phone’s settings and haven’t yet found an option that enables me to hide it for good.  If you know of one, please let me know.
  • The default calendar widget has less functionality than the default one on my G1 – and that was just enough to make it useful!
  • The default email client assumes that my email account name is the same as my email address (which it isn’t).
  • Although I’ve disabled the on-screen keyboard (it has a hardware one) it still pops up if when the cursor is placed in a form field and I haven’t yet opened the keyboard. I understand that some people might want this sometimes but, personally, I’d like “off” to mean “off”.  This could be solved using  finer grained preference settings.

However, every cloud has a silver lining:

  • Luckily there’s a fantastic email app called K-9 Mail that does everything I need and more, so that’s my email problem solved.
  • And as I’ve yet to find a decent calendar widget so I’m thinking of taking a stab at creating one myself.

Selective Autoredirection

Tuesday, 13th July 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

Imagine you have two versions of the same site and one of them is optimised for mobile devices.  Aside from the root folder, the URL pattern is identical for both versions so to map between the versions you simply add or remove “/mobile”:

  • http://www.mysite.com
  • http://www.mysite.com/mobile

Most pages on each version have a matching partner on the other but, importantly, this isn’t the case for all pages.

Although you have a version optimised for mobile devices, you can’t be sure that they’ll always land on it when they visit your site so you want to:

  • detect mobile devices when they land on your site
  • automatically redirect them to the mobile version if they’ve landed on the default version but only if a mobile version of that page actually exists.

Ideally, in order to avoid swapping a perfectly good page for a 404 error you want to make the check before initiating the redirection.  You don’t have access to the Apache config files but you can use .htaccess files.

I’ve been puzzling over this conundrum for a while, trying to find a solution that has as little impact on the rest of the system, aside from doing what it’s very specifically required to do, and doesn’t open up a cross-site scripting vulnerability.  Last night, I think I cracked it and as I found very little on this myself when scouring the web, I’ll share it here.  Hopefully if you spot any problems with it or – even better – ways to improve upon it, you’ll let me know.

This code goes in an .htaccess file in the root of http://www.mysite.com/. Further up the file, a check has already been made to determine whether or not the user agent is a mobile device and if it is, the value of an environment variable called $IS_MOBILE has been set to “true”. The ErrorDocument for 404 errors has also been set.


# Activate the RewriteEngine
RewriteEngine on

# Set the base to root
RewriteBase /

# Check whether it's a mobile device
RewriteCond %{ENV:IS_MOBILE} ^true$ [NC]

# Check that the URL isn't already going to the mobile version
RewriteCond %{REQUEST_URI} !^/mobile/ [NC]

# Capture the part of the URL that follows after the base, prepend it with "/mobile/" and
# assign the new string to an environment variable called $MOBILE_TARGET_URL;
# Also assign the un-prepended captured value to an environment variable called
# $MOBILE_ORIGINAL_URL; Chain this rule to the next one.
RewriteRule ^(.*)$ - [E=MOBILE_TARGET_URL:/mobile/$1,E=MOBILE_ORIGINAL_URL:$1,C]

# Concatenate the $DOCUMENT_ROOT and $MOBILE_TARGET_URL together
# and check whether that maps to either a directory or a file
RewriteCond %{DOCUMENT_ROOT}%{ENV:MOBILE_TARGET_URL} -d [OR]
RewriteCond %{DOCUMENT_ROOT}%{ENV:MOBILE_TARGET_URL} -f

# If it does, redirect to the user to the mobile version
RewriteRule ^.*$ %{ENV:MOBILE_TARGET_URL} [R,L]

How to make Amarok play nice

Sunday, 20th June 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

These days when I listen to music it’s usually streamed from Last.fm via XBMC, either my own loved tracks or those tagged “ambient“, however sometimes I want to listen to my offline music collection and for that I use Amarok.  Given how much hassle it is to get working and that they’ve removed the features I found most useful*, increasingly I wonder why I bother but for the moment I do and this is an aide-mémoire to help the process go much smoother the next time I have to install it.

  1. Check that libxine1-ffmpeg is installed
  2. Check that phonon-backend-xine is installed
  3. Check that phonon-backend-gstreamer isn’t installed
  4. Configure phonon (Amarok > Settings > Configure Amaraok > Playback > Configure Phonon) so that the uppermost option for each “Device Preference” category actually works.  Use the test button to check each option if you’re not sure.

That should get the audio working.  Now to figure out why it doesn’t seem to be scrobbling

* They have promised to put them back in but it doesn’t look as though it’s going to be any time soon.

Aide-mémoire

Onion Bhajji

Saturday, 19th June 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

Delicious and gluten-free.

Ingredients

  • 3 oz gram flour
  • 2 tsp cumin seeds
  • 1 tsp ground coriander
  • 1 tsp turmeric
  • 1/2 tsp salt
  • 1/2 tsp mixed spice
  • 4 tbps water
  • 4 oz grated onion
  • 4 oz grated potato
  • 1 large onion, sliced
  • 5 tbsp oil
  • Kitchen roll

Method

  1. Mix together the dry ingredients
  2. Add the water to the dry ingredients and mix to a smooth batter
  3. Stir the grated onion and potato into the batter
  4. Stir in the sliced onion
  5. Heat the oil
  6. Gently drop spoonfuls of the mixture into the hot oil
  7. Flip each bhajji over when the bottom side becomes golden brown
  8. Once both sides of the bhajji are brown, remove it from the oil and place it on kitchen roll to soak off some of the oil

Result

Approximately 8 onion bhajjis (depending on how large you make them).

Dual Eclipse

Friday, 4th June 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

Usually I code in Eclipse. It saves me a lot of time, especially thanks to plugins such as oXygen and Mylyn.  However, it’s been frustrating me for a while that although I can pop-out individual Views and position them on my second monitor, it didn’t seem possible to open a second instance of the same View. I was wrong!  Just select “New window” from the “Window” menu.  It seems to have full functionality, you can even select an entirely different Perspective, if you wish. Simples! As Aleksandr Orlov would say :)

Aleksandr Orlov

How to block retweets

Saturday, 6th March 2010, sheilaellen (http://blogs.bluegumtree.co.uk/vista/)

A very good friend of mine has (very politely) bemoaned the fact that his incoming twitter stream is full of tweets from people he doesn’t know (and has no interest in hearing from/about) all because I retweet so often. He doesn’t want to stop following me and I don’t want to stop retweeting. Luckily, there is a solution to our problem.

Although there’s no option that allows you to block all retweets from all people you follow in one fell swoop (yet), you can block all retweets from each person individually.

So, if, for example, you’re following me (@sheilaellen) on twitter and wish to stop receiving all the messages that I retweet:

  1. Go to my twitter page: http://twitter.com/sheilaellen
  2. Find the retweet icon Status icon
  3. Click on it.

Before:

Twitter profile header

Retweets On

After:

Twitter profile header

Retweets Off

This should mean that you will now only receive messages from me that have been written by my own fair hand (or, possibly, a spammer who’s p0wned my account).

Repeat for each other compulsive retweeter that you follow.