Just an update from my previous post. I’ve updated my little mashup to be a lot faster than it was and I still have a few optimizations in mind to speed it up even more. Also the site now handles any UK location (well the ones which google maps can geocode into a longitude and latitude) and finally I gave it a humorous name (well I found it funny).
Here’s the link again: UpYourAlley give the site a few seconds to load the markers and the same applies when you click on any marker.
Still there are a few little bugs and niggles that I need to sort out:
- If more than one venue is at the same location then only one is currently shown.
- The marker manager code I have isn’t as efficient and smart as I would like especially when scrolling around the map.
- I would like to be able to filter (on a search) events by category i.e. movies, arts, gigs etc…, but that should be trivial.
- More user feedback when loading data and handling failure when the users location cannot be geocoded.
- Plus more, more and then some more…
For those who care about why it’s faster now…. I previously generating the data set completely in PHP on the server-side, but as each api request was made in series to PA the time taken to gather just the venue data took around 15 seconds and when factoring in the events data for each venue this grew to minutes. So when I rewrote the site (waiting for Top Gear at 9pm on sunday night – I thought it started at 8pm!) I set all the requests* to be sent asynchronous from the client using jquery and surprise surprise everything ran faster, although more bandwidth is used and more requests are made in total.
* The requests are still proxied through PHP to PA as I strip out and sort some data as well as hiding the API key that I use.
I’ve been allowed to play around with a new web service developed by some former colleagues at the Press Association (PA). The service gives you some access to PA’s entertainment listings database (think guardian guide, listings section of the Metro and most other papers etc. it all comes from the same source).
The data is organized into venues (your local arts center), titles (a movie on nationwide release) and events (a title and venue combination at a specific start/end times). Or for the more data minded venues can have zero to many titles, titles can have zero to many venues, events have an unique combination of one title, one venue and a date & time.
Anyway to quickly try out the new service I knocked up a quick mashup of what events are on in my local area each day. Firstly this mashup is massively slow as my host doesn’t have memcached installed for personal use *cough* Dreamhost *cough*. This is also partially due to the structure of the web service as I have to make a lot of requests to generate this mashup, but I’ll keep that feedback confidential for now as the web service isn’t complete nor open to external use yet.
Anyway here’s the link: http://listings.magudia.com (please give it a minute or two to load the data – yes really).
Once I get some time to play with it some more
- I’ll open up the map to allow users to select their own local area
- Have some dynamic marker loading on scrolling
- Allow options to select which days to look for events (apart from today)
- Filter by event types (only gigs, cinemas, comedy or combinations thereof).
- Show more venue information
- Optionally show more information about the event or title
- Refactor, refactor, refactor…
For those interested the site uses jquery & the jmaps plugin to generate the map and gather data from a simple PHP proxy script which collates the data from PA into a JSON.
I can’t overstate how big a step forward this is for PA and hopefully we’ll see more of this from them in the future.
UPDATE: As always the moment you publish something is exactly the same moment you figure out how to fix the problem your having. I should be able to massively speed up the site, but I’m not going to do that today.
So I thinking of writing a new website project in Ruby (probably Rails), but I’m stuck on an actual idea. I know what I want to play with:
- DB: MySQL (as Dreamhost doesn’t have PostGres)Â
- Test frameworks: rSpec, Selenium
- CI: CruiseControl.rb
I’m not sure how i’m going to say this, but I think our time together is at an end. I’m not sure that we were ever that suited to each other even when we first met; around that time I’d had recently left Commodore and I think I was just looking for something different.
We’ve been together for many years now (15 years I believe) and I’ve seen you change from 3.1 to 95, 2000, XP and now finally Vista. I guess we’ve just grown apart and we simply don’t have the same interests anymore, you’re more into your business work and i’m still just a hacker at heart, which I don’t think you ever satisfied or appreciated. I should tell you that while at University I met Solaris (who knows Unix and Linux) and that’s were my doubts about you started, but even then I stuck by you as they had serious issues which meant I couldn’t imagine living with them.
Many years ago I met Apple at work and although we didn’t like each other at first (OS 7 – 9) a couple of years ago I cheated on you with Apple by buying a MacMini. Now after having fun with Apple for a couple of years I’ve decided that Apple and I are better suited than you and I ever were. You may think this is just a phase i’m going through and you may be right, but I think I need to try, so Apple is moving in next week (MacBook Pro is on it’s way!) therefore i’m sorry to say you’ll need to move out (and BT says I can’t keep you). I’m sure we’ll see each other around the office.
I looked out of the window of my flat last night and saw this:
My mate Piotr and I were baffled on what this could be; I was tempted to turn off all my wifi kit just in case it was some sort of semi pro wifi hacker? Other options were some sort of mind control device, a not very discret surveillance car, a mobile pirate radio station or even someone who really really wants to get a good radio reception! It had gone by the time we’d finished playing squash … maybe I should have turned my wifi off!
While stumbling today I found a Microsoft Project named Milan and started to wonder what else was using my name… Obviouslly I know of the City of Milan in Italy, but I also found these other regions, cities & towns (from wikipedia):
In Canada: Milan, Quebec, a village
In Colombia: Milan, Caquet a town and municipality
In the United States of America:
- Milan, Georgia
- Milan, Illinois
- Milan, Indiana
- Milan, Kansas
- Milan, Michigan
- Milan, Minnesota
- Milan, Missouri
- Milan, New Hampshire
- Milan, New Mexico
- Milan, New York
- Milan, Ohio
- Milan, Tennessee
- Milan, Washington
- Milano, Texas
Surprizing in the 2000 US census 27,795 amercians said they lived in Milan!!!
Milan is also:
- MILAN, a European anti-tank guided missile, which is one way to get through London traffic
- A.C. Milan and Inter Milan are two football teams of the city of Milan (Italy)
- Milan, a variant of the Mirage V fighter – I wish I had one of these!
- Mercury Milan, a ugly american ford car – I don’t want one of these!
- Milan Entertainment, an internationally operating record company
- Milan Records, a record label which boasts an extensive electronic catalog which features down-tempo, chillout, and eclectic electronic releases. I approve.
- Milan (aka The Leather Boy), a New York musician and producer active in the 1960s; With a name like the leather boy it’s no wonder he changed his name
- Milan (film) -There are 4 movies with my name (all romantic, just like me)
- Milan (website) – They make network components – yawn! If i’d had a little more money when I was a student that site would have been mine.
Let me know if you find any other interesting uses of my name. At least I’m not alone!