Thursday, June 12, 2008

Freshbooks

Case Study: Mac House Calls and Freshbooks!

About 3 months ago we implemented our new online invoicing system using a service called Freshbooks, operated by a small company in Canada. We are delighted with the outcome!

Background:

Mac House Calls is an IT Services Company. We serve businesses and residences throughout Orange County, CA. Our mission is simple; we're here to help our customers derive the absolute maximum value they can from their Macs. Like any business, we need to Invoice and get paid! A large part of our business is field based, meaning we're out with our customers more so than back in the office. We needed a system that would allow our consultants to do things like record invoices, record their time, and receive payments while out in the field.

How we'd been doing it:

About 2 years ago I made my first attempt at automating our invoicing process. I devised a system that essentially ran on the Palm Operating System using a software package from a Northern CA company called Stevens Creek Software. The overall system was actually pretty slick. Our consultants were able to use the Palm Software on their Treo's to create invoices and timeslips, complete with job notes. Through a custom interface the information from the Palms was imported into our Accounting System (MYOB). The nice part of this solution was that it was really easy to create invoices on Treo's; just a few clicks did the trick. While this was a giant step forward from our previous system (We did it on paper with carbon copies which were hand entered into the Accounting system), it still had numerous shortcomings:

- It was very difficult to enter Job notes. Typing on the Treo keyboard was still cumbersome, as a result we found that our consultants often waited until the end of day to do this, rather than at the time the work was complete.
- We had no integrated way of handling Credit Card payments. We mostly ended up calling these in by phone.
- The Palm based system did not make it possible for us to leave the customer with a receipt at the time services were rendered. Instead, receipts were emailed out from our Accounting system after having been imported.


These shortcomings ended up rendering this method more labor intensive, and error-prone that we really wanted, so at about the time we were ready to retire the Treos (to be replaced with iPhones), I started looking for another solution.

My iPhone made me do it.

Readers of the blog will note my iPhone Love-Hate paradox. Notwithstanding my fondness for the Palm platform, when the iPhone was first announced last January, it became clear that we would sooner or later make the switch.

My original plan was to implement a straight replacement for our Palm based system, but with the iPhone instead, and without making the same mistakes again. Since there was no SDK for the iPhone, and as a result no real 3rd party application support, I decided to look for a Web based solution that we could run on the iPhones under Safari.

I really looked high and low for about 2 months before I settled on Freshbooks. In the course of assessing the various options and alternatives I came to realize that the idea of running this on the iPhones was just not realistic, and moreover unnecessary and counterproductive to the real objective.

After really thinking it through, this became my shortlist criteria for selection:
1) I needed a web based service that was Mac Friendly (This immediately excluded Quickbooks Online, with only runs on PCs)
2) The system needed to support the creation of invoices, and timeslips
3) I needed it to work for multiple consultants, each with their own login
4) It needed a thorough API so I could integrate it with MYOB.

