Archive of articles classified as "General"

Customer Service is King

19/11/2009

Tim DavisOne of the companies that I greatly admire is Zappos.com led by a fantastic CEO - Tony Hsieh. The company essentially drives its revenue from the sales of shoes and has managed to etch its mark in the same manner that Amazon.com did for books. Zappos.com’s statistics are a little mind blowing for a company that is essentially still growing – more than 3.6 million products from 1,250 brands and more than 146,000 different styles.  But that is not really what makes me love Zappos – rather, it’s the companies fanaticism about customer service – something that is seemingly lost in this day and age. It’s interesting to parallel & compare today’s customer service to that of the ‘olden days’ – the 1950′s and 1960′s – which was driven by person-to-person sales and advice with the primary business differentiator being which had a better & more engaging customer service paradigm. In my opinion, it’s something that needs to return to business in this day and age and technology should assist the promotion of such endeavors rather than seek to reduce it by pushing the customer experience to ‘automation engagement methodologies’.

The reality is that customer services cost a significant amount of money. To maintain call centers and front-line sales staff is an expensive exercise when you slap on top of this training, turn-over, culture problems and sales incentives. The model is one that needs a high degree of tuning – but it’s one that is not overtly difficult – something along the lines of what my father says about marriage – “happy wife, happy life” – except in this regard it’s more “happy staff, happy path”. That is, make the staff happy and watch the path of your company skyrocket forwards. You see, the reason I think Zappos has got things so right primarily relates to the fact that the staff who work at the company are generally excited to be there. They love what they are doing, they are passionate about the Zappos brand and they honestly believe that they are making a difference to the customer experience. It’s a far cry from other organisations – particularly at the enterprise level – which aim to cut cost by outsourcing the customer experience and who generally have poor employee morale which has been inherited through write-downs, management changes and degradation of the purported ‘Company Mission Statement’ or ‘Company Values’.

It goes without saying that by setting up your staff to be happy, you are maintaining their enthusiasm to be engaged in your business and as a facet of this – be engaged in the customer. The customer drives revenue, and the revenue sales drive the ability to keep staff happy and the business ticking over. You can see the cyclical action in this regard – it’s definitively not rocket science – rather it’s taking business back to basics and really looking at what makes it overtly tick in the first place. Most notably, it’s also fairly amazing to see how simple it is to achieve employee happiness. I would suggest that in small business, it’s primarily ensuring that you employ the right people who fit similarly with you – this is perhaps the hardest part – and one of the reasons that Zappos offers staff who get to the final round of the interview process more than $2,000 to leave. Yes, you read that right – to leave. Tony Hsieh believes by offering staff an incentive to leave – you are able to weed out those people who really don’t want to be there and who aren’t really interested in the organisation. It’s an interesting strategy and perhaps one that is not available to all business’ but one which has considerable merit.

After the post-employment process – that is the interviewing, questioning, cv-reviewing and generally attempting to ascertain whether a person is the best fit for your company from meeting with them for 2 hours or so (ridiculous in my opinion) most staff – and I say this as a vast generalization - are looking for flexible hours, safe working environment and good colleagues. Additional perks like free lunch or free t-shirts cost surprisingly little but go a long way in terms of staff ‘loving’ your business and wanting to over-extend themselves in times of need. Perhaps my former comment also deserves a little more explanation - interviewing someone for 2 hours is hardly the best way to get them to know whether they work for you – at most, it should be a prima facie indicator but by no means the final stamp of approval. Getting the person into your office, working with them on a project or asking them to interact with your colleagues at drinks is by far and large the best way to determine whether they are suitable for your business. While this isn’t always possible – for example, overtly hard in computer science engineering roles were source code is confidential – it is definitely possible for sales or customer facing staff.

In my opinion and experience so far, attempting to keep your staff happy is the only way to succeed. The have to love what they are doing and they have to believe in both the management team and what the company stands for. If this is enshrined in a ‘Company Mission Statement’ all well and good – but if it is not actively and knowingly reinforced every single day then it’s just another worthless piece of paper which sits along side – no doubt in such companies – the other 1000 ‘brain storming sessions’ which have gone no-where and ‘business continuity meetings’ which are pointless. Create the best culture you can in your own unique way, keep your staff as happy and engaged as you possibly can and then your business will grow organically through their enthusiasm and drive. Dislodging any aspect of this carefully crafted ‘Tim Davis Path to Success’ (ha) will result in probable downfall. As Jim Collins – author of Good to Great - puts it

first get the right people on the bus (and the wrong people off the bus) before you figure out where to drive it. People are not your most important asset – the right people are.

Once they are on the bus, drive it like crazy.

No Comments

Creating a User Defined Service in Windows 7

28/09/2009

