C#, Selenium & NUnit

This trio provides a quick and easy way to set up UI-driven tests with Selenium webdriver, and Visual Studio, C# and NUnit to create and initiate the tests.  Here is a step by step guide, using the customary google search scenario as example (fast becoming the “Hello World!” of testing). Continue reading

Semantic pants


I should add here, that this is based on a description a non-techie friend gave me,  on how google searching worked.

The semantic web. Take the word pants.

User 1: Has a dog and looks up symptoms (possible search string – “dog pants too much”)
User 2: Buys a lot of pants (possible search string – “bargain pants sale”)
User 3: Enjoys photos of soiled pants – hey, it takes all sorts to make a world (possible search string – “dirty mens pants
User 4: From generation who uses word pants to describe something that’s not very good. (possible search string – “what political party is the most pants“)
User 5: Combination of users 1-4

Using the search string to identify a user from the list, “soiled pants” could only User 3; but there is also User 6, who has diarrhoea. It won’t make them feel any better if their search returns photos of pants that have seen a lot of action and not much washing. Now of course in some countries, “pants” actually means “trousers”, so you have to account for different meanings depending on location. Which the search engine can usually pick up on. They get that right most of the time. So now we have User 7 – an American who likes to buy his pants online.  Yes, at least a search engine can assume user is after male pants.  So take the search string “bargain pants” from a UK location.  The search engine picks up of “bargain” is is reliably associated with shopping related search string .  Could be a man or woman buying for a man.  Or maybe a woman feels more comfortable in pants, or turned on by wearing mens pants.  You can see how complex it can get very quickly.  It’s people’s little perversions and quirks that will really throw search engines off the track.  If only us annoying users would use the word “Y-Fronts” instead of “pants“, it would make search engines lives a little easier.  But you can see how implementing a semantic approach to web searching can quickly get complex.

From this rudimentary approach to a semantic web, search engines can start building up profiles. Not logged in? No problem – they record your IP and surfing history anyway. What, you think they need permission? User 5 is why it still doesn’t work very well yet. No-one is so simple and straight-forward enough to pigeon-hole so easily. So it’s on it’s way, and as long as search engines like Google can stop falling over themselves telling us what we want, rather than trying to work it out, we will get there. In the meantime be careful out there, or you may end up with a profile you can’t shake off 😉

Interesting note – when I search “pants” on Google UK, the images are 99% trousers. #fail


The idea here is that users describe characteristics of their search target, instead of relying entirely on content keywords. The easiest way to get an idea of what it is doing (or trying to do!) is search on your name/company and add 1 or more words to give it a little focus. For instance I searched on jaffamonkey qa, which generated result below.


howsociable_wordpress1What Keith Barrett would call “just a bit of fun”.   It searches a lot of major social networking/bookmarking sites for occurences of search term (i.e. your name or ID).  I was interested to finds my ID appears on sites I signed up to, but never used, such as ecademy and ning.  But sometimes interesting to find out where you have been mentioned!  Needs to cover a load more sites though.

HowSociable? – Brand Visibility Metrics

Searching using profiles

apmldiagramUser profiling is about empowering the web user – the user should always control the data they want to be available to web services (search engines the largest example).   In order to fully leverage their technology, web service providors want your information, so they can present you with relevant information from the http://www.  The problem here is that you would not have control of that data – there may be many times when you dont want your browsing information recorded, for many reasons!

apmlresultsUsing profiling options such a an APML file, can give you control using the power of microformats (the best way to present data across the www, as they are data storage standards supported by many web services).  For example, you will notice an additional search box to bottom of page, and that is where a user can enter in their APML profile URL.  This site then uses that APML interests file to guage relevant posts, and even reports % relevance (click on thumbnail to right to view screenshot).   Try it youself with our APML profile URL .

Now doesnt that seem like an easier way to search for information, and find out quickly is a site is for you?  A basic demonstration of the possibilities towards semantic web – our APML profile is generated based on the blog post tags, and their frequency.    It is worth remembering that computer systems are only as intelligent as the humans that “tells” them what to do – that is going to include you now!