Sending smartphone notifications from Ubiquiti EdgeRouter Lite

Following on from my success of getting my Edge Router Lite to successfully run multiple load-balancing schemes for dual-WAN, and more importantly, assign different devices to different load balancing schemes, the next natural evolution was to send iPhone alerts when any of the links went down.

In principle it is quite easy, because the ERL already makes provision to run an arbitrary script when a link transitions (from active to inactive and vice versa). So, it's really just a question of having the right script. 

If you Google, you'll find examples for sending email, but I wanted something more immediate (and less configuration effort - i.e. to not have to set up sendmail).  Based on another example I considered using the pushover.net service, but wondered if I could use IFTTT to do the same, as I am already a user. (Saves me signing up to something new). 

Turns out you can, by using their "webhooks" service; and turns out it's so simple, it's almost untrue. 

 IFTTT Webhooks allows you to generate simple triggers from a single web request

IFTTT Webhooks allows you to generate simple triggers from a single web request

Step 1

First go to your IFTTT account and add the "webhooks" service. This will generate a unique key for you, which you need to make a note of. Annoyingly this is done in a font which does not distinguish between capital I and lowercase l, but you can regenerate the key, or paste into something where you can change the font. 

 

Step 2

Next, log in to your Edge Router and navigate to /config/scripts and create the following script (I called mine failover-notify) :

 A script to generate IFTTT phone notifications. Obviously use your own key.

A script to generate IFTTT phone notifications. Obviously use your own key.

Don't forget to make the script executable with the command chmod +x failover-notify

Step 3

Return to IFTTT and create an applet which uses the webhooks service as a trigger and the notifications service as the action:

Note how I have called the event "bb_failover". It is crucial this matches the name in your script (it comes in the URL after /trigger/ ). It is this name that allows you to configure many different triggers on IFTTT to do different things. Obviously you could use a different name, providing it matches in both places. 

Value1 will be populated with the Load-Balance group name; Value2 will be the Port (eth0, eth1 etc.) and Value3 will be the status (either active or inactive). 

