Skip to content

Samasource: Outsourcing as social enterprise

One of my clients (Twomile Heavy Industries) is building a large website.  He is involved in the non profit technology world (NTEN, CTNC, etc), and ran across Samasource, which is a social enterprise to bring outsourcing work into the developing world.  And not just Bangalore–they have work centers in refugee camps. They will be providing some testing services for this project.

Samasource offers a wide variety of services, all via screened partners.  I seem them as a cross between Odesk (which an interviewee touchs on here), Elance (which I joined, mostly to see what kind of jobs are available) and Kiva (which I learned about via Andrew Leonard).  See Samasource’s take on comparisons to Odesk and Elance in their FAQ.

What a great idea!  Very ‘the world is flat’.  This type of social enterprise overcomes my main objection to Kiva, because Samasource could provide a cost savings to their clients; compare that to Kiva, which provides no monetary return to lenders.

Anyhow, I’ll try to update when I’ve actually engaged with the folks that Samasource led us to, but it was such a cool business model I had to give them a shout out.

[tags]social enterprise, outsourcing, developing world[/tags]

NearlyFreeSpeech.net: pay only for the hosting you use

I had a friend tell me about NearlyFreeSpeech.net. Much like Amazon’s cloud computing services, you only pay for what you use.  Unlike Amazon, there’s no complicated infrastructure or proprietary protocols to get familiar with.  I doubt it has the reliability and scalability of Amazon either.

The pricing is pretty crazy: a penny a day for a website, $1/GB for your first GB of transfer, etc.  There’s a calculator to give you an idea of what you’d pay.

For a certain type of user, who my ‘web presence in two hours’ method just won’t work for, and who can use time in lieu of money, this seems like a great solution. I’m thinking, for example, of non-profits that are just trying to get a web presence and who don’t want to use one of the blog sites for reasons of design control.  If all you have is a static site, this can be very affordable:

“Static sites don’t have any baseline charges at all; you pay only for the storage and bandwidth you use, making them incredibly affordable if you’re on a limited budget and you’re working with a prebuilt website like those produced by many of the most popular web design programs.”

I don’t have any idea what kind of support or uptime they offer, but I love the idea of hosting that might start at $3/month, but can scale up easily and transparently.  They’ve been around since 2002, so they must be doing something right.

[tags]hosting, don’t buy what you can’t afford[/tags]

Using APIs to move time entries from FreshBooks to Harvest

I recently was working for a client who has their own time tracking system–they use Harvest.  They want me to enter time that I work for them into that system–they want more insight into my time use than monthly invoice. However, I still use my own invoicing system, FreshBooks (more on that choice here) and will need to invoice them as well.  Before the days when APIs were common, or if either of these sites did not have an API, I would have had three, equally unsavory, choices:

  • Convince the client to use my system or at least access it for whatever data they needed
  • Send reports (spreadsheets) to the client from my system and let them process it
  • Enter my time in both places.  This option would have won, as I don’t like to inconvenience people who write me checks.

Luckily, both Harvest and FreshBooks provide APIs for time tracking (Harvest doco here, FreshBooks doco here). I was surprised at how similar the time tracking data formats were.  With the combination of curl, gnu date, sed, Perl and bash, I was able to write a small script (~80 lines) that

  • pulled down my time data for this client, for this week, from FreshBooks (note you have to enable API access to your account for this to work)
  • mapped it it from the FreshBooks format to the Harvest format
  • then posted it to Harvest.

A couple of caveats:

  • I still log in to Harvest to submit my time (I didn’t see a way to submit my time in the API documentation), but it’s a heck a lot easier to press one button and submit a weeks worth of time than to do double entry.
  • I used similar project and task codes in both systems (or, more accurately, I set up the FreshBooks tasks and projects to map to the Harvest ones, since FreshBooks is what I had control over).  That mapping was probably the most tedious part of writing the script.

