Jump to Navigation

Feed aggregator

Automated twitter compilation up to 29 November 2015

David Goodwin - Sun, 29/11/2015 - 06:00

Arbitrary tweets made by TheGingerDog up to 29 November 2015

Perceptions and Methods of Good Customer Service

Jono Bacon - Sat, 28/11/2015 - 22:42

This week I had a rather frustrating customer experience. Now, in these kinds of situations some folks like to take to their blogs to spew their frustration in the direction of the Internet and feel a sense of catharsis.

I am not sure how useful that is though. Instead, I sat down and thought about why the experience was frustrating and came away with some conclusions that I thought might be interesting to share. This may be useful for those of you building your own customer service/engagement departments.

The Problem

A while ago I booked some flights to take my family to England for Christmas. Using an airline Erica and I are both big fans of, we managed to book the trip using miles. We had to be a little flexible on dates/times, but we figured this would be worth it to save the $1500+.

Like anyone picking flights, the times and dates were carefully considered. My parents live up in the north of England and it takes about four hours to get from Heathrow to their house (with a mixture of trains and taxis). Thus we wanted to arrive at Heathrow from San Francisco earlier in the day, and for our return flight to be later in the day to accommodate this four hour trip.

Recently I was sent an email that the airline had decided to change the times of our flights. More specifically, the return flight which was due to leave at 3.15pm was now shifted to closer to 12pm. As such, to get to Heathrow with the requisite few hours before our flight it would have mean’t us leaving my parents house at around 5am. Ugh.

Now, to help illustrate the severity of this issue, this would mean getting a 3 year-old up at 4.15am to embark on a four hour journey to London and of course the 11 hour flight back to San Francisco. The early morning would make the whole trip more difficult.

Expected reaction of Jack when this happens (credit)

As you can imagine, we were not particularly amused by this. So, I went to call the airline to see if we could figure out a better solution.

The Response

I called the airline and politely illustrated the problem, complete with all the details of the booking.

I was then informed that they couldn’t do anything to change the flight time (obviously), and there were no other flights that day (understandable).

So, I asked if they could simply re-book my family onto the same flight the following day. This would then mean we could head to the airport, stay in a hotel that evening near Heathrow, and make the noon flight…all without having to cut our holiday short by a day.

I was promptly informed that this was not going to work. The attendant told me that because we had purchased a miles-based ticket, they could only move us to miles-based ticketed seats the following day without a charge. I was also informed that the airline considers anything less than a 5 hour time change to be “insignificant” and thus are not obliged to provide any additional amendments or service. To cap things off I was told that if I had read the Terms Of Service this would have all been abundantly clear.

To explore all possible options I asked how much the change fees would be to move to the same flight the following day but in non-mileage based seats and the resulting cost was $1500; quite a number to swallow.

The airline’s perception of my house (credit)

As I processed this information I was rather annoyed. I booked these tickets in good faith and the airline had put us in this awkward position with the change of times. While I called to explore a flexible solution to the problem, I was instead told there would be no flexibility and that they were only willing to meet their own defined set of obligations.

As you can imagine, I was not particularly happy with this outcome so I felt it appropriate to escalate. I politely asked to speak to a manager and was informed that the manager would not take my call as this was merely a ticket-related issue. I pressed further to ask to speak to a manager and after a number of additional pushbacks about this not being important enough for a manager and that they may not take my call, I was eventually put through.

When I spoke to the manager the same response was re-iterated. We finished the conversation and I made it clear I was not frustrated with any of the staff who I spoke to (they were, after all, just doing their job and don’t set airline policy), but I was frustrated with the airline and I would not be doing business with them in future.

A Better Experience

Now, to be clear before we proceed, I am not an expert on customer service, how it is architected, and the methodology of delivering the best customer service while protecting the legal and financial interests of a company.

I am merely a customer, but I do think there were some underlying principles that exist in people and how we engage around problems such as this that the airline seems to be ignoring.

Let’s first look at what I think the key problems were in this engagement:

Accountability and Assurance

At no point throughout the discussion did one of the customer service reps say:

“Mr Bacon, we know we have put you in an awkward situation, but we assure you we are going to do our level best to find a solution that you and your family are happy with.”

