My name is Myles Noton, I am a Web Developer / Designer & Photographer based in London

Now that university is over and I no longer have to spend all my time completing projects and reports I have had a bit more time to complete some of the ongoing things that I have previously not had time to complete. One of those things is this site, which over the past year or so has become in need of updating.

Services

Previously this area of the site was one of the worst. The design didn’t really fit the content or the rest of the site and it was a pretty bland page. With this in mind I have redesigned it to show off my abilities a bit more while trying to keep it fitting in with the rest of the site. You can see the changes on the new look Services page.

services

Events

As I have blogged previously my plans to integrate the “Calendar” into the events system this shouldn’t come as much of a surprise. Much of it was actually re-written to work correctly but it you can now see all of the public events in the events system on a nice little Calendar. This is currently only a V1 implementation, in the future things like will be added to improve it, for example some AJAX features, changes to the design etc.

calendar

Also improved are the individual event information pages, the related photo galleries now work and are tied into the new photography system.

Photography

Like many people I use Flickr to share my photos with anyone who wants to look at them. To make things easier for me I have been using the Flickr API to show the photos on this site as well and up until recently I have been using a script called Satellite to do so. However over the past few months I have been developing my own Flickr gallery that includes many of the things that Satellite lacked, the most important being caching.

On the face of it you probably won’t notice much of a difference since I had already heavily customised the Satellite code base and ripped out the theme engine to add my own, but once you click on one of the galleries you start to really notice.

  1. The tags of each photo are now shown on the gallery pages and can be clicked to view every photo in any gallery with the same tag.
  2. If I’ve also written a blog post about or featuring the gallery that you are viewing, it will show up on the page.
  3. Related albums are also suggested based on a number of criteria.
  4. On each Tag page there is also a list of albums that the tag appears in and also a list of related tags.

Behind the scenes is where most of the sweat and tears went though. Since the whole thing was written from scratch I also decided to implement database caching so that I don’t keep having to request data from the Flickr API on every page view (which made the whole thing very slow to load). Of course all of this is managed through my own administration site so now I also have more control over what happens.

photography

More things are planned but I am going to be working on other things for the time being so for now there won’t be many more changes.

Footer

I have changed the footer design to span across the entire width of the browser window. The previous footer design included a breadcrumb navigation that unfortunately caused more problems that it solved, it only served to propagate errors through the site.

footer

Future

In the coming days I will also be updating the Web section of the site and improving some other areas like the blog for example, I’m sure I will be able to find the time to blog the other improvements that I have made.

Yesterday the A1GP Championship descended on Brands Hatch, bringing with it an exciting end to this seasons championship. Of course predicting that it would be a great race I decided to go down there are watch, the last time I went to Brands Hatch was probably 12 years ago to watch a Formula 3000 race and met Sir Jackie Stewart. This time though I took my camera along with me. If you were wondering Adam Carroll won the title for Team Ireland.

View all of the photos I took in my A1GP at Brands Hatch photoset.

Following on from my previous post previewing some of the things that I’ve been doing for my final year project I wanted to highlight a recently finished feature that started out a small addition but ended in a nicely polished and useful feature to the project.

The Holiday Planner is part of the Customer Centre, the idea behind it is that customers can choose from a predefined list of activities to do on their holiday, these can be scheduled in either the morning, afternoon or evening. It is a visual representation of the activities that a customer wants to do while they are on holiday, viewed as a calendar. The calendar view makes sure that the customers holiday is always in the centre of the grid, calculating the amount of days needed before and after to fill the 7 x 5 grid.

planner
Holiday Planner Calendar View

The activities can be added by clicking on a day that falls within the customers holiday, these activities can then be edited / deleted by clicking on them and using the AJAX pop-up that appears.

edit
Edit an activity

The main reason the feature exists is to strengthen the business case for the project by providing customers with a value to booking online beyond the convenience of using such a service. If there is any left over time there are a few additions I would like to make, the first one being the ability to export the calendar as a PDF for example.