You can view my script here, or at least a sanitized version thereof.  it took about an hour and a half to do this. Double entry might have been quicker in the short term, but now I’m not worried about entry mistakes, and submitting my time every week is easy!  I could also have used XSLT to transform from one data format to the other, but they were so similar it was easier just parse text.

[tags]getharvest,freshbooks,time tracking, process automation[/tags]

Best Consulting Sales Pitch Ever

I heard this at a presentation about Mule (an enterprise service bus) at BJUG tonight.  The presenter, Rich Remington, at the end of the talk, put up a slide detailing a contest.  Anyone who emailed him with a use case that Mule might be able to help with won a chance at a free lunch and 1-2 hours of free consulting about the use case. You have to email him within 48 hours of the talk.
What a great idea!  Not only does he get to pick a use case that Mule can help with, he also gets a chance to pitch his services, and show his value to the client.  And he gets a list of possible clients–people who know about something about Mule and think they might have a problem Mule can solve.

The contest winner gets more than a free lunch out of it too–the chance to pick an expert’s brain for free for a couple of hours can be worth quite a bit.

Win-win, for sure.  What a great idea for anyone consulting in a specialized field!

[tags]mule,rsi[/tags]

FreshBooks Review: An Invoicing System for Freelancers

Last November, I started using FreshBooks (full disclosure: if you click on that link, sign up and end up paying them money, I get some money), which is online invoicing software… Wait, let’s back up a minute.

When I started contracting and consulting (oh yes, they’re different), I originally was doing all my invoices in Word docs (actually, OpenOffice Writer), and it seemed natural to track my time there as well. Don’t repeat yourself, right?

After a while, it was tedious to have to open up each invoice every time I switched the client I was working for, so I started using an OpenOffice Calc spreadsheet. On the left hand column were dates, and on the top row were projects/tasks (“work order 13”, “troubleshooting database performance issues”). I ended up having a second row, which was client identifier.

This worked well for a while. When invoicing time came around, I would take the hours and task data from the spreadsheet and put it in the custom invoice. I’d export the custom invoice as a PDF, and put it in a directory. When the client paid, I’d move the invoice to a ‘paid’ directory. This differentiation let me send gentle reminders to clients who hadn’t paid yet.

I realized early on that this wasn’t the most efficient system. Several times, I did research on invoicing systems. I looked around SourceForge and FreshMeat, but the invoicing systems I found there were aimed at invoicing for products, not hours. I had a friend who’d used GnuCash but it seemed to be so much more than I needed.

So, each time, I went back to my old friends, the spreadsheet and the word document.

Mid last year, I was slammed with work. This made me realize, again, how inefficient my invoicing system was. I thought, ‘hey, I’ll outsource it’. A friend had a good person doing some administrative work for him. I hired her to do my invoicing, once a month. I talked her through my system, and she got it. I double checked her first invoice, and it was great. The price was reasonable, I could still use my familiar system, I was happy.

Then this lady decided to raise her prices fifty percent, in a rather high handed and arbitrary manner. Now, I was not a big client. Frankly, I can understand how 1-3 hours of work a month was not very attractive (though I did throw her some research work at least once). However, I was slightly offended at the price increase, and decided to take my work elsewhere. This shows the power of the initial price, because if she’d quoted the hourly fee at the higher rate originally, I would not have blinked.

I tried to find someone else to do the job. I found a relative, who could do the job, but required a fair amount of hand holding. The relative kept talking about the automated accounting systems she had used in the past, so I undertook my search again.

This led me to last October. I looked around for web based invoicing system that would work with me the way I wanted to work:

  • mostly time and materials billing
  • some fixed bid, including for clients that I do t&m for
  • varying hourly rates
  • ~10 clients
  • pdf invoices I could email
  • web based
  • time tracking including
  • professional looking invoices generated

I narrowed it down to three contenders (this was as of October, 2008; there may be more now):

I took one look at QuickBooks Online, saw that it was IE only, and discarded that option (I may run Windows, but I want to support the open web).