A simple acknowledgement such as this serves three purposes. Firstly, it lets the customer feel the company is willing to accept responsibility. Secondly, it demonstrates a collaborative human side to the company. Finally, and as we will explore later, it equalizes the relationship between the customer and the company. This immediately gets the conversation off to a good start.

Obligations vs. Gestures Of Goodwill

Imagine your friend does something that puts you in an awkward position, for example, saying they will take care of part of a shared project which they then say they are not going to have time to deliver.

Now imagine the conversation looks like this:

You: you have kind of put me in an awkward situation here, friend. What do you think you can do to help resolve it?
Friend: well, based upon the parameters of the project and our friendship I am only obliged to provide you with a certain level of service, which is X.

This is not how human beings operate. When there is a sense that a shared agreement has been compromised, it is generally recommended that the person who compromised the agreement will (a) demonstrate a willingness to rectify the situation and (b) provide a sense of priority in doing so.

When we replace thoughtful problem-solving with “obligations” and “terms of service”, which while legally true and accurate, it changes the nature of the conversation to be one that is more pedantic and potentially adversarial. This is not what anyone wants. It essentially transforms the discussion from a collaboration to a sense that one party is covering their back and wants to put in minimal effort to solve the problem. This neatly leads me to…

Trust and Favors

Psychology has taught us that favors play an important role in the world. When we feel someone has treated us well we socially feel a responsibility to repay the favor.

Consequently in business when you feel a company goes above and beyond, consumers will often repay that generosity significantly.

In this case the cost to me of reseating my family was $1500. Arguably this will be a lower actual cost to the airline, let’s say $1000.

Now, let’s say the airline said:

“Mr Bacon, as I mentioned it is difficult to move you to the seats on the flight the following day as you have a mileage ticket, but I have talked to my manager and we can give you a discount so the fee will be $500 instead of $1500.”

If this happened it would demonstrate a number of things. Firstly, the airline was willing to step outside of their published process to solve the customer’s problem. It demonstrates a willingness to find a middle-ground, and it shows that the airline wants to minimize the cost for the customer.

If this had occurred I would have come away singing the praises of the airline. I would be tweeting about how impressed I was, telling my friends that they are “different to the usual airlines”, and certainly keeping my business with them.

This is because I would feel that they took care of me and did me a favor. As such, and as we see elsewhere in the world, I would feel an urge to repay that favor, both with advocacy and future business.

Unfortunately, the actual response of what they are obliged to do and that they are covered by their terms of service shows an unwillingness to work together to find a solution.

Thus, the optimal solution would cost them a $500 loss but assure future business and customer advocacy. The current solution saves them $1000 but means they likely won’t get my future business or advocacy.

Relativity and Expectations

People think largely in terms of relativity. We obviously compare products and services but we also compare social constructs and our positions in the world too.

This is important because a business transaction is often a power struggle. If you think about the most satisfying companies you have purchased a product or service from, invariably the ones where you felt like an equal in the transaction was more rewarding. Compare for example the snooty restaurant waiter that looks down at you versus the chatty and talkative waiter who makes you feel at ease. The latter makes you feel more of an equal and thus feels like a better experience.

In this case the airline customer service department made it very clear from the outset that they considered themselves in a position of power. The immediate citing of obligations, terms of service, an unwillingness to escalate the call, and other components essentially put the customer in a submissive position, which rarely helps contentious situations.

The knock-on effect here is expectations: when a customer feels unequal it sets low expectations in the business relationship and we tend to think less highly of the company. The world is littered with examples of this sense of an unequal relationship with many cable companies getting a particularly bad reputation here.

Choice Architecture

Another interesting construct in psychology is the importance of choice. Choices provide a fulfilling experience for people and it makes people feel a sense of control and empowerment.

In this case the airline provided no real choices with the exception of laying down $1500 for full-price tickets for the non-mileage seats. If they had instead provided a few options (e.g. a discounted ticket, an option to adjust the flight time/date, or even choices for speaking to other staff members such as a manager to rectify the situation) the overall experience would feel more rewarding.

The Optimal Solution

So, based on all this, how would I have recommended the airline handled this? Well, imagine this conversation (this is somewhat paraphrased to keep it short, but you get the drift):