Of course as a V1 feature there is no ability to customise the activities or add activities beyond the days of the customers holiday, however I think even without these things it provides a benefit to customers who will take the time to use it.

You will probably be seeing a similar idea on my Events area sometime in the future once I have the time to integrate and modify the code.

Note: The site is still under development and some of the things shown in this post may be incomplete and unpolished!

Part of my Computer Science degree involves the design, implementation and documentation of a project of our choosing. As most of my projects seem to be along the same lines it only makes sense to keep it that way.

The site is a completely different site to the one that is currently online. I decided move away from the overload of photos and simply move towards a more clean and commercial style rather than a mere showcase for photos.

home
Homepage

Now a simple site obviously isn’t good enough for a degree project, even with some Google Maps integration and the implementation of the data provided by my own custom Event API it still needs more, a lot more.

So the site also includes an online booking system with PayPal integration for payment processing, availability checking and suggestion engine to suggest alternate accommodation if the one they choose is unavailable. Not only that but it also offer a Customer Centre to customers who book a holiday, allowing them to manage their booking, generate a parking permit for the duration of their holiday, create customisable lists of things they need to bring with them and a holiday planner so they can plan their holiday. Of course, all this is protected by the membership and login system that is also used on this site (one of the advantages of writing on Object Orientated code).

my
Customer Centre

And of course on top of all that there is a backend administration system that allows the owners of the business to manage bookings, create campaigns, view detailed reports on key aspects of the site to analyse the effectiveness of key areas and generally mange the entire site.

I’m sure I will share more once it is fully complete.

18
Mar 2009

In not to much of a distant future my Final Year Project will be due in, that includes the actual implementation and a 60 page report (on top of a 14 page PID that has already been handed in and marked), but after spending the last few days slowly trying to make some sense of the intricacies of some of the things I have been trying to implement I think I have finally got the desired result, although there are a few more things left to sort out and probably way more tables to be added as and when I think they are necessary, but it’s all looking like it’s on track.

DB

Just thought i’d share the piece of paper i’ve been starting at on my desk for the past few hours

If like me you have been experiencing issues with the new iTunes 8.1 Windows release then this might help you out.

For me at least iTunes crashes during the transmission of Genious data to Apple, stopping this process with the “X” that appears in the notification area resulted in an immediate crash, if it was left it would simply crash a few minutes later.

If you really can’t wait for Apple to fix this issue and aren’t really bothered about using Genious then the most obvious solution would be to turn off the Genious feature until a fix is released, unfortunatly for me the Store > Turn Off Genious option was unavailiable so here is how I managed to get round it:

  1. Go to your iTunes folder (mine was in C:/Users/Myles/Music/iTunes but yours may be somewhere else)
  2. Find “iTunes Library Genius.itdb” and rename it to something like iTunes Library Genius.itdb.old (Make sure you can see file extenstion – if not untick the “Hide extensions for known file types” option in the Folder and Search Options Menu)
  3. Start iTunes
  4. iTunes will still try to generate Genious Data but after renaming the file you should be able to stop the process by clicking on the “x” in the notification area at the top without it resulting in an immediate crash.
  5. Then Select Store > Turn Off Genious from the menu at the top

For some reason that seemed to sort the problem for me, or atleast long enough for me to disable the Genious Feature, it may not work for anyone else, but its worth a shot – iTunes has been running for about 10 minutes so far and no crash as of yet.

Hope this works for you!

EDIT: Didn’t realise this fix had already been suggested on the Apple Support Forums, you can follow the discussion at: http://discussions.apple.com/thread.jspa?threadID=1938223&tstart=0

There comes a time when doing a standard query just isn’t enough, you start out with an idea in your head and continue to develop it while looking at the feasibility, as this thought process continues you realise that there is a lot more than meets the eye, this isn’t something that can be done in one line of code, it requires a more intricate solution, and here was mine…

