Aug 05

Managing your finances is critical to every business and I think accountancy should be an effective tool for managing a business. However, for all too many SMEs accountancy is all about compliance, simply ensuring that accounts are filed correctly and taxes paid.

Now I’m not an accountant, however I have always been of the opinion that anyone in business has to be able to understand the finances of the business. So about a year ago I went and looked for the accountancy tools that would help me (a non-accountant) to manage my business. Eventually I settled on Xero, for its simplicity and because it was online giving me access no matter where in the world I was.

At that time Ulster Bank Anytime Banking supported the OFX format which was readily support by Xero, allowing me to easily import my bank statements each month. However about 2 months ago Ulster Bank stopped supporting Anytime Banking and move their customers to a new system called Bankline. Despite repeated reassurances from Ulster Bank that all features of Anytime would be supported in Bankline they dropped support for OFX and only supported CSV.

This was a disaster for Ulster Bank user who used the Xero system as it made reconciliation of your bank account slow and error prone. Last week, at the end of July 09 Xero started to support the import of CSV formatted bank statements. This post looks at the tweaks that you need to make in order to get your Ulster Bank statement into Xero.

Exporting your Ulster Bank Bankline CSV statement

Exporting your Ulster Bank Bankline CSV statement

  1. Log into your Ulster Bank Bankline account as normal and navigate to the statement of the account that you want to import.
  2. At the top of the page select the date range that you want to statement to be for and press the go button to the right of the date fields.
  3. Click the ‘export statement’ link at the bottom of the page. This will save the statement onto your computer in CSV format. The fields in this file are different to the ones required by Xero, however the file is easily editable to make it compatible.
  4. Open the file in Excel or Open Office.
  5. Xero expects the following columns which are not in your CSV file – Cheque number, Transaction amount. Add these two columns into the spreadsheet.
  6. Copy the amounts from the Debit and Credit columns into the transaction amount column. The transaction amount column should now be a solid list of numbers, positive numbers for Credits and negative numbers for Debits.
  7. Save your spreadsheet ensuring you save it as a CSV file.
  8. Bankline puts the cheque number into the Narrative #1 field. Whenever the type = ‘CHQ’ copy the number from the Narrative #1 field into the respective cell in the new Cheque number field.
  9. Log into Xero as follows and from the account of the relevant bank account menu select ‘Import a statement’.
  10. Click the ‘choose file’ button and select your CSV file and click the ‘Import’ button.

    Mapping your CSV column to Xero

    Mapping your CSV column to Xero

  11. You are now presented with a page in Xero that allows you to map columns from the CSV file to Xero. Make the following mappings:
    1. ‘Date’ in the CSV to ‘Transaction Date’ in Xero
    2. ‘Narrative #1’ in the CSV to ‘Description’ in Xero
    3. ‘Narrative #2’ in the CSV to ‘Payee’ in Xero
    4. ‘Type’ in the CSV to ‘Transaction Type’ in Xero
    5. ‘Cheque Number’ in the CSV to ‘Cheque No.’ In Xero
    6. ‘Transaction Amount’ in the CSV to ‘Transaction Amount’ in Xero
    7. Press the save button and you’re done. Xero will remember these mappings so you won’t have to do them again for subsequent imports.
Jul 16

Next week we will be rolling out a major upgrade to RevaHealth.com. This upgrade will not change any consumer facing pages on the website but instead focuses on the administration pages that clinics log into. We have spent months planning, developing and testing this release and although it will take some getting used to we are confident that it will big improvements for all of the clinics that use RevaHealth.com on a daily basis.

New Supplier Site - July 2009

New Supplier Site - July 2009

The first thing you are going to notice when you log in is that the colours have changed from light pastel shades to a more solid blues and blacks. The contrast has been increased to aid usability and readability. Over the coming month we will be migrating these colour changes through the consumer site as well in order to achieve a consistent look and feel.

