More Pricing Tweaks (What a Bunch of Incrementalists!)

Community, Debate, Project News, Pulse May 6th, 2008

posted by Jeff Standen

Putting a Price Tag on Bits and Bytes

Software is a tough business, but pricing software is an even tougher business. As obsessive full-time developers we often want as many people as possible to be using our projects, but we also have to strike a balance with the fact there are bills to pay and families to feed.

The price you’re paying for our software has to factor in the costs of ongoing development and support. In our case, the Cerb4 licensing cost is basically just passing around a (slightly-coerced) tip jar for people who like what they see so far so development can continue. As developers we like to constantly be stuck thinking about the future and what new things are possible from the pieces we’ve just built.

Customers tend to approach things differently. Very few prospective users are genuinely thinking about future potential when they see a price tag on software. They take a look through all the corners of a demo and website to get a feel for what is currently possible with the software – probably because they’ve learned over the years that developers can be incredibly undependable in their estimates about new development (and they’re right; but hey, we’re working with ethereal “thought stuff” here).

You’re probably thinking this lead-in sounds like a typical justification for raising prices, right? Well here’s the curve ball… we think we’ve been pricing Cerb4 too high based on its exciting future potential that (for the most part) only we can see right now.

A few months ago we switched over to per-user pricing because it seemed like a great way to offer a lower entry price for companies with few users, while companies with more users could contribute more (based on the theory software seats scale like office chairs). But that’s proven pretty artificial, and for these few months since that decision we’ve been dealing with several tough questions about per-user pricing, like: What if I want to deactivate workers who have left the company without deleting their history? What if we’re a small company that has dozens of volunteer helpdesk workers?

It has recently dawned on us that we’re just setting up an artificial obstacle for people with these worker limits. If you buy into our project, we want you to feel like you own the software. It’s not our style to litter the project with hooks and throttles just for the sake of cash flow. Just like overly-aggressive license validation procedures, it ends up punishing all the paying users out of the paranoia of going broke. The reality is that if we’re doing something genuinely useful we’ll find a way to keep the rent paid, the lights on and the fridge stocked. We may not become the next Microsoft or Salesforce.com with that mindset, but at least we won’t be holding you guys back when you decide to spend a few hundred dollars to use Cerb4 for your mission critical e-mail.

So here’s what we’re going to do: We’re going to remove the per-worker limitations for everyone. Those of you with 5 worker licenses are likely going “Woo hoo!” while those with 25+ worker licenses may be going “What the hell, Jeff?”. Please keep in mind what we’re trying to do here is for the project and community before ourselves, and the fact we may come off as manic-depressive in our search for ideal pricing from time to time has to do with the fact we’re developers, not prescient economists. We’re not fickle, we’re just incrementalists. Each tweak is based on a lot of ongoing observation about the impact of each decision in the real world (which is pretty hard to predict). We’ll continue to find ways to reward people who’s early contributions have helped us grow over the years.

The Impact on Owned Licenses

We’re setting the “owned license” base price for the project to $499 with no artificial limitations. We’ve brought back the small business discount for companies making less than $250,000 USD gross revenues per year which knocks 20% off the price (to $399). Educational institutions get a similar 20% discount (also to $399). Users upgrading from Cerberus Helpdesk 3.x get a 30% discount (to $349, the discount used to be 50% but it was against $995 for unlimited, so you’re still saving about $150 more from this tweak).

The Impact on “As-a-Service” Hosted Licenses

On the hosting “software as a service” end, we’ve stopped tiering pricing by users as well. The scaling issues we face in managing servers have very little correlation to total users, and more to do with how companies manage their e-mail behaviorally (e.g. never deleting spam, receiving lots of work-in-progress attachments). We’ve moved to a much more straightforward pricing model on hosting of just basing it on storage. All hosting plans from today will start with 5GB of storage for $49/mo. 5GB additional storage is +$25/mo and 10GB additional storage (prepaid) is +$42/mo. If this was purely dollars for hosted gigabytes it would be a bit expensive, but this covers the software, upgrades, support, phone support, backups, server monitoring at 4AM, and all those things which you’re glad we’re doing so you don’t have to.

