Nik's Technology Blog

Travels through programming, networks, and computers

Selling with an Online Estate Agent

It's been a year since we sold our house and moved, and that year has gone so quickly!

I was confident that getting the house marketed on Rightmove and Zoopla would be enough to sell the property, but unfortunately unless you are a registered estate agent you can't post directly on to these portals. All estate agents are so dependent on these property portals now, so much so that they tried to create their own onthemarket.com. However with strict conditions I believe it is doomed to fail.

So after getting a few agents around for a valuation and lots of research into the best online estate agents we finally bit the bullet and chose an online agent and paid the flat fee up-front. Paying upfront would put most people off, but at £800 it was less than a quarter of the fee of the other agents.

Even though the agent we chose (PurpleBricks) was a hybrid agent who assign you a property expert to provide a valuation and take photos and create your brochure, I decided I wanted to take more control and take the photos myself and also write the description to make it more personal.

I let the agent create the floorplan and do the measurements.

The PurpleBricks portal gives you the control over scheduling viewings, amending the brochure and photos, plus it also allows you to see the offers come in, which I found interesting, but definitely not for everyone.

All in all it was a good experience, we sold on our first "open day" and we saved a lot of money over the traditional high street estate agents that pitched to us.

I would also like to thank Perry Power for his free advice on selecting an agent and pricing a property to sell. These free guides are available on his website.

Learning jQuery 1.3 - Book Review

My first exposure to jQuery was using other developer's plugins to create animation effects such as sliders, and accordion menus.
The highly refactored and compressed production code isn't the easiest to read and understand, especially if you want to alter the code to any great extent.
After reading a few tutorials, I thought I'd buy a book and get more involved with the jQuery library.

As an ASP.NET developer used to coding with intellisense, I was pleased that jQuery has been incorporated into Visual Studio to allow ease of developing.
I browsed through the jQuery books on Amazon and opted to buy "Learning JQuery 1.3" by Jonathon Chaffer and Karl Swedberg after reading the user reviews.

I've now read most of the book and can highly recommend it.  The book assumes the reader has good HTML, CSS knowledge as well as a familiarity with JavaScript and the DOM, but this enables the book to quickly move onto doing useful, everyday tasks with jQuery.

The first six chapters of the book explore the jQuery library in a series of tutorials and examples focusing on core jQuery components.  Chapters 7 to 9 look at real-world problems and show how jQuery can provide solutions to them, and the final two chapters cover using and developing jQuery plugins.

Web developers should be aware of web accessibility and SEO issues with using client-side scripting and it is good to see the book highlighting the concepts of progressive enhancement and graceful degradation where appropriate.

"the inherent danger in making certain functionality, visual appeal, or textual information available only to those with web browsers capable of (and enabled for) using JavaScript.  Important information should be accessible to all, not just people who happen to be using the right software." - Learning jQuery 1.3,  page 94

After a brief introduction into the world of jQuery, what it does and how it came about the book moves quickly on to selectors, which are a fundamental part of how jQuery selects element(s) from the DOM.  It also covers jQuery's chaining capability, which coming from other programming languages looks odd at the outset, but quickly proves to be a very powerful technique.

The authors then move on to talk about events.  What I particularly like about the way jQuery handles events is that the behavioural code can be cleanly separated away from the HTML mark-up without having to litter tags with onclick and onload attributes.

The examples show how to add functionality on top of your HTML by binding events to elements on the page, which when triggered cause jQuery to modify the HTML to bring the page to life.  Techniques are introduced by example, then slowly refactored and improved while introducing new jQuery methods along the way, which is a breeze to follow and learn.

The fourth chapter covers effects such as fading in and out and custom animations, and jumps straight in to cover a useful example of how text size can be increased on-the-fly for ease of reading.  The intro also mentions an important usability example of effects.

jQuery effects "can also provide important usability enhancements that help orient the user when there is some change on a page (especially common in AJAX applications)."- Learning jQuery 1.3,  page 67

Chapter 5 is all about DOM manipulation and covers jQuery's many insertion methods such as copying and cloning parts of the page, which it demonstrates with another useful example in the form of dynamically creating CSS styled pull quotes from a page of text used to attract a readers attention.

AJAX is the next topic, which interested me enough to create a little tool to load in an XML RSS feed and create a blog category list from the data.
The chapter covers the various options of loading partial data from the server including appending a snippet of HTML into the page, JSON, XML and how to choose which method is the most appropriate.

Table manipulation is next on the agenda and the book discusses how to sort table data preventing page refreshing using AJAX as well as client-side sorting, filtering and pagination.

Chapter 8 delves into forms, using progressive enhancement to improve their appearance and behaviour.  It also covers AJAX auto-completion as well as an in-depth look at shopping carts.

Shufflers and Rotators are next and the book starts out by building a headline news feed rotator which gets it's headlines from an RSS feed, typically used by blogs.  It also covers carousels, image shufflers and image enlargement.

Chapter 10 and 11 examine the plugin architecture of jQuery and demonstrate how to use plugins and build your own.  I successfully produced my first jQuery plugin from reading this book.  You can check out my tag cloud plugin and read about how I originally built it before turning it into a plugin that other developers can use.

Nike+ SportBand Review

