CRM software runs my life

Category: software Page 2 of 4

Send Clientexec Invoices using Google Apps or Gmail

As a trial I have recently migrated my email from Microsoft Exchange to Google Apps. Google Apps Standard is free (even for multiple custom domains) and therefore significantly cheaper than my current Microsoft Exchange and Windows VPS setup. The built-in Mail Fetcher tool lets you keep your Google account downloading emails regularly (about every 20 mins?) from your Exchange account, while you take your time to migrate your DNS changes over. Once you are done you can shut down your Exchange account and disable Mail Fetcher.

Of course changing mail servers will have some effects, in my case it broke the email function of my Clientexec invoicing system. Luckily I found a great post by Adrian Jon Kriel that fixed my problem (thanks!), and I have reproduced it below:

Default clientexec smtp mailer (PHPMailer) cannot handle the required SSL/TLS SMTP via port 465 for gmail.


You will need a valid Gmail or Google Apps account with POP3 enabled (Gmail->Settings->Forwarding and POP/IMAP ->Enable POP for all mail)

Step 1) Modify the file: PHPMailer.php in your clientexec directory: /newedge/classes/

Step 2) Replace the following code around line 534:

// Retry while there is no connection
while($index < count($hosts) && $connection == false)
if(strstr($hosts[$index], ":"))
list($host, $port) = explode(":", $hosts[$index]);


// Retry while there is no connection
while($index < count($hosts) && $connection == false)
// modified for GMAIL
// if(strstr($hosts[$index], ":"))
// list($host, $port) = explode(":", $hosts[$index]);
if(strstr($hosts[$index],"://")) list($protocol,$hostPort) = explode("://",$hosts[$index]) ;
if(strstr($hostPort, ":")) list($host, $port) = explode(":", $hostPort);

Step 3) Change your clientexec Email settings (admin->SYSTEM SETUP-> e-mail settings)

Mail Type: SMTP
SMTP Host: ssl://
SMTP Username: (this will be your gmail login name)
SMTP Password: gmail_password (this will be your gmail login password)
SMTP Port: 465
Send Multi-Part MIME Messages: Yes or No (your own preference)


  • If you get “Connection Timeout” errors when u send an email, contact your host to open the TCP port 465.
  • On Windows servers you may need to add the “extension=php_openssl.dll” line to your php.ini configuration file.

Jive SBS – The most usable employee Intranet?

Example Jive SBS ScreenshotIntranets often receive a lot of criticism, primarily due to a lack of use and therefore an assumption that they are useless. Personally I think this couldn’t be further from the truth, a poorly used intranet is a clear sign that your company culture is not collaborative. Jive seem to have recognised this, and have thrown the overused “social” keyword at the problem. The result, Jive SBS,  is actually the most usable intranet product that I have ever seen.

Ignore the marketing jargon laden press release, here is what works about Jive SBS:

  • Documents can be grouped, searched and previewed amongst conversations
  • Clear staff directory with dynamic org chart
  • Comment and voting system lets you gather feedback on content in a dynamic and consistent manner
  • Tagging is a good structure for grouping the wide range of content on an Intranet
  • Web based documents are a far better way of collaborating on and revising policies etc.
  • Modular nature to group/personal dashboard is flexible and really makes customisation easy
  • The user interface is clean and user friendly (lots of AJAX, clear/consistent icons and whitespace)

And here is how it doesn’t work:

  • “Friends” doesn’t really apply, maybe “team mates” would be more relevant and useful? Even still…
  • Status updates are distracting and don’t have any real value
  • Activity update lists seem to be inconsistent as far as what is displayed

So basically some elements borrowed from the “social” web do work, but most don’t. In the end the product is just so flexible and easy to use that you can forgive the attempts at creating an internal Facebook.

Agile development management

We recently started moving toward Agile software development at work, and I was feeling a bit uncertain. The core reason for this uncertainty was that Agile is a developer-centric methodology and I didn’t understand how I fitted in as a Business Analyst, Project Manager and/or Product Manager.

Now I am a big fan of constant change, I just felt that developers were being given tasks that (despite being scoped user stories) still contained a large number of unknowns. I didn’t know if I trusted them to call me in when they got stuck, rather than finding the quickest route themselves. Additionally the roles of Project Manager, Product Manager and Development Manager were stepping on each other’s toes. Normally I am happy to write the requirements up front and then manage the project. Now there were no complete signed off requirements documents, project management was on a wall and the development team was in control. What am I meant to be doing? I am not someone who likes to sit back and wait to be called upon! I eventually found the following presentation, which was literally one of the only sources I can find about how Agile development management is meant to work:

