Jarkko toimii Goforella teknisenä projektipäällikkönä ja hän on laatu- ja testausorientoitunut ohjelmistoalan ammattilainen. Testauksen lisäksi hän voi astua kehittäjän saappaisiin, Scrum Masteriksi tai tehdä järjestelmäasiantuntijalle tyypillisiä tehtäviä. Mallipohjainen testaus ja suorituskykytestaus ovat Jarkon erityisosaamisalueita.
Me: ”Excuse me, I have a reservation for this room. Can you change room, please?”
Others: ”Oh, sorry we didn’t realise, we will change room as soon as possible”
What follows is a period of chaos in the meeting room, when people are gathering their stuff and quickly cleaning places. The situation has a few possible endings: Your own meeting starts late, the room is a mess, the room does not contain any fresh air or worse – something else.
Then the previous meeting moves to another room without checking or reserving it from the calendar.
This is a simple example but one that happens all too often, there are plenty of other examples around that and I know or hope where meeting organisers are a few minutes early and check that the room is nice and tidy. I’ve faced that kind of situation a few times in my career and I’ve also been on ’the other side’ in the story, in the wrong place at the wrong time. I believe that I’m not alone and there are tons of people who have been on both sides of this story.
At Gofore, we have open-plan offices and dozens of meeting rooms. We want to use these rooms as efficiently as possible and use them so we don’t disturb others in the office – like having a phone call or a normal reserved or a temporary meeting. But the problem is that finding and reserving a meeting room takes some time and sometimes you don’t want to spend time doing that.
We started having several ”corridor discussions” about what are the main problems with reserving rooms. Some said that Outlook calendars are way too complex to find any proper room and reserving a room just for 15 minutes takes too long – many other problems were raised too. A few people (including me) started brainstorming what we are missing and what we could do better. We brainstormed for about 30 minutes about what kind of a system we would need, we also checked what off-the-shelf (OTS) solutions existed. After brainstorming, we made a collaborated decision to build our own meeting room reservation system in part, because none of the OTS solutions offered all our requirements which were:
- An information screen outside the meeting room – This was the number one requirement because many of us want to reserve a room for a few minutes but we don’t want to make a reservation from a laptop, for example when an urgent phone call is received.
- Finding a meeting room that meets the organiser’s requirements – We have some variances in our meeting rooms eg. what equipment is available. Also the room capacity is very important for those reserving meeting rooms.
- Low cost – Most commercial solutions offer annual subscriptions and this can be very costly when we now have around 40 meeting rooms in Finland alone.
- Office 365 (O365) integration – Some free solutions offer only Google Calendar integration and most commercial solutions contained multiple integrations like O365.
We agreed that these needs must be fulfilled and additionally we realised that our system must be centralised as a web service and it should provide a front-end, so we would have easier remote management. I took the lead, kick-starting this project because this was a good start for my study of new technologies and it would strengthen my ’old knowledge’ – most importantly I was very interested to take part in this internal project.
Steps to a working meeting room system
I’ve been a Java developer for several years so I chose Java 8 with Spring Boot as a backend technology and I needed only few development hours to get the first version of our meeting room reservation system up and running. As a frontend technology, I chose React because I wanted to learn it and React is one of the common technologies which we are using for Gofore’s customer projects. I also wanted to learn how to develop a responsive web page which would work on desktop and mobile devices, so this was a really good chance to learn something new.
The very first version of meeting room system showing only two meeting rooms with one-day events in a list
During last autumn and spring, we took big steps to achieve our goals – the meeting room system is now deployed on Amazon Web Services Elastic Compute Cloud (AWS EC2) and our system will get new rooms and calendar events via Microsoft Graph API. Whenever there are any updates to the system, desktop and mobile views will automatically refresh their content. Amazon S3 service is used for storing published versions of the meeting room system, so EC2 will always get the latest version when we upgrade it.
When the first meeting room tablets were installed, the reception was highly positive, we got some good feedback and ideas from colleagues. I’ll return to the ideas later. There are still some improvements to be made, like in the visualisation. For example, now the tablet’s texts are not scaling properly and only reserving in 15, 30 or 60 minutes time slots – somebody may want to reserve 25 minutes. Nevertheless, everyone in Gofore can use the meeting room system on their laptop or mobile and take a quick look at all reservations on a timeline view or open a meeting room’s tablet view to make a quick reservation. Tampere and Helsinki offices have now dedicated meeting room tablets in each location and Jyväskylä is getting their own tablets sooner or later. We will expand to our offices in Germany Spain and the UK in due course.
So we have now got a centralised reservation room system which is integrated to O365 and can be used on a desktop or a mobile device, plus several dedicated meeting room tablets which will show the current reservation information for a room. Let’s calculate costs:
When starting a new internal project, it is important to keep in mind that it is never free and there must be an important reason not to choose an OTS solution. For this project, there was no OTS solution that fitted our needs, importantly we now have a dedicated platform, where we can learn new technologies and adapt them. When people at Gofore want to learn something new and they don’t have a live customer project, they can contribute to this or any other internal project, or they can study new technologies. Remember, continuous learning in the technology sector is always valuable work for the future.
The cost of commercial OTS products range from about 15e-20e / month / room, so our predicted costs for the first year is a little above this. I didn’t take into account any maintenance costs, because I believe that commercial products will have about same maintenance costs as our solution. When we are calculating predicted costs for 2 years, then the price drops to about 13e / month / room. I would say that our need to keep costs as low as possible are fulfilled over the long term.
A meeting room tablet in Tampere
There is only one need that we haven’t fulfilled yet: we are missing room information and a search functionality with parameters. Nevertheless, I believe that this will help us to manage our meeting rooms for a while. At least colleagues have given many positive comments and new ideas about what features the meeting room system should have. Some of the ideas:
- Usage statistics – Statistics on which meeting rooms are booked most and what is the usage percentage of each room.
- Office map – Interactive maps of our premises containing labelled meeting rooms and important places in our office.
- Measuring air quality in a database – We need air quality statistics to check that we are continuously having fresh air in our meetings and we could calculate the optimal human capacity of a meeting room. We could also use that information when we are building completely new meeting rooms.
Every Goforean can contribute to this project, which could be brainstorming, coding or designing new features.
First things first – Gofore is all about a caring, daring, community and especially about taking responsibility. We care about each other and we want to help others with their problems. We are daring, we care about problems and we solve them in the most effective way possible. As a community, we might end up innovating new things together that would help our people or customers, without forgetting the power of collaborative decision making. But there is always a catch – it is our responsibility to design and build solutions, so we always have to do our best.
In this case, we have turned an annoying problem into an innovative solution – although it is not the only one of its kind, for now, this solution fits for our needs. The Gofore meeting room reservation system can still have many different features and it will help us to make even better and more efficient meetings in our offices. At least I’m very excited about measuring meeting room air quality because bad air will affect our health and some people may lose their focus at the meeting.
If you have any question about this system, post a comment below. If you are struggling with the same kind of situation, we can always help you.