With that Out of the Way

I can’t guarantee that several months from now I won’t be sitting here telling you something else based on future information and observations; but with all the information and history we have at our disposal right now we feel this is the best direction for funding Cerberus Helpdesk’s ongoing development (so we can continue to reach for all that exciting potential we’re always talking about).

If you have any questions about what we’re doing, how we’re doing it, or what we’re aiming for, ask away! If you’d like to rant, send me the URL to your forum thread and I’ll read through it and post my thoughts without getting defensive or cranky. Nothing is off limits.

Thanks!

-Jeff

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

4.0 Build 593 is the New Stable Release

Community, Project News, Pulse May 6th, 2008

posted by Jeff Standen

Alright! We’ve just done another full round of QA tests against Build 593 to confidently declare it stable. We’ve been using it live on our own helpdesk for about a week.

There are a couple dozens tweaks and improvements included, but our major focus was on bringing knowledgebase management back to the worker GUI, integrating the public knowledgebase with the Support Center (to remove the need for two public tools) and performance improvements.

We’ve also switched over to requiring MySQL 4.1 to vastly simplify fulltext indexes for quicker searches, to get subquery and transaction support, and to move forward with internationalization. It was really useful to gather community feedback about this change ahead of time in the voting booth on the forums.

When we had to shuffle some of our hosted sites around during the server emergency last week, we ended up temporarily putting more sites on a single server than we normally would have liked. It was interesting to observe that about 100 concurrent copies of Cerberus Helpdesk 4.0 ran very usably on a mid-range Debian box (Dual Xeon 3GHz, 2GB RAM, 2×500GB RAID-1). In practice, for that kind of load, we’d throw more memory at the machine and probably bump up the RAID concurrency. The hard disks are almost always the bottleneck if you can’t keep databases entirely in memory.

Naturally we’re not in the habit of overselling a machine’s resources, but it gave us the opportunity to look at bottlenecks with that many copies of Cerb4 running. We used this information to add some last minute performance improvements to Build 593. One of the most effective was improved database indexing on the message_header table – which is used to thread incoming messages with the messages they’re replying to, as well as to display the original headers while reading ticket messages. There were a couple other missing indexes, and a few places in the code we could reduce unnecessary queries.

For the knowledgebase, you’re now able to use nested categories again (as was heavily requested). The top-level categories of the knowledgebase are now called “topics”, and you use topics to decide what branches of the knowledgebase to display on your various public community tool instances. You can display more than one topic for a particular website. We’ve found it’s most effective to use your products and services as the basis of topics.

To take advantage of the new community tool changes you’ll need to go into ‘Helpdesk Setup->Community Tools’ and choose your knowledgebase topics to display for each tool.

You can find the full changelog for Build 593 in the forums.

 

 

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Guinea Pigs and Stable Releases

Community, Project News, Pulse March 25th, 2008

posted by Jeff Standen

Since 4.0 development has been moving so quickly, we’ve just had everyone pulling the absolute latest source code from Subversion (technically called the “HEAD” revision). This was a good thing during early development because it kept us all on the same page.

However, with 4.0 no longer in beta, we really need to improve this process so people know they’re running the latest stable code and not something we worked on 5 minutes ago, or bleary-eyed at 3AM. Most of the time we’re pretty thorough with our local tests, but they’re no substitute for the acceptance tests and browser-compliance tests Joe@WGM runs in Q/A. You guys have access to our main repository, so there’s no guarantee the absolute latest code has gone through Q/A.

Our philosophy with 4.0 has been to *not* make a big deal about point releases in an attempt to discourage ourselves from batching up functionality and fixes to make a “marketable release”. We want to give you real-time access to the fixes and features that you care about. Those of you who need a specific feature (or want to help test) can upgrade 5 minutes after we commit changes. Everyone else can be confident we’ve fully tested the incremental upgrade they’re going through.