The clinic interface has been radically cleaned up which should make it much easier to navigate. The clinic’s profile is now displayed to the clinic in exactly the same way that it is to the consumer with the exception of additional edit controls. This makes it easier to find a section if you want to edit it and also provides immediate feedback as to how it is going to look to a potential patient.

All of the settings have now been collapsed into a single page which makes it simpler to get to the information that you want.

By far the biggest change to the product is the enquiry management interface. We have been in deep discussion with a number of leading clinics about the problems that they face in dealing effectively with online patient enquiries. There is a recognition that the main purpose of having an online presence is to generate enquiries, however without the tools and processes in place they simply aren’t being dealt with as effectively as they could be.

Now when you log into your RevaHealth.com account you will be brought directly to your enquiry management screen. This lists out all of the enquiries that you have in order of the due date of the task associated with each enquiry. As you complete each task you are prompted to create the next task until the enquiry is either booked or archived. This simple tool provides a lightweight process that helps clinics ensure that they are responding to potential patients in a timely fashion throughout the consultation period.

New Features

  1. Get a website. All clinics will now be able to get a website with their own domain name through RevaHealth.com. This is the most cost effective and quickest way for a clinic to get an online presence. The website can then be edited and maintained through the RevaHealth.com interface or for clinics without Internet access by fax. This feature has a promotional price of €350 per year.
  2. All clinics will now be able to turn off the contact form and only display their phone number. A lot of clinics do not monitor their email frequently and providing a contact form in these instances only gives the consumer a poor experience as they may have to wait several days for a response.
  3. Tasks. All patient enquiries can now have a task with a due date associated with it. Enquiries are displayed by default in the order of when the task is due. This feature is available to all clinics.
  4. Import enquiries. Enquiries come from a lot of sources and we realize that providing a management solution for just RevaHealth.com enquires is a partial solution. Therefore all paid accounts will be able to import enquiries into their RevaHealth.com account so that they can manage them all through the one interface.
  5. Add a review. Clinics can now add reviews from consumers themselves through the web interface. These reviews are clearly labelled as having been added directly by the clinic. This feature is available to all clinics.
  6. Pictures for treatments. All paid accounts can now add pictures to their treatments.
  7. Warning and alerts have been introduced into every page, informing you when important information is missing or when something needs your attention.

Features that have been removed

A range of small features have been removed that had very poor adoption rates. The removal of features is vital to any product if it is going to remain usable. We realize that some clinics use these features; however their continued support cannot be justified.

  1. The facilities tab has been moved and the information that used to be there has been combined into the details tab.
  2. Several fields have been removed from the staff section such as ‘place of birth’. The fields that have been removed are all rarely used (less than 2% adoption).
  3. Various lists have been cleared of unused facilities, services and treatments.
Tagged with:
Jul 14

Our approach to SEO at RevaHealth.com is never to attempt to deceive the search engines. We regard SEO as the art and science of narrowing the distance between the search engine’s understanding of our pages a human’s understanding of a page.

The search engine are trying to do a very hard job, they are trying to use machines to understand the nature and meaning of a page while simultaneously doing the same for users query’s. Even with the best brains on the planet the search engine’s understanding of a page is going to be different to the reality and it is our job to help it understand our pages given the tools that we have available.

There are thousands of ideas out there on how to influence the position of pages in Google index. Many of these are tricks designed to deceive the search engine and others are out-dated techniques that have long been relegated to the history books. The problem with all search engine optimization is that from research alone it is impossible to tell the snake oil form the Promised Land and some changes can have disastrous results.

We have found that every time we want to implement some changes, we first conduct a scientific experiment to check if it’s a good or bad idea. This takes time and dedication and is not something to be taken lightly. Note that despite every effort to remain scientific there is a good deal of interpretation at all stages as it is impossible to control all variables in the study because the search engines are effectively black boxes and no doubt look at variables that we have not considered.