Also, you will need the IFTTT app installed on your iPhone, to generate the notifications at the device end. (The app doesn't have to be running though).

Step 4

Return to the edge router for the final bit of configuration.  You might want to test your script at this stage. If you type ./failover-notify A B C the script should run and give a success message, and shortly after you should get a notification on your phone. There's not much point proceeding until you can get this to work.

Once it does work, you can come out of the command line and go to the config tree. Here you choose the load-balance group you want the script to apply to.

Now, if you only have one group configured, you will apply it to that group. If, like me, you have more than one group, you might want to only apply it to one of the group to prevent duplicate alerts. This will depend on what your groups do and what alerts you want to get.  

In my case, for example, both my load-balance group balance across both my only WAN links, so in fact I only need to apply it to one load-balance group, as both WAN links will be covered, and it doesn't matter which group I choose. I wouldn't apply it to both groups, as then I'd get double notifications - i.e. one from each. 

 Choose the Config-Tree tab and navigate to the load-balance group you want to monitor

Choose the Config-Tree tab and navigate to the load-balance group you want to monitor

After deciding which group(s) to receive notifications from, navigate to it, and put the full path to the script in the transition-script box, then click preview and save. 

And that's it. Test it by disconnecting one of your WAN links, and see what happens!

Configure Ubiquiti Edge Router Lite with Preferential Load Balancing for different devices via dual link WAN

Snappy title, huh?

Introduction and Purpose

In this article I give the steps to configure an Edge Router Lite so that it can apply different load balancing rules to different devices on your home/local network. There might be a few use cases for this type of configuration, but here's mine:

I live in a rural area with slow ADSL broadband (around 2Mbps) and no imminent prospect of fibre. I am also a home worker, and that speed is practically unworkable. Thankfully in December 2016, Vodafone expanded 4G coverage, such that I can now receive it via an aerial on my house. So, at the time of writing, I have a 50Gb per month data plan on 4G, and can get speeds of around 40Mbps.  I need both links, because not only is their variability in the services, due to things like weather, but 50Gb is simply not enough. So, I need to split my traffic over the networks so that my work activity gets priority on the high speed link, and other stuff (such as music streaming) favour the slower - but uncapped - ADSL link. 

Using the edge router, this configuration does exactly that. The inspiration and configuration schema itself was provided at https://community.ubnt.com/t5/EdgeMAX/Dual-WAN-with-some-hosts-using-only-one-WAN/m-p/703493#M22093 but without instructions. As a novice to networking, my eyes glaze over at all that config and the prospect of recreating it at the command line. So I set out to configure it via the UI (and succeeded). This article shows the steps. 

Objectives

I have several media streaming devices in the house, e.g. SONOS, Amazon Echo Dot. The reality is, for playing music they do not need 4G speeds, and up until now have been unnecessarily consuming 4G data allowance on my existing load balancing set up. That set up is just one load balance group with a 75:25 split ADSL:4G, which in itself is not ideal because it favours the slow link, but is necessary to keep my 4G usage within the necessary limits.  The SONOS in particular is a culprit because it is in my child's room and plays a playlist of about 3 hours' duration each night: it really doesn't need to use 4G at all (except perhaps for fail over) - so the plan is to "pin" that device to the ADSL link.

The same goes for the Amazon Echo Dot in my office, and the Echo Dot in our living area, which is hooked up to a soundbar. 

The plan with the configuration is to have these 3 devices belong to their own load balance group, and balance that group so that it is almost 100% supplied by the ADSL link. In actual fact I am going to start off with 90-something percent, so that when the ADSL link is being heavily used (child watching iplayer for example), there is some availability of additional bandwidth from the 4G side.  Failover will be left in place so that there are no interruptions in the event of ADSL failure (or me tripping over the hub). 

Remaining devices, for now, will all belong to a different load balance group which is more equitable, allowing them a greater share of the 4G. I need to run the system for a while to establish the right level within my data cap, and indeed plan to introduce a further load balance group which tips the balance the other way; thus allowing, for example, my work PC to have a 90:10 balance 4G:ADSL. For the purposes of this article, however, all these remaining devices will stay in the default load balance group, which was created using the Edge Router wizard. 

Part 1 - Static IP's

This whole set up relies on creating a group of devices you can assign to a load balance rule, and applying that rule to the firewall prior to the default rule. In order to create the group of devices, they need to have static IP's rather than the default dynamic. That way they can always be identified.  Knowing that I plan to expand the number of devices that I might do this with, I decided to reserve a larger-than-default range of IP's for this exercise, and future use.

So, i reduced the existing dynamic IP range to stop at 192.168.2.230 on the basis I would reserve 192.168.2.231 - 239 for my "ADSL-pinned" devices. This can be done in the DHCP Server menu.

next step is to create the static mappings for the SONOS and Amazon Echo devices. One way to do this is from the DHCP Server -> Static MAC/IP mapping tab. 

I have set my SONOS to the first address in my "reserved" static range: xxx.231

There's also another (quicker/easier) way to create these mappings: from the Leases screen. Just find your device in the list.

Note that I didn't change the name of anything, just the IP address to something in my static range. Note too, that the existing IP leases hold good even after this change, so the devices do not take on their new IP until you reboot them, which we can do at the end. 

So, I mapped my Office Echo dot to static IP 192.168.2.232 and Kitchen dot to xxx.233

The above steps complete part 1, which accomplishes this configuration step of the original solution:

Part 2 - Firewall Group

Now we need an "Address Group" with those static addresses, as per the original solution:

This can be done from the Firewall/NAT controls - I created a group called A nice

A nice feature is the ability to add a range of IP's, not just individual devices (choose "Actions -> Config"). I chose to add the whole of my 192.168.2.23x range so that any device mapped into that static range in future will automatically adopt the ADSL load-balancing scheme. 

Part 3 - Load Balancing rules

The original solution requires creation of an additional load balance rule:

So, to begin with, I am going to create a load balancing group, using a 90/10 rule, called LB-ASDL-primary. This can be done from the Config Tree pane. (Navigate to the branch shown in the bold breadcrumb trail, and choose ADD)

Since I am running on fairly default configuration, this new group just needs to mimic the existing master group (G), so that means adding the right interfaces (eth0 and eth1 in my case)

Once done, we need to work down the configuration for LB-ADSL-primary, replicating what we see in "G".

Again, if like me you are running on default config, in reality most settings can be left alone, and it's just the weight that needs amending. Once, that's done, click "PREVIEW" - which is essentially a "check and save" function - at the bottom of the screen.

With this configuration, my SONOS/Echo devices are still going to use 10% of the 4G link. It will be trivial at a later date to make it 100% ADSL and 0% 4G, and set the 4G as failover-only, if desired.  That's this step done. 

Part 4 - Amend Firewall "Modify" group

Referring back to the original solution - we need to change the firewall "modify" rule to add a new "modify" rule, which will reference our new load balance group. Thus our new group of devices will get their special load-balance treatment before the remaining devices get the default treatment. 

Note that in the new rule we have to reference our new load balance group and then also the devices (address group) that are the source. As a reminder:

  • Our Firewall/Address group is called ADSL_link_devices
  • Our Load balance rule is called: LB-ADSL-primary

In the config tree (see below), the existing config built by the wizard looks like this, with rule 100 set as the load balancing rule, and the default load balancing group called "G".

We will add a new rule and reference to the group. It will be before rule 100, and use our new load balance group, and assign our new address group (i.e. target devices) to it. 

Add a rule 90, then change the "source" to reference the new address group. 

Now we need to define the actual rule. It's a "modify" rule, so navigate to the modify branch under rule 90, then reference our new load balance group in the lb-group slot. 

And Save ("Preview")

That's this step done.

Finally - Apply to Interface

A firewall rule is nothing unless it is actually applied to an interface, as per the original solution:

As you might have suspected, following this method you don't have to perform this step, because we have modified the existing rules "live" (called "balance" by default) and all our changes are already in place on the interface they originally applied to (eth2 in my case).  (shown below for completeness)

Testing

Before we change anything else or try our devices, check what is currently happening: our new group has no traffic (as we expect)

20 test 1 before.png

Now we play something on the SONOS / Amazon Echo, to see which WAN link the media comes down. Since the IP addresses of the devices have not yet changed, nothing new happens, and (happily for this test) the data comes over the 4G link (eth1): exactly what I am trying to prevent.

And another check from the command line (i did sneakily change the weightings to 91/9 in the meantime, for those with a beady eye). 

Now we reboot the devices so that they acquire their new static IP's. (Seems you can't ask Alexa just to reboot, which is a shame :) ). We can confirm that the devices (e.g. Echo) have picked up their new IP in the .23x range, which they have:

So,let's play some music again and re-examine the interfaces. Look at all that lovely red = eth0 = ADSL...  just what I wanted.

 

And finally, confirm the stats from the command line, we see LB-ADSL-primary load balance group is now pulling data in the right proportions:

Very happy. Case closed!

How to set up iMessage sharing across multiple devices (especially after 2 factor authentication)

I recently set up 2-factor authentication on my apple account to provide stronger protection of my account. 

Around about the same time I noticed that iMessages and calls were not being shared across my multiple apple devices as they had been. I went into settings -> icloud -> <your apple id> -> where there are settings for:

  • contact information
  • password & security
  • devices
  • payment

I made sure that in "devices" all my devices were showing up (they are listed automatically if signed in against your apple id) - which they were

In password and security I made sure that both my mobile phones were "trusted phone numbers"

I figured that should now do the trick.. 

It didn't

After googling a bit, turns out you also have to go into settings -> messages -> Send & Receive and in there make sure that all your devices and email addresses are listed. You can also define which number/email messages appear to come from when you compose them; which means each device can initiate from its own number, or if you like, they can all initiate from the same ID. 
 

After I'd done that it all worked :) 

by the way, you can also go into facetime settings and do the same.. 

A Scientific Study of the distribution of Halloween Monkey Nuts within their shells

Some things are too important not to research. This year I saw numerous pictures in my Facebook feed of Halloween hauls (unanimously sweets) organised by type. That got me thinking, because I'd bought a whole bag of 'monkey nuts' to hand out on Halloween-  that we never used. Seems like they've gone out of fashion since I was a kid. 

I decided to go one better and measure the distribution of nuts within their shells. Typically a shell has one or two nuts, occasionally a prize of even more! The chart shows my results.  

 Distribution frequency of monkey nuts within their shells.  

