From: ollie
Why is SMART/Simba still using an application, as the nature of SRL why are you using a client which is same detectability as nexus or rsbot when you could be directly using an agent to bot in firefox/chrome/ie.
The simple answer is speed and noob-friendlieness. There are only two viable options for transferring the image data in a fast and effective way 1) shared memory 2) run in same process. Pipes, sockets, etc. just don't work well for transmitting the live client image at a reasonable framerate without raping the CPU, and (along with shared memory) you have the overhead of "check for command, execute command, check for command" as opposed to pure function calls that only are available while running in the same process. Shared memory and other methods also have the epic downside of requiring the user to set something up (i.e. pair the client with the controller) which was just too much for noobs to handle. I know, it's trivial, but it's more than 85% of users want to deal with. Therefore, SMART runs in the same process as the controller so that there is no shared memory tunnel to set up. This has it's downsides too, but its shit easy to get people to implement in their scripts, and actually less setup than was required than with the old "drag the target to the runescape client" method.
tl;dr there are many ways to accomplish what SMART does, but imho the way I did it with SMART is the best way to accomplish the goal of making Runescape/Simba run in the background. That being said, reflection is a side item to SMART. The main purpose is fior running in the background with Simba/Scar.