Tim DavisOne of the annoying things in ALL windows systems has been the lack of native support to create user defined services. Yes, you can type in the cmd prompt “sc create /?” to get some instructions to get some services that rely on executable files in Windows – but nothing really exists for web services and hosting in this regard. Way back in 2003 Microsoft released some developer tools for Windows Server 2003 and they have been used ever since – including (yes, it is true!) in Windows 7.

To setup a user defined service in Windows 7 for hosting purposes (in our case for our development server) – hopefully the following steps help you (its been written for the Trac project)

  1. Download instsrv.exe and srvany.exe from Microsoft 2003 Resource Kit (I’ve included them in this post but feel free to download them from Microsoft if you want)
  2. Open a windows cmd prompt (run as administrator) and punch in the service you want (in our case tracd) i.e. drive:\path\to\InstSrv.exe tracd drive:\path\to\SrvAny.exe
  3. Goto your Start Menu, type in “regedit” and goto the new service (in our case tracdHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tracd
  4. Create subkey *Parameters* below which you must create 2 string values:
  5. Create an String Value called App- then right click on this and add drive:\path\to\Python25\Scripts\tracd.exe
  6. Create an String Value called AppParameters with the relevant parameters of the tracd.exe - i.e. drive:\Python25\Scripts\tracd –port 8080 –auth=proj_name,drive:\path\to\proj\digest.txt,trac drive:\path\to\proj\ if you were using Trac and wanted to generate passwords without apache
  7. Run net start tracd
  8. Complete!

Obviously, you can change this around and run it for any service you want to run it for and it will start up and appear in services.msc where you can start around the rest of the settings as you please.

1 Comment

Windows 7 “Default Gateway 0.0.0.0″ Problem

27/09/2009

Tim DavisSo I am all excited to install the new Windows 7 Ultimate x64 operating environment. The installation was a breeze – but the internet setup not so. I would have thought that the internet setup would have been a piece of cake – but unfortunately I was sorely mistaken. Now I am a huge Microsoft Fan (although I also use an iMac) and was a bit perturbed when this happened – hoping that Mum & Dad Windows 7 users wouldn’t face the same issues.  The solution was relatively easy to fix but did require a little bit of playing around as the cmd –> Run as Administrator console was denying all relevant “ipconfig /renew” or “ipconfig /release” commands.

In the end – I discovered the solution as:

  1. If you have already setup your internet and you are now getting this error – you MUST click Start –> Type “cmd” –> Right Click –> Run as Administrator
  2. A black window will appear (for those who have never done this) – you must type in “netsh int ip reset c:\resetlog.txt” and “netsh winsock reset c:\winsock.txt
  3. You must now reset your computer.
  4. On reboot – right click on the “Network Connections” and open the “Network & Sharing Center”
  5. Click on whatever connection you have – a new window will appear with “Details, Properties, Disable, Diagnose” buttons
  6. Click on “Properties” and then uncheck the Internet Protocol Version 6 (TCIP/IPv6)” checkbox.
  7. Click OK and then Close.

Now you can either Reopen this console if you need to enter a Static IP Address or you can ask Windows to find your Network via the “Network & Sharing Center”. Everything will now work (or should anyway!)

7 Comments

The Search for Scalability

31/07/2009

Tim DavisThe investors dream business is predominately focused on one word in the end – scalability. If you hear it uttered once, you will hear it uttered at least a thousand times more. Many of you may be asking right now, what exactly is a scalable business? Well, essentially a “perfect” scalable business is one which can achieve huge revenue growth with little additional investment capital required. It’s a business whose revenue model is not constricted by factors such as manufacturing outputs or human capital considerations – it’s one where the revenue (y-axis) vs. cost (x-axis) graph looks much like a vertical line sloping on a 89 degree angle. The cost of each dollar invested is far outweighed by the revenue per dollar returned so the overall incremental cost is reducing as the business expands. To put it simply, a scalable business is one where revenue is exponentially increasing as a function of time.

Of course, such a “perfect” business is never truly possible in real life – this is half the battle. People are needed to run business (damn those humans), markets are different, risks in each market are different, market share is different, brand power and intellectual property considerations are all different. All these factors play into the battle of finding companies which are working towards a highly scalable model, and companies which investors want to focus their funds on. Of course, even taking investment capital suggests – at least in the beginning – that the business is not a truly scalable one, since the investment infers that cost per dollar invested is already outweighing return. Of course, a longer term growth return projection may set this initial failing straight – but applying the narrow definition stated above – it’s an observation that is still true.

So what are some scalable businesses? To start, it’s important to state from the outset – humans are not scalable.

Yep, that rights – any business which solely relies on humans is not scalable. Businesses restricted by human capital and output volume as a function of time do not scale. For example, a legal firm is inherently unscalable - lawyers have lengthy skill development (education), time is limited to a maximum of 24 hours per day which means revenue restrictions, billing time per day fluctuates and most importantly – there is a ceiling limit on what clients will pay for legal advice. Even the best lawyers can only charge so much – as people and businesses – the customers – are themselves limited by cost constraints and will go to the next best lawyer who charges slightly less. This is a perfect example of the inability of an entire industry to be scalable businesses because it is fundamentally restricted by revenue as a function of time – that is, revenue per hour hits a limit.

“OK Then” you are thinking, “well, what is scalable?” Well, practically any industry that is not solely reliant on those pesky humans. Take the Internet for example.

Internet businesses can be hugely scalable because the market available online is not restricted, for example, by jurisdiction. You can purchase a domain name and any person in the world can access this domain name. Sure, they might not even know that something exists at the domain name you have purchased – but it doesn’t limit them accessing it. On the flip side, legal advice is restricted by jurisdiction as laws are different in every country. So Internet businesses have the potential to be hugely – not infinitely – scalable. Of course, a lot depends on the nature of the Internet business and the degree to which it exists entirely online. Business which are built and rely entirely on software are not restricted in anyway by manufacturing output for example – since software can be distributed and replicated an infinite number of times. In comparison, Internet businesses which rely on the processing of physical goods are restricted since they rely on channel, production and distribution partners to assist them with the delivery of the customers order.

This is why a lot of “new age” business are moving online because it entirely removes the need for physical distribution locations – which have heavy costs of staffing, leases, safety, insurance, internal shop fitting and all the rest. It all comes down to the revenue as a function of time. The faster the revenue as a function of time, the more scalable the business – conversely, business which are restricted by such an equation are either not scalable or no longer have the same degree of scalability. If you own a business, you need to look at your revenue drivers and try and establish the highest revenue areas as a function of time and then focus – or promote these more – since it is probable that these are the areas of your business that will increase profit in the long run.

Of course, importantly – this article is not in anyway suggesting that businesses which are not scalable have no chance at being successful – that is a ridiculous proposition. It is merely pointing to the establishment of businesses which are scalable and have a “higher chance” at being able to generate huge revenue quickly as a function of time. Any business can generate huge revenue – but typically they do not fall into the high revenue businesses as a function of time. The key is too look for businesses which can produce $2 or $3 or $100 per second and have no ceiling limit on what this rate can scale too.

No business can do this forever, but the ones that consistently maintain high levels of revenue as a function of time are the ones to watch.

No Comments

Make Firefox Run Faster

2/07/2009

Tim DavisIn the spirit of my last post, I thought I would also tell my loyal readers about how to really speed up their Firefox web-browser. So much so in fact, that you will be amazed at how much faster your web-pages actually load. This little trick is really designed for website users who have broadband connections – but those of you that do not – you are probably able to adjust the settings to a slightly lower level and it will still increase your page load time. This works best on any version of Firefox 3+ :)