SELECT p.guid, p.post_date, p.post_title, p.post_excerpt, p.post_status, p.post_type, p.post_title, p.ID, rel.object_id, rel.term_taxonomy_id, tax.term_taxonomy_id, tax.term_id, t.name, t.term_id
FROM community.wp_posts p, community.wp_terms t, community.wp_term_relationships rel, community.wp_term_taxonomy tax
WHERE rel.object_id = p.ID
AND rel.term_taxonomy_id = tax.term_taxonomy_id
AND tax.term_id = t.term_id
AND t.name = '$event_category'
LIMIT 6

A 4 table query against the Wordpress database pulling out posts with certain tags for use on the Events Pages “Related Blog Posts” Section. Took me a while to get my head around it, but it worked in the end!

Continuing with the post detailing some of the changes that I have been making to my site here is another one!

Performance Improvements

You may have noticed that the homepage has been changed slightly, one of the things that has been changed is the latest blog posts are no longer being pulled down from my blog RSS feed, instead I am pulling the data directly from the wordpress database, and as a result the homepage (and every other page with the footer) has seen a significant performance increase, which is a very welcome improvement.

Login Service

Some of you may have seen the new login design, although the old one did what it was supposed to it didn’t really do everything that I wanted it to do, and a better more versatile layout was needed.

In a move to improve the login experience I have added the ability for the system to remember what page you were on before you logged in and will then return you to that page once the login process is complete. One thing that I have left out from the revision is the “stay logged in” feature that existed in part before, I decided that unless there was a public out-cry, the hour idle time is sufficient, since for every page refresh the cookie resets the expiration time back to an hour.

Events API

The events API is almost completed, currently all of the functions to get the event data have been implemented and can be seen at the Events API Documentation, more improvements will come over time, for instance the ability to add events to the database (Something that I’m still thinking about from a security perspective).

Future Upgrades

In the coming 6 months I am planning quite a few updates. The first of which will be a site refresh (whic has started already), nothing too drastic, the overall design will be the same, but there will be improvements to the layout of the pages and more improvements to the backend system.

Most of the sections of the site will encompass the idea of Landing pages, something that has been on my list for a while, and something that I partially implemented with the Services and Events sections, although there will need to be more improvements. Along with the better landing page approach will be some integration work with other sections on the site, like the blog or photography section, for example, an event listing would have photos from last year displayed on the same page as well as related blog posts and other things like that. This will hopefully integrate the other previously standalone sections into each other and hopefully make for a better visiting experience.

The photography section is currently powered by the Flickr API and Satellite although heavily customised, one feature I would like to implement is some sort of caching on the data that it pulls down from Flickr, each time the page loads the Flickr API is called and the photos / data is downloaded, this of course isn’t a very good idea from a performance perspective, so I would like to work on this area to improve the performance.

Wordpress Integration is another item on the list, this would be in the form of registering and login operations, so when a new account is created, a wordpress account is also inititiated and when a user signs in they are automatically logged in to wordpress too.

At this year’s annual MCN London Motorcycle Show there were all the usual exhibits and stands you expect from the show, and of course no motor exhibition would be complete without the obligatory Babe contest!

Unlike last year’s show, there seemed to be an increase in smaller stands selling equipment and accessories rather than big stands from the major manufacturers showing off their new bikes! Although there was the standard Harley Davidson, BMW and Triumph stands to name but a few.

Of course, no event post would be complete with the selected photos from the day, so here they are:


MCN Babe Finalists


MCN Babe Finalists


Speedo

You can see more photos from the day in my MCN London Motorcycle Show 2009 Photoset

It’s that time of year again, on Sunday I will be going to the MCN London Motorcycle Show 2009, and naturally I will be taking my camera in the hope of getting some good shots.

If your interested in seeing the photos taken last your you can see them in my MCN London Motorcycle Show 2008 Photoset, you can also read my post from last years MCN Motorcycle Show.

I will post the photos from this years show on Sunday night!