Distribution frequency of monkey nuts within their shells.  

At this time I have no way of knowing if this distribution applies to nuts growing in the wild or whether different supermarkets specify their own particular 'mix' :)  Perhaps that's for next year :) 

Make of it what you will.  

Controlling room temperature with Netatmo "occupancy detection" and IFTTT

Thanks to the addition of Heatmiser range to the online automation service IF (formerly IFTTT - "if this then that") it's now possible to control room temperature using inputs from your other IFTTT-friendly IOT devices. In my case, Netatmo weather station. 

In my house, heating for every room is individually controlled by a Heatmiser Neo thermostat, each running an individualised programme of temperature gradients throughout the day, tailored to each room. During the summer most of these are just on standby, meaning in practice unless the room drops below 12 degrees C, the heating will never come on.  

My child's room is the exception, because we don't want him to ever get too cold, and some days he naps in the afternoon; so his thermostat is always active. So far so good. Except when you open the windows, perhaps for fresh air during the day, and it turns cloudy, the temperature drops and the heating comes on and heats the great outdoors. 

Finally, I have a solution which does not involve adding sensors to the Windows.  

The first step is to use Netatmo indoor station as an occupancy detector. Over the last year I've charted the correlation between occupancy and CO2 levels and in general found that an occupied room tends to read >500ppm CO2 and unoccupied room is below that. Of course if you open the window the CO2 level drops to almost zero very rapidly. So, this basic threshold measure can be used as a simple detection of empty room and/or wIndows open.  

 IFTTT recipes to control Heatmiser thermostats based on occupancy (CO2)&nbsp;

IFTTT recipes to control Heatmiser thermostats based on occupancy (CO2) 

 

Of course, you might ask what happens if the windows are open while the room is occupied. Good question - but in our case it never happens; our child is young, so for safety when he is using the room we always have the widows locked shut. 

This simple trigger forms the basis of the input to an IFTTT recipe which controls the Heatmiser thermostat in the same room. If the CO2 levels drop (room empty or Windows open) then the thermostat is set to 'standby' (this stops it following its daily program) and if CO2 rises again ( = occupied) the standby mode is deactivated and the normal program continues to run. 

This way we hope to avoid those costly mistakes where we have opened the windows and forgotten to adjust the thermostat; or unnecessarily heated an unoccupied room.  

For the future we can explore whether outdoor temperature, wind speed and rainfall can be used to optimise performance of the indoor heating.   

More Sugru projects

I use Sugru around the home and car a lot, both indoors and outdoors.  

So here's a few more simple improvements made around the house. 

First up, the classic charging cable strengthening (iPad 2) - no mystery here. 

 With a 2 year old about, the iPad cable needs a bit of strengthening  

With a 2 year old about, the iPad cable needs a bit of strengthening  

Next up, finger grips for a small remote control to help stop it sliding out of the hand. 

 Sugru finger grips  

Sugru finger grips  

Finally, the ultimate tool you can never find: a pointy sticky sharpish thing to perform resets and extract SIM cards. This wee metal pin came as the on/off control with my solar lights - but a paper clip would do the same job.

 Device reset tool

Device reset tool

Add a Sugru handle - voila!

Not sure I could live without Twitter any more

