Scalix Redemption Plan
Posted: Wed Jul 18, 2007 12:59 pm
To paraphrase Kent Brockman (Simpsons TV reporter): "I, for one, welcome our new Xandros overlords." Well...maybe.
Last May, prior to Walter Lim's departure from the company, my frustration with Scalix had come to a head, particularly at the arrival of my maintenance renewal. I told him that I didn't feel that I could continue using Scalix in production, and he asked me what specific steps Scalix could take to remedy the situation. I then sent him a wish list, which he later forwarded to Glenn. At the time, it seemed right to address my concerns directly to management, rather than the public.
Given the recent acquisition by Xandros, and probably some serious deliberation by both Scalix and Xandros management about the future road map, I think that they could benefit from some constructive feedback from the community. To that end, what follows is a list of recommendations and wishes for Scalix. I'm interested to know which items resonate with the community, and which don't.
Simplify administration
Openmail didn't exactly start with an inuitive configuration structure, and its binary, multi-line logging makes the use of a logging server (or any automated log analysis) an exercise left to contortionists--I never bothered. As Scalix has grown and added more features, the configuration problem has gotten even worse, if that were possible. Many lightly or undocumented configuration files litter multiple directories, often shifting around between upgrades. And logging now takes place in multiple directories as well, making troubleshooting more complex than it need be.
Centralize configuration and add version control
Many vendors have support scripts designed to gather and archive machine info (boot log, recent system logs, network settings, application configs and logs, etc.). Users are instructed to run the script prior to contacting support, and to upload the results to their support portal. The script runs interactively, asking about the nature of the problems, gathering additional data relevant to the issue (or defaulting to getting everything if the user is unsure). So much of the support process involves: "What version are you running," "Run this command and let me know what happens," or "Send me the output of 'x'," and so on. This could serve to simplify and speed diagnosis and resolution.
Create logwatch configurations and notifications for Scalix logs
Create a mechanism to allow Scalix connector instances to log errors to the server, to pre-empt the frustrated calls from users.
Revamp and consolidate online support resources
Make a support portal
Dave Kelly posted a blog entry some months ago asking for feedback on getting users to read the support materials, and he acknowledged the scattered nature of the resources: wiki, forums, knowledge base, manuals, bugzilla. He also asked for ideas--mine follow.
It's clear that many support requests reveal information that everyone could benefit from--it currently takes an additional effort from the participants to "copy" that information into the forums. I know I've meant to on several occasions, but rarely have. The material seems to migrate to the forums weeks or months later, if ever.
Put the Scalix training manual online!
I realize that training is likely a profit center for Scalix, but even at my training, the materials were often out of date, and entirely "dead tree." No electronic version was made available, and there was no table of contents or index. It's borderline unusable. Why not push that material out to the wiki to encourage updates, explanations, and corrections? I seriously doubt that this would have much--if any--negative impact on the number of admins seeking training. Anything that makes the learning curve less steep allows Scalix to increasingly offload support to 3rd parties over time, permitting more rapid growth (look at Alfresco's success with this method). That would seem to be a good thing to me.
Create a troubleshooting guide
95% of the content hasn't been touched in a year or more, and some of it has been supplanted by the wiki.
Client-access to ticketing system
I submitted a bug report (one of several this year) and was informed that it was a duplicate of an existing bug. How did I miss the existing bug? It was restricted from public viewing. This has happened twice to me, and I doubt I'm the only one. This seems a little pointless, and at worst, it's a time-waster for customers. I don't know if there are many other "restricted" bugs, but if there are, I'd make them public.
Add chat to the support area
Maybe no one will be jumping at the chance to be the live, chat support person, but I think it would help over time, and I'd also allow users to join instant messaging rooms where they can offer each other live, timely assistance.
Encourage community contributions
Create more examples of ways to exploit Scalix's abilities
Many of the new features in Scalix 11 are interesting and useful in theory, but there's a conspicuous lack of useful examples to inspire others with. Look at the Administration Plugins page. That lonely, addpf.sh script was been the sole occupant for some time, and only one other plugin has appeared since.
Create a "forge" site
I left this in even though this appeared after I sent this to Scalix--I wonder how many customers even know about it
While these can get messy, they also drive a lot of innovation and enthusiasm (see Sugar's and Alfresco's forge sites). I'd encourage Scalix to do the same. Create several seed projects, and then open the flood gates. A wiki can't really take its place, particularly with regard to organizing discussion and bug-tracking for each project.
Widen the wireless syncing options (a.k.a., ditch Notify)
Okay, Scalix users, feel free to agree or disagree, but please do speak up.
--Aaron Hathaway
Last May, prior to Walter Lim's departure from the company, my frustration with Scalix had come to a head, particularly at the arrival of my maintenance renewal. I told him that I didn't feel that I could continue using Scalix in production, and he asked me what specific steps Scalix could take to remedy the situation. I then sent him a wish list, which he later forwarded to Glenn. At the time, it seemed right to address my concerns directly to management, rather than the public.
Given the recent acquisition by Xandros, and probably some serious deliberation by both Scalix and Xandros management about the future road map, I think that they could benefit from some constructive feedback from the community. To that end, what follows is a list of recommendations and wishes for Scalix. I'm interested to know which items resonate with the community, and which don't.
Simplify administration
Openmail didn't exactly start with an inuitive configuration structure, and its binary, multi-line logging makes the use of a logging server (or any automated log analysis) an exercise left to contortionists--I never bothered. As Scalix has grown and added more features, the configuration problem has gotten even worse, if that were possible. Many lightly or undocumented configuration files litter multiple directories, often shifting around between upgrades. And logging now takes place in multiple directories as well, making troubleshooting more complex than it need be.
Centralize configuration and add version control
- Even if all configuration files and directories were simply aliased to one area by default, that would be a start.
- Use subversion or something similar to allow easy change logs, snapshots and rollbacks of not just single config files, but entire directories if needed. This would also let admins and support get a quick look at what changes were made over time.
Many vendors have support scripts designed to gather and archive machine info (boot log, recent system logs, network settings, application configs and logs, etc.). Users are instructed to run the script prior to contacting support, and to upload the results to their support portal. The script runs interactively, asking about the nature of the problems, gathering additional data relevant to the issue (or defaulting to getting everything if the user is unsure). So much of the support process involves: "What version are you running," "Run this command and let me know what happens," or "Send me the output of 'x'," and so on. This could serve to simplify and speed diagnosis and resolution.
Create logwatch configurations and notifications for Scalix logs
Create a mechanism to allow Scalix connector instances to log errors to the server, to pre-empt the frustrated calls from users.
Revamp and consolidate online support resources
Make a support portal
Dave Kelly posted a blog entry some months ago asking for feedback on getting users to read the support materials, and he acknowledged the scattered nature of the resources: wiki, forums, knowledge base, manuals, bugzilla. He also asked for ideas--mine follow.
- For the short-term, the support page shouldn't be a collection of links. It should be a portal page, showing the most recent/popular entries from the various areas (forums, wiki, knowledgebase, bugzilla), with those that support (or the users!) deems most useful given special priority.
- It should also have an "uber-search" form to search all the above-mentioned areas simultaneously.
- I'd urge you to completely redo the forums. Look at forum software from Jive Software, for example, that permits users to vote on entries as the best solutions. The Scalix forums have become so unusable that it's now very difficult to find anything in them, which leads to long-answered questions being repeated, unnecessary support emails and calls, and even more orphaned, unanswered threads that lookm bad and encourage frustration (then requiring support to issue the standard mea culpa that they answer forum entries as time permits).
- Moderate! The forums have a fair amount of chaff, and the signal-to-noise ratio seems to get lower and lower. It needs pruning and hierarchy. Promote the best and most relevant solutions, group related issues, and demote or delete the trolls, the incomprehensible, and the "Can you help my Linuxx?" posts. Yes some people will whine about censorship...whatever...the rest of us will thank you for a far more usable resource.
It's clear that many support requests reveal information that everyone could benefit from--it currently takes an additional effort from the participants to "copy" that information into the forums. I know I've meant to on several occasions, but rarely have. The material seems to migrate to the forums weeks or months later, if ever.
Put the Scalix training manual online!
I realize that training is likely a profit center for Scalix, but even at my training, the materials were often out of date, and entirely "dead tree." No electronic version was made available, and there was no table of contents or index. It's borderline unusable. Why not push that material out to the wiki to encourage updates, explanations, and corrections? I seriously doubt that this would have much--if any--negative impact on the number of admins seeking training. Anything that makes the learning curve less steep allows Scalix to increasingly offload support to 3rd parties over time, permitting more rapid growth (look at Alfresco's success with this method). That would seem to be a good thing to me.
Create a troubleshooting guide
- Walk admins through basic steps, common things to check, commands to run, so on and so forth.
- Right now, google "Scalix troubleshooting" and see what comes back--it's pretty sad.
95% of the content hasn't been touched in a year or more, and some of it has been supplanted by the wiki.
Client-access to ticketing system
- Allow customers to view their own tickets online, along with status and any publicly-viewable comments.
- Also, make a point of following up (even automatically) on outstanding tickets that haven't had activity. Provide a window, and if no reply is heard back in that window, auto-close the ticket and send an email to that effect.
I submitted a bug report (one of several this year) and was informed that it was a duplicate of an existing bug. How did I miss the existing bug? It was restricted from public viewing. This has happened twice to me, and I doubt I'm the only one. This seems a little pointless, and at worst, it's a time-waster for customers. I don't know if there are many other "restricted" bugs, but if there are, I'd make them public.
Add chat to the support area
Maybe no one will be jumping at the chance to be the live, chat support person, but I think it would help over time, and I'd also allow users to join instant messaging rooms where they can offer each other live, timely assistance.
Encourage community contributions
Create more examples of ways to exploit Scalix's abilities
Many of the new features in Scalix 11 are interesting and useful in theory, but there's a conspicuous lack of useful examples to inspire others with. Look at the Administration Plugins page. That lonely, addpf.sh script was been the sole occupant for some time, and only one other plugin has appeared since.
Create a "forge" site
I left this in even though this appeared after I sent this to Scalix--I wonder how many customers even know about it
While these can get messy, they also drive a lot of innovation and enthusiasm (see Sugar's and Alfresco's forge sites). I'd encourage Scalix to do the same. Create several seed projects, and then open the flood gates. A wiki can't really take its place, particularly with regard to organizing discussion and bug-tracking for each project.
Widen the wireless syncing options (a.k.a., ditch Notify)
- I know you all are already thinking about this. Florian told me about the Funambol/SyncML interest last summer, but I think this needs to be a priority. Personally, I think NotifyLink is a disaster, or at least a sinking ship. The client software is buggy, poorly documented, and frequently stops working or worse, starts deleting at random moments.
- The downside of their support for so many server apps and hardware clients is that the app is necessarily a lowest-common-denominator application. The interface is clunky. It doesn't take advantage of high-res screens. And on the Palm, at least, it doesn't auto-type previously-used email addresses--you have to type them each time (or use the awful lookup function). It is, in short, a dinosaur. Worse, it's often a dead or non-syncing dinosaur.
- My low opinion of Notify bottomed-out, however, with the daylight saving debacle this year. Appointments started showing up an hour off for NLES users. NotifyLink posted an unhelpful it's-not-fixable note on their KB, suggesting that users write out the time in the appointment description..I think I actually laughed out loud. Support confirmed this unfixability by phone. I reached out to Scalix support, and later filed a bug report with Scalix. I never heard back regarding the support request. Shortly thereafter, however, I found a fix for the problem. I found a way to extract the "Exchange-only" cdo.dll from a Microsoft patch, and posted the steps with the bug. Florian closed the bug with a notice that the problem was a Notify issue, which it was. When I emailed the solution to Notify, however, I never heard back, and that same, pointless KB note remains there to this day. I even fixed it for them and they couldn't get their act together sufficiently to pass the fix on to their other customers.
- Oh yes, and they don't actually seem to announce any of their patches or upgrades. I've only ever received emails about upgrades for client hardware that we've never used. I just get to be surprised every once in a while when I check their site.
- Notify's problems shouldn't be Scalix's problems, but when they're the only game in town, and so many execs and decision makers blithely assume that it's "Scalix for my Treo," Notify's failures and problems get unfairly attributed as Scalix's failings.
Okay, Scalix users, feel free to agree or disagree, but please do speak up.
--Aaron Hathaway