Whats up guys, no video this week for 2 reasons; been busy and running around a lot this week, and the work i've been doing on the IM project this week is suuuuper boring. None the less ill let you guys know what is going on.
For starters, our beta site at https://beta.inputmapper.com has been getting some back end work. A new version of the forum was just updated that has a lot of UI changes to make the Q&A section a lot more coherent. In addition Wordpress themselves have released their next major version since the beta site launched so I have been testing that with all the code and plugins we use.
On top of all of that I have begun the database work and general framework for a new troubleshooter for IM and accompanying software. This has been eating up a lot of my spare time because I am building it to be as flexible and future proof as possible. Those of you who aren't familiar, IM has had an online troubleshooter (https://inputmapper.com/component/troubleshooter/stepsform) for some time now that was designed to answer some of the most common issues people come across. The issue with this however has been its upkeep and expanding it with ever more complex question and answer possibilities because the current version is just a huge nested mess of if/then/else statements. My new goal is to completely database and automate the entire process.
My current plan is have a table of [answers] that will in detail with possibly even video or images demonstrate how to fix common issues. The determination of the applicable answer will be based on weather or not the users [choices] to various [questions] align 100% with a predefined expectation of answers for each possible outcome, as linked by [ts_assoc_answer_choice].
The troubleshooter will look at a list of questions for which the user has not yet provided a response then pick the one which best segments (the one that comes closest to eliminating 50%) the remaining answer possibility pool. This should allow for the shortest possible route, or the least questions, to reach the relevant answer. In the event there exists a question in the pool of unanswered questions with a [priority] not equal to 0, the aforementioned will be ignored and the question with the lowest value not equal to 0 in the [priority] field will be asked first. This will be for questions like "What OS are you on, what program are you having issues with (IM/HidGuardian etc)" that should really be asked prior to more detailed and possible irrelevant questions.
The trouble shooter will continue this loop until it is left with only one possible answer, in which case it is displayed to the user as hopefully the answer to the issue. In the event there are zero possible answers the user will be directed to forums or ticket system. and finally in the event there are more than one answer but they all have the same answers to remaining questions making it impossible to further segment, they will all be provided to the user as a list of possible solutions.
As you can see this approach will make the system pretty much future proof allowing me to continually add solutions and branches as they are discovered and in the end, hopefully make my job of supporting this application that much easier.