If I ever needed reminding that the world of social media has introduced so many new opportunities to communicate and collaborate (and I don't need reminding) and make connections that never used to be possible, then monday was it. 

Three things happened. 

First, it was nice to wake up to a nice tweet from Dragonfli, who are the suppliers of our beepol lodge and beepol bumblebee colonies. They were very complimentary of the modifications I'd made to their lodge and tweeted that out to their followers, which has driven some extra visitors to our bumblebee project information - which obviously makes me happy. 

That's an amazing customised Beepol Lodge Nik!! Love the idea of temperature display as well!

Great to get such a ringing endorsement from the manufacturer. You never know, maybe they'll make the temperature display a standard feature? ☺

Next, I was contacted by the Richard at waspinator - this was a result of a couple of tweets in a combined conversation with Martha Kearney (radio 4 presenter) who keeps honey bees. She appeared on Simon Mayo's radio show in an interesting segment on beekeeping, and after when I checked her tweet stream I noticed she'd been in contact with waspinator due to some lack of success with the product at keeping wasps from hives.

I added to this thread, as we too had tried the waspinator but not managed to keep wasps from raiding our bumeblebee nest for precious honey at the end of the season, and Richard got in touch. Following some discussion with him, he gave some advice and offered to send us half-a-dozen waspinators to trial around the garden - to basically create a "ring of defence" around our bumblebee hive.

This is great news, as not only can we hopefully keep the wasps at bay this year, but we can also trial the waspinator in a bumblebee-inhabited environment and provide this data to the company and generally improve the understanding of how to use the product with bumblebee colonies.

Finally, I was honoured to be selected by The Tiffen Company to provide the cover photo for their facebook page. Tiffen is the leading movie and photographic effects accessory company and I use their software extensively as part of my workflow. The desktop software mimics their vast range of photographic filters and accessories and I love being able to take an "analogue" approach in the digital domain. This is the picture they chose:

A big thanks to Tiffen! 

So, all in all, busy day with my new found social media contacts. Not sure I could live without twitter anymore!

I'm in love with Lightroom

Adobe Lightroom. I remember trying it many many years ago in pre-version 1 form. It was disappointing. My overworked PC ground to a halt. I didn't really see the point of it - it seemed liked a bloated photo organiser. 

Half a decade or more on, my photo collection of some 30,000 images was languishing, unloved and closeted on a humming server in the corner of my underworked recording studio. The mere thought of sifting and organising my photo portfolio had become an insurmountable brick wall - too much to handle in one go; too much, even, to divide and conquer by hand. 

So, in summer 2011 invested in Lightroom version 3 - if for no other reason than all my photographer friends and acquaintances use or mention it, or its Mac "equivalent" Aperture. Lightroom has moved on hugely - now a superbly powerful workflow and editing tool, not just a photo organiser. I didn't even realise quite how powerful when I invested in it, but day by day I'm discovering more and getting increasing value and utility from it. Now I'm kicking myself: how did I manage so long without it

In the first instance, the major achievement Lightroom delivered for me was access to my photos again. That sounds like a bizarre thing to say, but the ability to browse, sort, filter, move, organise images with trivial ease and barely a click has made discovering what was in my collection a pretty straightforward task. This had previously become impossible - despite the superior abilities of Windows 7 to search and display files, I could still not easily get the 30,000 ft view, the 10,000ft, 1000ft and move with ease between them. In this respect, Lightroom totally delivers - working my way round 30,000 images is trivial. Identifiying those I like, those I hate and those I will decide on later is simply done. 

One of the other stresses I faced in the pre-LR era was the organisation and naming of my files. Was my folder hierarchy right? Should I have source and production images together? If not, how do I track forwards and backwards between them? How do I keep multiple exposures (e.g. for HDR photography) together? How do I know which are published and which are not? Keep them in a special folder? Move them? Copy them?

So, file organisation, naming and proliferation had become a total headache. That worry has gone now. And I mean totally gone. I let lightroom do pretty much what it wants. I know that I can move files around if I want to organise them physically, but by tagging them appropriately I can collate any group of pictures according to any criteria I want. Collections of images can be pulled together dynamically based on almost any criteria you can imagine. So, forget where they are on disk, they are always just one click away from you in Lightroom anyway.

These two benefits delivered what I wanted, but Lightroom had/has more to give: Publishing

This incredibly powerful feature allows you to set up connections between your photo library and online photo publishing on sites such as facebook, flickr, 500px, zenfolio. The king of this feature is a wonderful gent called Jeffrey Freidl, who has written a large number of plugins that enhance existing and add new functionality for a raft of photo hosting locations; including in some cases the ability to two-way sync between your online pics and your local library. Wow

At first I ignored this feature, thinking I wouldn't use it; that was until I started tagging my photos more effectively. I quickly realised that I could develop a tagging system and a set of smart collections that pull photos together and automatically publish them to multiple sites effortlessly. And keep everything in step. So, you want 5 star rated pictures, that are a final production version, containing buildings, taken at sunset, outdoors, not indoors, and you want them dropped into a collection on facebook? No problem - totally automated with one click in fact. Oh, and you want those same images dropped onto 500px and Flickr too? Yep, that's one click. Oh, and you want those Flickr photos cross posted out to 10 or 50 or 100 buildings and architecture groups? Well, that's no clicks - the plugin will do it all for you.  Of course if you need some resizing, watermarking, renaming and so on while you go about it, that just all happens for you to. 

For me, this has truly become one of the most powerful and time saving aspects of Lightroom. I've encoded my workflow using tags; I've classified my pictures by topic. Lightroom now decides if they should be published and where. I just push the button to say yes, make it happen.  I honestly cannot tell you how something that took hours to do (and thus rarely got done) now takes seconds, and I really mean seconds. It's almost insane. 

I've not even talked about editing lightroom - which is not only powerful, but non-destructive (i.e. applied virtually, totally reversible and modifiable at any time). It took me a while for the penny to drop how powerful this was; perhaps because my first experience of this many years ago was Google Picasa, which is lame in comparison. It was some sort of unhappy hybrid between destructive and non-destructive editing and limited in functionality. In contrast, Lightroom has wonderful and precision editing capability and hooks into external applications. I don't even have photoshop installed. 

There are a couple of features I really love. 1) Stacking - which allows you to virtually group images together like a stack of cards. Perfect if you are an HDR shooter and want to keep your bracketed RAWs together. Or if you want to produce a few versions of an image with different looks. Talking of which, number 2) Virtual Copies - without making a copy on disk, you can simply make a virtual copy of an image, and then edit that, leaving the original untouched. It's a wonderful way to play with and compare mutliple different looks for an image. I love this feature.

