Making our event data as useful as possible!

As we build up a collection of great event data, we want to make sure it’s as useful as possible to all. So today we unveiled a help section about our API’s listing the ICAL, ATOM, JSON and JSONP end points on the site.

We are already working on a Javascript widget that can be dropped onto your site easily so you don’t have to be a programmer to take advantage of this – news to come.

There’s lots of other work going on, but a lot of it is behind the scenes. You’ll see a lot of cool stuff coming soon tho!

Import events from iCal, Meetup, Eventbrite and Lanyrd

To make it as easy as possible for people to add events, we’ve added importers so data from any iCal feed like Google Calendar or sites like Meetup, Eventbrite and Lanyrd can be pulled in easily.

We’ve actually been running this for over a month and importing all the events for WordPress Scotland; but we wanted to make sure it’s right. There were a number of bugs in the iCal parser library we used and in the end, we wrote our own from scratch.

We also care deeply about the quality of the data. We don’t want an importer to run for ever, adding an event that has long since stopped. So every couple of months, we temporarily disable each importer and send an email to those who watch the group asking if it’s still valid. It’s easy to re-enable if it is.

To use it, simply go to a group and click the new “importers” tab. You can add a new importer or see the existing ones.

You can see the results of running the importer to.

Any feedback welcome; talk soon!

Thanks to Toshiba Medical Visualization Systems!

Thanks to Toshiba Medical Visualization Systems for coming on board as our first sponsor! Many of the TMVS staff from their north Edinburgh office are regulars at meetups around Edinburgh, and it’s really great to see them support this community tool.

TMVS develops diagnosis and treatment software for viewing and working with medical image data. Their work covers a wide variety of areas including application development (both desktop and web), graphics rendering technology, image analysis techniques and investigations into new techniques for diagnosis. You can find their work integrated into a wide number of products including Toshiba CT, MRI and Ultrasound scanners. In addition to the jobs advertised on their website, they also welcome applications for internships both for engineers and clinical specialists.

We’ll use the investment to pick up some goodies like a SSL certificate for the site to ensure account holders details are protected, but mainly it’s great to secure the time investment the project needs to smooth off the rough edges and really get stuck in.

There’s been some great interest in the site recently, and we look forwards to posting more news and attending some great events soon.

We’re also building a list of tech groups

One of the side effects of building a calendar of tech events is that we’re also building up a pretty good list of active tech groups, and it’s time we started making that more useful.

The first step is to separate groups by location. Now when looking at a place you can also view a list of all the groups there. For instance, here’s the lists for Edinburgh, Glasgow and Dundee. We’ll add more filtering of this list later (free search, those who held events in the last six months only, etc).

Groups are currently marked as being in a location when they hold an event there, but in the future people will be able to add or remove locations to groups freely. For instance some conferences move around. After they have held an event in one city they may not return for years and in that case you may want to remove the city manually.

As with all features, we’ll be monitoring how this is used and feedback is welcome!

New features! Personal calendars for all and more

Some previously mentioned features are now live such as weekly and monthly recurring events, and iCal import is in testing on the live site. But a whole set of other features that have never been mentioned on this blog are now live, and I wanted to guide you through them.

Your own personal and private calendar

Any logged in user can now say they will attend or may attend an event.

This will appear on their own custom calendar and a iCal feed is available.

This is the ultimate in filtered feeds; now you can have a filtered feed of only the events you are interested in!

Your public calendar

Your plans for attendance are private by default, but you can choose to make them public. In this case, your upcoming events are available on your user profile and as a iCal feed for others. Here’s my public Calendar:

I just want to say I’m going to be very careful about how the public features play out. I’ve used my own experience as a event organiser to think carefully about how a good calendar site should work and I don’t want to mess it up.

If it turns out people want to use the personal private calendars but no-one wants to use the public calendars, that’s fine and I won’t complain. But all that’s a topic for a future blog post, or a rant down the pub tonight.

Watch a group

You can choose to “watch” a group. This will do several things:

Any events from the group will appear on your private calendar and private iCal feed.

So your own personal filtered feed can now have events from groups you are interested in appear automatically. (By the way, I’m really annoyed I’m going to miss State Of The Map due to family commitments – it sounds great!)

You’ll get an email any time someone else changes the group or an event in it.

If there are no future events in the group, you’ll get an email promoting you to add more. (I launched this yesterday morning and already have two thank yous – glad you like it!)

What’s next?

I’ll be at TechMeetup Edinburgh tonight (in case you haven’t picked that up from all the screenshots!) so any comments or feedback can be delivered in person, by email, by twitter or in the comments here.

I’ve started doing lots of sketches to plan a new UI/UX that will simplify the workflow and functionality, as at the moment its generally all over the place.

In terms of features, I’ll work on more importers and an optional reminder email about upcoming events on your personal calendar.

We are also looking for sponsors – we don’t have a Sponsor pack yet but get in touch and tell me what you want to know.

Talk to you soon!

2 months old!

Our launch on Sunday July 22nd makes this Saturday our 2 month birthday!

(Don’t worry, I’ll calm down after a bit about birthdays. Mostly I’m writing this to justify the 2 slices of cake I got at lunch today. Om nom nom.)


Our website has picked up 1,000 visits, 650 unique visits and 4,700 pageviews  – and not a single one in IE6! Our geeky audience means our browser stats still follow a pattern most websites probably wouldn’t recognise – 50% Chrome, 22% Firefox, 10% Safari, 6% Android and 5% Internet Explorer.

Our ATOM and ICAL feeds are being picked up by multiple readers and I think a screen in Amazon’s Edinburgh office shows the upcoming events as handy info for the workers.