A little unknown fact about Firefox is the HTTP application-layer protocol that most web-pages are transferred with and the “safe” limits that Firefox developers put into the config to ensure maximum stability. The problem is that these settings are really really conservative – and while sure thing this improves stability – it slows the whole process down. To really increase your web-page speed and make your browsing experience better – and more importantly faster – with 99% stability – we need to tweak the HTTP application-layer protocol. The logic behind this is much the same as the logic behind tweaking the maximum number of connections when using Peer-to-Peer systems. The more HTTP connections the application can make on a broadband connection the better – so use the settings below to make your web-pages load at least 4-5 times faster (and indeed make Firefox load faster when you open it):

1. Type in the Firefox address bar about:config
2. Accept the Warning notification and continue
3. At the top of the page will be a filter – search for, and adjust, the following settings:

network.http.pipelining: true
network.http.proxy.pipelining: true
network.http.max-connections: 50
network.http.max-connections-per-server: 40
network.http.max-persistent-connections-per-proxy: 20
network.http.max-persistent-connections-per-server: 10
network.http.pipelining.maxrequests: 20

4. Then right-click anywhere in a blank space and select New –> Integer
5. Name this integer “nglayout.initialpaint.delay” and set its value to 0.
6. Right-click again anywhere in a blank space and select New –> Boolean
7. Name this boolean “config.trim_on_minimize” and set its value to True.
8. Now in the Icon Tray, right-click on the Mozilla Firefox Icon and select Properties
9. Under “Target”, you will see the line “C:\Program Files\Mozilla Firefox\firefox.exe”
10. Change this line to “C:\Program Files\Mozilla Firefox\firefox.exe” /Prefetch:1″
11. Ensure that there is a space i.e. \firefox”(space)/Prefetch:1″

Enjoy your new found Firefox load time and speed!

No Comments