I spent significant time investigating both Cashboard and FreshBooks. I liked the Cashboard interface better, but there was a huge stumbling block. Some of my clients have both fixed bid and t&m work, during the same month. I don’t ever want an invoice to show how much time it took to do a fixed bid project–that’s my business and not the client’s concern (that’s why it is fixed bid). Cashboard had no way of putting both a fixed bid project and t&m work (which must show hours spent) on the same invoice. I even asked Cashboard support about this, and got this answer back: “At the preset(sic) time there is no way you can show time for some projects on an invoice, and hide it for others.” Updated, 4/30/2009, 20:25: Apparently I was wrong, Cashboard can do both types of line items on the invoice; see discussion below.  Now I’m not sure exactly the source of my choice of FreshBooks over Cashboard.

FreshBooks lets you do exactly that, so I signed up for their free account (full disclosure: if you click on that link, sign up and end up paying them money, I get some money). And I’ve been using it since last November. After I decided to use it, I upgraded to get more client accounts.

In general, I’ve been happy with FreshBooks. It is always an adjustment to change your business processes and/or software but I’ve been happy with a lot of what FreshBooks has to offer.

First, though, the gripes and caveats:

FreshBooks is not a full accounting package (and they don’t pretend to be one). I still don’t have one–other than the accountant who does my taxes. This means that I don’t have a precise view of my business’s health all the time. I do find out my profit and loss numbers once a year (tax time), and I find that is enough for me. The business’s expenses and income just aren’t that complicated. I had about 30 deposits into the business checking account, and about 50 checks written against it (and a number of EFTs and fees as well).

The web interface is cumbersome and non-intuitive at times. It can be learned, but the crazy urls and heavy use of javascript are occasionally issues for me. For example, editing time that you already have entered, especially changing the day the time was entered for, took me a while to figure out. I also have to re-login to my account every day, even if the browser window has been open for the entire time.

There is no free widget/desktop app for Windows XP users to use for FreshBooks time tracking (you can always use notepad). There is one you can pay a modest fee for. I think it’d be cool to write an AIR FreshBooks time tracking app–maybe sometime…

What I like about FreshBooks:

This last quarter I qualified for the report card, which is free quarterly data comparing your invoicing statistics with others in your industry. Statistics include number of invoices, amount invoiced, % revenue from new clients, and average time to collect payment. This data is great, and I don’t know how I’d find it otherwise. (As an aside, one of my other project ideas is to have a local Boulder/Denver survey of rates for web software development. I’d pay for that–would you?)

I like the reporting available, including which hours have been invoiced and which haven’t (though I have issue with a fixed bid project that I’ve invoiced, but can’t seem to mark invoiced). If you had more than one employee, this reporting would rapidly increase in value.

The cost is reasonable–I have a Shuttle Bus plan, which is 14 dollars a month. (My bank does charge me a bit extra, because FreshBooks is a Canadian company).

They have a great blog.

FreshBooks has an API, which lets you develop any number of widgets (including the time tracker mentioned above) and/or access your data from other programs.

I want to emphasize that the FreshBooks invoicing software is no one-size-fits-all solution. I am running a one person software/consulting business with a fairly stable set of clients and minimal expenses. FreshBooks has many features I don’t use (postal mail invoices, basecamp integration, expense tracking, estimates).

The biggest component that I don’t use is client login. Freshbooks makes it easy to create client accounts. Clients can then login and view documents, see outstanding invoices, contest them, and even pay them with online payment systems. This seems nice, but doesn’t fit with my client expectations. I may try this with new clients, but I hate to ask someone who is paying me money to login to yet another system, just to make things easier for me. Besides, I like to thank my clients in a personal email around the first of the month (along with sending them my invoice)–it never hurts to thank your clients.

So far, FreshBooks has been a great choice for me. If you’re in the Excel/Word invoicing world, or have an invoicing system you’re looking to dump, check it out.

[tags]invoicing,business process, freshbooks[/tags]

