4.0 Build 642 is the New Stable Release

Community June 25th, 2008

posted by Jeff Standen

So far we’re keeping a really good pace going in development through June 2008.  This is our 3rd release to the stable branch this month.  I’m enjoying getting these updates out to you guys much quicker, rather than working toward arbitrary “4.0 Release” or “4.1″ versions with months of hidden work behind them.

This latest stable release includes the functionality I blogged about going through QA testing on Monday.  There are several performance tweaks.  Support was also added for per-worker timezones and advanced fulltext searching on message content (booleans, boosting, wildcards, phrases).

You can view the full changelog in the forums.

Enjoy!

-Jeff@WGM

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

Cerb4 Dev Diary: Tues, 24 Jun 2008 (Time Tracking, Roadmap, QA)

Community June 24th, 2008

posted by Jeff Standen

Things are moving pretty fast over here.  Busy day!

Quality Assurance (QA)

Mike & Joe spent the day doing a full QA on Build 639 so we can push the latest changes into the stable branch.  They found a couple minor things just by being incredibly comprehensive, but the fixes shouldn’t cause a significant delay.

Project Portal (JIRA)

Dan and I have spent part of the past couple work days cleaning up the project portal.  Today we vastly simplified the process of adding bugs and feature requests.  Most of the default fields that JIRA was prompting for weren’t actually used by our workflow.

We also removed the ‘priority’ field from public editing because it’s so arbitrary.  We replaced it with the 3-point agile priority system we use internally:

  1. Must Have: Cerb4 is considered incomplete without this fix/request.  Most of the time we don’t use priority 1 for feature requests.  This helps ensure we’re tackling bugs before more glamorous and fun tasks writing new features.
  2. Significant Value: These requests will bring more people to the project and will make the people who are already spending money with us even happier about their investment in our development.  We base a lot of ’significant value’ on what we’re hearing in feedback (and how often we’re hearing it).  We also factor in the votes.
  3. Nice to Have: This is pretty much everything else.  Features in this category are done last — they aren’t holding anybody up and they won’t bring in significant new business.

Time Tracking

We’ve pulled together our dozens of notes on the “time tracking” feature requests and we’ve started development.

We have a new plugin for time tracking.  It currently adds a new tab to Display Ticket for keeping track of time slips related to specific tickets.  We have a global timer that floats in the top right of the application and counts up like a stopwatch.  You can play/pause/stop that timer.

It’s currently set up so you can start the timer as you view a new ticket.  Your time is then being logged as you read and reply to the message.  After you submit your reply, as usual, you’ll be able to stop the timer by clicking the “stop” button in the top right.  This will pop up a panel (like “peek” does everywhere) to allow you to enter comments about the time slip before it saves back to the ticket automatically.

We’ll allow time slips to be added to several objects, just like tasks work.  You’ll be able to do a quick report of all time slips over a date range.  You’ll be able to quickly mark whether an entry is billable or not.

There’s no guarantee that this won’t change significantly as development continues, but here’s a sneak peek:

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

Cerb4 Dev Diary: Mon, 23 Jun 2008 (Performance, Timezones)

Community June 23rd, 2008

posted by Jeff Standen

Development since last week continues to focus on performance, stability, and usability before returning to new functionality; however, we have managed to sneak in one highly requested feature and several minor tweaks.

Performance

Performance is already great for most single helpdesk installations, but every day we’re monitoring hundreds of helpdesks from our Cerb4 On-Demand service.  We find several bottlenecks from deploying Cerb4 on that scale that will speed up all installations.

The big performance improvements pending QA testing for the next stable release are:

  • SMTP connections are now persistent for functionality that sends a lot of mail; specifically e-mail notifications and auto-replies.  This is a lot more efficient.
  • Message content can now be searched using MySQL’s FULLTEXT indexes, including phrases, booleans, boosting and wildcards.  Before we went MySQL4+ specific, our previous approach used the MUCH slower and less flexible “LIKE” syntax.
  • Added support for persistent MySQL connections.
  • Added more objects to the cache manager: worker preferences, ticket fields, group memberships.  This saves a lot of needless queries to the database from most pages.
  • Fixed the cache manager when using disk-based caching (the default).  It was invalidating the caches too often, causing unnecessary I/O work and database queries.
  • Improved how Devblocks (the platform) renders plugin-provided pages (which is basically all of them).  Less work required to render pages means faster load times.
  • Drastically improved the performance of the nightly maintenance task.  We added a new “cron.maint” event that triggers after deleted tickets are purged.  It gives each plugin a chance to perform their own cleanup — which, for the main app, means cleaning up any orphaned data in the database (e.g. messages with deleted parent tickets, etc).  Previously the maintenance task was running an event for every deleted ticket.

