osTicket v1.10 (stable) and Maintenance Release v1.9.15 are now available! Go get it now
Fundamental Redo of the client interface to allow greatly simplified non-breaking customizations
I have been thinking on this a lot lately. One of the problems with any ticket/workflow/task management system is an interface that is hard to change independently of the updates of the system itself. It becomes a barrier to usage and makes many packages completely unusable for most companies.
The only solution to this that I am aware of that works over time is to separate the interface from the code, providing APIs in the backend, allowing for an independent development track of the front end. I have read so many great ideas on the message boards here and comments on the internet in general. I see a much greater potential for this product. So much so that I have not allowed us to go to another product.
However, as with all things, it is time to start looking at what may be as opposed to what is. I have not talked with anyone on the development team, so I do not have any idea what the next life phases are for this product, but I do have a vision in my head that I think would greatly improve upon this product and allow you to expand and replace other products currently in use.
Here is what I think the most important tasks ought to be for the future. I apologize if these are not fleshed out much, but I did not want to write a novella in here.
- Separate the interface (client) from the backend (server).
By tying the two together you are limiting how much focus you can do on one or the other. Any change to one has to be worked into the other.
Untying these allows the development of vastly improved user interfaces using different languages and systems.
Untying these allows easier addition of server functionality.
The biggest advantage to doing this is allowing other developers to tie into your application to greatly multiply its functionality by integrating it with their own systems (or from your hosted perspective, other products). This would greatly leverage your income potential.
- Combining the users and agents into one table, allowing promotion and demotion without losing track of conversations.
Support teams exist throughout an organization, most with little to no IT experience.
Allowing a simple checkbox to apply a promotion to give a user agent status makes it vastly more simple to organize a company's various support teams.
Simplifying this one thing would help expand company penetration of your product for all kinds of 'supportish' functions, from sales support to maintenance department jobs to IT tech support.
- Developing a custom Support Form interface, or at least providing an API that allows a custom form to be easily developed and implemented.
Many of the forms in support issues are simple, but some, as is the case of many Maintenance forms, are complicated beasts.
Maybe simple forms are fine with the current setup and complicated ones should be able to be written by a developer?
Having the ability to do just that will generate more income opportunities for your product and provide more market penetration as well.
- Develop a custom data extension. True, you have one started already, but...
Can it be used with an API from an outside application to CRUD? (Think integration with other apps and systems)
Can it be ACL controlled for those CRUD operations? I might want sales making some updates to one set of data, but Production Control to another.
- Tasks. I know these are limited in your system but they are huge in fixing so many problems in the real world.
BPMN (Business Process Management Notation) is one such tool that can greatly ease the development of process based solutions.
This is a heavily tasked based markup as are most of the tickets our company need to manage.
I create a solution flow and then add processes to it with conditionals to select and document what needs to be accomplished.
BPMN is a heavy weight and is asking too much of any small team to develop, but it has packages out there already due a lot of the work.
There are other packages to do this, and other process flow tools. THis is my personal favorite, not necessarily the best.
Okay. Five is enough if not too much. Please let me know your thoughts on these. This will greatly help me gauge where my time should be spent and which way to develop. Truly this is a good package and I thank you for it being made available the way you have. I would be happy to be able to help in its future growth with the limited time I have.