Carbon Space: Coworking in Boulder

I listened with envy to Corey Snipes, a friend and colleague in Denver, when he talked about being a member of the Hive, a coworking space.  I have rented an office in the past, but always thought a coworking space was a no brainer business plan in Boulder, given all the tech startups, one person PR firms and entrepeneurial environment. After all, some of what I miss about being independent was that water cooler talk, or the ability to just bounce ideas off someone in real time.  (Yes, I imagine twitter fills that need for some.)  I remember a few emails floating around the New Tech Meetup mailing list, but never heard of a plan come to fruition.  But then again, perhaps I just discounted Boulder’s real estate market as a barrier to entry.

Anyway, today, Corey sent on an email announcing Carbon Space, Boulder’s very own coworking space.  Located off 30th street, between Valmont and Pearl, with plans starting at $199/month, I hope this space succeeds.  Hey, I may even check it out myself!  Visit the website for more details.

[tags]boulder, coworking[/tags]

Holiday gifts and why Moore Consulting sends chocolate

I’ve started a tradition of sending my clients a holiday gift. They all seem to appreciate it and I plan to continue for the foreseeable future. Sending these gifts is good for my business because the gift (in decreasing importance):

  • shows my clients that I appreciate them. I do good work, but lots of people do good work, and I want to show my clients how much I appreciate the opportunity to do business with them. Giving them a gift, no matter how expensive, pales in comparison to the amount I’ve billed them over the year.
  • strengthens the relationship. I’m selling not just the product of my time, but myself, and expressing gratitude shows another side of me that clean, well written requirements just can’t.
  • makes me stand out, at least among other software contractors. This is only anecdotal, but I have had clients remark on how few of their contractors send any kind of gift or card.
  • reminds my clients about me–some of the recipients might have not heard from me in months, so the gift is a reminder of my services.

It’s also good for me, for the following reasons:

  • Gratitude feels good
  • It’s fun to pick out gifts
  • Going over invoices to get addresses serves as an excuse to review all the work I’ve done, as well as goals I may or may not have accomplished.

In 2008, I picked chocolates from It’s Only Natural Gifts, because I wanted to support a local company and their product looked good. They made it easy; all I had to do was give them a spreadsheet with client addresses, messages and type of gifts, and a credit card number. I also sent a card to a client that I did a small amount of business with.

I recommend doing this for your clients next time the holidays come around.

[tags]holiday gratitude[/tags]

Why aren’t you using Google Website Optimizer?

I’ve been using Google Website Optimizer (GWO) in one form or another for over a year now, and I am quite impressed.  I wish everyone would take a look at this technology.

The short version of this post is: if you have a website that gets some traffic, and actions that you want a user to take, such as buying something, you should use GWO.

OK?

Let’s talk about GWO a bit more for everyone who didn’t leave after the executive summary.

First, what is GWO? 

It is a free add in to your website that lets you test the effect of content changes on desired user actions.  For example, you can test the impact of different headlines (‘Sign up for more information’ or ‘Free Newsletter!’, etc) on a newsletter signup page to see how it affects how many users sign up.

I could try to write about it more, but instead, here’s a video that explains how to set up a test; you can watch the first 45 seconds to get a good overview of what GWO helps you test, but the whole video is worth viewing.

It’s important to note that GWO is javascript based (as opposed to some other tools like SiteSpect, which uses DNS proxying, according to a conversation I had with someone who worked there).  There are other tools out there which may be better fits for your needs.

Now, how should GWO be used? 

This tool should be used to optimize a specific action that you want the user to take, and that action should be something on the web.  Examples of actions that GWO can help optimize include:

  • sign up for a newsletter
  • visit a specific page
  • order something
  • give you their contact info
  • watch a video
  • download a file

GWO is capable of handling more complicated scenarios too.  You can, with a bit of javascript hackery, test button click conversions, or any other javascript event.  I’ve worked on systems that tested various form elements (requiring different fields to register, for example).  The requirement for that is a flexible back end, and a javascript front end that can handle re-filling form elements on error.

