Lately I've been reading this article about mobile app development. On page 25 / page 28 they talk about centralized and decentralized mobile application portals. Unfortunately, the article is very dated.
Let's say I want to categorize the main mobile platforms nowadays. Initially I would come up with something like this:
Google Android: centralized
Apple iOS: centralized
Windows Phone: centralized
BlackBerry OS: centralized
Firefox OS: decentralized
Amazon Fire OS: centralized
How would you complete this? I didn't find a way to validate these information. Google i.e. should be centralized because of the Google Play Store. However, there are alternative ways to download Android Apps like Aptoide. And then there is the Opera Mobile Store. You can download apps there for every platform. What does this mean for the categorization of mobile application portals?
Update: I'm still looking for some answers since I didn't figure out yet how to validate the information above. Any help is appreciated!
Update 2: After doing some further research, I was able to complete the list above. However, I'm still not sure if this really is correct. I added some bounty for those interested in reading the article and helping at my problem. Thanks.
Your list, so far, looks correct to me but Firefox OS has it´s own marketplace. So all of them have a way of working out and install your own stuff out of the store. Maybe Android is the most open of them all in that particular sense but they all try to keep the users hanging from their own named marketplace
As per the Article you mentioned :
Centralized portal
In this model, one portal is proposed as the main portal on which all
applications are published. This approach gives the main portal
provider a competitive advantage over others. Consumers can easily
find and download applications. It also facil- itates the job of
developers by offering a single point of sale. Centralized portals can
benefit from network effects by attract- ing more consumers and more
developers. Apple and Google propose a single point of sale with the
AppStore and the Android Market. However, these two platforms have
different approaches. On the one hand, Apple pushes a unique and
exclusive portal with a strict application review process. Google, on
the other hand, does not restrict the publication of appli- cations to
its portal. Moreover, there are no plans to review applications prior
to publication as it counts on consumers’ feed- back to exclude
inappropriate and low-quality applications.
Firefox OS: decentralized ?
No,because : There is a marketplace for Firefox As well where you can upload and download Apps.
Marketplace was started in 2013
Your Reference Article is outdated ! : 2010
Hence it did not included Firefox in centralized Portal !
Related
I have developed an Android and Apple App using Adobe PhoneGap 6.5.0 with the Inappbrowser 1.6.1 (https://build.phonegap.com/plugins/5452). The website it points to is responsive (uses bootstrap) so displays very well on a phone or tablet and the published Android App works very well which has the same code base.
The problem I am having is Apple have rejected my app for the following reasons:
From Apple:
Guideline 4.2.2 - Design
We noticed that your app only includes links, images, or content aggregated from the Internet with limited or no native iOS functionality. We understand that this content may be curated from the web specifically for your users, but since it does not sufficiently differ from a mobile web browsing experience, it is not appropriate for the App Store.
Next Steps
Please revise your app concept to provide a more robust user experience by including native iOS features and functionality.
We understand that there are no hard and fast rules to define useful or entertaining, but Apple and Apple customers expect apps to provide a really great user experience. Apps should provide valuable utility or entertainment, draw people in by offering compelling capabilities or content, or enable people to do something they couldn't do before or in a way they couldn't do it before.
The following link has similar use of Inappbrowser and mentions success in submission to the Apple App store (" I have been successful in my attempts"):
https://solidfoundationwebdev.com/blog/posts/how-to-wrap-a-website-in-a-cordova-app
My Inappbrowser is setup in deviceReady as follows:
function onDeviceReady()
{
window.open = cordova.InAppBrowser.open;
if( isNetworkConnectionOk() )
{
var ref = cordova.InAppBrowser.open('https://www.yourwebsite.com', '_blank', 'location=no,hardwareback=yes');
}
else
{
offlineCallBack();
}
}
There are also other event listeners to manage the network connection failing and GPS being turned off etc.
There are sites which offer a webview type solution and seem to guarantee Apple App submission (i.e. gonative.io) so it must be possible somehow.
I would just like to know if anyone knows how to resolve this problem to satisfy the Apple requirements? Are there native ios features or plugins etc. which you can add around the Inappbrowser for this? Thank you.
Yes, Apple have some strict restrictions regarding some apps. I also faced a problem where Apple rejected my app because it was showing network connection alert due to low bandwidth. So, i have to contacted Apple and explain the situation and told them to try again at some specific bandwidth and after that within a day they have approved my app may be after testing.
So try to contact Apple and explain to them.
I am planning to build a survey style questionnaire app that will run on android devices. I am not too keen on creating Android apps and recently came across PWA framework of Google.
Can anyone suggest if this is an ideal solution to build an offline survey style questionnaire app, the requirement is users will download a new questionnaire before going in field which would have different set of questions and choices and will take responses that could be around 100-500 per questionnaire in offline mode and they will come back to office and connect with internet and sync with central database.
My question is whether PWA can provide this offline feature and more importantly how much space is provided for a PWA to use on devices, is the space limited to couple of MB's like the Microsoft MVC solution?
Thanks,
Anurag
Regarding offline capabilities:
You can use service workers for such requirement. If you are only targeting modern devices with updated browsers, offline capabilities shouldn't be a problem.
Regarding Storage:
You can either leverage web storage API or indexedDB. In either case, you may read: http://www.html5rocks.com/en/tutorials/offline/quota-research/ to know the limits for each. Actual answer depends on platform and browser.
If you are only targeting mobile app and can take care of app distribution you can also consider Ionic for developing a hybrid app.
http://ionicframework.com/docs/v2/
Also, check out:
https://github.com/pazguille/offline-first : Everything you need to know to create offline-first web apps.
Isn't Branch really redundant, at least in Android? With questions like: Android - Is it possible to get install referrer programmatically
where we can do our own deep-linking, isn't Branch just another redundant tool now(at least in android)?
I can do all the things that Branch offers without integrating Branch at all.
Or am I missing something?
(Full disclosure: I did a Branch app integration last year and now work with the Branch team.)
This is a good question, and you're right: the deep linking landscape on Android has advanced quite significantly, especially with the introduction of App Links in Android M. As you mentioned, the Google Play Install Referrer (which Branch does also use) is available to anyone and passes a limited amount of data through the installation process. However it doesn't always get delivered reliably and isn't especially flexible. Many of Branch's partners had previously tried this approach and found it was too slow.
Branch does still offer a few benefits
Since there aren't really any deep linking 'standards' yet, Branch can still be a useful plug-and-play option for developers. Here are a few specific areas where Branch helps:
Edge cases
Given how many Android devices and OS versions are available, there are a ton of these. You’ll think everything is going great until you get that one user complaining that her links aren’t working on Facebook while running Android 4.4.4. Branch is currently tracking over 6000 of these situations (source), which can save you this nightmare and ensure that your links work everywhere.
Data flexibility
The Google Play Install Referrer lets you pass in a few strings via URL query parameters, but it isn't persistent storage and only works during the first install. Branch allows you to send almost anything you can think of (and also adds some useful analytics data), and it's available permanently with every link your users ever click.
Cross-platform
I know you asked specifically about Android, but if your app has an iOS version (or might launch one in future) then Branch makes it really easy to handle everything with a single system.
Value-added tools
Not deep link tech per se, but Branch can also let your users preview app content before installing, text themselves download links from their computer, and see detailed analytics for every piece of content inside the app, amongst others. Yes, of course those could all be developed in-house, but they're a big resource commitment.
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 have an application built with PhoneGap, and I want to send it to my clients with an elegant interface and get feedback. I have used testflight before for iOS, but it is not available for Android or BlackBerry.
I installed HockeyKit on my server. The alpha version of HockeyKit supports Android but there are a lot of files to upload and organize.
Is there any solution that can handle all three platforms - iOS, Android and BlackBerry?
AppBlade supports all three of the platforms you are looking for. To be honest I have only used them for Android, but it worked pretty well for that. I also got some great support from their engineers when I had questions and they also seemed to be fairly responsive to feature requests.
Knappsack sounds like it might fit the bill. It's a mobile application management platform that allows over the air installation of your apps and fine grained control of the users that have access to said apps. It's open source, so you can install it on your own server, but there is also a free tier that may suit your needs.
Can try HockeyApp, but it does not work with Blackberry. It is the best analog testflight.
It's early 2015 now and the solutions listed above either don't exist any more, or aren't free if you have more than a few apps/testers.
The best TestFlightApp.com alternative that I have found is Crashlytics. They support iOS and Android (no Blackberry).
Here's some info on the service: http://www.crashlytics.com/blog/launching-beta-by-crashlytics/
And here you can sign up: http://try.crashlytics.com/beta/
My customers prefer it to TestFlight, and for me as a developer it's also easier because they have an OS X app through which I can upload the archives and invite new testers (TestFlight's desktop app was broken for me).
Another really nice feature that Crashlytics offers is that (if you enable this feature), the OS X app will automatically upload the symbol files. When the app crashes for your testers, you'll get an email (when it's a new issue) and you can view statistics and stack traces of the crashes that occurred.