Me: Good afternoon. We have a bit of a problem where your airline has changed the time my family’s return flights. Now, we have a 3 year-old on this trip and this is going to result in getting up at 4.15am to make the new time. As you can imagine this is going to be stressful, particularly with such a long trip. Is there anything you can do to help?
Airline: I am terribly sorry to hear this. Can you let me know your booking ID please?
Me: Sure, it is ABCDEFG.
Airline: Thank-you, Mr Bacon. OK, I can see the problem now. Firstly, I want to apologize for this. We know that the times of reservations are important and I am sorry your family are in this position. Unfortunately we had to change the time due to XYZ factors, but I also appreciate you are in an uncomfortable situation. Rest assured I want to do everything to make your trip as comfortable as possible. Would you mind if I put you on hold and explore a few options?
Me: Sure.
Airline: OK, Mr Bacon. So the challenge we have is that because you booked a mileage-based ticket, our usual policy is that we can only move you to mileage-based seats. Now, for the day after we sadly don’t have any of these types of seats left. So, we have a few options. Firstly, I could explore a range of flight options across dates that work for you to see if there is something that works by moving the mileage-based seats free of charge. Secondly, we could explore a refund of your miles so you could explore another airline or ticket. Now, there are normal seats available the day after but the fee to switch to them would be around $1500. We do though appreciate you are in an uncomfortable position, particularly with a child, and we also appreciate you are a regular customer due to you booking mileage seats. Unfortunately while I am unable to provide these new seats free of charge…I wish I could but I am unable to…I can provide a discount so you only pay 1/3 of the fee, thus $500. Another option is that I can put you through to my manager if none of these options will work for you. What would you prefer?
Me: Thanks for the options. I think I will go for the $500 switch, thanks.
Airline: Wonderful. Again, Mr Bacon, I apologize for this…I know none of us would want to be in this position, and we appreciate your flexibility in finding a solution.

If something approximating this outcome occurred, I would have been quite satisfied with the airline, I would have felt empowered, left with a sense that they took care of me, and I would be sharing the story with my friends and colleagues.

This would have also mitigated taking a manager’s time and reduced the overall call time to around 10 – 15 minutes as opposed to the hour that I was on the phone.

To put the cherry on top I would then recommend that the airline sends an email a few days later that says something like this:

Dear Mr Bacon,

One of my colleagues shared with me the issue you had with your recent booking and the solution that was sourced. I want to also apologize for the change in times (we try to minimize this as best we can because we know how disruptive this can be).

I just wanted to follow up and let you know that if you have any further issues or questions, please feel free to call me directly. You can just call the customer service line and use extension 1234.

Kind Regards,

Jane Bloggs, Customer Service Team Manager

This would send yet another signal of clear customer care. Also, while I don’t have any data on-hand to prove this, I am sure the actual number of customers that would call Jane would be tiny, thus you get the benefit of the caring email without the further cost of serving the customer.

Now, some of you may say “well, what if the airline can’t simply slash the cost of solving this problem to $500 for the re-seating?”

In actuality I think the solution in many cases is secondary to the handling of the case. If the airline in this case had demonstrated a similar optimal approach that I outline here (acknowledging the issue, sympathizing with the customer, an eagerness to solve the problem creatively, providing choices etc), yet they could not provide any workable solution, I suspect most people would be reasonably satisfied with the effort.

Eventually they never solved the problem in our case, so a 4.15am wake-up and a grumpy Jack it is.

Anyway, sorry for the long post, but I hope this provides some interesting food for thought for those of you building customer service platforms for your companies.


Dick Turpin - Wed, 25/11/2015 - 16:35
Colleague: "I've noticed you always start your requests on a negative? Why are you not positive? try staring with 'I know you'll have this, or You'll be able to do this."
Me: Sadly fifteen years of experience has taught me that I should expect a negative answer."
Colleague: "Well you'll be pleased to know that on this occasion your initial assessment was correct and I cannot get you out of the doggy doo doo."
Me: "Bwahahahaha"

Supporting Software Freedom Conservancy

Jono Bacon - Wed, 25/11/2015 - 03:09

There are a number of important organizations in the Open Source and Free Software world that do tremendously valuable work. This includes groups such as the Linux Foundation, Free Software Foundation, Electronic Frontier Foundation, Apache Software Foundation, and others.

One such group is the Software Freedom Conservancy. To get a sense of what they do, they explain it best:

Software Freedom Conservancy is a not-for-profit organization that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects. Conservancy provides a non-profit home and infrastructure for FLOSS projects. This allows FLOSS developers to focus on what they do best — writing and improving FLOSS for the general public — while Conservancy takes care of the projects’ needs that do not relate directly to software development and documentation.

Conservancy performs some important work. Examples include bringing projects under their protection, providing input on and driving policy that relates to open software/standards, funding developers to do work, helping refine IP policies, protecting GPL compliance, and more.

This work comes at a cost. The team need to hire staff, cover travel/expenses, and more. I support their work by contributing, and I would like to encourage you do too. It isn’t a lot of money but it goes a long way.

They just kicked off a fundraiser at sfconservancy.org/supporter/ and I would like to recommend you all take a look. They provide an important public service, they operate in a financially responsible way, and their work is well intended and executed.

GPL v2.0 Fail

Adam Sweet - Wed, 14/10/2009 - 18:08

I was amused

Dealing With BT

Adam Sweet - Tue, 14/07/2009 - 16:54

I know I’ve posted about my ADSL problems in the past. Although I haven’t mentioned them since then, they have been lurking all the time and frequently re-appear, meaning the Internet is either painfully slow or unusable for days, even weeks. My normal ADSL speed is something around 4.5 to 6.5 Mb/s, I live about 1.5 miles from my exchange. That speed is not so bad, it’s the dropouts and the serious speed drops which are annoying, somewhere between 16Kb/s and 1.5Mb/s which made the Internet as it is today, full of flash and graphical adverts, pretty painful and almost unusable for geek purposes (ie downloading Linux isos, or updating machines, or installing an OS over a network). At the worst times, I just can’t connect for hours. Though that doesn’t happen that often, it did happen a couple of times at the weekend.

I think I’ve reported this to my ISP perhaps 5 or 6 times, possibly more. At one stage, my employer paid for a business phone line to be installed in my house with a business ADSL connection over it. When the engineer came, I explained the reasons why we were having this extra line and so, as the cable for the new line had two sets of wires in it, he replaced the cable into the house and ran both lines over the new cable. I got a consistent 7.5Mb/s with the same equipment for over a year until leaving my employer meant losing my business line. That’s an average of 2Mb/s faster than the good speed on my residential line.

After losing the business line, I went back to my old ISP (free activation, you see, the old connection had been ceased). And I’ve been having the same recurring problems ever since. I’ve tried 3 routers, 2 Linksys and a BT Business Hub, 4 or 5 microfilters, I’ve removed all of the extension cables from the house long ago and now it’s my ADSL router on a 1m cable and a single wired phone in a microfilter plugged into the BT master socket. I’ve already checked and I don’t have a bell wire, which is known to add noise to a line and is only of use to old phones which actually have a bell in them. BT will sell you a ‘noise reducing face-plate’, which simply disconnects the bell wire for around 10 GBP.

So anyway, last time I was having real problems was around 4 or 5 months ago, I went through the usual ISP support/BT fault/submitting speed tests routine and although I was able to demonstrate the appalling line speed, I ultimately came up empty handed. The only remaining option was to have BT send an engineer to perform tests at my house, with the risk of being charged 150 GBP if they found nothing wrong, but since I know my line is noisy, I can hear it pop and crackle and scratch with just a phone plugged in, no DSL equipment, I was pretty confident. My man turned up, and he was an incredibly nice guy, but couldn’t find any problems. As I explained the now ceased business line didn’t have any of the problems with the same equipment that my residential line had, he simply went to the exchange and switched the cables over, probably in no officially recorded way, meaning that my residential line was now running over the cables which served the business line. I led a happy life from then on.

That was until about 2 weeks ago when I came home to find a parking fine, a card telling me to submit a gas meter reading or get an estimated bill and some unrelated alarming news which I had to share with my parents. As freephone numbers aren’t free from a mobile phone, I picked up my otherwise unused land-line to call the parking and gas people. I never use my landline for anything other than calling numbers which cost more from a mobile and for receiving calls from people who don’t have mobile phone contracts (ie my mother), everybody else uses my mobile number. My landline had no dial tone so I reported a fault with BT. I got a call a day or so afterwards to tell me that they had done some tests from outside of my property and have fixed the fault. I got home and still had no dial-tone, so I called the engineer back, I explained that I had 2 lines in my house and that an engineer had previously switched the wires at the exchange as I’d had so many problems, he said this probably explained the hassle they had finding the fault and asked me to try the other line, I did and I had a dial-tone, so I was back on the old residential line and my ADSL problems have returned. At this point, I’ve had to disconnect my telephone so I’m able to use the Internet. I have the same problems with 3 different phones and 3 different routers ad nauseum.

