I am new here, but I have been developing Android apps for a while now. Found this forum to be very active and hence joined immediately.
I am working on a new Android project that will be useful to developers and users as well. But before I commit too much time on it, I thought I will bounce off the idea with other developers.
First, the problem that I am trying to solve:
Many apps require to fetch something from the Internet, at one point or another. And many of them require just a simple fetch of a URL or two. To do this, the Android platform requires the app to declare the Internet permission. But this is bad from the user's point of view, as they can't be sure if the app is using the Internet only to download genuine information, or using the Internet to send private data. This in turn is bad for the developer, as it translates to fewer downloads (users) of the app.
Further, just the Internet permission is not enough. You need to check if the network is available presently, which requires even more permissions like WIFI_STATE, etc. And, if the download is large, you may need to store the data to SD card which is yet another permission.
My proposed solution is:
There will be a utility app whose sole purpose will be to provide a URL fetch service. This app will have all the required permissions. Other apps will be able to make URL fetch requests from this service using Intents, and they themselves won't have to declare any permissions.
This app will be open-source, and the user could install it directly from the market or compile and install it from source. Even, if they download from the market, the user needs to trust only one app.
There are a few more advantages for the user:
There will be an option to log the requests, so that the user can scrutiny which URLs are being fetched by an app.
The user will be able to block/unblock certain apps. This will be useful for example, when the user is in a remote location and the internet bandwidth is slow.
For the developer:
There will be an ability to schedule fetches whenever internet is available. So, there won't be a need to check for WIFI state, etc.
I have already done some proof-of-concept testing. Streaming data from one app to another, efficiently and easily, is possible.
Thanks for reading this far. Would like to know your thoughts:
As a user, would you find this useful and will you install such an app? As a developer, would you use such a service?