It’s not that we haven’t been testing things carefully all along, but we haven’t been very good about telling you after we run all our tests.

So here’s what we’re going to do:

  • Every other Monday we’re going to make a new milestone build that will go through Joe@WGM’s entire acceptance and browser test suite. Anything that fails will go back to development as a top priority. This is pretty much how things work now anyway, but it leads into:
  • Once the acceptance tests all pass, we’ll update the latest “stable” build on our on-line demos, instant evaluations, hosted helpdesks and the downloadable ZIP file.
  • If you run Cerb4 on your own server, you can upgrade by simply issuing the command “svn -r nnn update” from your /cerb4 directory at the server console (where ‘nnn’ is the version number posted on the site). In Windows you can use TortoiseSVN to “Update to Revision” by right clicking the cerb4 folder in Explorer.

Thanks for being enthusiastic enough about the project that this is even an issue!

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Save 60% on the Upgrade to Unlimited Workers

Community, Project News, Pulse March 18th, 2008

posted by Jeff Standen

We’ve been asking you guys what you feel about the new $50 per worker pricing ($25 per worker on upgrades) since we made the switch. The change to per worker pricing has freed us from having to hold functionality hostage, since we really feel every feature is helpful to organizations of all sizes (heck, I use most of them on my own webmail!) So far the reception has been positive, but with a few lingering issues to work out.

The main remaining contention is about where the cutoff should be for unlimited workers. Many people feel that the cutoff being 50 workers is too high. It’s true that the average number of workers on licenses since we’ve been asking has been quite a bit less than 50. We can also sympathize with organizations that have a lot of community volunteer or part-time workers.

Looking at the data from recent orders, we feel a better cutoff for an unlimited license is probably around 20 workers. That still gives a good discount to smaller teams while keeping the price reasonable for larger teams. Unlimited workers after 20, coupled with a small business or upgrade discount, reduces the unlimited worker license by up to 60%.

We’ve decided to trial offering the unlimited license at 20 workers through April 15th 2008. The 50% discount for 2.0 and 3.0 license upgrades still applies as well. That’s $995 for unlimited workers on new purchases or $497 for an upgrade from 3.0. Both prices include all version 4.0 updates.

If you already purchased or upgraded to 4.0 and paid for more than 20 workers, contact us and we’ll upgrade you to an unlimited license at no cost. If you paid for less than 20 workers, we’d be happy to upgrade you to an unlimited license using your initial purchase price as a discount.

Thanks for the constant stream of candid feedback!

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

My Kingdom for an Umlaut

Community, Project News, Pulse March 12th, 2008

posted by Jeff Standen

I think we’ve solved most of the issues with special characters (such as umlauts) in Western, single-byte languages for Cerb4.

Cerb4 Build: 563

Due to a few lingering obstacles for full internationalization, we’re still using ISO-8859-1 encoding. That should completely cover English, German, Spanish, Italian, Norwegian, Icelandic, Swedish and others. It should mostly cover Dutch and French (with the exception of a few rare characters).

Warning! Dear Non-Techie friends, the rest of this post gets a bit nerdy.

The recent issues were caused by a couple things:

  • META/Content-Type: We were a bit over-eager and had the browser using Unicode (UTF-8) encoding while the data was still Western Latin (ISO-8859-1). Display-wise this is entirely fine because of backwards compatibility — but when input, like forms, was sent from the browser to PHP, it could include multi-byte characters that the database would split up into seemingly random single byte characters. This affected things like umlauts and the British pound sign, not just fully multi-byte languages like Japanese, Chinese and Russian.
  • Ajax/XHR: Modern browsers default their XHR requests (how Ajax happens) to UTF-8 encoding when no Content-Type header is provided. This is why even with ISO-8859-1 encoding, umlauts would break on dynamic functionality in the helpdesk (ticket peek, reply, templates).
  • UTF-8 vs Unicode: Unicode is a variable byte encoding which overlaps with ISO-8859-1 completely on the first byte. UTF-8 overlaps with ISO-8859-1 over the first 7 bits (which is basically all the characters printed on the keys of a standard US Keyboard, including the SHIFT characters). Extended characters, such as umlauts, are expected in a second UTF-8 byte (0xC3BC vs 0xFC).