For record, I looked at the following systems before I ruled them out:
- Blinksale (Didn't support multiple users. No real concept of "items", but did have a Nice API)
- Quickbooks Online (Not at all Mac Friendly, could not find evidence of a real API)
- NetSuite (Too Fat)
- and few other alternatives that essentially left me unimpressed enough that I don't even remember them now.
I also considered developing our own solution in-house using Web 2.0 techniques and MySQL, before I realize it would just be way too much work.
Before I settled on Freshbooks I decided to try dry-run it first. I signed up for the free version, and gave them a Call. Much to my surprise, a real person answered the phone. It was Aaron at Freshbooks. I explained what I wanted to do and he immediately set up a trial account for me with enough capacity to handle our large customer database. He also got me started with the API, and helped me out importing our seed data into Freshbooks.
I can not emphasize enough how impressed I was with how helpful and cooperative the Freshbooks staff and management was at this key juncture. I have not dealt with a service provider in my recent experience that has been this interested and involved in my needs as a customer.


Our New and Impoved Process:

Thanks to Freshbooks, here is our new and improved Process.

Step1: A customer calls for an appointment. If the customer is new he's added to our MYOB System. A drag and drop interface from MYOB simultaneously adds him to our Apple AddressBook, and into the Freshbooks database via the API.

Step2: The consultant finishes the work and creates an entry in Freshbooks accordingly on the spot. We are able to accept any kind of payment, including Credit Cards payment via the included gateway interface freshbooks has with Authorize.net. The customer receives a printed invoice on the spot, and an email with a link to his invoice online.

Step3: Via a custom interface using the Freshbooks API, each Freshbooks invoice created for the day is imported into our Accounting System (MYOB)


That's IT! This system has really worked out for us. We're pleased with how the team at freshbooks worked with us to address whatever issues came up while working through things. Our web based system is more reliable and less prone to errors than our previous system. The Freshbooks interface is fast and intuitive. The API is built using XML Standard methods, so it was easy to understand and easy to work with using "C" as well as AppleScript. Our customers are impressed with our streamlined processes, and our bottom line benefits from the efficiencies we've realized.

Browsers for your mac

We've been advising customers for some time now to run Firefox as their main browser. IE5 for Mac has been dead for some time, and it is an increasing liability. It crashes on numerous sites, including ironically msn.com... Safari is fast, stable and secure, but it has a history of compatibility problems. Over the past few years whenever a customer calls us about a site that won't work right with Safari, we suggest downloading Firefox. This remedy is almost 100% successful.

To Apples credit though, such calls are increasingly rare as Apple continues to improve Safari with each OS upgrade and update. The problem though is that the improvements to Safari are bundled with and apparently integral to the OS. This means if you're still on 10.2 or 10.3, there is simply no way to run the latest and greatest Safari. Not a big deal? Perhaps it is. Perhaps it isn't. Meanwhile, the latest version of Firefox has been continually available for the Mac on every version of the Mac OS back to 10.2 (and every version of the Windows back to Windows 98!). If you just want a great browser, it's a lot easier to download and install Firefox than it is to upgrade the whole OS!

With Safari 3.0 which is currently available in beta form on Mac OS X 10.4, Windows XP and Windows Vista, and will soon be available on iPhone, then Leopard (10.5). It appears that Apple is going to get serious about the browser market. If Apple takes a hint from Firefox, and continues supporting and providing updates to Safari that do not abandon prior versions of the OS then we might be really getting somewhere. I'm hoping for the best. Come-on Apple - You can do it!


Comments?

Joe's Favorite Shortcuts

Check these out. As I think of them I'll share my favorite Mac keyboard shortcuts here:

Option-Command-Drag - I love this one! The utility of Aliases in the Mac OS never cease to amaze me, but the way it creates aliases in the same folder as the original, and with the word "alias" appended has never resonated with me. By holding down the "Option" and "Command" keys while you drag and drop a file, an alias of the same name is created at the destination.
Note also that using Shift-Command-Drag - A "move" of the file is forced. Holding down just the Option key forces a copy.

Shift-Command-Y - Love this one too! Select any text in whatever program you're currently using and hold down the Shift, Command, and Y key. It will create a sticky note with that text in it.

Command-Shift-4 (and friends). - Let's you take a screen shot of any area of the screen (Command-Shift-3 gets the whole screen). When you hold down the key combo you get a little cross-hair curser on the screen. Click once, click twice, and you'll get a file on your desktop called Picture1.png. The extension might be different depending on what version of OS X you run. If you hit the space-bar instead of clicking then you get a little curser that looks like a camera. Clicking a window will create a screenshot of just that window. Hold down the Control key before clicking and instead of a file being created on your Desktop, the screenshot will be copied to the clipboard. Very Handy! I Use these constantly.


Comments?

Windows on you Mac: VMWare Fusion for Mac, and Crossover Mac

Way back in August of Last Year when Windows on Mac was hot and new I discussed BootCamp, Parallels and WINE. Fast forward to now, and we have a few updates.

Very, VERY high on the cool scale is Crossover Mac, from Codeweavers. Crossover is a commercial implementation of WINE. It is intended to let you run Windows Programs on your Intel Mac, WITHOUT Windows. If that's not thrilling and exiting for you, then unlike most of the people I know, You probably have a life. For the rest of us though, this is the Holy Grail of PC/Mac Software interoperability. It means if you have an application that only runs on Wiindows that you absolutley need, you can still keep your Mac, and simply run that bad-boy, as required, right alongside the rest of your Mac Applications.

Unlike most things that sound too good to be true, it actually is true! We tried it. But there are a few catches.

Foremost, is that what belies this product is REALLY hard to do. It is just super sophisticated software engineering - in effect a rewrite of the WIN32 API, so, you can expect a less that perfect experience, and a few glitches as you go. So far though, Jeff has had a chance to install and try it since March and he says he's...

"Pretty Impressed". "Installed Office 2000 and it ran straight-up on the Mini. It appeared Fast and Stable".

That's a pretty solid endorsement.

Codeweavers has a creative strategy for mitigating the compatibility issues with various Windows programs, and they seem like a pretty good company. Basically the idea is that they work from a list of Applications with the intent of improving Crossover to work with the Applications on the List. You can check the database at any time and find out how well (or poorly) your program is know to run. If your program is not on the list, it might very well run perfectly - it just has not been evaluated so its simply not reflected in the list. They prioritize the list, in part, according to a financial incentive scheme supported by pledges. The more dollars pledged to any given Application, the greater priority it receives. I like this model, and it seems to work! As of this writing there are 13 "Gold" level Applications on the List. These are the programs considered to be totally compatible.

Thanks for checking in. I'm planning on doing the next post on VMWare.


Comments?

Running Windows on your Intel Mac

Note: This was entry was originally posted at our web site at www.mac-house-calls.com on August 6, 2006. At the time of the original posting running windows on your Mac was pretty much brand new. After re-reading this posting I decided the information on it is still largely relevant, so I'm using it to launch this blog. Follow-on posts will add more info shortly.


Hi, and Welcome to our inaugural blog entry. This Monday (Aug 7, 2006) Steve Jobs completed the transition of Macintosh to the Intel line of processors. The final entries are the Mac Pro, and the new XServe. These, finally replace the existing PowerMac G5, and G5 XServe respectively, thereby relegating the G4/G5 PowerMac computing platform to history. Wow!

We won't get into the tech specifics of the new Macs as this will be generously covered all over the internet already. Suffice it to say the processing capacity of the new machines is blistering!

The first intel based Mac Laptops were released last year. Seemingly as soon as the first laptops were on the street, intrepid souls sought to find a way to run Microsoft Windows XP on then. The very first attempts were met with resistance at Apple, but they quickly reversed their opposition with the release of BootCamp which adapts the EFI firmware on the Mac to allow booting into Windows XP.

In this hotsheet we'll share our experiences and observations setting up windows on a Mac. We've now setup a bunch of these, and even though I still don't like the Windows, it is BLAZING on a MacBook Pro.

There are two basic ways we're setting this up lately:

  • with BootCamp,
  • and using Parallels Desktop for Mac.

In both cases you need your legal copy of Windows XP (Home or Pro). With BootCamp there is no other cost. With Parallels, you have to spring for a copy of the software for $79.99.

BootCamp:

As we mentioned bootcamp allows you to restart with the Option key, and select a partition on your Hard Drive with Windows installed to boot from. Once your Mac boots into Windows it is really indistinguishable from any other PC running windows. There are some keyboard mapping issues, but frankly they are just cosmetic. Microsoft Windows Programs run at full speed, and are really, REALLY fast.

Out of the box there does not appear to be any way to access the files on the Mac partition of your hard drive directly, but installing "MacDrive" on Windows solves this handily. So, add another $49 to your budget, because this is pretty much essential.

Parallels:

Enter Parallels! This is a really cool technology. We got in on the beta some time ago, and I think we paid $39 to become a beta tester. Since then they've raised the price to $79. The Parallels software takes advantage of the built in virtualization capability on the new intel chips which in essence lets you turn one physical PC into several virtual systems, all running different applications and OSs. The Parallels Desktop software is the Mac OS X application that is used to setup and "tap into" the virtualization capability of the new Intel Macs.

This is pretty heady stuff, and it frankly simply was not available on the PowerMac based platform.

We've set Parallels up on several computers now, and frankly this is now our preferred way to setup Windows on Mac. The setup is a little cumbersome, but once its done it works really REALLY well! The Windows (guest) OS runs entirely inside a window on your Mac. Out of the box the interaction is clunky because you have to hold down control keys to release the mouse from Windows back to your Mac, but when you install the "Parallels Tools" that problem is solved, and the whole system works very seamlessly.

In the early versions of Parallels we noticed that performance was a little sluggish, and it also really slowed down the Mac. This appeared to be a problem with going into System Prefs directly from Parallels, rather than from the Finder. In the current version, Parallels gives you a warning when you try this, and effectively disallows it. You can switch between windowed mode to full screen mode, and the parallels software will fire up the fast user switching graphics effect to "cube" you over to Windows in full screen mode.

With "Tools" you can also set up your Macs hard drive to be shared with the virtual PC. On the PC side your Macs regular HD shows up in the Network Neighborhood. This means you don't need "MacDrive". This works well, but we still find it to be a little sluggish accessing the Mac files.

Beyond BootCamp and Parallels, WINE?

We've heard reports that Apple will NOT support virtualization in the upcoming version of its OS (10.5 Leopard). This seems unbelievable in the current climate of cooperation, and interoperability, but I guess I've seen weirder things, so we'll see.

Meanwhile, we're really excited about an open source technology that's been brewing for about a decade called WINE. I don't know what WINE stands for but you can bet it's WINdows something or other. Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems. That's what Mac OS X is, a POSIX compatible operating system. DarWINE is the OS X port of WINE.

Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop. WINE does NOT require that you install Windows!!!!

This a technology we plan to start testing in depth soon, and will be the subject of another Hotsheet in the near future.



Comments?