Which actually brings me back to the start - I love the whole thing. Lightroom as a tool has totally transformed my workflow, brought life back to a neglected photo collection and provided a platform to take my photography to the next level, without having to worry about underlying administrative issues about file systems and folder hierarchies, about multiple copies for multiple purposes and trying to keep track of every single picture and where it has been used.

This baby is awesome and I know it has even more to give. It's worth every penny and I love it. 

 

TOGAF 9 Exam Pointers

Having been the first of a bunch to take the TOGAF 9 Combined level 1 & 2 exam (and pass, I might add ☺) I thought I would share my general tips about the exam as I've been asked by loads of my colleagues who are about to take it.

Please note, there are strict disclaimers to sign about keeping exam material confidential, so I will not be sharing any of that here - however, some of my own study observations are mine and mine alone, and also some basic mechanics of the test are helpful for first-timers. I don't see why they couldn't tell you this upfront to reduce anxiety.   

Study Tips

1) I put everything in a mindmap in order to visualise the whole structure and relate concepts. I took everything our tutor had highlighted and put it here, along with keywords to remember and his other useful tips for passing. By doing this, in one whole view you can see everything you need to know and remember to pass level 1.

I HAVE HAD MANY REQUESTS FOR THE MINDMAP, in fact it has become a bit unmanageable - so you can now access a small pack of documents for a small donation, which also includes some example exam questions too.. The document pack contains mindmaps in the following format:

.mm = freemind
.mmap = mindjet
.xmind = xmind

 

The TOGAF mindmap is large - this is just a small section

My personal tips for Scenario questions (part 2 of the exam)

Please note, these are my personal tips based on my experience of one exam. They are therefore not scientifically/statistically valid, so be prepared to junk them if they don't apply. That said, maybe they will:

1) when looking at an answer, don't just consider the things they have covered in the answer to gauge its correctness, but consider the things that are missing in the others. If you read the rationale given on the example answers, you'll see why.
 
2) USE THE BOOK. Do not guess, even if you think you know it. In particular, remember there is stuff that may not have been taught. So, for example, in the BOOK there are recommendations about additions to process or other little snippets we never covered. You can't learn it in all in advance, but if you use the book during the exam (and know your way around it) you'll find the missing stuff.
 