View more presentations from allan kelly.

Even though I am only just beginning with Agile I felt the presentation gave me a good sense of where I fit. What are your experiences in Agile management outside the development team?

Top 3 Tools for Tuning Web Applications

I believe that the greatest strength of web based applications (as opposed to desktop applications) is that ability to develop a feedback loop. I like examples, so let me run through the top feedback methods that I currently use:

  • uservoice_forum_exampleUservoice – This tool allows single sign-on integration to allow you to have a private feedback forum that you can harvest for feedback. The best part about it is that, unlike your current WishList queue, it is self-prioritised by the people who actually know what they are talking about, your customers. You can also provide feedback back to your customers on how the ideas are progressing (approved, started, completed etc.). Nice way to close the user feedback loop.


  • Google Analytics – Putting analytics through a web application lets you know what users are using most often, how long they stare at a particular feature (or enter information) and what makes them bounce out. But it can also help you narrow that information down to specific users, simply by passing through some information to the new Advanced Segmentation tools using thesetVar() functionto pass through a user’s login name for example. You can even track events, flash components and of course conversions (successful transactions in your application?).


  • site24x7 examplePerformance Monitoring – It is a great idea to do user testing and time how long it takes to follow a path through your application, for example logging into your web-based CRM application, searching with some set terms, returning a result and then displaying the details of this result. You can time it in a user session, providing you with valuable (but once off) time information about user scanning and data entry time. How does this time differ at 9am Monday versus 3am Thursday? A web application performance monitoring tool like site24x7 allows you to run this path automatically every 5 minutes, 24×7. This not only allows you to check your servers are serving your application at a consistent time, but even just serving it at all. It will email you immediately when your application stops responding, send you a weekly performance summary report, show you performance from multiple locations around the world and even help you independently track your SLA compliance (and even publish all this via an API or public page).

Don’t wait for your customers to call you and complain, these tools make feedback easy, even to the point where users are providing it instantly without even realising. The next step is using these tools to proactively improve your web application, which of course is easier said than done. Just remember you have to measure before you can manage. 🙂

Review: Getting Real by 37Signals

Getting Real CoverI was looking for good Product Management reading material, and was referred by a friend to the book “Getting Real” by 37Signals.

What did I like?

This book gets straight to the point, there is no bullshit whatsoever and it makes no apologies for that. Equally there is no room for bullshit in the product; decide a goal, keep the budgets tight, keep the team tighter, listen to the customer (at least when they bang down the door) and just execute the hell out of what you are doing.

This book is a reminder that building a product is not just about technically executing. Many usability, sales, HR and marketing issues must be addressed to deliver a successful, well-rounded product. You need to reflect this well-rounded nature too, everyone should take support calls, think of usability, write blog posts etc.

What didn’t I like?

There are however some minor things I don’t agree with. I think exit surveys are valuable, there should be a formal suggestion gathering and prioritisation process and there is a limit to how much information you should place online. If you have a mass appeal, generic app then I think these rules are a little different to someone developing a niche app for a specific market. Apart from these few items, I was nodding the whole way through the book.


This book embodies the entrepreneurial spirit of today’s web app developers. Put your heart into the app, and then put your app out for everyone to see. If you are a motivated person who wants to focus your vision and energy, then this book is for you.

Pricing a New Product

The initial temptation when pricing a product is to use cost plus pricing, where you add a mysterious comfort buffer to your costs to work out your rate card. Articles like this one where the author advocates that “I generally start at 10x and drop the x-factor down from there until I arrive at something that feels right” scare the crap out of me. Yes, I agree that costs are extremely important and that complexity is to be avoided at all costs, but seriously put some genuine thought and research into it.

 The key point to realise is that pricing is all based on the classic supply and demand curve. This has two huge impacts:

1. Pricing needs to take into account both supply (competitors) and demand (consumers)

Supply & Demand Meet at Your Price

Supply & Demand Meet at Your Price

