What are the major differences and improvements between Cerb4 and Cerb5?
At this point there are more than 1,237 improvements in Cerb5 (as of 5.6) since the final version of Cerb4. The wiki is a great resource for browsing through our release notes, but the list has become big enough that people frequently write in to ask us if we can summarize what we feel are the biggest improvements.
Here's a comparison of the changes between Cerb4 and Cerb5 provided by Jeff Standen, Founder and Chief of R&D at WebGroup Media, and lead product developer for Cerb5 over all 10 years of its history.
Virtual Attendants / Scheduled Behavior / Macros
My pick for #1 innovation in Cerb5 is Virtual Attendants (VAs). They're a very flexible way to bring workflow automation into your environment.
If we offered options for every feature variation that people ask for then the app would end up cluttered and confusing. VAs offer emergent behavior -- that is, users can use their creativity to mix and match the tools we provide to do interesting things that we had never considered; and then they can share those tips with the community like a recipe.
For example, now you can use VAs to configure different auto-replies based on the current date/time, the sender's language, an SLA attached to the sender's organization, or anything else based on the information captured by the system. In the past, auto-replies were configured with a text box that offered no flexibility.
Auto-replies are just an example -- you can add Virtual Attendant behavior to all kinds of events in Cerb5: new messages to a group, closed tickets, assigned tickets, before a worker reply (to modify the contents prior to sending), after a worker reply, when a notification is received, when new mail enters the helpdesk, etc.
Virtual Attendant behavior can also be created on special events that function like macros, so you can pre-define the actions you do most often (e.g. send a reply, add a comment, set custom fields, link to other records, send a notification, add a task, post to Twitter/Facebook/Campfire, send SMS through Twilio) and then apply them in a single click from ticket lists or pages.
VAs can also create "scheduled behavior": custom behavior that runs at a future date, allowing functionality like SLA escalation, a scheduled pipeline of sales messages for new leads (welcome, 2-day, 15-day), or anything else you can dream up.
For more examples, see: http://cerberusweb.com/support/kb/browse/493/Cookbook
Tickets had a single owner in Cerb4, and they mainly had to keep up to date about changes proactively from something like a 'My Work' list in the web interface. In Cerb5 you can 'watch' any record (tickets, tasks, opportunities, addresses, etc) in the same way you follow people on Twitter, friend them on Facebook, or connect to them on LinkedIn. There can be multiple watchers on a record and they receive automatic Notifications when something changes on it.
These changes are also recorded in the Activity Log for every record type, and you can also view the activity log entries from the perspective of any worker to see what they've been up to in the entire system (beyond just replying to mail).
Cerb5 generates notifications to keep workers in the loop about the things they're working on or interested in. The only analogous thing in Cerb4 had to do with sending copies of messages to workers' external email accounts, but that only worked for tickets and it didn't cover any other activities.
Notifications in Cerb5 are implemented for every kind of record (tasks, tickets, opps, orgs, addys, calls, etc). They've been refined quite a bit by 5.6 -- by viewing any record that you've been watching (from a notification or otherwise) you'll see a list of everything that changed since your last visit. Combined with Virtual Attendants, workers can also have their notifications routed to any number of places (like text messages).
Workspaces / Subtotals
Custom worklists for every record type can be created and organized into workspaces. Workspaces can be owned by groups, roles, or workers. A group owned workspace is visible to any member of the group, but only managers can make underlying changes to it (e.g. columns, required parameters). Members can maintain their own preferences for filters, sorting, paging, and subtotaling.
In Cerb4, ticket worklists had no subtotal sidebar like the default lists of mail. In Cerb5, you can subtotal any kind of worklist by a large number of columns -- including custom fields and fields from linked records. For example, on a ticket list you can add custom fields from the sender's organization as columns and also subtotal by them. This means if you add a custom field for 'Service Level' to organizations you could subtotal and filter tickets using it. This also makes it easier to organize tasks, opportunities, and other less structured record types.
In Cerb5 you can save commonly used search filters as presets, allowing you to quickly switch between combinations of filters in a single click on any worklist of the same type.
In Cerb4 you could only add comments to tickets. Comments can be added to every record type in Cerb5, which greatly enhances group collaboration. Comments can also generate notifications.
Cerb5 introduced the concept of "choosers", which are popups that allow you to peek at content, edit it, or establish links regardless of where you happen to be in the interface. For example, when filtering a list of tickets or generating a report, one of the common options is providing a list of workers or groups. You can start typing names and the autocomplete functionality will give you hints -- and this works well for a limited number of things to choose from -- but a chooser will allow you to use presets and filters to quickly narrow down very long lists like contacts, tasks, or tickets (anywhere; even in the middle a ticket reply).
Connections (Context Links)
Context links have a scary name, but a very useful purpose. They allow you to connect any two records together. If you're working on a ticket and it involves a couple of organizations and several tasks, you can link all those records together for quick reference. A lot of functionality, like time tracking entries and opportunities, will automatically link themselves to records they're created from. Cerb4 lacks a comparable equivalent.
Cerb4 had email templates. Cerb5 has snippets, which provide far larger list of placeholders that will automatically be substituted with the proper information based on the current record. Snippets are available for all the major record types, and can be owned by workers or groups. Unlike email templates, snippets can also contain conditional logic and modifiers. For example, you an inject a customer's first name when it's known. You could send a message that begins with "We haven't heard from you in a while" if it happens to be true. There are countless uses for such functionality, especially when combined with Broadcast.
Cerb4 lacked a feature to mass reply to several tickets at once. Cerb5 introduced a feature called Broadcast which allows to draft a message to any worklist that has contact information: tickets, addresses, opportunities, etc. You can use snippets so each message is personalized to the recipient. You can filter worklists with custom fields and target broadcasts at very specific audiences. During the 2008 U.S. Elections, we had a Senate campaign use broadcasts to instantly send personalized messages to two dynamic mailing lists of constituents (based on buckets): those who supported the financial bailouts of the auto and banking industries, and those who opposed them. Broadcasts also use an efficient mail queue to deliver messages so your system's performance doesn't suffer even for large lists.
In Cerb4 you could Next/Prev through a list of tickets to quickly change pages. However, this only worked for tickets and if you left the page you lost your place. In Cerb5 we introduced 'Explore mode', which is available for every worklist type. It provides a small banner at the top of the page with the familiar next/previous navigation information, but that banner remains on the page as you navigate around -- perhaps switching from a ticket to look up a contact record and then creating a task. You can instantly return back to where you were working with a single click.
Explore mode is also social -- if you have a list of 250 opportunities you need to review by the end of the day and you're called off to a meeting, you can send the URL to another worker and they can pick up exactly where you left off (with all the same search filters). This is also a very efficient way to distribute work on a team. The team leader can perform the searches and then simply send the URLs to other workers by email or IM.
Explore mode is also very useful when combined with things like notifications, as you can explore all your notifications without having to return to the list to click on the next one. Notifications are also 'folded' in explore mode, meaning you'll only visit each record once even if it had 20 notifications pointing you to it (and they'll all be marked read automatically).
A common request in Cerb4 was the ability to have drafts auto-saved while writing responses. In Cerb5 we've implemented this feature, and also gone a step further to where your draft on a ticket is visible to other workers in that group. This has several great uses. For one, another worker looking at a ticket will immediately see that it is being worked on. Similarly, a worker can also send a ticket link to someone else (including their manager) before hitting send and ask for proofreading or approval (which is far superior to copy/paste or dragging someone over to your desk from across the building).
In Cerb4 the selection of reports was fairly limited. In Cerb5 the reports are much more visual and interactive.
Plugins / SDK
Cerb4 supported plugins, but they lacked documentation and community effort. Cerb5 has a growing list of plugins for you to use and learn from on GitHub: https://github.com/cerb5-plugins/ -- including very useful things like integration with OpenID, LDAP, Campfire, Twitter, Twilio, Facebook, Freshbooks, and more. Cerb5 also includes an SDK with examples in every distribution.
Cerb4 was fast, but Cerb5 is even faster despite doing so much more. We've streamlined our custom platform (Devblocks) through years of experience hosting a large network of On-Demand instances of the software. We've relentlessly profiled and optimized the software -- keeping memory usage low, loading the least amount of code required to serve a request, serving images as sprites to reduce HTTP connections, favoring dynamic content pulled through Ajax instead of reloading entire pages, strategically caching all kinds of information to reduce the complexity and frequency of database queries, and more.
One common performance bottleneck in Cerb4 is fulltext searching of message content; which occurs for a number of reasons: every new message inserted into the database requires an expensive update to the index, and updating the index prevents lookups for commonly used information like displaying conversations. In Cerb5 we split up this process. Indexing happens on a separate table, and it's efficiently done in batches from a scheduler rather than performed in real-time (though it's close enough; usually within a couple minutes).
In Cerb4 we had moved heavy content that never changes out of the database and into the filesystem -- and this was a good first step. In Cerb5, you can ship that content off to services like Amazon S3.
In Cerb4 most of the available translations were scattered all over the place and quickly became out of date. In Cerb5 we bundle several up-to-date translations with the distribution: English, German, Spanish, Italian, Dutch, Russian, and Portuguese. We're aware of several others that are being updated (French, Chinese, Japanese).
Cerb5 fully supports UTF-8 for international language support. This worked in a basic fashion in Cerb4 for things like email messages, but Cerb5 goes much further. We "Romanize" non-Latin languages like Chinese, Greek, and Russian, which makes their content available for search indexing or spam filtering without polluting the word database with foreign characters. That also means you can interchangeably search for text in either the native character set (such as Chinese or Japanese) or the Romanized equivalents. Either approach will yield the same matches. This also works for accented characters, making them optional in searches.
In Cerb4, the anti-spam system simply ignored non-English content. It did "de-accent" characters, so a word like "résumé" would be converted to "resume"; but this did nothing about spam in languages like Chinese, Japanese, or Russian. By ignoring all that content, spam usually couldn't be given a high probability (since messages were considered blank, and 50% probable) so it created a lot of clutter. In Cerb5, the process of Romanizing foreign languages is very effective at quarantining this spam as well.
This is a fairly esoteric bullet point for the benefit of web developers, but we also switched from the YUI (Yahoo User Interface) library in Cerb4 to jQuery in Cerb5. This provides cross-browser scripting, Ajax, effects, and familiar user interface patterns like tabs, drag&drop, autocompletes, popups, and more. This allows us to provide a great user experience in a web browser, while spending more of our limited time creating value instead of battling with browser inconsistencies.