Our World in the Cloud

March 20th, 2011 in Capsule Development | CodeBase Development | Project Methodologies | Raplet Development

Here at Coding Futures we use several third party services for an awful lot of what we consider critical systems. Like many small companies we have the conflicting views on if we should focus on building services like Mail/CRM in house or host in the cloud. Many clients and our accountant are surprised for example that we don’t use DropBox (though individually we do, just not as a company) but do for example use Google for unsecure docs, but have a dedicated secure internal server for more sensitive documents. Below are some of the more interesting services we use and a little bit of background on how we use them.

Google Apps for Your Domain

Google is our central Mail and Calendar facility as well as our SSO for most of our other services. For Glenn and Tim central to their lives is GMail which is enhanced by Rapportive and Active Inbox a pair of Browser extensions.

Active Inbox

Both keen on the concept and philosophies of GTD and inbox zero, active inbox allows them to keep on top of their emails, quickly and easily processing through emails, marking them to a project type and status.

Rapportive

Rapportive is like active inbox, a browser extension, but rather than used inside the work flow it sits where the ads would normally be, providing information at a glance. Visually the most powerful feature is its ability to look across a range of social graphs and provide an avatar for the person within the email. This provides a powerful mechanism to know who you are dealling with and for us makes opportunities and cases turn back into people. In addition to this, Rapportive shows information on social networks and through Rraplets allows other information to be retrieved. For example we make extensive use of the Mail Chimp raplet which shows opens and clicks to our mail campaigns. Perfect for identifying potential customers and seeing who may have had the last email about the next release. As you can build custom raplets we use several internally, including one for Capsule CRM to see at a glance a user’s open cases and opportunities as well as previous purchases. You can see an screenshot of sample raportive data for a user here

Single Sign On

We are slowly shifting more and more services to Google Authentication and OpenID where possible, using Apps as our identity provider. Thankfully many of the services we use now support OpenID and Google, including Capsule and Freeagent both which integrate through the marketplace and therefore directly in Gmail and optionally Codebase (though integration is plain ugly).

Capsule CRM

At the heart of our customer services and sales pipeline is Capsule, it’s one of those gems of web services done right. We searched high and low for a suitable service, both Tim and Glenn had different things they wanted out of the system. Glenn was keen to have a solid sales pipeline, while Tim wanted the ability to get access to the data easily. Glenn wanted the entire world putting in there, Tim didn’t fancy doing it by hand, he also wanted regular reminders and simple follow ups (which he has achieved using a combination of Capsule tracks and Googles canned responses). What Capsule achieved was to provide a tool that Tim can use as part of the development and technical support flow and Glenn can use as a sales tool. With its syncing with Google apps (especially the contracts and some modifications in the form of a custom raplet to provide extra information) Capsule is totally integrated into the process. Plus the very understanding dev team from Capsule haven’t minded when we have asked a few dumb questions, nor did they rate limit us when we accidentally sent a few thousand contacts over via the API with the names the wrong way round forcing a quick resend.

These days whenever we are at conferences or local geek events the team actually forget to promote Coding Futures and instead seem to spend the entire time evangalising about Capsule and The Tannery (the office building we work in). That, I think, says it all.

Olark

Olark is a real time chat system. It’s built on top of Jabber and provides a BOSH based JavaScript client front end allowing clients and potential clients to talk to us. What makes Olark different from the millions of similar services is two fold; their Javascript API which is fantastic and their twitter presences and support.

IM chat is not new. Live chat systems have been around for over a decade but Olark has one major advantage, we can initiate chats with users. Suddenly the potential for exchanges changes the game. What’s more, using the Javascript API to notify an operator when a user does something is very easy. For example we can be notified when a user hits 4 pages plus a pricing page, meaning we can proactively go after these customers and say hello.

Olark really has changed the way we see sales. It also has to be the most tangible product here in terms of driving sales as time after time, people have purchased as we are chatting to them, it’s also noticeable such purchases tend to high a higher value as the operators can often upsell simply by explaining the products.

FreeAgent

FreeAgent is an invoice management and accountancy system. Unlike most small development firms we do not solely use FreeAgent as we have several products in addition to our development services which do not fit into its model. We still however use it for day to day accounting and invoicing with sales ledgers from our other products and is a general nightmare for Kevin to sort at the end of each month tying it all together for the tax man.

Codebase/DeployHQ/DeployBot

If Capsule is the centre of the universe for Glenn then Codebase is at the heart of Todd’s, Barry’s and Tim’s. Codebase is a project management and code repository service, allowing the creation of projects, repos as well as ticket management and milestone management. It provides the dev team along with the information radiator on the office wall all the information they need to get on with their day to day activities as well as providing central SVN repos for code management.

Continual Integration

Virtually all of our web sites and applications use a simple 3 stage development cycle platform of Dev, Staging and Live with Dev being on continual integration. What this means is that when ever someone commits to a repository which is linked to a dev site, the site is updated with that commit. The ability to do this is a combination of DeployHQ a service provided by the same company as codebase and our own tool set collectively known as DeployBot.

DeployHQ is quite good for Continual Integration set ups, waiting for a JSON postback from CodeBase before deploying code to a given path. In addition we use DeployBot, a script to tag branches for staging and deploying as well as to provide additional notifications and activities. The combination of CodeBase/DeployHQ/DeployBot means we do not have to run a heavy weight application like Hudson/Jenkins for many of our sites and our clients while still maintaining the flexibility of CI.

Mail Chimp

Last but not least is our second favourite primate (first being Ape E.I of course). We use Mail Chimp as our email campaign platform of choice, no guesses for why; it has by far the most comprehensive API out there for managing users and mail itself.

Over the last few months we have been heavily involved in numerous Mail Chimp integrations and both Tim and Barry have talked about Mail Chimp on their own blogs.

Lots of Custom Glue

While we really love the above solutions getting them to a state where everything is working has been time consuming and required a lot of additional programming, a whole suite of tools and deamons running to sync everything up. We call this “centralised” support” but it’s more than managing support; it manages everything from making sure Capsule is up to date to cases in Capsule having associated bug reports in Codebase. Fixed bugs in CodeBase show in capsule and tasks are added so the user is informed. It’s taken 9 months to get close to this state and there are still dozens of things we want to do.

Over the next few months the plan is to show you some of the glue as well as the tricks we are using to keep everything going smoothly.

Small Plug

Hey, it’s our blog, we are allowed to occasionally. If the above just overwhelmed you but you are interested in seeing what can be done for you, or perhaps we just inspired a great idea in your head, why not contact us and see what we can do for you! Glenn has even written a short blog post on how you can help us make our Capsule Raplet for Rapportive available for free

Authors

Glenn Pegden
Glenn's background is a unique mix of sales, technology and customer service. In 2010 started acting as the sales force of NewMedias. When NewMedias were acquired by Coding Futures in 2011 he took up to role of Sales Director.

Tim Nash
Tim has spent many years working as a consultant and trainer both in Web Development but also more esoteric fields such as Information Retrieval and Artificial Intelligence. He is current Coding Futures Technical Director and as such spends his day marshalling the development team.