Access Keys:
Skip to content (Access Key - 0)
Home (Access Key - 1)
All spaces... (Access Key - 3)
Log in (Access Key - 5)
Sign up (Access Key - 6)

Guy's Blog Blog from October, 2007

  2007/10/02
Sales Overload
Last Changed by Guy Fraser, Oct 02, 2007 13:52
Labels: sales, support, tickets, jira, stats

As you may have noticed if you visited our website recently, we're absolutely swamped with sales enquiries.

I've just been reviewing the number of tickets on our secure issue tracker and over 50% of all tickets are sales related!

Category Percentage of Tickets
Sales 51%
Builder Support 24%
Bespoke Projects 20%
Hosting Support 4%
Other 1%

We're hoping that the completion of our Confluence-based eCommerce plugin will significantly reduce the overheads of processing sales, but as that's not going to be available for at least the next few months it looks like we're going to be overloaded for a while yet.

Posted at 02 Oct @ 1:51 PM by Guy Fraser 0 Comments
  2007/10/04
A few minutes is too slow apparently...
Labels: whack, rat, sam, max, support, hectic

I've just been catching up on some support tickets (I personally review all support requests whenever possible) and found one ticket that really annoyed the heck out of me.

A customer, who shall remain nameless, was asking how to customise the People Directory in Confluence. Our initial response was made within 1 hour and then all subsequent responses were made within 5-10 minutes of the customer responding.

Considering the customer does not have a Service Level Agreement with Adaptavist, that's an awesome response time. For support tickets, that's generally what we always aim for and only when we get crazy busy (eg. when a new version of Confluence is released and it breaks stuff) do our response times move from minutes to hours.

However, the client was unhappy with our response time and closed the ticket! WTF?! There's just no pleasing some people. The biggest delay was when the client didn't respond for almost 2 months, after which they came back and told us how unhappy they were with response times! The cheek!

What I've come to realise is that some people are getting so busy that even waiting a matter of minutes is just far too long for them and they go off and spend vast amounts of time and effort trying to develop their own solution to a simple problem rather than waiting a few minutes (or hours in worst case) for us to solve the problem.

It's this "zero time" that's really going to start screwing businesses up in the coming years IMHO. People are getting so insanely busy under increasingly ridiculous project deadlines that they start doing really crazy things.

I remember playing a game called "Sam & Max" which had lots of little sub-games in it. One such game was called "Whack a Rat" where there was this machine with lots of holes in it:

Rats would stick their head out of the holes and you had to bash them on the head real quick with a big wooden hammer to score points. If you were too slow, the rat disappeared and you didn't get the points. Is this what fast-paced business is going to lead to? I hope not...

Posted at 04 Oct @ 1:46 AM by Guy Fraser 0 Comments
  2007/10/06
Application Spam
Labels: spam, facebook

Here's the latest form of spam to flood my inbox - people inviting me to use applications courtesy of Facebook:

Posted at 06 Oct @ 2:23 PM by Guy Fraser 1 Comment
  2007/10/07
Meetings

I've probably blogged about this subject before, so apologies for any overlap or duplication...

We've got lots of clients, especially those who've got "Confluence Support" Service Level Agreements with us, who are constantly in meetings whenever we try contacting them. One of our clients summarises meeting-overload as Meetings – Where minutes are taken and hours are lost.

Most companies see meetings as a way to communicate ideas and schedules to people, keep projects on track and generally deal with communications between team members.

Having worked at companies where there are lots of meetings, I tend to feel (as do all Adaptavist staff) that they simply cause further delays and confusion. In fact, most meetings are so chaotic that people actually come out of them more confused than they were before.

When Adaptavist was founded, we decided: No more meetings!

There were a number of reasons for this:

  • We hate meetings
  • Meetings prevent us from getting work done
    • Time taken to organise
    • Time taken to get to/from the meeting
    • Time during the meeting
    • Time after the meeting (eg. writing up minutes, emailing to-do lists, etc)
    • Disruption time - the time it takes to stop what you are doing before a meeting and then try and start again after the meeting (eg. it breaks your chain of thought)
    • A 1 hour meeting generally eats 2 to 3 hours for the majority of participants.
  • Our environmental policy states that all unnecessary travel should be avoided - all our staff work from home so most of us would have to travel
  • Meetings require all attendees to be available at the same time

I've just posted the draft agenda for a company meeting on our Intranet and was freaked out when I realised the last time we had a meeting was back in February (8 months ago). Other than some recent interviews and Go Karting events, our staff very rarely see each other face-to-face!

Without meetings you'd think that we'd have an internal communication nightmare, right? Wrong. It's been one of the most unexpected benefits of abolishing meetings - our internal communications are utterly amazing.

So, how do we survive without meetings?

Simple, we replaced meetings with a plethora of alternate communication methods.

Confluence (wiki)

Being able to collaborate online with a wiki wipes out the need for most "information broadcast" meetings.

The wiki (especially our intranet space) allows us to broadcast news to staff and work collaboratively on road-maps for projects, etc.

The wiki is so easy to use that all members of staff use it. Whether it's updating our employee handbook, planning the next phase of our ever-growing hosting services or simplifying conceptually-complex ideas for our plugins, the wiki is absolutely essential.

JIRA (issue tracker)

Without this tool, things at Adaptavist would grind to an immediate halt. We absolutely could not survive without JIRA.

We've tried countless tools for tracking bugs and tasks throughout our careers and none come even close to matching JIRA.

We've recently moved all customer communications to JIRA as our previous support system (Kayako eSupport) had literally crumbled under the strain of our ever-growing clientbase.

JIRA makes managing insane numbers of tasks (generally 250+ tasks per member of staff at any time) an absolute doddle. It helps keep things on our "radar" so we don't forget about them. It ensures that tacit information is stored in a searchable format, rather than someone's head.

VoIP Telephones

Any decent telephony system will help, but the biggest benefit of the VoIP service we use is that we can fully customise it through a simple web interface. We can easily set up conference rooms, hunt groups, aliases and all kinds of useful things at any time of day or night.

There are some downsides - VoIP is still a fairly new technology and occasionally goes through patches of being unreliable, however the range of features and cost savings are amazing and reliability is improving constantly.

It should be noted that internally we never have conference calls. The only conference calls we ever have are with clients and even then only one or two members of Adaptavist staff are involved.