Next, why would you avoid GWO?  There are a number of scenarios where using this tool just doesn’t make sense.

No actions that you want the user to take on the web

This is the biggest set of sites for which GWO does not make sense, and my blog falls into it.  My end goal is really to talk to someone, on the phone or over coffee, to ascertain whether or not I can help them with my services.  That’s a hard conversion to track.  If you really want to get people talking on the phone, that is a conversion that GWO doesn’t help track either (though it’s possible you could do something with VOIP or different phone numbers and cobble some kind of conversion tracking together).

That’s not to say that sites in this category can’t use GWO.  For instance, I wrote an article long ago about a java technology called JAAS, and it’s still pretty popular.  I’ve been doing some testing on that page to try to drive traffic to this blog, where a big chunk of my current writing is happening.  I was able to increase conversion about 2.5 times (granted, from a small base–0.7% to 1.73%).  I could definitely try to do some optimizations around ad placement or contact calls to action.  The main reason I haven’t is that I still believe my best chance at conversion is referral or word of mouth, not better text on a website.

Javascript free site

If you need a javascript free site, or focus on users who don’t have javascript capabilities (those who use screen readers, for example) or browsers that don’t support javascript, then GWO isn’t a good fit.  That doesn’t mean you should give up on optimization, it just means that GWO isn’t the solution.

Google trust issues

For providing this valuable service, Google could get a look at a lot of interesting data including how many websites optimize, what site admins are tracking, and what URLs those admins consider important.  I have no idea what Google actually does with the data–the company may not track the data at all.  I did a bit of looking on the GWO forum, but didn’t find anything useful.  However, if you don’t want Google having access to this data, then you shouldn’t use GWO.  I don’t use Google Analytics for this very reason.

Speed is essential

Since this is a javascript download, it will affect page load time.  From Firebug, I see that it is a small download (7KB total, over 3 requests–for the test page).  This is not significant, but if you’re aiming for the fastest website, or you’re aiming at users on a slow connection, you might steer away from GWO.

Not enough traffic to your site

If you don’t have much traffic, your effort will be better spent driving more people to your website.  Whether you use search engine optimization, TV advertising, pay per click campaigns, or my favorite, regularly posted organic content, traffic is a prerequisite to using GWO effectively.  How much traffic?  Well, I was able to get conclusive results in my JAAS experiment with 3466 views and 48 conversions in just about 3 months.  That’s about 40 views a day.  I was not testing a ton of variations in my content (only 3).

Your site doesn’t let you put custom javascript on pages

This is the case with wordpress.com blogs (wordpress.com doesn’t allow any custom javascript, due to WordPressMU’s architecture), and I’m sure is common among other ‘build a website easily’ systems.  Not much to say about this, other than that if you’re really using the web as a channel, and not just an online brochure, it might be worth moving to a more flexible site.

Not enough time

I don’t believe this is a valid excuse–spend 7 minutes and watch the video; I believe you’ll see that this is worth a bit of investigating if the above scenarios don’t apply to you.

I can’t think of any other reasons not to use GWO.  Feel free to leave a comment if you feel I missed something.

What are your next steps?

Well, if I’ve convinced you that GWO is worth looking at, you might want to do a bit of further research. Here’s the website optimizer homepage.  Here’s the official GWO blog.  Here’s a great article full of tips for GWO.  There’s a book called Always Be Testing that seems pretty well received that you might want to check out.  I have not read it.

Disclaimer: I’d love to help you out with this (if interested, contact me), but firmly believe that almost anyone can take 30-45 minutes and implement this on their website.  I think GWO is great, cool, useful technology and want to see it used more to make the web a better place.

Open Source Ad Server Roundup