One of the tools that the search engines use to interpret the intention of a page is the use of country specific domains. So pages that are targeted at an UK audience can benefit from a .co.uk domain. Google also allows you to manually assign a preferred country using its webmaster tools. The problem for us at RevaHealth.com is that while we have content that is focused towards specific countries, it is not just one country (99 in fact). This means that we can’t use Google web master tools for optimizing for particular countries.

We’re about to test now how redirect to www.RevaHealth.ie and www.RevaHealth.co.uk will influence our position in Google.ie and Google.co.uk. We have local domains registered but we used to redirect all traffic to our main domain www.RevaHealth.com. We will redirect pages of 10 counties in Ireland and 10 shires in the UK to the local domains. It’s a great number of pages when we multiply counties by hundreds of locations and 25 clinic types. We have to redirect the pages permanently (301), as temporary redirect (302) doesn’t pass the PR.

What can we achieve? We are expecting to see the surge in position of our Irish pages in Google.ie and UK pages in Google.co.uk as the domain-extension is suppose to influence it. We risk our position in Google.com but we expect that drop to be minor. We will dilute our traffic as well, as visitors will be divided between domains. We will keep you informed on how we’re doing with the experiment.

May 22

We rolled out an update to RevaHealth.com today at around midday GMT. The main new feature in this release is text messaging. When a user fills in the contact form for a clinic RevaHealth.com will now automatically text the user with the phone number of the clinic. There is also a handy ‘Text Me’ button beside the phone number of the clinic for users that do not want to fill out the contact form.

We still have some work to do to normalize all of the phone numbers (110,000 of them) in our database to try and make sure a user can just click on the number in the SMS. We expect the bulk of this to be complete on Monday, however as we have clinics in nearly 100 countries there are bound to be some problems. We will be releasing our phone number normalization on Google Maps sometime in the near future.

Tagged with:
May 15

Last night we launched our latest build of RevaHealth.com which includes a couple of significant new features, one aimed at our visitors and the other at the health clinics that use our site.

Maps

Previously when you looked at the map page in our search results you were presented with just the clinics from the search result. While this made some sense, it wasn’t particularly useful as we had to make the maps static in order to keep page load times down.

Ideally, we wanted the maps to be another way for people to search for clinics, which meant making them interactive again. To do this, and not impact on our page load time, we split each map off onto it’s own page, which has the added benefit of giving them their own URL so we can SEO the map pages separately from the search results pages.

Map of Doctors (GPs) in Cork City

Map of Doctors (GPs) in Cork City

Our map pages are now active. For example, take a look at our map of doctors in Cork city. If you’re from Cork, or in Cork, you should be able to tell at a glance if there’s a doctor near where you are. Where we have the information, we’ve added the price of a general consultation to the map. You can click through to the contact form for each clinic or view their full listing directly from the map too.

As with all new features, we’ll be looking closely at how our visitors use the map to see what we can do to improve it over time, but for now we’re happy to provide what we hope will be another useful service for the public.

Two New Levels of Membership for Health Clinics

We have received a tremendous amount of interest from single professional clinics, such as physiotherapists and general practitioners. They want more than just our Free Listing but don’t have the demand to justify a Pro Listing, and to date we haven’t had a listing to match their requirements. Our new Solo Listing will hopefully be of some interest to these clinics. We have also introduced an Ultimate Listing for large clinics demanding the highest levels of promotion.

Solo Listing

Solo Listings are available to clinics with a single health practitioner treating patients outside of the fields of dentistry and cosmetic surgery. The benefits of a Solo Listing include larger search results, unlimited email enquires and the removal of external advertising from the clinic’s brochure. Solo Listings cost €20 per month or €200 per year.

Ultimate Listing

The Ultimate Listing gives clinics much more than Pro membership. Search results are larger and the clinic is promoted on the front page of RevaHealth.com. In addition to the normal search listing the clinic is also advertised on the right of the page for all relevant search results. Ultimate Listings are available from €750 a month or €7,500 annually.