Last year I decided to get healthy and take up running.  Being a gadget lover, I had been researching the iPod nano and Nike+ sport kit

I liked the idea of being able to record my progress, set myself challenges and map my routes etc, see http://nikeplus.nike.com/nikeplus/ for more details.

The thing was, I already had an iPod classic which was too bulky to run with, and not compatible with the Nike+ kit.  I didn't really want to fork out for another iPod just to take out for a run, so I was pleased when Nike released the SportBand, I ordered one and started my training. 

That was about a year ago, and I've been using the Nike+ SportBand for all my runs since, clocking up over 300km in that time.

Review

I thought I'd write a quick review of the product to share my experience with the SportBand and the Nike+ website, which forms an integral part of the product, since all your stats are uploaded to the site.

Hardware

The hardware included consists of a watch and shoe adapter.  The shoe adapter is designed to fit into special Nike+ running shoes, which I had already had.  If you don't want to purchase Nike+ running shoes search on eBay for "nike+ sensor" you can buy sensor pouches that fit on your shoe laces instead.

Before each run you have to hold down the big button on the face of the watch to sync the shoe adapter to the watch, then after a few seconds when you are ready to run, you just press the same button again briefly to start and stop the clock.

After using this for a while you wonder what Nike was thinking when they designed the watch.  First of all its not very sturdy, my LED broke after a few months use (see photo, left-hand side), the angle of the screen and reversed LED display are not at all easy to read when you are running.  Personally I would have been willing to pay a little more for a better watch.

Software and Website

When you get back from your run, you simply detach the watch from its strap and plug it into your computer's USB port to upload your run data.  The software driver that you install on your PC allows you to calibrate your device as well; however I found that its not very accurate and if you increase your pace you need to recalibrate the device.

The Nike+ website has been produced in Flash and looks visually impressive, but I find it to be a bit cumbersome to use and personally I would prefer an HTML website with embedded Flash graphs etc.

All your runs appear in a bar chart, with a calendar running across the bottom.  When you hover a run you get more details for that particular run.  If you click on a run you get a timeline for that run with km/mile marker points and your pace at those positions.

You can also map your runs before or after a training session to either gauge how far a route is or to assign certain runs to a particular route.  This is useful so you can see your progress over the same route.

The nike+ website also has a social element to it, allowing you to challenge other nike+ users and run routes others have mapped.  However the interface isn't as intuitive as it could be.  You can also create widgets to allow you to show your training overview on your blog or social profile, take a look at mine on the "About Me" page.  They also provide a FaceBook app, but I have never managed to get this to work.

Summary

Nike+ isn't perfect and I think that professional runners should probably look elsewhere, but for people like me who just run to keep fit and don't take it too seriously I find it helps me keep track of my progress and keeps me motivated.

Being a developer it would also be nice to get access to my run data through an API.  There are ways to do it, but it would be nice if Nike were to publish an SDK or API documentation to make this a little easier.  Services such as Twitter have thrived on 3rd party applications which leverage the Twitter API, what are you waiting for Nike?

Product Review: Train Signal's IIS Web Servers CBT Video Training

As an ASP.NET web developer, I think it's important to understand and know how to configure Microsoft's web server, Internet Information Services (IIS). Depending on the organisation you work for you may or may not get the opportunity to tinker with IIS, but this shouldn't stop you from learning the basics.

You could go out and buy a book on configuring IIS and then install IIS on your computer to practise what you've read, but thanks to the guys at Trainsignal.com who have kindly sent me some of their training videos, I've discovered a much easier way of learning.

Train Signal CD-ROM

Train Signal provides video training courses for Microsoft, Cisco and CompTIA certifications, including CCNA, A+, Network+.
I'll also be reviewing the Cisco CCNA training videos here soon.

Train Signal's IIS Web Server video training covers both IIS 5 and IIS6, and features topics including installing IIS, creating test websites, hosting more than one website using host headers, adding security, setting up an FTP server, and web server optimisation.

Train Signal CD-ROM menu

The course is taught by Scott Skinger, President and founder of Train Signal. Scott has many years of experience in the IT field, holds various IT certifications and is a competent instructor. The videos are easy to follow and Scott's narration is second to none.

Train Signal lab book sample

The series of videos are backed up with a written guide in the form of the lab book, which comes as a printable PDF on the CD ROM, this goes through the same steps featured in the videos and includes network diagrams like the one above to help you set-up your own lab.

Train Signal video player

If you want to get up to speed on a particular Microsoft product, obtain an IT certification or you don't like reading IT text books then I definitely recommend you give these training videos a try.

Course Contents in full:

Introduction
Lab Setup
Setting up the lab
Computer 1
Computer 2
Computer 3
Lab
Scenario
Installing IIS on Windows 2000 Server
Creating an HTML file
Hosting Ben & Brady's site
Configure DNS so Internet users can find your website
Testing the website from the client
Lab
Scenario
Creating a test website using an HTML file
Creating an additional website on the web server
Creating host headers
Configuring DNS for the second website
Test and view website from client
Assigning site operators
Adding security to a website
Test and view the website from a client
Lab
Scenario
Downloading and installing service packs and hot fixes
Setting NTFS permissions
Disabling Netbios over TCP/IP
Download and run The IIS lockdown tool from Microsoft
Enable and view logging