We’d love to switch over to UTF-8 immediately and support almost every language, but here’s what’s in the way:

  • PHP6 is on the way with native Unicode support for all strings. This is much cleaner than anything we can do with the mbstring extension.
  • mbstring function overloading (e.g. substr() -> mb_substr()) can simulate native UTF-8 strings with PHP5, but it requires php.ini changes. These changes will usually affect all PHP scripts on your webserver. Under ideal conditions we can control this with Cerb4 and only affect our script. However, real-world conditions are rarely ideal and this would make for a terrible minimum requirement.
  • Our database abstraction (MySQL, PostgreSQL, etc.) makes UTF-8 support in the database layer more complicated. This would be much easier if we knew we were always dealing with MySQL 4.0+. We may need to make some tough decisions here (though they’d allow us a lot more efficiency on things like fulltext index searching versus our current watered-down alternatives).
  • Converting existing databases to UTF-8 isn’t a one-click process. Ideally we’ll only have to help people convert their existing database if they need UTF-8 support. It can also be the new default. Our current goal is to make sure we can support UTF-8 optionally without breaking every existing Cerb4 helpdesk to get it. Data-wise we’re probably fine here, but we’d run into the same issues as described above until the database was converted to UTF-8. The MySQL default is ISO-8859-1 (which it dubs “latin1”).

UTF-8 hangups aside, this should fix the main issues with Cerberus Helpdesk for our friends in Germany, Austria, France, Belgium, Italy, Sweden, Norway, Spain and the Netherlands (who have been rightfully banging down our door about it!)

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Custom Fields Join the 4.0 Party

Community, Project News, Pulse December 20th, 2007

posted by Jeff Standen

After many months of hard work, we released Cerb4 into a world of overflowing inboxes and overworked people. A crowd started to take notice.

“Welcome to the party!” we said.

“Oh, this is a nice little get-together,” said the crowd. “But it’s not a party without Custom Fields!”

Being good hosts, we promptly set down our plastic cups of punch and disappeared into the WGM development labs. Keyboards began to click away rhythmically like locust. The shouts of developers rang out, intermingled with the squeaking of whiteboard markers.

Some time passed. Suddenly, the doors of development burst open and we programmers emerged, looking like zombies; but smiling — unlike any zombie I’ve ever met.

“Everybody,” we shouted in unison, “we’d like to introduce Custom Fields!”

Then we had ourselves a party.

(That’s pretty close to what happened, anyway.)

Late-night delirium aside, here’s the scoop:

  • You can now create custom fields at the global and group levels. At the global level you may want to re-create custom statuses or ticket priorities. At the group level you can track more localized data, like product or department-related fields.
  • You can view custom fields as columns on any worklist.
  • You can use custom fields as search criteria.
  • You can associate custom fields with the situational questionnaires on the Support Center to have answers captured in ticket fields automatically. This also allows you to build more detailed contact forms, using single-line text fields, multi-line text boxes, dropdown menus, checkboxes and date fields.

Enjoy!

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

I, For One, Welcome Our New Overview

Community, Project News December 19th, 2007

posted by Jeff Standen

Goodbye, Group Workspaces… We’re sorry it didn’t work out!

Alright, so Group Workspaces was an idea that looked great in development and fell apart in the real world. While there were advantages to creating a private workspace for each group, the community was really clear about a collective desire to not be constantly clicking back-and-forth to work on tickets for different groups.

The feedback against Group Workspaces led to the development of Overview, which has turned out to be one of those things you can’t imagine living without once you’ve used it. Piles of tickets can now be explored by group, SLA or assignment from a single screen without any setup required from workers. It’s strangely fun to work toward an empty Overview.