3) Be careful with scenarios, not to over complicate them and distract yourself. But, consider reading at least the last 30% of the scenario (after you've read the question) - in most cases I found this was necessary to give the right context to the question. This helps avoid situations where there may be deliberate confusion going on with "fully correct" answers, but for different ADM phases. I get the sense that the examiner wants you to figure the phase(s) you are entering, in or exiting - and the answers alone may not establish that. 

For those that think having access to the book makes everything trivial - be careful. As you know, some concepts are not grouped as individual parts of the book. One particular scenario question took me almost 25 minutes to try and complete, much of it scanning backwards and forwards - and in the end, I gave up on the book and used instinct, because it was not helping me. (There are usability issues with the book too, see below).

Exam Mechanics Tips

First things First: you might have been allocated a 4 hour slot, but this is not the time you get to take the exam. This slot includes registration, signing everything, tutorial time, wrap up etc. For the exams you get:

  • 60 minutes max  for Level 1 = 40 multiple choice questions
  • 90 minutes max for Level 2 = 8 scenario questions
  • You cannot use time from level 1 to carry over to level 2
  • The exams run straight from one to the other  - there is no pause in between
  • You can end early if you so wish - e.g. end level 1 after 40 minutes and go straight into level 2.

So - it's a straight 2.5 hour session plus registration etc. So, as with any exam, my advice is don't eat and drink beforehand!

I had to hand over all belongings, including keys and watch and of course, smartphone. So, you might as well take as little as possible with you to the exam centre.

The exam is conducted on a PC equipped with keyboard & mouse. You barely have to use the keyboard.

Writing materials are provided in the form of a marker pen and 2 laminated sheets of paper, a rather baffling solution. I had to ask for an eraser, concerned I might use all the sheets. I found this a generally unsatisfactory solution - felt tip too blunt, eraser ineffective. But that's it, that's what you have to deal with.

There is a tutorial to watch on the PC first about how the exam system works. I strongly recommend watching this as it explains how you can mark your answers for review and go back to them later if you have time.

The open book part of the exam allows reference to the TOGAF 9 book in PDF form. I found this system very clunky. The exam runs full screen (kiosk mode) on the PC and you cannot change this. The PDF opens up in front. You can move this and resize it to help see the content side by side, but it is a poor user experience. You could not maximise it. My screem was at most a 15 inch monitor running at, what I suspect was 1280x800 resolution. It was appalling, and barely possible to read the PDF, especially the diagrams. The whole thing opened with the contents window on the left of the PDF reader way too small and even if resized, it kept resetting back to this.

I'm not sure if the PDF reader was an old version or something customised - but searching was a poor exerience: slow; and the FIND button, while helpfully on screen, took up a load of really valuable screen estate. I was unimpressed with the setup in terms of usability.

There is only one cure for this (unless you get a better PC system): know the book as much as you can in advance.

The system allows you to leave questions unanswered if you wish and also "mark" (i.e. flag) them for review. After the last question you then have a summary page which shows a list of all your questions and which are unanswered and "marked". You can go back to any question at this stage to continue working on it. I finished early, but used all the time available via this review screen to go back and check all my uncertainties. The exam system itself is easy to use and navigate - I had no complaints with this.

Your time remaining is shown at the top right of the screen in minutes and seconds at all times. I had no access to any other clocks/watches other than looking at the sun.   

And if you are taking your exam soon: Good Luck!

Think Different

Of course, as everyone raced to type their reviews of the iPhone 4S on Tuesday 4th October (myself included), little did they know that Steve Jobs was on his deathbed. And that Tim Cook, the new CEO, was having to deliver his annoucements almost certainly knowing that was the case.

I feel a great sense of loss of such a wonderful role model; many would say in the field of business, marketing, user experience - and clearly Jobs had so many talents in so many areas. But for me, all that rolls up into a genius for insight, innovationsimplicity and change.

It is absolutely immeasureable the influence Steve Jobs had on so many lives in the digital age. He may not have solved World hunger, but you can bet your bottom dollar that his legacy in bringing digital information to the masses marks a turning point in history.

So much has been said about Steve Jobs over the 48 hours following (over 4000 tweets per second) and will no doubt continue to do so, that it's hard to add a fitting tribute.

So, I'm going to play back some of Apple's own words, words that have Steve Jobs' DNA all over them. Words that, to me, are poetry.

Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. They’re not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them. About the only thing you can’t do is ignore them. Because they change things. They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the people who are crazy enough to think they can change the world, are the ones who do.

Rest In Peace Steve