Our new sign-up page (May 2009)

Our new sign-up page (May 2009)

Clinics that would like to avail of these new types of listing can sign-up directly on RevaHealth.com.

Tagged with:
May 07

How To Speed Up Your Web Application from RevaHealth.com on Vimeo.

Web page render time is a critically important metric for any web app. It directly affects a site’s bounce rate because visitors can lose patience and hit the back button. It also affects a site’s conversion rate as visitors who do start browsing can get frustrated and give up. Page render time is a metric that anyone who is developing a web application needs to monitor closely and constantly.

At RevaHealth.com we have always made an effort to keep our page render times fast. We look at our initial page render times and page weight with each build and we try and make effective use of Ajax to speed up our internal page rendering time. However, as with nearly all web application development some non-error metrics gradually slipped until eventually we noticed that our page render time had become unacceptably long. We decided to take a couple of days off from coding new features and cleaned up the code. Here’s what we did.

Before we started, our page render time was about 8 seconds including the calls to Google AdSense, which added 2 seconds. (See the Pingdom trace at Note 2). We tackled 4 key areas to reduce the page load time.

Pingdom 1 - Click for full size

Pingdom 1 - Click for full size

  1. AdSense Optimisation – Two Second Improvement. The most obvious problem was the time it was taking to get the Adwords to load and render. We had up to three sets per page and this was adding about 2 seconds. There seems to be no way to speed this process up. The bulk of our users are interested in our content rather than our ads, so we put the ad units into their own iFrame and let them load after our content had loaded. You can see the effect on our dentists in Dublin page. (See Note 3)
  2. Combining Files – One Second Improvement. In most cases the number of files that a page forces the browser to download is more important to the actual weight of the page. This is because browsers are limited in the number of files that they can simultaneously download, and each file has a latency and bandwidth overhead. Reducing the number of files is frequently the easiest way to improve render time. We were already using a CSS sprite for images, but we had let a few get loose. We tidied this up and combined 5 more images into the sprite. We also got rid of one CSS file and combined 4 JavaScript files into one. The reduction of these 9 files cuts about one second off of render time.
  3. More effective use of simultaneous downloading – Half a Second Improvement. As mentioned above we use a CSS sprite to reduce the number of image files. This sprite was only referenced in the CSS and not in the HTML. This resulted in the HTML being downloaded, then the CSS, and then the sprite in that order. We changed this so that the sprite gets loaded in parallel to the CSS file by calling it in the HTML.
  4. Code Tidy up – Half a Second Improvement. This was never going to give us much of an improvement because we use compression on our web server which reduces the size of our HTML, CSS and JavaScript by about 70% – so despite the fact that the files are relatively large the actual bandwidth overhead is low. Still we managed to cut an uncompressed 30KB off of the HTML, 40KB off the CSS and 40KB off the JavaScript.
Pingdom 2 - Click for full size

Pingdom 2 - Click for full size

So what do we still have to do? By no means have we completed our page optimization and we have plans to knock a further second off of the page load time by:

  1. Dynamic image caching and potentially creating a sprite on the fly
  2. Using a content delivery network for our static images, JavaScript and CSS files
  3. Further optimized JavaScript

Notes

  1. I use the metric render time rather than page load time because what we are trying to measure is user experience – not the time it takes for bits to go down a pipe. Many web 2.0 applications rely on JavaScript to be downloaded and run in the browser before anything of value is displayed to the user. In older browsers this can frequently add a second or more on top of page load until the user is presented with the page.
  2. The trace does not include the dynamic thumbnail images that we pull in for each clinic. There are typically 3 of these images but there may be as many as 12. It also does not include the Google Adsense or Google Analytic calls.
  3. Pingdom

  4. Strictly speaking putting you Google Adsense Ad units into an iframe is against the Google Terms of Service, however Google has provided guidance that as long as you don’t deceive the visitor that the practice is acceptable.

Useful Tools