After the issues became pretty acute over the weekend, I called BT yesterday morning to discuss the issue with them. The wiring outside my house, from the telegraph pole to the box at the end of the road and from there on to the exchange is almost certainly pretty old, probably anywhere between 20 and 50 years old, I think my house was built in the 1920’s. Since the cable from my house to the pole and the master socket had been replaced about 18 months ago and my equipment has no problems on the other line, I’m pretty sure there’s something wrong with the cabling between the pole and the exchange for my residential line. As I said, with just a phone plugged in, my line is really noisy, at bad times, I can barely hear the person on the other end.

I wanted to explain the issue to them and have them conclude to either do something about the cabling, put somebody with some technical understanding on the case to diagnose the cause of the problems or otherwise just decide that they would solve the problem by moving my line officially from the residential line to what was my business line.

The person who answered put me through to customer services in India. I personally have no problem with Indian call centre workers, but I was relieved to be put through to support in the UK as I find Indian call centres to have a lot of background noise, making the person on the other end hard to hear and the accents difficult to understand. The next person I spoke to refused repeatedly to allow me to explain the issue and said that he couldn’t understand what my issue had to do with my phone line. At least twice I asked him if he would stop interrupting me and allow me to explain the issue, when he didn’t I explained that I was getting pretty annoyed with him and the fourth time I put the phone down. He called back twice, the first time, I ignored it because I was still simmering, the second I answered it as I’d calmed down a little, I realised that he would keep calling and that I wouldn’t get anywhere without speaking to him. He said that he was sorry but we seem to have gotten cut off for some reason, I bluntly told him that I had put the phone down on him because he kept interrupting me. No doubt I now have a ‘rude or difficult customer’ mark on my customer records.

After allowing me to cut to the chase and explain that I can’t use my phone because it makes the Internet go off and I need the Internet more than the phone, he put me through to another support department. I briefly explained the problem and given my problems describing the nature of the issue with the last person, I said that ultimately I would like to move my residential line to use the wiring which served the business line I once had. The lady explained that it would cost 122.50 GBP. Why? The wiring is already here. I already know that from a technical point of view all they need to do is switch the wires at the exchange, they just have to record it in their systems too. I think at this point, I used the word ridiculous and asked whether it was a joke about 3 times each. The lady explained that it was a standard charge. I asked who it was standard to, I was pretty sure that it was standard only to BT, which makes it not standard at all, but proprietary to BT. She didn’t answer, she just asked whether I wanted to go ahead, I said no. She said that for ADSL problems I would have to speak to my ISP, since my ISP wasn’t BT. I neglected to point that out that I had repeatedly done so as I was still pretty much flabbergasted.

The problem is you see, for the benefit of people from outside of the UK, that in the old days, BT built and ran the telephone network and were owned by the UK government. In the 1980’s, the ruling Conservative party government, headed by Prime Minister Margaret Thatcher decided to modernise Britain by privatising most of the government run utilities, like the gas, electric and phone companies, to increase competition and thus performance and no doubt to wrestle political power away from the workers’ unions which generally funded and proivided the backbone of support for the main opposition party, Labour. Despite privatisation, BT still own the telecommunications network almost exclusively, a few other companies set up their own networks, but none of them took off. Mercury Communications was the most notable but was eventually absorbed into it’s parent company, Cable and Wireless. In the 1990’s a separate telecoms industry developed, using cable technology, headed primarily by Telewest an NTL which has since bought Cable and Wireless. BT still had an almost complete stranglehold on the traditional PSTN/copper wire telephone network and dial-up Internet connections. Though you can get dial-up and more recently ADSL from any number of companies, your supplier would still be supplying you with a connection from BT Wholesale since BT own all of the exchanges. Your alternative would be to use cable from whichever supplier covered your area. A few years ago, Telewest, with it’s consumer broadband division since re-branded as Blueyonder, bought NTL and the combined company was then bought up by Virgin to become Virgin Media.