Spend some time doing research on your competitors. Get their rate cards, not just word of mouth evidence. Your sales people will often be given rate cards by prospective customers, there is no vendor loyalty when a customer is negotiating hard and you should benefit from that where you can.  If it is a new product and you don’t think you have competitors, think again. You actually need a competitor. Humans decision making is an extremely relative process, so it is important to establish in the consumers mind who your competitors are and why they should change their mind. Take this TIVO example. There were no competitors when TIVO came on the market. The closest two existing products were a $100 VCR and a $1000+ computer. No prizes for guessing which device they compared themselves to.

Sometimes it takes a bit of trickery to associate your new product with the desired pricing benchmark. The most infamous case is cited in the book Predictably Irrational. James Assael was the “Product Manager” for Black Pearls, a product were not only completely unknown, but also proved unwanted. So what to do? 

 James Assael could have dropped the black pearls altogether or sold them at a low price to a discount store. He could have tried to push them to consumers by bundling them together with a few white pearls. But instead Assael waited a year … and then brought them to an old friend, Harry Winston, the legendary gemstone dealer. Winston agreed to put them in the window of his store on Fifth Avenue, with an outrageously high price tag attached. Assael, meanwhile, commissioned a full-page advertisement that ran in the glossiest of magazines. There, a string of Tahitian black pearls glowed, set among a spray of diamonds, rubies, and emeralds.

“The pearls, which had shortly before been the private business of a cluster of black-lipped oysters, hanging on a rope in the Polynesian sea, were soon parading through Manhattan on the arched necks of the city’s most prosperous divas. Assael had taken something of dubious worth and made it fabulously fine.”

Today this happens all the time. Apple introduced the iPhone at $599, then only 2 months after launch they cut the price by a massive $200 to $399. They set their price benchmark, and then slash the price to rapidly accelerate sales volumes with a heavily “discounted” offering. This brings me to my second point.

2. Pricing is not a straight line, linear pricing models do not work with scale

iPhone Price Cut! (?)

iPhone Price Cut! (?)

Apple also slashed  the iPhone price after only 2 months to drive those critical initial sales volumes as early as possible. As your production scales your costs are exponentially falling, especially when a product is being brought to market for the first time. This also reinforces why cost plus pricing is an impossible task, to be accurate your price would need to be different for each individual unit you sell. 

This scaling effect will also cause problems on the demand side. Put simply, cost plus pricing will cause you to over-price your product when there is a weak market and will cause you to under-price your product when there is a strong market. Again this is due to the curved nature of the demand curve, a straight line simply doesn’t fit.

Prices represent single points on a graph, so how do you create points that form a curve? You need an end-to-end product portfolio.

Conclusion: Plan an end-to-end Product Portfolio

The first key is to segment your target markets. You then need to set a goal for what you would like to achieve in that market (low end market share, diversify customer profile, leverage brand etc.) and scope a product to suit both. If you understand your target market you are understanding the demand curve, by figuring out what you have to offer you can determine the supply side of the curve. Add-ons are a great example of being able to target different markets without straying too far from your core focus.

How many add-ons should you have? The paradox of choice suggests that 3 to 6 choices is about the right number, otherwise the customer starts to get overwhelmed with the sheer number of comparison decisions being made.

37Signals Basecamp Account Choices

37Signals Basecamp Account Choices

You can make things even easier for the customer. 37Signals recently blogged how a simple (and not so subtle) change of their account selection screen to promote a particular product from their range greatly helped people make a quick no-fuss decision.  Even the order of the pricing can have a big effect, so don’t start thinking that once you have a price that you are finished!

In the end your rate card need to be treated just like your product itself, you need to keep testing it against the market and making sure you are still fitting the curve. Simple delivery and accounting practices help here, so don’t overcomplicate things. 🙂

Exchange 2007 certificate migration

Exchange 2007 uses SSL certificates extensively across the IMAP, POP, IMAP, UM and IIS services. I assumed that adding an SSL certificate to one of the Domain Controllers would propogate that certificate across all the controllers. I guess it makes sense that I was wrong, SSL certificates aren’t something you want spread or activated widely. If you do need to move or copy the certificate across servers though, it is a simple 3 step process in the Exchange shell:

1) Export the certificate from the original server:

Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded:$true -Path c:\certificates\export.pfx -Password:(Get-Credential).password

2) Import the certificate into the new server:

Import-ExchangeCertificate -Path c:\certificates\export.pfx -Password:(Get-Credential).password

3) Enable the new certificate:

Enable-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -Services “POP, IMAP”

Done! 🙂

Xero Accounting usability review