Tagged with:
Apr 29

6a00e54f09f406883401156f665501970c

Damien has put together this article about why he dislikes Google Chrome:

Likemany web developers I was both excited and slightly frustrated with the arrival of Google’s Chrome rowser last year. My excitement was due to it being a browser built by Google, (who did a great job with mail) using the very successful WebKit application framework. The reason I was slightly frustrated was that it created more work for me, being another browser platform I would have to test my web apps on! My first look at RevaHealth.com on Chrome left me very impressed. The layout was perfect; due to the use of the ebKit I’m sure. The speed at which it loaded was impressive too, due to their new Javascript engine. Unfortunately it was after my initial impression that the problems began.

Chrome is fast due to its clever caching system. It is very good in general, but not if the page is changing on a regular basis. Several times I have viewed a page, made a change and clicked refresh, only to find the change hasn’t been implemented. It takes several refreshes. This is common with most browsers but Chrome takes much longer to recognize a change.

Another issue occurs with the forward/ back functionality. RevaHealth.com uses a Jquery history Plugin to manage the history changes for our dynamic pages. Simply put, almost all click events that make an Ajax Call, add their change to the hash part of the URL. There is a Javascript function that fires every 10 milliseconds to check if this hash value has changed. It works well on most browsers but not
all of the time in Chrome.

One very annoying bug that we found when using Chrome was what we dubbed the ‘double flash’ bug, whereby our splash screen was displayed and removed twice in a row, very fast, making it look like it was flashing. We first discovered this when we clicked on the same link twice. We got around this by checking that the link was not already in effect.

The next bug wasn’t discovered for a while, Chrome seems to gets to a point where it gets stuck and causes the ‘double flash’ bug. Once hit, every click causes this ‘double flash’ and nothing changes, leaving the site unusable. The point where the double flash occurs is very random, making locating the problem very
difficult. After much time spent investigating, we found that it seems to be an overlap, whereby the history change function is hit twice, causing it to undo the click the user just made.

However,it looks like my prayers have been answered, as Google have launched the new Chrome Beta which doesn’t seem to cause these problems at all! But perhaps it will have a few issues of its own…

Apr 23

6a00e54f09f4068834011570252680970b

For the last decade, network operators have been touting data as being the way forward for revenue growth. With the exception of SMS, this promise has largely been empty. WAP was a failure and MMS failed to achieve note-worthy volumes. Network operators around the world rolled out application after
application in the hope of spurring data revenues, and while several succeeded, (most notably NewBay Software) most failed to achieve targets.

The iPhone has changed all of this. The Internet, in all its glory, has truly come to the mobile phone. From poker to porn, the iPhone has it all. However, no sooner had the reality of true mobile Internet dawned, than the network operators hoisted themselves by their own petard – pricing.

Pricing is something that most network operators should be proud of. It is with complicated and well-costed pricing that they have managed to keep Average Revenue per User (ARPU) at its current value. However, when it comes to data pricing, they seem to have lost the plot. Let’s use my price plan as a guide.
With O2 Ireland I essentially pay €10 a month for 1 GB of data.

Now I don’t know about you, but for me, a Gigabyte of data is quite a lot– about 250 MP3s– every month. Even if your iPhone’s battery could hold the charge, your phone would literally melt with this amount of data! Fundamentally what this means is that O2 have given you all the data a normal person could possibly
process in a month, for the very low price of a tenner. And I’m sure they are aware of how easy it is to lower the price a consumer pays for a service, and how difficult it is to increase it.

So it would seem that all of the promise of future earnings from Data (SMS & MMS excluded) comes down to a tenner. That’s it. All the money spent on 3G licenses, all of the investment in new technology, the man centuries of blood, sweat and tears, boils down to a ten euro charge to the consumer.