For the past couple months Overview has been doing its job admirably, and the conversation has shifted from its predecessor’s faults to what can be done to make Overview even better.

So, driven by your feedback, we’d like to introduce the following improvements:

Overview Amnesia Cured
The Overview screen will now remember what you were looking at if you navigate away and come back. In the past, Overview would constantly reset to the “All Tickets” list.

Auto-Refresh Pile Totals
The totals for groups, buckets, SLAs and assignments will now refresh automatically after you perform a worklist action, such as moving tickets or reporting spam. Several actions are performed without refreshing the page, and this was causing a continuity problem for many psyches.

Quick Move Links
After moving tickets, quick links to the most popular groups and buckets are provided beneath the Overview worklist. This saves the repetitive motion of clicking, scrolling and selecting your desired option in the “move to” dropdown menu.

Take/Surrender
Two new shortcut buttons have been added to the “more options” menu: the ability to assign the selected tickets to yourself (take) and the ability to remove your assignments (surrender). Previously this could only be done from the ticket “peek” pop-up or from Bulk Update.

Super Sorter: Subject Prefixes
The Super Sorter is often the quickest way to distribute large piles of tickets from group inboxes while using Overview. While it could detect similar subjects or senders in a worklist, it didn’t have the ability to discover patterns at the beginning of a subject line for you. Now it does!

Super Sorter: Shortcuts
Another tedious task when using the Super Sorter involved scrolling to the bottom of each pile’s dropdown menu for the Close, Spam and Delete options. We’ve placed shortcut links next to each dropdown that will quickly select these options with a single click.

Enjoy!

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Cerb4 Progress Report: The Blog is Back!

Community, Project News, Pulse December 13th, 2007

posted by Jeff Standen

As requested, we’ve finally put a development blog back into action! For a project with 6 years of history, it’s going to look pretty empty around here in blog land for a couple days.

Here’s a quick update to get the things rolling:

Cerberus Helpdesk 4.0 progress is in full-swing, with daily feedback coming in through e-mail, live chat and posts on the community forums.

The major functionality we’re currently working on is:

  • Translations/Localization
  • Custom Fields
  • Improved Mail Rules (header rules)

We’ve finally updated the design of the project website. The old site served us well for years, but it was starting to show its age. The new site aims to keep things simple, since Cerberus Helpdesk is best experienced by jumping right in with the demos, instant evaluations or downloads.

The new project website is especially interesting because it’s completely driven by Cerberus Helpdesk 4.0 and Devblocks as a “community tool” — no different than the Support Center or Knowledgebase. This lets us do some pretty powerful things with very little work required, like giving you an all-encompassing “Fetch & Retrieve” search box to simultaneously look for answers in the forums, roadmap, changelog, wiki documentation, knowledgebase/faq and this blog.

We recently added a live chat option to the new site. Currently we’re using LivePerson – ideally we’d already be using the Cerberus LiveHelp project that over 1,200 of you are interested in. We’re making a lot of notes about how we can better integrate live chat with the helpdesk.

You’ll also notice we’ve removed our old store in favor of simple Paypal purchase options. We were never thrilled with having to maintain a storefront just to let you guys buy licenses – it really overcomplicated things. There’s also no reason we needed to store your credit card information (or even ask for it). If you dislike Paypal for any reason, we’re still able to take care of you with our merchant account for Visa/Mastercard and AMEX. We still accept checks, wires and corporate purchase orders too.

On the project roadmap end of things, I recently wrote a (fairly tongue-in-cheek) post over on my personal blog about the things that have been nagging me about the project portal, where we accept feature requests and bug reports. We could really make it a lot simpler for you guys to leave feedback and help collaboratively drive the project roadmap – voting on what you want to see done first and having an easy way to be notified when they’re done. The current system is too developer-centric.

We’ll make a new habit of summarizing anything interesting going on throughout the community here on the blog. Make sure you subscribe to our RSS feed to stay aware of project news – upgrade announcements, security notices and the occasional request for comment regarding the community’s thoughts on new functionality.

-Jeff

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]