Instant Messaging

Unlike most companies, all staff at Adaptavist are required to have at least two instant messaging accounts.

We have a secure internal server which is generally used purely for work-related chat. This is great because we can quickly and securely send confidential information to each other.

We also encourage all staff to use one or more public chat services like MSN and Google Talk - most companies actively prevent the use of such services.

But we go further - we expect all staff to have all their friends and family on public IM as well so they can chat while they work.

In old-school companies, where people still drive to visit their computer on a daily basis and work fixed hours, that would probably be a bad thing.

But at Adaptavist, our computer is usually just a few metres away from our bedroom and our hours of work are completely and utterly flexible. Having friends on IM (and email of course) means fewer disruptive phone calls.

I'd started writing about our flexible working arrangements here but that deserves a blog post in it's own right.

Now, where was I up to...?

Oh yes...

Facebook, Linkedin, etc.

Did I mention we encourage staff to keep in touch with friends and family online?

All Adaptavist staff can be found on Facebook and what's surprising is that most of our clients are on there too!

Facebook allows us to quickly do silly stuff like throwing sheep at friends in Australia or taking movie quizzes with relatives. It allows us to strengthen the bonds with our friends, families and even customers in the online world, while we're busy working.

We're also getting a growing presence on LinkedIn which is definitely more for business networking when compared to Facebook which is more for socialising.

Google Calendar

All staff are required to have at least two Google Calendars - one for work, one for personal stuff.

We then share both calendars with all other staff - it's up to each person whether they make their personal stuff available or just show "Busy".

This allows everyone to instantly see who's doing what and, more importantly, find out when people are not available for work-related tasks.

I'll discuss this more in my next blog post on flexible working hours.

Email

How could I forget email, heh. These days we usually just use email to send URL's to someone that's offline or ping people when there is a page in the wiki they need to look at.

Depending on what projects we're working on, we'll also get up to a few hundred JIRA and Confluence notification emails each day - basically an automated ping to go look at URLs. Because the notifications usually contain the information on what's happened (eg. comment added, status changed, etc) we can easily tell if the URL needs to be visited.

The notification emails are also a great way to keep track of what other people are doing. It's really important to use the threaded view in your email client to group related emails together. For example, it allows me to see if someone else is actively working on a JIRA ticket without even reading the emails because their name is shown as the "Sender".

Most staff are also on mailing lists - these are a great way to keep tabs on external communities, keeping us "in the loop" on remote projects.

Summary

You need lots of different kinds of communication methods to replace meetings.

For work related stuff, each task generally involves JIRA, email (notifications), IM (usually the internal secure IM) and sometimes VoIP phone calls.

Projects are similar but also use public IM (to chat with clients), mailing lists (to keep up-to-date with external projects, eg. JavaScript libraries) and Google Calendar.

Because most of our internal communications are text-based (IM, JIRA, Confluence, email) we never have to take minutes for meetings. All the information is recorded, verbosely, by default and it's all searchable.

We also extend our communications to friends and family - Facebook, public IM services and email keep us in constant contact with people and events outside of work.

Posted at 07 Oct @ 11:18 PM by Guy Fraser 0 Comments
  2007/10/08
Flexible Working

I started veering off-topic in my last blog post so decided to gather all the stuff on flexible working and put it here...

