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

20 Jun 2009

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.

This post has been tagged: ,
8 Feb 2009

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!

This post has been tagged: ,

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.

This post has been tagged: ,
17 Oct 2008

Following on from my previous post I wanted to highlight some of the other things I am attempting to do with this site.

The events “system” was implemented over a year ago now, originally it was a way for me and Lloyd to keep track of the various events that we wanted to attend and get photographs of - a web version was the preferred way of doing it rather than the simple spreadsheet that we used for a few weeks but soon got frustrated with.

The original version of the events system was just a single table with the basic information about the events we were interested in and was then simply displayed on a page, the information was merely things like name, location, date / time and URL.

Soon enough more and more things were added, the most notable additions were an email notification system (which emails us when the event is 7 days away) and more recently the integration with my main site. The data being held in the table grew and the system is currently split into 2 different areas, a “public” view, which shows only the events I want to make public on the Events page and only displays basic information about the event, and a “private” version that shows every event and all of the information associated with it, for example if there are tickets required or any notes that I have added about it for personal use – This is of course integrated with my new login system depending on what user level your account is.

As with before, this system was built in stages over time and with differing techniques as I learnt more and more about PHP development (It was a mix of procedural PHP and functional PHP so there was business logic and other code all over the place), this became a problem when I needed to integrate the system with other projects rather than just my site, because there was no common structure and without recreating the system on a different server (which wouldn’t be a very manageable solution to the problem, and would only have served to negate the issue) it was practically impossible to use for anything else, in short it wasn’t written in a reusable way.

So with this in mind it became my aim to bring the whole thing into the Object Orientated world and from there create an API for my own use (and others if they wanted) to pull data out by creating a  REST Web Service and returning the data using standard XML.


An example of the XML output

Now that I have created the API I am free to use the data on any system simply by calling the API and parsing the XML data returned, and all in a very easy and manageable way, this means that not only can I use the data for other sites I make if required but I can also use it for my final year project, a double bonus if you will.

A bit more information about the API can be found at www.mylesnoton.com/services/api/ documentation will be added in the near future.

It is unlikely that anyone apart from me will want to use the API, but it will help me a huge amount and if one person finds it as useful as I will then it was worth it!

This post has been tagged: ,
3 Oct 2008

It has been a vision of mine for many years now to evolve my site into something that has something of value, more than just a few pages with some images to show of what I can do, but something that will not only provide people with information about me, my skills and my current activities and also gives the visitor a reason to come back, and I guess some sort of ‘service’.

A lot of the time the vision was just out of reach, marred by the lack of programming skills on my part, whenever an idea came into my head I was unable to put code to server and get something working.

Well all that is changing, with age and perseverance comes PHP knowledge, and with more age comes OO PHP knowledge.

Following on from the design update a few months ago and the introduction of the events system I have almost completed the implementation and rollout of a login system which is going to be the foundation for the following things:

Visitors will be able to signup and access other areas of the site, and over time you will be able to do extra things such as signup for event alerts and get an email when an event is a week away, and many other things that I plan to complete in the near future. You can sign up for one right now if you like, but there is very little ‘new features’.

It’s now been integrated into my administration system, if you have an admin account you will be able to access the backend management system that I have made for my site (although that only really affects me).

The same system will be tied into the “Client” section of the site, which is also under development and about 80% complete, this will not really affect many people, but is also part of my vision of allowing people I take photos for to login and see the “Shoot” that was taken, review the photos and select what ones they want to download. Based on the ones selected they will then be able to download a zip file of the original images, or alternatively just download them all.

And the good thing is that all this is that I can use the OO foundation that I have built in my final year project, as well as other elements that I have built.

What could have been, has become…

This post has been tagged: ,
21 May 2007

Google is a mystical creature of the deep, some love it and some hate it. There have been dozens of arguments about Google as a whole is too big and powerful, privacy advocates are throwing their hands up complaining about target advertising and other things, personally if Google want to show me targeted adverts based on my search queries and emails then go for it, I never look at them anyway.

But privacy and how Google may or may not be able to use their power to take control of the world is not what this post is about.

Google indexes my site, which is what Google should do, but because it indexes my site it allows me to login to the Google Webmasters Tool and look to see exactly what Google has indexed, as well as my page rank and other pieces of information that can be quite useful at times.

One of the pages on the Webmasters tool allows you to see words that Google has associated with your site, even casual readers will be aware of the vast topics I cover in my blog, apparently Google shares your sentiment, here’s a small list of some of the 200 words Google thinks relate to my site.

  • Torbay Council
  • Louisa Lytton
  • Embankment
  • Mobile
  • Payroll
  • Audit Commission
  • Internship
  • Sorry
  • Girls
  • Caprice
  • Crowd
  • Memories
  • Maximillion
  • River

These are just some of them, others are seemingly random ones like 29th and barrel, I have no idea what logic Google uses to mine keywords but I sure do have a diverse range of them.

This post has been tagged: ,