ISBoxer 2 Development Update - June 2017
First, here's why there has not been recent updates. ISBoxer 2 represents a lot of work spent toward a specific goal, and while a lot of progress was made in various areas, the result was not as simple and elegant as envisioned. Modules even made everything seem to take up more time and space instead of really simplifying configuration and making it more efficient. And while Modules could be created and distributed, providing a method to effectively configure custom options for each Module was not making matters easier. This needed a serious re-think.
ISBoxer 2's new, further simplified interface
So to say the least, ISBoxer 2 has been undergoing a major overhaul. I briefly mentioned at Multiboxing Boot Camp that ISBoxer 2 will now be based around a web application for configuration, instead of all of the configuration being built into ISBoxer itself. This is a major change in itself, but while I'm at it I'm also introducing a Lua engine (MoonSharp for those counting) directly into ISBoxer 2. Between these changes, we -- as well as third-party developers (e.g. other ISBoxer 2 users familiar with web APIs and/or Lua) -- will be able to provide incredibly easy to use interfaces with more powerful features than ever.
Here's an example that comes to mind. ISBoxer users had long ago figured out a particular SWTOR-specific method of predicting which Character would appear in which order in the Party window, and therefore what Hotkey could be pressed to target that party member (and this would be useful for following or assisting). With ISBoxer 2's updated system, a developer could provide a web app to add SWTOR-specific methods for ISBoxer 2 to use, automatically linking up its ability to follow and assist each window. Or a custom SWTOR-specific "Quick Setup Wizard" web app/site that sets up a custom SWTOR profile loaded with SWTOR-specific goodies. The idea is to allow you to enable such sites to help you configure ISBoxer 2. (You would provide such a site "permission" to modify your ISBoxer 2 configuration, as you may be familiar with from sites with apps like Facebook, Discord, etc -- and the site would definitely not have access to things like your Character or Account names or passwords).
Because your configuration is online and downloaded when it is time to launch, each time you launch your ISBoxer 2 team, you will automatically be using the latest and greatest versions of ISBoxer 2 Modules with your existing configuration. A new ISBoxer 2 download/update will not be required for many minor fixes, it will just automatically have the fixed code when it is available.
Lua, then, will be used for implementing much of what ISBoxer 2 does with your downloaded configuration, outside of Inner Space. (Inner Space continues to primarily use LavishScript.) An app like the SWTOR example described above can provide Lua code to help drive your ISBoxer 2 configuration. Many of the features that ISBoxer 1 currently handles within each game window will instead be handled by ISBoxer 2 directly outside of the game. This also means ISBoxer 2 will be capable of managing windows that are not launched via Inner Space, albeit with fewer available features for those windows.
Because ISBoxer 2 will handle a lot of the features directly instead of from within the game itself, many things will be less complicated to configure and to understand. For example, "Round-robin" in ISBoxer 1 has a different state in any given window; if you press a round-robin button 1 time in 1 window, it will be at a different position when pressed again in this window than in another window (meaning pressing the same key in window 1 could go to a different window than if pressed in window 2). While it is possible to correct this in ISBoxer 1, it is simply not obvious to most people, and it is more difficult than it needs to be. This also makes "debugging" live ISBoxer 2 configuration much easier than for ISBoxer 1, and utility for doing so will be built right in.
Direct access to ISBoxer 2's Lua engine is provided.
ISBoxer 2 also includes the option of secure local storage for passwords for each of your game accounts. If you have to enter your password to log in to a game, you will be able to press an ISBoxer 2 Hotkey while it is in a protected state (preventing it from accidentally entering your password when not logging in) to enter the correct password for the given game account. This feature will require entering a "master password" in order to securely protect your password collection, which means that simply having a copy of your password collection file (even if you accidentally share a copy of it with a skilled hacker) is not sufficient to steal all of your account passwords (phew!). However, if your PC is compromised (haxed!), you are vulnerable to keyloggers and other attacks either way. This feature is implemented based on ISBoxer EVE Launcher code (which is open source and can be -- and has been -- reviewed for security at https://github.com/LavishSoftware/ISBoxerEVELauncher).
And finally, ISBoxer 2 will try to enforce the rules (as understood) for each game. This means disabling delayed actions for games with standard multiboxing rules, disabling Input Broadcasting for various games with restrictive multiboxing rules and so on, but at the same time ISBoxer 2 will also allow a relaxed ruleset (as compared to ISBoxer 1) for games without restrictions. In other words, if you're playing Minecraft we have no real reason to prevent you from fully programming your input devices (as you may already do with the manufacturer's software from Logitech, Razer, Corsair, SteelSeries, etc), but if you're playing World of Warcraft we will automatically insist that the accepted multiboxing rules are enforced.
Now that summer is here, things are moving along quickly in this new direction. I hope to have a fresh build for people to try some of the new features within a week or two (bearing in mind that configuring will be somewhat raw until web interfaces are properly readied). Stay tuned!