Xero touts itself as “The world’s easiest accounting system”. I don’t think they have much competition as far as usability goes in the accounting space, but I would guess that is because their competition probably think it is impossible to reduce accounting functionality into a usable package. I have had an extensive play with their demo, and I have seen a really surprisingly large number of unique and very usable elements to their user interface. Just when you think Web 2.0 usability techniques have plateaued, it is nice to be reminded that there are still plenty of boundaries to push. I just want to point out a few of my favourite interface elements of this beautifully designed interface.

The Xero Dashboard

The Xero Dashboard

When you first login you are greeted by a welcome message. This isn’t particularly unique, but it has nice touches. A warm dialog, pre-loaded sample data and a link to view the sample data straight away. They even have a different demo company set up for each country they operate in, taking into account local accounting rules etc. But that’s not all! Once you load the Demo Company data you can either take a tour, or tackle one of the top 10 tasks that people complete in Xero.

Tour or top 10 tasks

Getting Started Alert

I think this shows a good level of hand-holding, but also of understanding and targetting your customers.

Another nice usability touch is the auto-logout function. Users generally hate the auto-logout 99% of the time, but it does save their bacon that final 1%. To make it as unbtrusive as possible Xero use a lightboxed login box when your 30 minutes is up (and it is good they actually display the limit here too). This makes logging back in a breeze, and teasing the user with all their content subtly appearing under the lightbox makes them feel that it isn’t a big process to dive back into the software again.

autologout is painless

Lightbox style Auto-Logout

Reports are another area where usability is always difficult, in this case navigating to the reports that you use most regularly. Xero allows the user to simply click the star next to the report, and that report will then appear in the higher level Reports dropdown. You never have to see the full list of reports again!

Simple report navigation

Simple report navigation

It’s pretty minor, but it is a solution I never thought of to a problem I have faced for a while.

Finally one last idea that looks simple, but is actually very effective. The action button that performs more than one action:

button dropdown

Consolidated Action Buttons

I like this because it keeps action buttons to a minimum, allowing them to be placed more consistently and concisely on a screen. It also forces you to make sure the actions on a page are related and required.

Other nice elements include inline help content throughout, consistent positioning and colouring of action buttons, good usage of white space around tabs and tables, the ability to save drafts or ‘publish’ data entry and the use of simple language (“Money coming in” rather than “Accounts Receivable”).

Well done Xero, you are now my usability reference whenever I get stuck! 🙂

PHP Frameworks not displaying error 500 remotely

I found when using Kohana in FastCGI mode that I was getting error 500 messages without the usual stack trace or error message. This was only happening when I accessed the development server remotely, not when I ran it locally (i.e. http://localhost/). Turns out this is actually the default behaviour for IIS7 with FastCGI. To change this you simply run the following command:

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/httpErrors -errorMode:Detailed

All fixed! If you want to change it back when you put the server into production then change the errorMode to “DetailedLocalOnly”.

What is Social CRM?

Social CRM is a buzz word that is spiralling out of control at the moment. What does it mean? I googled around and didn’t really find a consistent message. Instead I am going to explain my interpretation, let me know if you think it makes sense.

Social networks have two strong points, they are full of customers that are linked by relationships. These are the first two letters of CRM! The multi-billion dollar question is how can you manage them without destroying them or being seen as an evil spy.

Social CRM Feedback Loop

Social CRM Feedback Loop

The first step towards Social CRM is using social networks as a feedback loop for your customer relations programs. Who better to learn from than your customers themselves? It’s the perfect way to refine your customer relations processes and add another source of feedback and innovation into your company.

The next stage is to develop relationships with your customers. From a business perspective I would assume that this is due to repeat business delivering higher margins, mostly because it doesn’t require expensive mass marketing or other customer acquisition. Businesses justify it to consumers by saying it gives the customer an opportunity to dictate and receive a personalised product.

I like idealistic goals, I think when you are talking about customers it is good to at least aim towards being noble. The question is, how many businesses intentions are simply to maintain the margins of their mass market product?

As with everything in life there will be a balancing point, somewhere in the feedback gathering process I think the social networks will reject further interference. That balancing point is what Facebook and others are thinking day and night about, and the point they have crossed at times with projects such as Facebook Beacon. If a social network hits that point perfectly there is definitely big money at stake, but until then companies need to monitor the social networks in their backyard and just listen. There are plenty of companies that struggle to do that internally, let alone through fast moving external networks.

Page 2 of 4

Powered by WordPress & Theme by Anders Norén