This post really only covers two distinct topics - flexible working and Google calendar (you can't have one without the other). However, I've split the flexible working topic in to several topics so that they are hopefully easier to compare to traditional working practices.

There are no office hours

We have no fixed office hours really, although UK daytime is when you'll find most of us online.

For example:

  • I tend to work from lunch time until the early hours of the morning, with a few hours break when my wife gets home from work - I deal with a lot of customers in the USA so I like to be awake when they are
  • Dan tends to mostly work during normal office hours - he has kids so his hours revolve around his family life
  • Alain does a bit of work in the morning, then spends some time working on his Morris Minor (car), etc., and starts work again in the evening until the early hours of the morning

Each member of staff finds hours (and days) that suit them. And those times change based on external factors (eg. if the weather is nice Alain will be working on his car and Dan will be at the park with his kids).

Rather than causing problems, this has actually helped our business. It means that at practically any time of day or night pretty much every skill or capability is available.

Surprisingly, there is always a period of overlap with each member of staff pretty much every day of the week (including weekends). If someone has been trying to fix a bug but has to leave for some prior arrangement, they can pass it on to someone else to look at, etc.

Flexible hours create a constant flow of knowledge around the company. That knowledge is transferred using mainly text-based mediums so it's not only recorded, it's also searchable and editable!

Benefits:

  • Widespread availability of resource and skills
  • Constant knowledge transfer
  • Innately resistant to disruption
  • Fosters agility

Disadvantages:

  • If a specific task is dependent on a specific person, it can be stalled if they are not around
  • Every day is a work day. A lot of self-discipline is required to ensure you get "me time"

Overall, I'd say this is a massive benefit to the company and staff alike.

We don't care how many hours someone works each week

We are not remotely interested in how many hours staff work each week, as long as it's less than 50 hours.

The only times any member of staff has come close to getting a formal warning is when they've been working too hard. I regularly have to tell Dan Hardiker to stop working - he was even coding Confluence pluginsfor fun – whilst waiting for his wife (Caz Hardiker) to give birth!

If someone wants to cram all their tasks in to 3 days and then take the rest of the week off, they can.

Benefits:

  • Flexible balance between work and private life
  • Majority of tasks are completed far sooner than expected

Disadvantages:

  • All members of staff generally tend to work too many hours
  • Staff fill a lot of their extended free time (having completed tasks ahead of schedule) with more work, rather than going down the pub

Overall, this is turning in to a problem. We're not giving ourselves enough "me time". I'll no doubt be blogging about whatever solution we find to this problem.

We work when we are motivated to do so

We like our jobs. We wake up wanting to work. In fact, many of us have woken up in the middle of the night and just started working. For example, Caz was woken up by the kids and decided to sort out some sales enquiries.

As long as we've not got something specific planned for the following day, we can just sleep in. Likewise, if we get a bit tired during the day, there's nothing stopping us from taking a siesta.

If we're not in the mood for work, we can stop and go shopping or whatever. There's no point trying to work when you're not motivated or when you're stumped on a task. It's better to go off and get something else done and come back when you're refreshed.

Benefits:

  • Get more done each day - whether it's work or personal tasks
  • Helps reduce stress (our jobs can be very stressful at times)
  • Makes it much easier to get personal tasks done and in less time, eg. you can go shopping mid-week when the shops are quiet

Disadvantages:

  • If a specific task is dependent on a specific person, it can be stalled if they are not around

Overall, this is a huge benefit for the company and staff. Both work and personal tasks are generally more productive because they follow our shifting patterns of motivation.

Holidays are flexible

If someone wants to take a holiday at short notice (eg. you find a cheap last-minute deal in a weeks time) then as long as is's not going to cause any problems they get to go.

This next bit makes most people freak. I mean, really freak.

All staff have an annual holiday entitlement, which is normal for any company. Only at Adaptavist we're not too fussed if they take more than their entitlement.

For example, if someone only has 1 week of statutory holiday entitlement left and they find a bargain holiday but it's 2 weeks long, then as long as it's not going to cause delays in projects they can take the extra week. On full pay.

Benefits:

  • We don'w waste time trying to keep track of how many days holiday someone has taken
  • People can take holidays when it suits them

Disadvantages:

  • Staff aren't taking enough holidays!

This should be a huge benefit for the staff but trying to get Adaptavist staff to take holidays is like trying to get Microsoft to write a decent web browser. Well, getting Microsoft to write a decent web browser is impossible, but getting staff to take holidays comes a close second.

Task completion and quality is all that matters

As a company, all we're interested in is tasks getting done on time to the right level of quality.

We really beat ourselves up if things are taking too long or quality isn't good enough.

Everything I've written about above is only made possible if tasks are getting completed on time and quality is high.

Google Calendar

One extremely important factor in our flexible working arrangements is Google calendar.

No other calendar comes even close to being able to do what Google calendar does.

At a glance, any member of staff can see not only their own work and personal schedule, but also the schedules of all other staff.

If someone wants to schedule some work, they can instantly get a rough idea of availability from the calendar and then get more accurate times by direct communication with the staff members involved.

Most importantly, we can see when people are not available for work - eg. on holiday or some other pre-arranged task.

Generally speaking, if someone doesn't show their time as booked out, they are available for work. That being said, we know when people like to work and generally don't hassle them outside those times unless we see them online or in rare cases when there's some critical deadline and they need to be pulled in.

Anyway, I need to get back to work (it's almost 1 AM on Monday morning)...

Posted at 08 Oct @ 12:49 AM by Guy Fraser 0 Comments
  2007/10/10
Atlassian listen
Last Changed by Guy Fraser, Oct 10, 2007 22:39
Labels: atlassian, eap, confluence

After my recent rantings about the ongoing issue with the Confluence EAP not containing all steps to final release, I was delighted to get this:

Hi Guy,

we are aware of the problems that you describe, and about to solve them. We have committed ourselves to a fortnightly iteration mode, and will release to our internal systems Wednesday every second week. This Milestone release will be used inhouse for a week, and then be available to the public. Obviously those milestone releases won't be perfect (and especially not loadtested like the release candidates), but at least they are good enough to be used by the complete Atlassian staff around the clock for 7 days. And that is not too bad either, I guess.

We have just today released Confluence 2.7 Milestone 2, and while we can't tell you an exact release date, we can tell you that we try to make the major structural changes early in the release cycle. Like in 2.6, the Release Candidates will be running on CAC for at least a week before we make them public, and from now on those Release Candidates will also be available through our EAP, hopefully giving you plenty of additional time.

We are currently also setting up a plugin-testrig for integration-testing with the latest Confluence build, which will test all our officially bundled plugins, all our recommended plugins, as well as a few selected external ones for basic compatibility (triggered by a successful main build on our continous integration server Bamboo). did encounter problems in the past, and want to avoid this in the future. Once we have this testrig running for our major plugins, we should discuss this as soon as possible to get you into the loop as well. We hope that you can soon get automatic email-notifications on the day the integration of one of your plugins breaks.

We are not there yet, but we will be getting there very soon!

Cheers,

Per Fragemann
Team Lead Confluence
Atlassian Software Systems

This means that developers can get far more testing done on new releases before end-customers start upgrading and this should become a huge benefit for the Confluence community

There will still be a need for manual testing of some plugins - eg. our Theme Builder has visual interface that needs testing to see if, for example, style sheet changes have had an adverse affect on it (something you can't really do with unit tests), but at least now we should be able to do such testing more reliably if we're able to get the final RC in the EAP!

It will take a while for everything to sort itself out but this is a major step forward!

Posted at 10 Oct @ 10:38 PM by Guy Fraser 1 Comment
  2007/10/11
The deluge is over!
Labels: sales, deluge

It might sound crazy for a CEO to say this, but thank goodness the sales deluge is over!

In the space of a couple of months (I think, been so busy it's hard to keep track of time) our sales quadrupled and we've just this minute finished clearing the backlog!

Considering we don't do any advertising, we really have no idea what causes these massive peaks in sales activity. If we find out, the book explaining the phenomenon will be available for purchase on our website

Anyway, things should start getting a lot more responsive now - apologies for any inconvenience caused during the deluge, we were completely snowed under with sales enquiries.

Posted at 11 Oct @ 11:45 PM by Guy Fraser 0 Comments
  2007/10/15
UK Banks run on Paper

OK, I know I'm stating the obvious, but they really do run on paper.

We very rarely do CHAPS transfers (UK same-day EFT) - they involve getting in a car and driving to/from the bank (wasting time and increasing our carbon footprint) and filling in forms (wasting time and increasing our carbon footprint).

Today was one of those rare occasions that we had to do a CHAPS transfer and I found myself laughing hysterically at the bank clerk. Here's why...

I turned up at the bank with my bank details, passport (required photo ID) and details of the account where I wanted the money sent to.

After standing in a queue for 45 mins, I finally got to the enquiries desk. The lady there told me that I needed to first go to a cashier. So I jumped queue and did just that. The cashier then took my details and told me that I needed to go to the enquiries desk - where I had just come from. So, I go back to the enquiries desk and enquire as to why they sent me to the cashier when they knew they would just send me straight back to the enquiries desk. The reply: "It's just normal procedure" WTF?!

The lady at the enquiries desk told me that they could not do the transfer because I didn't have my cheque guarantee card. WTF?!! A cheque guarantee card is only for cheques and certainly didn't cover the amount I wanted to transfer. So why did I need it? They had no idea, they just had to ask for it.

When I told them I didn't have it they said it was OK, they did not need it. WTF?!!!

So, then I get handed a form to fill in. You'd think that the bank would do this stuff for you, considering we have a large pot of money stored with them, but oh no - that would be deemed "good customer service" and the bank can't be seen to do that.

Whilst filling in the form, I decided to find out why the process is so crap...

Me: Why can't I do this over the Internet?

Natwest: Because it's impossible to do this online.

Me: <blank stare>

Me: Why is it impossible to do this online?

Natwest: Because it's not a service we offer online.

Me: <hands over prize for stating the obvious> Why don't you offer this service online?

Natwest: Because it can't be done on the computer.

Me: What will you do with this form once I've filled it in?

Natwest: We fax it to the main regional branch.

Me: <shocked that they are going to use even more paper> And what will they do with it?

Natwest: They fax it to head office.

Me: <almost lost for words> Why don't you just fax it to head office?

Natwest: Because we have to fax it to the main regional branch fist.

Me: But why?

Natwest: I don't know, it's just the procedure we have to follow.

Me: <not bothering to explain the stupidity of their process> So, what does head office do once it eventually receives this much transcribed piece of paper?

Natwest: They enter it in to the computer to start the transaction.

Me: So, why can't I do that from online banking, surely it would be much faster, easier and cheaper for everyone involved?

Natwest: Because the transaction isn't done electronically.

Me: You just said that they key it in to their computer - why would they do that if it's not electronic?

Natwest: Because that's just to keep a record on our computers. The [paper] form then has to be processed between the banks.

Me: Why don't you just do all this on the computer and avoid all this messy paperwork?

Natwest: Because we have to follow the procedure defined by the Bank of England.

By this time I was literally laughing in her face and handed the form over.

Me: Don't you think it's time you changed the way things were done?

Natwest: We can't change things, it's the way they have always been done.

Me: <handing over a piece of paper> I think you'll find things are going to change...

What the Natwest and other UK banks don't seem to realise is that there is a big change on the horizon.

In the old days, paper would have made sense. You'd go to a bank and fill in a form then some bloke with a horse would travel to the regional office to deliver said piece of paper. Daily, a horse drawn cart would take lots of these pieces of paper to the head office down in London.

Then electricity was invented and after several years, the fax machine. The fax machine was a huge breakthrough for the bank because now they could replace the slow horses with a piece of wire and two clever boxes at either end. Unfortunately, they forgot to update their now-antiquated procedures and continued to send the paper via the main regional office rather than directly to the head office in London.

Then, the Internet was invented and in a relatively short space of time virtually all business communication was conducted via the Internet. Except for banks that is - they were creaming their pants over the new sheet feeder mechanism they had on their fax machines. Now that's high-tech!

Unfortunately, the Internet is not paper based, making it impossible for banks to understand how it works. Why would any bank want to allow customers to directly action every form of bank transaction - they'd waste all that money they'd just invested in sheet feeders for their fax machines?!

But here's the good part. The Internet didn't just bring new ways to communicate - it brought a whole load of new ideas. Groups of people, frustrated by the incompetence of banks, decided to find a new way to transfer money. They made the shocking discovery that if you remove paper from the equation, all the delays go away.

Suddenly, their computers can run 24/7 - they don't need to synchronise with dinner breaks, weekends and bank holidays. You send an instruction in and it gets done there and then, not when Mildred finishes eating her bacon butty.

The banks still don't seem to be aware of this. They love their paper because it allows them to do things in much the same way as when banks were first invented. They don't like change.

But change is coming. A few months ago, PayPal announced that they'd finally managed to get "Bank status" in Europe. PayPal are now a bank. Because they set up their bank in Luxembourg, they aren't tied to paper like the UK banks are. They are a fast bank. A 24/7 bank. A bank without the overheads of paper. A low-carbon footprint bank.

I really do look forward to the day when that little electronic bank in Luxembourg attracts so many customers from the lethargic UK banks that the entire UK finance sector collapses under the weight of it's own incompetence.

While bankers are leaping to their deaths from high storey buildings, I'll be having a party. As they plummet earthwards on their long-overdue trip to becoming pavement pizza, the last thing they'll hear are the laughs of millions of dissatisfied customers and me saying "told you so!"

Hey, Natwest... There is another way! And you're not invited. Sweet dreams.

Posted at 15 Oct @ 3:01 PM by Guy Fraser 3 Comments
Sun's viral contract
Last Changed by Guy Fraser, Oct 15, 2007 15:31
Labels: sun, microsystems, legal, contract, anti-competitive

Just been having some more fun reading the supplier contract from Sun Microsystems. Here's my favourite clause to-date:

4.3 Effectuating License. Subcontractor hereby grants Sun a fully paid-up, worldwide, non-terminable, unrestricted Intellectual Property Rights license in perpetuity to use, make, have made, offer to sell, sell, reproduce, make derivative works of, display, modify, distribute, assign, disclose and sublicense through multiple tiers of distribution, both directly and indirectly through third parties, any material or Intellectual Property Right which is necessary for Sun's full and unrestricted enjoyment or utilization of the Developed Property, Derivative Matter or results of the Services. The foregoing license rights are also granted with respect to any Developed Property where Subcontractor's assignment under Section 4.1 is precluded by law or is otherwise ineffective.

Obviously, other items in the contract have some effect on this clause, but what's so funny is that the clause is deeply viral. Although the clause is deeply viral, they then go to the somewhat absurd lengths to also include anything in section 4.1 (which by default is already included).

For example, the stuff we developed for Sun requires Confluence, Theme Builder and Community Bubbles. That one clause, if we were stupid enough to sign the contract, would effectively give Sun the full IPR to our plugins. Hrm... Let me think about that for a picosecond...

Unfortunately, for these large technology companies, this seems to be the norm. By default they try to screw you over. I would have expected Sun to differentiate themselves from the Microsoft crowd.

Posted at 15 Oct @ 3:30 PM by Guy Fraser 0 Comments
  2007/10/18
They keep coming back for more...

These days it seems impossible to get anything done. Even the simplest task is almost impossible to do because of the extreme workload faced by every member of staff.

After our recent sales deluge (where the number of new clients per week quadrupled) we expected things to settle down a bit. After all, we're still holding off on taking new contracts for Confluence Support, Remote Hosting and Bespoke Solutions so that should lead to a drop in sales, right? Nope, we're still all swamped with work. There's just no end to it. So where is all the work coming from?

We first looked to support - surely with so many customers (especially the recent influx of new customers) there must be lots of support requests? Well, not really. Although support workload has increased over the years, it's only marginally higher than it was a few years ago. We're constantly improving our products and services - anything that keeps generating support requests is frowned upon and we work like crazy to resolve the issue at source.

We then looked at sales again and noticed that although the number of new customers each day is back to normal levels (roughly 25% growth per quarter), we're seeing a steady increase in new work from existing customers.

It turns out that because we've been constantly improving our products and services to reduce support workload, existing clients are wanting us to do more and more work for them - and this is increasing our sales workload.

So, out of the frying pan, in to the fire.

The constantly increasing workload is preventing us from completing several critical internal tasks:

  • Licensing module for Builder 3 and Bubbles 1 - we can't release the plugins without this
  • Our online shopping cart - 90% complete but we're finding it impossible to finish the last 10%
  • Centralised accounts - having tried all kinds of accounts software (both desktop and online) we've realised that the only way we're going to streamline our accounts is with a bespoke solution

Outsourcing the work would seem like a simple solution, however the amount of in-house knowledge required to implement these systems is so extensive that if we outsourced we'd simply end up spending even more time trying to explain everything to the subcontractor thus making matters worse.

As I said in one of my early blog posts: Plan for success, not failure. If only I'd known that when we started Adaptavist.

Posted at 18 Oct @ 7:46 PM by Guy Fraser 0 Comments
  2007/10/19
Best Company Meeting Ever

Just a very quick brain dump but hopefully something of use to anyone wanting to know more about productive meetings...

As I mentioned in a recent blog post, Adaptavist hate meetings because they waste time. Our last company meeting was back in February 2007 (and the meeting before that in November 2006) so we've left it an extremely long time (8 months) for the meeting we had today.

The meeting agenda has been in our wiki intranet for almost 3 weeks and some topics were practically covered before the meeting because of the IM discussions that resulted from the agenda - they were quickly skipped over thus making time for more detailed discussions on other items in the agenda.

Having waited such a long time since the last meeting, the topics on the agenda were all of vital importance - there were no pointless or trivial topics.

Everyone in the meeting had at least one topic where they were directly involved - a real reason to be there and a great opportunity to make sure the rest of the company knows exactly what they've been up to and what their plans are.

Some topics, however, were only relevant to a few of the attendees - for example, Huw and Caz didn't need to pay too much attention to the topic of documentation of Theme Builder and Community Bubbles.

What surprised me is that when a topic wasn't directly relevant to some attendees, rather than sit there and get bored they were able to get on with other work right there in the meeting - completed tasks included:

  • Setting up a clone of adaptavist.com so we can do profiling and testing
  • Fixing a really annoying bug in one of our Resin 3.1 containers (which led to Dan doing a victory dance which was possibly the most surreal thing I've seen at a company meeting)
  • Answering several support tickets and sales enquiries

Although I was obviously deeply interested in every topic (as CEO I both need and want to be) I was still able to work with Alain to solve and reply to a support ticket from one of our Confluence Support (service level agreement) customers and make an urgent update to the Bach Academie de Montreal website (our first ever customer still with us) because their prestigious Gala Event tickets had sold out far faster than they expected so they needed the "Buy Now" buttons quickly removing.

We obviously spent a lot of time discussing our ongoing internal logistical problems relating to our sales process. It was great to see every single attendee contributing to our battle plan to solve this long standing issue and we've come up with a plan:

  • Stop trying to do everything at once - solve one problem at a time
  • Start with the licensing module that's holding up release of Builder and Bubbles
  • Sort out the internal accounts database to remove bottlenecks with payment reconciliation and accounting
  • Roll out ACP2 in stages:
    • Payment tracking (already done, just not fully tested)
    • Customers able to create orders and raise proformas/invoices online as well as make payments
    • etc.

Throughout the meeting Dan Hardiker edited the agenda in the wiki so that we had a full transcript of everything that happened. There were even a couple of extra topics added at the end of the meeting which were also edited in to the agenda.

The fact that everyone was so involved and even that we'd immediately start work on outstanding tasks to remain productive during topics that weren't directly relevant to us is what impressed me the most. It's exactly the type of culture we wanted to achieve at Adaptavist and today's meeting has really proved that we've achieved it!

Posted at 19 Oct @ 8:05 PM by Guy Fraser 0 Comments
Geek Bulb
Labels: geek, bulb, environment

I recently purchased what has to be the geekiest bulb in existence: Eudemon Pure Light Air Purifier, a full-spectrum ionising 32W energy-saving lightbulb that looks totally awesome:

The bulb arrived today and I picked it up from the post office on the way to the company meeting and fitted it in my small home office about an hour ago after getting back from the meeting.

Geek points are awarded for:

  • environmentally friendly (energy-saving)
  • full daylight spectrum - pure white light, not the usual yellowish tint you get from normal bulbs
  • it's cool helix shape - those three prong designs are so last year
  • ionising air purifier built-in - this has to score at least 2000 geek points IMHO!

As I suffer from mild asthma, the ioniser will hopefully take me another step closer to ditching my inhaler (although I need to exercise more and stop darn smoking to really solve that).

I was worried that 32W might be too bright, but it's just right for my small home office (about the size of an average small bedroom / bathroom). Unless the lower wattage lights somehow kick out the same brightness, they'd probably be too dim IMHO.

I've finally been able to set a decent colour temperature on my LCD monitors which suddenly looked very yellow compared to the new clean full-spectrum light in the room. My old Sony LCD is still looking a bit yellow compared to my newer Dell monitor but still a vast improvement on the previous settings.

My eyes already feel less strained, in fact they are completely relaxed which is somewhat of an odd feeling for someone who sits in front of a PC for 60 hours a week - I wasn't expecting such an immediate benefit.

Although it's slightly higher wattage than the existing energy saving bulb I had in the office, I think the benefits are well worth it. The old energy saver bulb will be replacing a conventional bulb out in the hallway allowing me to get one bulb closer to a completely "green" house.

I won't know for a while whether the ioniser works (e.g. will the bulb really clean the air or not) or what effects it will have on my sleeping patterns and mood, etc., or even if there will be any negative impacts but I'll report back with any noteworthy updates.

Posted at 19 Oct @ 8:20 PM by Guy Fraser 0 Comments
  2007/10/20
Geek Bulb - First Update
Last Changed by Guy Fraser, Oct 20, 2007 00:04
Labels: geek, bulb

Ok, my first update on the geek bulb already...

All the other lights in the house look very orange. When I leave my office and go in to another room it's like walking in to the dark ages in the dim seemingly candle-lit rooms.

It's amazing that you don't realise just how orange normal lights are until you see the contrast between them and a full-spectrum light.

My eyes are still completely relaxed - not the slightest bit of eye strain and certainly no headaches.

As for the purifier, it seems to be working already - whether it's just my mind playing tricks on me or not only time will tell but the room seems distinctly "fresher".

I'm literally quite shocked by how much of a difference a single light bulb can make. If I'm still feeling this way in a weeks time, all Adaptavist staff will be receiving one of these bulbs!

Posted at 20 Oct @ 12:03 AM by Guy Fraser 2 Comments
Custom Keyboards
Labels: keyboard, fun, pants

Just found this while reading some blogs:

Go to the URL linked above and enter your text to see a custom keyboard with whatever you typed in

Posted at 20 Oct @ 2:27 AM by Guy Fraser 0 Comments
  2007/10/23
Game Over
Labels: travian

Well, Travian server 7 has just ended. As with every Travian round, it further eroded my faith in humanity (not that I ever had any).

The winner of the server (Cheryl) was a member of our meta alliance until the very last hours of the game, where s/he switched alliance to give the enemy a win. Human nature on display for all to see.

At least I got a mention in the end-of-server credits, being the #3 player on the server (which started out with some 30,000 players).

And of course, we were the #1 alliance:

Of which I was the #2 player:

So, there endeth my last gaming activity. I simply don't have time for such things, especially when they always leave a deeply sour taste in my mouth.

Posted at 23 Oct @ 4:18 AM by Guy Fraser 0 Comments
  2007/10/24
PayPal wasting paper...
Last Changed by Guy Fraser, Oct 24, 2007 03:04
Labels: paypal, environment, paper, wastage, css, greasemonkey

I've just gone through the somewhat tedious task of printing off roughly 1500 paid invoices for our paper-based records (something required by law here in quaint ol' UK).

So much paper was wasted by useless clutter (logo, tabs, links that are useless on a printout, etc.) that I ended up making a Greasemonkey Script to help shrink down the number of pages printed.

Without the script about 50% of printed pages use two sheets of A4 paper unnecessarily. With my script, only about 10% waste a second sheet of paper (still too much IMHO). However, it's not me that should be hacking hastily thrown-together style sheets in via Greasemonkey scripts. PayPal should do this themselves!

PayPal have something like 100 million users. If 10% of those users do a single print out which unnecessarily results in a second page, that's 10,000,000 wasted sheets of paper.

That's 20,000 500-sheet Reams:

Now, I've got no idea what percentage of PayPal users regularly print stuff or how much stuff they print, but I think I'm fairly safe to say that at least 20,000 reams of paper are wasted each day by useless second sheets on PayPal printouts - and that's a very conservative estimate IMHO. Let's think of that much paper in different terms...

A 500-sheet ream of A4 paper (similar size to "Letter" paper) measures roughly 210x297x46 mm. It weighs roughly 20lb and costs on average around £3 GBP ($6 USD) based on a quick scan of online shops.

Let's try visualising what 20,000 reams of paper is like...

  • Dimensions: 210x297x920000mm - think a pile of A4 paper 920 metres high. That's the equivalent of 6.3 great pyramids stacked on top of one another:

  • Weight: 400000lbs - that's about the weight of a massive cast-iron steam train:

  • Cost: £60,000 GBP (about $120,000 USD) - you could get a pimped ride for that:

PayPal could easily make almost 100% of invoice payment printouts fit on a single page of paper if they'd just use a decent print stylesheet.

If I can quickly hack in a very basic style sheet that reduces wastage from 50% to something like 10%, I'm sure they can do something at source that reduces wastage to less than 1%.

So, come on PayPal, tweak your print style sheets!!

Posted at 24 Oct @ 2:39 AM by Guy Fraser 0 Comments
Geek Bulb - second update...

So, it's been a few days now - here's the story so far...

The air purifier does work - I've not used my inhaler since installing the bulb! I usually have the window open and lots of dust gets in - there doesn't seem to be as much dust in the air.

As for sleeping patterns, they are pretty much the same as usual so far.

With regards to mood change, I do feel a bit less stressed - specifically things that would usually make me really mad are now just mildly annoying. I generally feel more awake and alert which probably makes me less prone to stress.

And one other weird thing... My skin feels better. No idea if that's something to do with the Vitamin D generating properties of having a room permanently filled with daylight or whether it's just cleaner air, but my skin really does feel smoother. Weird!

Posted at 24 Oct @ 3:18 AM by Guy Fraser 0 Comments
JS Libraries
Last Changed by Guy Fraser, Oct 24, 2007 13:30
Labels: jquery, prototype, scriptaculous, yui, dojo, digit

I've blatantly robbed this slide show from John Resig, the founder of jQuery:

Unknown macro: {html}

<div style="width:425px;text-align:left" id="__ss_143885"><object style="margin:0px" height="355" width="425"><param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer2.swf?doc=javascript-library-overview-1193202840830224-1"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://s3.amazonaws.com/slideshare/ssplayer2.swf?doc=javascript-library-overview-1193202840830224-1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://s3.amazonaws.com/slideshare/logo_embd.png" style="border:0px none;margin-top:-5px" alt="SlideShare"/></a> | <a href="http://slideshare.net/jeresig/javascript-library-overview" title="View this slideshow on SlideShare">View</a> | <a href="http://www.slideshare.net/upload">Upload your own</a></div></div>

I like John's approach of effectively saying "all the other libraries are great, but jQuery is the best". He takes a far more subtle approach than I do - I tend to just denounce the other libraries in the bluntest manner possible (no time for tip-toeing around) whereas John nibbles away at them showing that overall jQuery really is in the lead.

Posted at 24 Oct @ 12:57 PM by Guy Fraser 1 Comment
Dan's guide to software release dates
Labels: hamster, blending

A customer was asking when Confluence 2.6.1 will be released, to which Dan Hardiker replied:

We were told a few weeks, a few weeks ago ... so I would hazard a guess at before Christmas, but that's as solid as a hamster after blending.

I just love that bit on the end about hamsters!

Posted at 24 Oct @ 4:25 PM by Guy Fraser 0 Comments
  2007/10/25
New Website Design
Last Changed by Guy Fraser, Jan 16, 2008 03:17
Labels: website, theme, builder, community, bubbles, forums, mailing, list, communities

Well, as you've probably noticed we've upgraded to Theme Builder 3.0 and Community Bubbles 0.9.41, complete with a new design and a growing number of social networking features appearing for logged-in users.

We got rid of the tabs because they were just too much of a pain to maintain and slowed the site down with all the excess graphics. We've not yet decided what the best way is to give quick access to key sections of the site so we've enabled the default Confluence dashboard to allow site-wide navigation.

There will be loads more changes over the next week or so as we fine-tune things and add even more Bubbles functionality. When Confluence 2.6.1 or above is released we'll also be introducing several community spaces, forums and mailing lists – then you'll really be able to see what Bubbles is all about.

I'm just glad we finally got round to upgrading our site a bit - it's feeling much more healthy now and the performance improvements in Builder 3 have almost hidden the performance degradation caused by our un-tuned single sign-on (SSO). Hopefully we'll get round to tuning our SSO before the end of the year which should result in blistering performance

Kudos to Alain Moran for his "Global Thermonuclear War" button in the theme admin which allowed me to zap a bug that had been preventing the use of Builder 3.0 on the site

Posted at 25 Oct @ 5:12 PM by Guy Fraser 0 Comments
  2007/10/26
Accessibility Talk at Liverpool GeekUp
Last Changed by Guy Fraser, Oct 26, 2007 00:20
Labels: geekup, liverpool, accessibility, assistive, technology

Just got back from Liverpool GeekUp and I must say the accessibility talk was darn good, particularly as everyone in the room got involved.

One revelation that came out of the discussion was that the current trend to start with a basic Web 1.0 HTML page and then progressively enhance it in to Web 2.0 using JS is not really going to help end-users viewing the site through assistive technologies such as Jaws.

For example, let's take a web form where you've added some client-side JavaScript validation (the server-side validation having been implemented previously). The client-side validation allows you to convey basic errors to the user before they send the form off to the server.

Advantages:

  • Less duff forms submitted to the server
  • Faster and more tactile error messages given to the end-user (no need to wait for page refresh, etc)

Disadvantages:

  • Most screen readers now support JavaScript but use a virtual buffer which struggles to keep up with changes made by JavaScript

The real problem here is that most developers assume that assistive technologies disable JavaScript and therefore if JavaScript is enabled the end-user is not using assistive technologies... Wrong. Assistive technologies can be used even when JavaScript is enabled.

After much (and I mean much) discussion about all kinds of accessibility issues, the entire group came to a conclusion:

Assistive devices are pants from a developer perspective.

If you're using a specific browser, a developer can find out both server-side and client-side with a high degree of accuracy and tailor their content and interaction models to suit.

There are tried and tested techniques for working out if the user agent has JavaScript and other features enabled or disabled.

We can even work out, using a variety of methods, what language (German, French, etc) you're likely to prefer.

But with assistive technologies we don't even know if they are being used, yet alone their specific configuration!

While there are some methods for detecting the presence of assistive technologies, they are very unreliable and limited to very specific configurations (eg. we can use Flash player on Internet Explorer to occasionally detect the presence assistive technologies).

Even if we could detect the presence of assistive technologies reliably, we still have no idea as to the specifics of those technologies or the disability we should be catering for.

This is where the real problem lies - we literally have to make random guesses and assumptions about the end-user, and most of the time we are wrong.

Until assistive technologies start giving the web page or server some specific information, there's very little we can do to cater for your needs.

The assistive technologies need to deal with far more scenarios as well - in short they need to be modernised to deal with the sorts of sites and web apps that are available today, yet alone the stuff that's being worked on for tomorrow.

To make matters worse, even experienced developers still have very little knowledge about what is actually required to make a site accessible to people with various disabilities. We all know about WCAG and stuff like that, but that's only the most basic requirement.

For example, the vast majority of developers always think of blind people as "the worst case scenario" yet really only a small number of visitors are blind. There are lots of other disabilities such as reading/learning disorders, motor control (eg. difficultly moving the mouse), etc., that all have very different requirements to make the site more usable – but developers have a tendency to just cater for what they perceive to be the needs of blind people.

While automated tools can help detect some obvious issues with web sites and online apps, they don't even come close to having the sites tested by humans with disabilities. Unfortunately, most government and public sector bodies assume that if their site passes some automated test then "it must be accessible". Duh!

Anyway, a good night was had by all and it was certainly the biggest attendance for the Liverpool GeekUp to-date.

Posted at 26 Oct @ 12:14 AM by Guy Fraser 2 Comments
  2007/10/30
Access Keys
Last Changed by Guy Fraser, Nov 01, 2007 01:30
Labels: accesibility, keyboard, shortcut, usability, interaction, navigation, theme, builder

Another topic that was discussed at the recent accessibility talk was the need to display access keys to keyboard users - as they will certainly make use of them.

After some discussion with Phil Smears on the GeekUp mailing lists about access keys, Tom Adams joined the conversation and pointed us to the NWDA website - when you start using the tab key to cycle through links, you'll see a "pop-up" Access Key panel in the top-right of the page that cycles through the various access keys each time you press the Tab key. After cycling through the access keys, the panel disappears and you can then tab through the rest of the page.

So, we set to work on implementing something similar (well, almost identical) in to Theme Builder 3.0.

Our first port of call was to replace the existing "skip navigation" link:

<a href="#page-content" class="non-visual" accessKey="S" style="display:none;">Skip navigation</a>

While the link had served us well since the days of Theme Builder 2.0, it was time to move to something more modern.

The first task was to replace link with a definition list:

<dl id="accessKeys">
  <dt>Access Keys:</dt>
  <dd><a href="#page-content" accessKey="S">Skip navigation (Access Key - S)</a></dd>
</dl>

As well as being nice and semantic (it makes it clear that the links listed are access keys) it also provides plenty of HTML elements that we can apply style sheets to.

Next we applied some very simple CSS to make the links "pop-up" when they receive keyboard focus:

#accessKeys {
 margin: 0; padding: 0;
}
#accessKeys dt {
 margin: 0;
 padding: 0;
 position: absolute;
 top: -9999px;
 left: 0;
}
#accessKeys dd {
 margin: 0;
 padding: 0;
}
#accessKeys dd a {
 position: absolute;
 top: -9999px;
 left: 0;
}
#accessKeys dd a:focus, #accessKeys dd a:active {
 background-color: #3556a2;
 color: #fff;
 top: 0;
 font-size: 1.2em;
 padding: .5em;
}