New Functionality

  • Timezone support has been added on a per-worker basis.  Workers can click “My Account” and select a timezone which will control date input and output.  This was badly needed to get the most out of our flexible date entry (“5pm” or “+2 hrs”, etc).  If I enter a date of “5pm” in Los Angeles time, another worker would see “8pm” in New York time.
[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Cerb4 On-Demand (*.cerb4.com) Upgrade Notice: Saturday June 28th

Community June 23rd, 2008

posted by Jeff Standen

This weekend we’ll be performing the second half of our server network overhaul for our Cerb4 On-Demand service.  This will affect all *.cerb4.com websites for a short time.

Here’s the plan:

  • We’ll be updating all helpdesks to the latest stable build (that’s currently 638 if all goes well in QA for Weds).  There are a lot of optimizations in this build that came from monitoring our hosted helpdesk network under higher loads.  While already fast, the improvements should be noticeable all around.
  • We’ll be migrating most helpdesks to our newer hardware: Dual Quad Core (8 cores) Harpertown servers, 6GB RAM, 500GB RAID-1.
  • The new machines have off-RAID storage for local backups, which should fix the issues with brief slowdowns around nightly backups and maintenance (~10PM Pacific).  A current limitation of most of the existing machines is they’re in 1U rackmounts with limited drive slots.  We keep nightly backups on the local disks and we off-site 2x a week (Weds and Sat).  Local backups are kept uncompressed to not bog down the live machines.
  • We’ll be balancing server populations according to resource usage and our monitoring.  This ensures everyone has plenty of performance and room to grow.
  • With the increased memory and lower server populations we’ll be enabling APC (PHP compile cache) and memcached (shared memory cache) for most helpdesks.  We’ve seen average page generation times of 5-10ms on most of the highest traffic helpdesks we’ve been testing these options with.

We’ll try to get everyone upgraded and on the new hardware during the window this weekend.  It’s a lot of data to move around.  We’ll post another followup if we need to break the upgrade up over a second weekend.

Send us an e-mail and we’ll schedule you sooner if you’d like to have your hosted helpdesk moved earlier to take advantage of the ever-increasing performance.

Thanks!

-Jeff@WGM

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

On-Demand Trials, Lease-To-Own Licenses, and More For Free

Community June 19th, 2008

posted by Jeff Standen

Our return to flat-rate pricing has definitely been better received than our foray into per-worker licensing.  We’re glad to be back.

When we were having those pricing discussions, a lot of the same interesting ideas kept coming up.  So here’s what we’ve done:

On-Demand Trials

We have been hosting our “instant evaluations” on separate machines from our standard hosting service, but this has led to overloading and abuse.  Beyond that, people were just being dumped into a new installation without any introduction, and we didn’t have a good way to know who, of the thousands of people, would actually like to hear from us (and who was just taking a curious peek).  It ate a lot of time we could have been spending better.

So we’ve done two things to improve this:

  • We improved our shared online demo so it has a constant influx of simulated tickets and spam.  We’ve created a much more believable (and instructive) sample environment of Groups, Buckets and Filters.
  • We’re now offering a free 14 day trial period on our Cerb4 On-Demand (software as a service) offering.  This doesn’t just help people who were considering hosting with us; it also allows evaluators to test an instantly working installation on our servers so they can decide if they’d like to move forward with Cerb4 before investing in hardware and headaches (e.g. mailparse).  While the previous instant evaluations served this purpose, we’re now setting up all evaluations on our premium hardware and network instead of our spare evaluation and Q.A. machines.

Lease-to-Own Licenses (Standalone)

Many people, especially smaller web hosts, have been asking us for a way to break up the Cerb4 purchase price over a few payments.

We’ve added the ability to break a purchase up over 3, 6, and 12 months.  To curtail a needlessly delayed accounts receivable — and the risks and hassle associated with having to charge a credit card up to 12 times to get paid — we’ve added a small markup to the total cost of a license purchased on installments.  The fewer payments, the less of a difference over paying up front.  Still, it’ll be much more efficient to allow people to choose these options from the website opposed to having people contact us for a custom invoice every time.

On-Demand Prepayments

Our 20% discount on annual payments for the Cerb4 On-Demand service has been pretty popular.  We’ve also had people expressing interest in smaller discounts for shorter prepayment cycles.

We’ve added a 5% discount for 3 month prepayment, and a 10% discount for 6 month prepayment.

New Free Licenses

By far, the best way to spread the word about Cerberus Helpdesk over the years has been by offering a non-crippled free version — something that really allows people to use it with no strings attached.

We’ve had some minor criticism that our 4.0 free version, with its e-mail tagline on outgoing mail and cap of 3 groups, was betraying the history of a usable, entry-level free version.  On reflection, we agree.

So here’s the tradeoff.  At the end of a new installation, we now show a short survey that allows a new organization to quickly introduce themselves (and tell us what they’re looking for, and what they’re measuring as a successful helpdesk evaluation).  Anybody who fills out this survey will receive a registered license for 3 workers by e-mail for free.  This removes the group cap, and the Cerb4 advertising tagline at the bottom of outgoing e-mail.

This keeps our stream of constant feedback alive.  We’ll only contact people about Cerb4 and their experience with it.  Free users are still welcome to skip the survey and stay in stealth mode, but they’ll keep the other limitations.

Conclusion

We’re happy with these latest tweaks.  They’re a lot more utilitarian than changing the entire approach toward pricing every few months.

Keep the feedback coming!

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

Highlights from 4.0 Build 627 (Stable)

Community June 19th, 2008

posted by Jeff Standen

We’re finally delivering on our goal of making these stable releases a lot more frequent.  This is the 7th update from user feedback in the stable branch for 2008, but it’s coming only a week after the last update (which was 20 days on the heels of the release before that).

I talked about Build 603’s major performance boost here on the blog; but we haven’t talked about the most recent improvements since then.

The primary focus lately has been on performance and usability.  We’re definitely still making progress on the major feature requests, like localization, time tracking, and reports.  It’s just more important to make sure we’re stopping to tidy things up every couple releases so we can keep up the same development agility.

We’ve still been getting the most insight on performance tuning and optimization from our network of on-demand helpdesks.  For our environment, the biggest speed improvements have come from moving the caches off the local disk and by enabling APC (a PHP compile cache).  Cerb4 and Devblocks have had memcached support for shared memory caching since early on, but until these recent builds we hadn’t been supporting truly distributed caches.  The recent builds also add prefix support to the cache manager so multiple installations can share a caching back-end (which is especially helpful in a hosting environment).

On the usability end, we had a couple nice improvements:

  • We took all the feedback (mainly from the forums) about ticket comments and added the ability to display comments threaded into the ticket conversation (chronologically).
  • We added a subtle visual indicator to elements of a ticket conversation: inbound, outbound, comments and notes.
  • We improved the interface by softening up some stark lines between major elements (especially on Mail Overview or Ticket Display).  We added a consistent style to all the buttons in the application so they should look similar across browsers (and regardless of your OS theme).
  • We streamlined the guided installer so it’s no longer asking new users to create Workers or Groups before they have an understanding of what those things mean.  The installer now creates some sample Groups and Buckets.  It also pre-configures group spam rules.  The first ticket for the helpdesk is now procedurally generated as the last step of the installation.  It shows up as a message from our development team welcoming people to the project and telling them what to do to get started.  Replying to that message from their Cerb4 will actually send a message right to our support team.  It’s an easy way to get help from inside the app, while also exploring how things work.
  • We’ve added more keyboard shortcuts to Mail Overview and Display Ticket.  The possible shortcuts are now more context-sensitive when displaying the keys (it won’t show you shortcuts that won’t actually do anything for the current items).
  • A “Read All” mode has been added to the Display Ticket screen, which will automatically expand every message and show the conversation chronologically.
  • When assigning a Next Worker you can now also choose when to expire the assignment (such as at the end of your shift).  After the expiration, any worker will be able to handle the follow-up responses.  This still allows better efficiency during a shift where workers can handle their own short-term followup replies.

There are also a two dozen or so smaller feature requests and bug fixes.

You can read the full changelogs here:

http://www.cerb4.com/forums/forumdisplay.php?f=10

Enjoy!

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

Important! New Subversion Repository Location

Community June 10th, 2008

posted by Jeff Standen

Hey guys,

We’ve been meaning for a long time to upgrade the machine that our project Subversion repository is hosted on. The older machine started giving us some trouble this afternoon, so we went ahead and migrated our Subversion repositories to newer hardware.

Here are the instructions for updating your working copy to the new location:
http://wiki.cerb4.com/wiki/Changing_SVN_Repository_Locations

We also went ahead and set up support for tags and branches since we’re at the point with 4.0 we can start actually using them. In the instructions above you’ll be able to lock your installation to only get ’stable’ (post-QA tested) updates when you run ’svn update’. If you want to always be using the latest development versions there’s a note at the bottom of the docs.

Update: I should also note that ’stable’ is considered Build 622 as of the move. We’ve done our due dillgence testing the build, but you’ll probably get a conflict on the framework.config.php file after updating. If you aren’t familiar with fixing conflicts, the easiest way to clean this up is to copy your framework.config.php file to framework.config.backup.php and then ‘svn revert framework.config.php‘. Then copy your DB_* entries from the top of the backup file into the reverted copy. If you edit the conflict by hand, be sure to ‘svn resolved framework.config.php‘. You can make sure you cleaned everything up with ‘svn status‘.

It’s probably needless to say; but if you don’t use Subversion you can ignore this announcement. ;)

Thanks!

-Jeff@WGM

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