I found this vlog post about a social network building their own advertising infrastructure to be interesting.  Basically, Dogster founder Ted Rheingold (whose lapdog gives him a Bond-villian-like presence during the interview) argues that building your own ad pipeline is harder than using an ad network, but is far more profitable and sustainable.  Ad networks are easy to slap in and give a startup instant revenue, but automated content targeting leaves something to be desired.  In addition, there’s no relationship built between the content purveyor and the advertiser, which leaves the content purveyor more vulnerable to advertising cutbacks.  Advertising salespeople are the easiest to hire, and the easiest to fire, as they should pay for themselves.  (As an aside, here’s an interesting article by Jakob Nielsen talking about how “paid search confiscates too much of a website’s value.”)

I passed it along to a friend who is building a directory site around local Colorado farmers and food and he mentioned some interest in it.  On my own, I took a look around to see what was available for self managed website advertising, and was surpised at the paucity of good open source ad serving software out there.  After all, advertising is one of the great business models (of the web, and of all time); I expected to see a bit more code out there.  But perhaps ad network software isn’t anyone’s itch.  Or maybe there’s no demand for it–sites are either small enough to use Adsense, or they are big enough to pay for a commercial ad server.  Regardless, here’s what I found:

There were a number of projects on source forge that seemed appropriate, but nothing that was actively maintained and useful (lots of projects started in 2001, and dormant).  Adsapient seemed the most useful, but they say on their website: “AdSapient Ad Server is an open source ad server that can be used as a platform for building your own ad serving technology. We recommend using it for educational purposes though.”  Not exactly a ringing endorsement.  Update, 4/27/2009: Someone who worked on Adsapient has started a new ad server.  More information below.

For some reason, this didn’t show up on my search of Sourceforge, but OASIS is definitely an ad serving and management solution.  Last release was 2007.
There is a company that offers hosted OASIS and OpenX ad serving solutions, but they’re rather pricey.  Another (closed source) option is Google’s ad management solution.

The best solution I could find was OpenX.  They have a demo site that works, they are continuing development as you read this, they have a free hosted solution good for up to 25 million impressions a month, and at that time, you can choose to either pay them a monthly fee, or download, install and configure the software and run the ad server on your own box.

Now, I haven’t spent enough time with the OpenX UI to know if there are dealbreakers in there, but based on pricing, ongoing development effort and freedom, I would definitely recommend OpenX.  Here’s an interesting discussion comparing the hosted OpenX solution and Google Ad Manager.

[tags]google ad manager,openx, oasis, ad serving, hosted ad solutions[/tags]

The Gift Of Negative Feedback

“Success is a lousy teacher. It seduces smart people into thinking they can’t lose.” – Bill Gates

One of the hardest things to do as a consultant is to admit I screwed up. After all, I’m brought in to solve problems that the client could not or would not address. I’m paid a lot of money (compared to employees, not hedgies). I have a reputation to uphold–that’s how I sell myself.

But, of course, I’m human, and make mistakes. One of the greatest gifts a client can give me is honest feedback on how I erred. It’s a gift because

  • I learn something
  • it takes the client’s time
  • it takes the client’s emotional energy
  • it would be so much easier for the client to just say nothing and not use me again

Did you catch that? Instead of the usual transaction which is trading my knowledge and time to the client for money, the client is giving me knowledge.

It’s precious.

But don’t think it’s easy!

I screwed up recently and was given the gift of negative feedback. My first instinct was to reach for the requirements, or review emails, or figure out some other way to prove to the client that I was not in the wrong.

But the simple fact is that, if the client isn’t satisfied, a consultant is not in the right (I’m leaving aside clients that you should fire). It’s easy for me to think I’m selling hours and knowledge, but what I’m really selling is satisfaction. I don’t want to take a red cent from someone who isn’t satisfied with my work.

So, I had to sit and breath, walk and think, and just generally process this gift. After having done so, I communicated with my client, re-iterated my goal of his satisfaction, and proposed a compromise on my invoice. He was happy with that and we went on to do another project. I’m hoping he’ll consider me for more work in the future, but even if he doesn’t, the lessons I learned were well worth the cost of the compromise.