All this does is to hide the definition term ("Access Keys:") and the definition descriptions (list of access keys) by positioning them outside the web page.

When an access key link receives keyboard focus (a:focus, a:active) we simply set it's top position to 0, putting it back on the page so people can see it.

Great, now we had our "skip navigation" link brought in to the Web 2.0 era without using a single line of JavaScript. But what about other access keys?

Well, it just so happens that the menulink and compound-menuitem macros supplied with Theme Builder support access keys...

{compound-menuitem:login|icon=user1_into|caption=Log in|accesskey=5}
{compound-menuitem:signup|icon=user1_add|caption=Sign up|accesskey=6}
{compound-menuitem:logout|icon=door2|caption=Log out|accesskey=5}

Menu items that aren't applicable are automatically removed - so if you're logged in only the "log out" link will appear with it's associated access key.

What if we could somehow list those access keys defined elsewhere on the page in our definition list at the top of the page?

To do this, Alain Moran used the Request Object as a temporary storage location. Each time the browser asks for a page, Confluence creates a request object to hold various internal information about the request. The object provides us with a neat gateway between the rendering of the page content and the rendering of the theme, which happen at different times.

When an access key is defined using our menu macros, the access key details (if present) are stored on the request object. As the theme is rendered, it picks up the list of access keys and outputs them in the definition list.