Still with me? Ultimately that means BT still own all of the copper telephone network and you either get ADSL from them via a reseller or you get cable. Since I live just outside the cable area, literally by about a mile or 2, cable is no option for me and 3G Internet is still extortionately expensive for such an unsuitably small bandwidth allowance which I could blow in a busy evening, I’m stuck with a BT phone line and an ADSL connection from BT Wholesale. In any case, I’m in a 3G dead spot. The problem with BT is that they are a telephone company and their ‘bailiwick’, to quote an American phrase, is the phone network, they were caught completely unaware by the explosion of the Internet and then broadband, even today, they are still catching up. The long vaunted BT 21CN (21st Century Network), which will bring fibre to the home, is still about 18 months away from being enabled in my area and 21CN doesn’t support IPv6 (yet). So long as your phone works, they don’t care. The Internet is a secondary service. If the Internet doesn’t work, they don’t care unless your phone doesn’t work either. For Internet problems, you have to go to your ISP, who have to go to BT.

A few years ago Ofcom, the UK communications watchdog, nailed BT to the cross and told them to allow other companys to access the telephone exchanges to install their own equipment. The result is what is known as Local Loop Unbundling or LLU. LLU providers are generally quicker to market with newer ADSL technologies than BT Wholesale, consequently LLU providers have been doing 24 Mb ADSL 2+ for a couple of years while I think BT are only just rolling it out. Sadly my exchange is supplied by only 2 LLU providers, none of which do static IP addresses, which as an IT professional I need (I have firewall rules and host servers at home and so on). In any case, my ISP offered to upgrade me to a 24Mb service and then told me my existing line wouldn’t support it, though my former business line would, so officially, I can’t use 24 Mb, unbundled or not.

So, to boil all of this down:

  • On my existing line, my phone and ADSL connection are not usable at the same time.
  • BT won’t fix the problem because they won’t investigate it any further than they already have and my phone line is capable of making phone calls, which means their network works in their eyes. The Internet is unimportant and they’re not going to replace the stretch of cabling between my telegraph pole and the box at the end of the road or my exchange, just for me.
  • My ADSL provider can’t fix the problem since it just gets forwarded to BT.
  • Since BT don’t care, I have to diagnose the problems myself.
  • I can’t get cable.
  • 3G is too expensive, the bandwidth limit is too low to make it an option (around £30 for 5 GB per month) and I live in a 3G dead spot.

This leaves me with 4 choices:

  1. Pay 122.5 GBP  to BT to switch the phone lines over, probably pay my ISP for the migration too.
  2. Get rid of my BT line and try to use 3G instead.
  3. Pay thousands to get a leased line.
  4. Move house.

Not too much to choose from there since 2, 3 and 4 are completely out of the question. I recall reading somewhere else, that since the rollout of ADSL, ordinary people have had to become experts in telecommunications and PPP protocols just to be able to argue with their ISP and BT about their service problems. Never been more true and I’m technically minded. No doubt, housewives across the land with useless ADSL connections are just getting ushered quietly away and told that it’s not BT’s fault.

BT are slowly moving towards replacing parts the existing copper network with ‘fibre to the home’, or at least to the box on the end of the street, something which should have been done 5 years ago, top cable speeds are currently double the ADSL 2+ top speeds and maybe 8 or 9 times that of the fastest ADSL Max product which are notoriously advertised at up to a theoretical 8Mb, which as we know, nobody can ever get. Virgin Media are now trialling 200 Mb/s cable. It’s not all rosy on cable though, Virgin Media’s support are widely reputed to be dreadful and their network management techniques are equally questionable.

My apologies for making you sit through all of this boring drivel, I just need somebody to rant at, almost as much as I need somebody at BT to help solve the issue. I think another call to my ISP and to BT is in order.

UPDATE 15/07/2009: It turns out that when you cancel a telephone line with BT, for a residential line they ‘close’ the line, but leave the equipment connected at the exchange. For a business line, they ‘cease’ it and disconnect any equipment at the exchange. The cost of reconnecting a former business line is therefore the same as installing a new telephone line, which means I don’t save money by simply asking for a new 3rd telephone line altogether.

My existing ISP charge £46 for a migration, though they would consider waiving it should I agree to minimum contract period.

Subscribe to Wolverhampton Linux User Group aggregator

Main menu 2

by Dr. Radut