A wide variety of groups have added events from SQL Server to WordPress with OWASP securityOpen Street Map and everything in between.

New features include weekly recurring events, and monthly recurring events and an iCal importer are both in the final stages of development. A monthly HTML email has been put together and you can see a preview of that here.

We recently moved to a server of our very own on Bytemark’s Bigv cloud, which should give us plenty of possibilities for growth.

Thanks for all the interest and support we have received so far; it’s great to get such a positive reaction. I’ll have much more time to devote to this project in October, so expect more features and news soon.

“Lies, damn lies and statistics” – measuring our users on iCal feeds

How do we measure our users and thus persuade people it’s worth adding events?

Of course we have Google Analytics installed and we know we have had over 3,000 pageviews from over 400 unique visitors, but because we have so many feeds that is an incomplete picture.

Our Apache log shows 20,000 hits. But if several users add a feed to the same web based reader, then the reader only hits our server once.

500 hits are on our Atom feed. When Google Reader fetches our Atom feed, the user agent string shows you the number of subscribers which is very neat.

But 800 hits are on our iCal feed. Google don’t include the subscriber count in it’s user agent string like it does for Atom feeds.

When we moved from MediaWiki to our own software, the URL for the feed changed. Both URL’s still work and both are being hit by Google, so we can tell we have some users there. Also, there are filtered iCal feeds available (per group and per location) and we can see some of them are being hit.

It was suggested we give each of our users their own feed URL by adding a random number to the URL. Then we’d get hit once for each user but such a scheme would mean extra traffic for us and the readers software. Also, every time a Google bot saw our webpage it would think we had a different feed that it had to index!

But there’s a problem with all of these; they don’t count active users. A user could add a feed to a reader then never look at it again, and the reader will carry on fetching the feed.

What to do? We could make all the URL’s in our feeds go through some redirection service and count clicks. But that won’t count people who just look at the data without clicking and it could be annoying to users if none of the URL’s in the feed state where they actually go.

So how can we count users on our feeds? For now we can just ignore this problem and carry on adding features and building the site, but at some point we need to demonstrate that it’s worth taking the time to add events on our site and the most effective way of doing that is with good statistics. Any ideas?

Open – a word with many meanings.

One of the questions I’ve been asked is what the word Open means in our title. There is an immediate association with Open Source software and while Open Source software is great there are many other ways something can be open. I’d like to talk about one of the more important ones – our data.

The original meaning intended was that it was open in that it listed all events. The original Tech Meetup calendar that inspired this one was the only meetup calendar I knew that listed other events alongside their own. Tech Meetup always had the ethos that it was bringing the tech community together, and so we never had any qualms about that. (We still have a dedicated space at the start of our events were announcements can be made.)

So that’s the first point to make: Open Tech Calendar is Open in that it lists events from any tech group.

The second point is where we get this data from. We embrace wiki principals in that any user can edit any event. We want to build a community of contributors.

As an event organiser myself, I know how many little tasks you have to do and how easy it is to miss some. I spoke to one event organiser who hadn’t added half of their own events to their own website and was skeptical about this project – what can you say? Actually, what we say is that it could be any attendee or fan of that Meetup who adds events, thus freeing event organisers.

That freedom leads nicely onto the third point; freedom for the event organisers from websites that try to take over their event. Websites like Meetup make you host your entire event on their site; email lists, members lists, events and who’s attending. While that’s great for some event organisers, its not for most.

So the third point is that we are open in that we are a directory of information. We do not attempt to claim ownership of an event. We are very happy to list an event but let you add links to the events real home, where ever that may be.

And finally, all that lovely data is useless if users can’t get to it in the form that they want. We have iCal feeds coming out of our ears for easy export.

Will all this work? We don’t know, and it will be very interesting to see. In the end of the day, we need complete and accurate data in a useable from for our users and maybe we’ll have to change as we grow. But I hope you’ll join us on our journey as we find out.

(Picture from here.)

Version 2 released less than a month after launch!

Today we are proud to announce the launch of a custom built web app!

We started with a wiki and while that got us of to a great start it was clear some things we wanted to do down the road would either be impossible or very fiddly for the users. So we decided to bite the bullet now and go for a rewrite in Symfony 2.

However we still embrace wiki principals of openness with any user being able to edit any event. Like a wiki, all edits and deletes are versioned and can easily be rolled back.

This rewrite already brings some new features; you can now export an iCal feed of just one event or of the events from just one group.

However it is still very rough, with the design and many user interfaces needing work. We will be working on those alongside new features – locations being the first big feature we will add.

For now, any feedback is welcome. We are looking forwards to OggCamp this weekend – talk to you there?

(Picture from here)

No automatically reoccurring events please

One of the design decisions we took from the start is not to allow events to automatically reoccur for ever. Here’s why.

We want to make sure that the data we publish is correct and up to date. This is essential; if users find significant amounts of bad data they won’t trust us anymore, especially if they had to find out painfully by turning up to an event that doesn’t exist anymore and sitting in a bar by themselves.

If an event can reoccur for ever, the event could move or die out and it would still appear on the calendar. So that’s the simple reason why. No Zombie events!

So at the moment you have to add each event individually, which honestly isn’t as bad as it sounds. Someone organising a monthly event can add a whole year in several minutes, and you can added specific details to each individual event like who the speakers are.

We will look at adding reoccurring events later, but with a “catch”, so you have to come back and confirm your event’s still going every couple of months (EDIT: This is now done!).  (This was a true Lean project, in that we stated with a Minimum Viable Product we hacked up in a weekend and most features are coming soon!)

Please get in touch or comment with any feedback.

ps. Searching for Zombie photos on Flickr for this was far more fun than it should have been. Some great costumes. Actual one used is this one.