Is controlling one app from another legal?
<p>Say I have an app that externally controls other apps, not immitating it, but simulating mobile phone events (simulate mouse touch, button click...) to assume control of it, and provide an alternative interface (UI) for it. Would that mean missusing the "foreign" app?</p>

<p>Let's make it more complicated - I will let the user take the responsibility on running the foreign app(s) using my external interface. I mean, I am not trying to forge anyone, or hide anything, just provide an external <strong>accessiblity</strong> interface. Is it still deep in the gray zone?</p>

<p>The "foreign" app has an End User Licence Agreement (EULA) which will detail what can and cannot be done with it.</p>

<p>Breaching the EULA is illegal. That is, it can result in your loss of copyright privileges to the underlying software and give rise to a copyright infringement claim, or to a claim for other damages suffered by the rights holder. </p>

<p>Hazarding a guess, I would say that the EULA would prohibit what you are suggesting. Now, if it were an API instead of an App ...</p>

<p>Assuming that you and each of your users have a legitimate license to the foreign app and the "controlling" aspect isn't for any nefarious or otherwise illegal purpose, then there is probably no law that would make it illegal to control another app.</p>

<p>The next question is whether the use you are proposing for the app is within the bounds of the End User License Agreement, Terms of Service, or similar agreement that gives you and your end users the copyright license to operate the software.  Many people mistakenly assume that boilerplate EULAs would catch this, but often the do not.  If you violate the terms of the EULA, you may be forfeiting your copyright license and may be liable for copyright infringement for using the software without a valid license.  If you induce others to violate copyright, you may have additional liability.</p>

<p>Your goal in providing the layer on top of the app is probably not material to whether it is allowed, unless the EULA specifically restricts by what your intended purpose is, so even if you are providing a more accessible interface, there may not be any additional wiggle room than if you simply wanted a Hello Kitty themed interface.  It really all boils down to the EULA and the specific terms that are provided in there.</p>

<p>Another caveat is that you must also have stayed within the EULA when you developed the software.  For instance, if there is a no-reverse-engineering clause, then your development efforts may run afoul of that depending on the exact language and techniques used.  If you violated the EULA, courts may strain to find a violation for all your downstream users.</p>

<p>There's no gray zone about it, when your work entirely depends on another software product to function, that's pretty clearly established to be a derivative work. If you've created a derivative work from something you do not have a license to derive from, then you're wide open to claims of copyright infringement and possibly other things.</p>

<p>Once you start making money from this product, your problems just get worse. Imagine if I made an app called Toogle Mapz and all it does is hide Google maps in the background and provide a different UI to expose the function of Google maps to the user. It's pretty clear when you start to think of it that way, and even this isn't a great example because Google will actually give you API access to essentially accomplish this, but let's pretend they don't do this. You know full well that Google would have the legal department ripping down your app in a heartbeat at the very least.</p>

<p>Dale gave a good answer, I just wanted to be clear though that there is also this angle, and that's regardless of what the EULA says (assuming that the EULA does not grant you a license to create derived works). It's copyright infringement. Plus, you have no idea if there's functionality inside the code that your code relies on that is patented, and then you could double up your problems with patent infringement. Unless you've been given a license to do this, don't do it.</p>

<p><strong>Update</strong><br>
If you can provide an alternative UI, say for example on Android, by making an application that controls accessibility features, and you apply these features through the system in a generic way without being intimately bound (tight coupling of dependency on) to the target application, I'd say you'd be fine. But grabbing a handle to the app, shoving it in the background and hard-coding your application to be tightly coupled to the target app would make it a derivative work for sure.</p>

copyright intellectual-property software licensing