We will be developing a free tool for our existing customers. I have no experience with iPhone and Android but as far as I'm aware you can't just put a file online and add a download link to it.
I'm wondering what are the best options to deliver this application to our customers? Should we just place it in App Store and Android Market (even though it might confuse the people who stumble upon the app and have no idea what or who it's for)?
I'm also aware of Apple's Enterprise Program. I'm not sure how it works technically but it sounds like it can be distributed from local network only, or am I wrong? The app should be obtainable online.
Is it possible to put app in App Store/Market without making it searchable & browseable in the app list of the Store/Market but accessible via direct link only?
Thank you for any suggestions.
For iPhone you need to use the iOS Enterprise Program to create your private market as long as the devices are not jailbreaked.
For Android you can distribute the installation file (.apk file) over your website. You have to tell the users to check the option "Install apps from unknown sources" (look here) in their preferences.
It really sounds like a "mobile web app" is what you're looking for.
There are several toolkits for styling web pages to look and act like an iPhone/Android app.
The user simply navigates to your site, and you can detect if they're browsing from a mobile device and render the page(s) based on that or redirect them to device specific sites.
Users can bookmark your site to create an icon on their home screen.
If your app doesn't depend on a remote connection, you can also just do everything in Javascript and the user can use your app offline.
Related
On windows we have different hooks, by which we are able to interact with any running programs. for example one can get a running apps handle and then change some its properties, etc .
I want to know if similar functionality is present in android systems.
for example one can get a running apps handle and then change some its properties, etc .
Yes, malware authors think that this facility is great.
I want to know if similar functionality is present in android systems.
No, for blindingly obvious security reasons. On rooted devices, something like the Xposed Framework offers some of this sort of thing.
does android allows for browser plugins
No. Neither does Windows, macOS, or Linux. Web browsers can allow for browser plugins. The exact details of how one implements a browser plugin will vary by browser and OS.
can apps communicate with a specific plugin in a browser
That would vary by browser. My guess is that the answer is "no", but you would need to contact the developers of your browser of interest for confirmation.
Each app in Android OS run in it's own sandbox.
You cannot change behaviour of any other app.
You can only communicate with other apps if they have
the feature to do so, like when you want to share
something in the app, then a lot of sharing app opens.
Like facebook, whatsapp, twitter etc.
Beacause they are intended to do so. With the Deep Linking we can
make out app to be connected with other app.
I am thinking of building a new tab page for chrome which works for both desktop and mobile devices. I know that the chrome extensions do not work for mobile devices but the mobile app can be integrated with other apps on the mobile device as found here. Hence, I was thinking whether an android app can be used as a workaround which overrides the new tab page. Is this possible? If yes, how?
What you want is not possible if the Google chrome does not provide you an API for that. It is because all the Android applications are prepared to be as a single app package that can't know anything about other apps but the things the OS (Android) provides to them. For example, you can query the OS to know what apps can answer to a question (Intent) like: "Who can open an email?".
Imagine what would happen if what you want could be possible. I am an attacker that for some reason wants to inject a behavior in another app. This app can't have the control of what it is doing anymore and we can inject, bypass permissions or whatever, without the user agreement.
However, some kind of modifications of this type can be done by adding some files in a rooted device. Anyway, this is a complex situation and something that cannot suit your needs.
What I want to develop: Crude Overview?
Suppose 10 web links present on my (native/web) app, and user will scroll through links. And when user clicks on any of the link, it will open that website. And user might wish to close this website and again views the list of those URLs on my app and the cycle may go on as per his wish. Also, user can create custom list of those links. Also, these lists will be updated regularly, may be on monthly basis. Which I guess I just need to update data files and not app.
No, it is not similar to browser bookmarks but in very crude terms you can relate it. Anyways, I will accessing user's bookmarks with his permission which I guess can be easily done with the APIs available.
Right now, technologies in my mind.
1) Phonegap ( to be precise, its phonegap build - as I don't have MAC) with JQuery mobile and deploy as native app,or
2) SenchaTouch and deploy as web app or native app using sencha cmd.
3) I want to use MongoDB along with above 1st or 2nd option. Is it required or JSON can suffice? Also, I may need some security by encrypting this data while storage at user's mobile and also while collecting user's custom lists.
4) In future, I would also need Node.js for the purpose of collecting MongoDB or JSON data files in above 3rd point. Is there any other way so that it can be integrated with phonegap or senchaTouch.
Please suggest things if existing resources can help me develop my idea and guide me what to use!
Note: All technologies I am picking up are focused on single code base with minimal focus on platform specific changes-iOS/android/Windows/Blackberry.
I want to go for Native app rather than web app. Why?
1) I feel that it would perform faster if I deploy my idea as android/iOS/Windows app rather than web application.
2) My cost of hosting the application on server will go to null because I am using local storage of the user's mobile.
3) Since I want a feature in my app which stores user custom settings so it would be better if I deploy it as mobile app rather than web app so that I don't have to maintain user specific settings which may make my DataBase hosted on server to grow immense in future.
4) Also,I feel that there is no sense in hosting this application on a dedicated server because there would be less user interaction with my backend. But later I would plan a feature to collect data/settings done by user to improve feed for which I think I need to use Node.js. But then also there is no requirement of hosting frontend to a dedicated server. Hence, I can use dedicated server to serve my own purpose of analytics to improve feed rather than service user's purpose of unnecessary access to my web application always through the server and fetching lists of links which are maintained on server in custom manner for him.
My dilemma!
My above points are valid to prefer deploying as native app over rather than web app. But I feel what if I keep my app as offline web app which runs on the default browser of the user but loads the jquery and other data and scripts from the storage in mobile. Is this possible? I am unaware of this.
If this is available then it is the best thing for me to adopt as my application redirects to other websites. Because, if I am deploying my app as native app then it would ruin user experience of opening my app and selecting an option whose URL opens up in default user's mobile browser which is a different app and then there are many chances that user will switch back to my app and then again he would be redirected to that mobile browser. And obviously I cannot develop my own browser in my app as I would have to develop several things from security and other perspective which would be a cumbersome task. So, having my offline web app will be opened in user's default browser itself without annoying him to switch back and forth between my app and browser as in previous case and thus creating seamless experience.
Also, I am not sure whether we can create offline inbuilt browser plugins as we can do in chrome browser on desktop. If so, then I think I would have to concentrate differently on different mobile browsers Safari, Chrome, mozilla which I feel is not worthy. Please throw some light on this for me.
I have no idea why people are downvoting my question as I feel that it is kind of unique question.
Here is what I found more and with the help of my friend
1) I don't have to use MongoDB as my application is not much complex. So simple JSON will suffice.
2) I'll be using Phonegap for android and windows phone and phonegap build for iOS along with jQMobile. So the app will be in the native form only.
3) I'll be using inApp browser for seamless experience although it is not as perfect as having my idea as web app.
4) No need for senchaTouch as it is heavier than phonegap and not required for me idea.
5) My next look forward is comparing the above points with offline web app built using JQMobile and JSON and finally whatever I decide I will share.
EDIT:
I am finally going with phonegap for native deploy rather than offline web app or web app hosted on server for reasons that I found on several blogs.
People downvoted my ques so I feel that it is not worth writing answer further but if you want the detailed reason you can always add a comment.
Thank you
You should definitely go for web. It is cross platform. If you do an android App, or iOS App, they are restricted to the specific devices. So I definitely recommend Web App
I am new to android development, I have a website that is for online shopping and I want to make an android app so the smart phone users can also access it. It will use something like PHP post/get, JSON, JavaScript to get values from server and submit forms from app. My question is after doing all these, mean HTTP Connection and all that, is there any need to make a special website for mobile device too, that will be compatible with mobile device? or no need of this, just to open it in mobile app? I have googled it but can't find something useful.
I think most of visitors will visit the normal site instead of installing a unknown app.
It's your own choose, if i have the the choice i would choose both (web and app).
I think it's important to have a user and mobile friendly website.
At least you could make your website responsive so that user have the choice whether they will install a Native app or use the 'web' app.
I've met the same question.
Apps are good-looking and functional.
But the thing is, especially in China, almost everybody around me uses "Wechat" as a daily app. The most important thing Wechat can provide is an entry. By establishing an official accounts, customers can be easily linked to your mobile website. And 1)it's way more convenience than Apps. 2)Mobile website has a less developing cost than an App. 3)With HTML5 spreading to mobile terminals, the interfaces can be cool and the function can be amazing.
So, for middle/little companies, I personally recommend mobile website.
I want to deploy an Android app in a similar fashion as the Wireless, Over-The-Air method that exists for iOS devices. That is, setup a web page and the user clicks a link from his device that includes the manifest (xml) file, containing information on how to download the app. This works well on iOS devices, and I thought Android may have something similar.
How do I go about this?
Thank you for any help.
Please the comments above. Have the correct MIME settings, link to the apk, and make sure unknown sources is checked on the device to allow non-market apps.
Since you seem to imply an app market / store is not involved in the iOS case, it seems you might be talking about an offline-cacheable "web app" rather than a native iOS application.
The android equivalent is: on devices where the offline web app capability exists, just visit the same web page (referencing an html5 manifest with appropriate mime type, etc) you are using for iOS. Perhaps you will ultimately end up with platform-specific refinements, but the basic idea is portable.
Or perhaps you just mean that a desktop/laptop need not be used to open obtain the app. On Android, that has been the case since day 1 - the primary market client is on the device, with over-the-air install. You can send an android device to the market with a market:// url. The ability to trigger an install from a web browser running on something other than the device is a more recent and still secondary capability on android.
Finally, android does offer the ability to side load native applications, something that has no iOS equivalent outside of jailbreaking or having a developer account. Most of the responses seem to concentrate on this, but it's not clear if that is what you are actually asking for.