The result is that the list of access keys is automatically built whenever you view a page - a list that's always up-to-date and hassle free. The definition list for this page currently looks something like this:

<dl id="accessKeys">
  <dt>Access Keys:</dt>
  <dd><a href="#page-content" accesskey="S">Skip navigation (Access Key - S)</a></dd>
  <dd><a href="/display/~gfraser" accesskey="1">Home (Access Key - 1)</a></dd>
  <dd><a href="/display/My" accesskey="2">My (Access Key - 2)</a></dd>
  <dd><a href="/dashboard.action" accesskey="3">All spaces... (Access Key - 3)</a></dd>
  <dd><a href="/display/ADAPTAVIST/Contact" accesskey="4">Contact (Access Key - 4)</a></dd>
  <dd><a href="/logout.action" accesskey="5">Log out (Access Key - 5)</a></dd>
</dl>

To make the list more usable, we've also alphanumerically sorted the dynamic part of the list - so the keys are listed from 0 to 9, A to Z. The hard-coded "skip navigation" link is always output first because it's the most commonly used link.

So, give it a try - hit tab a few times and you should see the panel appear when the links receive focus. Also, when you use an access key the panel will appear confirming your selection.

One of the other neat features of the menu system used in Theme Builder is that you can prefix a letter in a menu item caption with an underscore ("_") to turn it in to a shortcut key within the menu. Because this is separate from the access key, we can create different ways of accessing the same functionality. A good example is our "Home" menu:

{compound-menuitem:home|caption=_Home|accesskey=1}

You can access the home page for the current space by either pressing Access Key 1 or by using the H shortcut from within the menu. This has another advantage in making the menu accessible via the keyboard - try pressing Alt + H (you'll need to scroll to the top of the screen) and you should see the "Home" menu appear. You can then press Enter (or Space, etc) to instantly go to the home page for the current space, or use the arrow keys to navigate around the menu.

Posted at 30 Oct @ 5:09 AM by Guy Fraser 0 Comments
  2007/10/31
Technium - Focus on

Technium asked me if I'd do a short interview for their Focus magazine - here's the results..

1. Describe your company in three words:

We abuse wikis!

2. What difference has your company made to the technology industry?

Absolutely no idea. We're not really fussed about making some mind-blowing change to the technology industry. All we care about is the difference we make to the way our customers use their software - things like end-user adoption, usability, accessibility, performance and reliability, ROI, etc.

3. What has been your greatest achievement?

Getting over 1500 Enterprise clients in over 55 countries in less than 3 years without advertising or external investment.

Shortly after the interview we had a sales deluge and now have over 2000 customers.

4.What lessons have you had to learn the hard way?

Plan for success, not failure. Before starting the company, we went to the pub to discuss our prospects and chances of survival should we set-up a company:

  • We had no customers and had no idea how to get them
  • We had no external funding and didn't want any
  • We had no products or services and had no idea what to develop
  • We didn't know how to run a business and probably still don't!

Based on those strong foundations, we decided to set-up the company the next day but expected it to be a huge failure - and everyone we talked to agreed. That being said, we simply couldn't go on working for other companies as we loathed the way they operated. We planned for cash flow problems, serious delays in getting products and services launched, etc.

Unfortunately, by our 11th month, we'd launched highly successful products and services and started making a profit. To make matters worse, by the end of our second year we had about 450 Enterprise customers in 35 countries with sales growing uncontrollably.

We'd planned for failure but none of those problems happened. Instead we were faced with success and a completely unexpected set of problems that we'd not planned for.

5. What one piece of advice would you pass on to others just starting out?

Just do it. Don't waste time thinking about it or planning it, just take the plunge and see what happens.

6. Where do you see your company in ten years time?

That's a question you should ask our customers. They define the direction our company takes - the products we develop, the services we offer, etc. Internally, we generally only plan the next quarter – a single primary task and an optional secondary task, nothing more – because within 3 months everything will have changed rendering any planning obsolete.

Posted at 31 Oct @ 4:03 PM by Guy Fraser 0 Comments
Adaptavist Theme Builder Powered by Atlassian Confluence