So with market saturation a reality, data revenues being sold off for a tenner and retail customers with decreased spending power, where is future revenue growth going to come from? Well, I think it’s from voice. And I don’t think it’s because we are going to talk to each other more. After all, I think
the past decade has taught us that we don’t like talking to each other very much. It seems that we would rather deal with frustrating web user interfaces than talk to a real, live customer service rep.

I think that there is new era of internet applications upon us- applications that are controlled by voice rather than by keyboard. Network operators are in a unique position to take advantage of it. Imagine controlling your Facebook updates or booking a hotel online by just looking at your screen and talking.
It is the iPhone application development environment working alongside the recently announced stereo Bluetooth that will make this all possible.

What the operators need to do is provide the backend infrastructure and APIs so that Internet application developers can access core functionality. Such services could include voice recognition, access to CDRs, the ability tomake and receive calls, and other IVR functions. In my view, operators should make no attempt to develop or deploy applications themselves, they should simply make the infrastructure available to the army of developers that is eagerly waiting.

Something that operators need to be careful about is price. There should be absolutely no barriers to any application developer. Applications should be free to use, with the operator making revenue on the minutes clocked up when users access the application. It is my belief that if the infrastructure is
easily available, independent developers will create thousands of applications in arenas that we could never have imagined, earning billions for operators worldwide.

Apr 22

6a00e54f09f406883401156f392b37970c1Now, I understand the need for online security –after all I worked in the area for over 5 years at Baltimore Technologies. However Ulster Bank’s Bankline has the most frustrating levels of security I have ever seen. The following four items are posted out to the customer:

  1. A smartcard reader
  2. A separate letter with the actual smartcard
  3. A separate letter with a onetime pin for the
    smartcard
  4. A separate letter with a onetime 10 digit activation
    code for the service

Now, it may seem sensible to post these all out separately, so that if an individual package was intercepted, not all the information would be available. However, it doesn’t make any sense if they all arrive on your doorstep at the same time, as they did in my case.

In addition to the above, you then need to:

  1. Change the pin on the smartcard
  2. Enter your customer ID
  3. Enter your user ID
  4. Enter 3 random digits from a different pin
  5. Enter 3 random letters from a different password
  6. Enter a new pin
  7. Enter a new password
  8. Enter your activation code

Give how insanely complex and lengthy this process is, you would have thought that the Ulster Bank team would have pulled out all the stops to get the usability perfect. But alas no. When entering pins or passwords, the system does not automatically progress to next input box. So you need to enter one
digit followed by tab, then the next digit. To make matters worse, it asks for the PIN in a random order.

Unsurprisingly I didn’t get through the entire process successfully and locked myself out. However 10 minutes on the phone on Monday morning with a very helpful Ulster Bank employee got me up and running. I still haven’t figured out how to transfer money and have a running wager as to the number of pins, passwords and devices that it will require.

If the same levels of security were applied to their branches in the real world, then you would be forced to ait as they flew a military plane to a secret location on the other side of the planet to bring back the money!

There has to be a balance between usability and security. Normally, security gets in the
way of what the user wants to do. Therefore, if you need a highly secure system you have to be prepared to put in the extra time and effort required in order to make it usable.

May Update

After one month of using it they have forced me to change my password. I can only hope that they are not going to do this every month. Changing passwords this frequency can only result in users writting them down thus reducing the overall effectiveness of the security.

Apr 21

6a00e54f09f406883401156f3da90a970c2

Loopthing is an online business network that lets companies store all their business information on one profile page. It’s kind of like the Golden Pages, Facebook, Linkedin, Youtube and Flickr all rolled into one. Companies can upload business info, stick up staff photos and media files, create a file depository and list business hours, all in one place. As well as providing this type of information, helpful to customers, Loopthing also allows businesses to network with one another by listing other companies as friends and fans. Phil recently set up RevaHealth on Loopthing, have a look at it here to see how it looks and works.

As the site is currently in beta, loads more features are still to be added, and Loopthing are encouraging users to make their own suggestions that may be encorporated into the site.

preload preload preload