PDA

View Full Version : Mobile App for your small business - Native or Web?



romels33
04-21-2016, 02:02 PM
Hi all, just wanted to ask everyone's opinion and feedback on this subject. As a small business owner, if you find that you would like to have a mobile application built around your business, would you prefer a web mobile friendly version of your website, or would you rather have a "Native" application instead? What I mean by "Native" is that the application will be written in the programming language specific to the device's Operating System (OS). For example on Android devices, it'll be Java or Objective-C for iOS.

I ask because it seems to me that most prefer to have a mobile site instead of native. I've had 2 clients already talk to me about creating a mobile application, but both times the idea of having a native application built is shut down, or they were completely turned off by the idea. I tried to explain to them both having a native app for their target device has advantages and disadvantages. One of the advantages of course is that a native app will have the "look, feel and behavior" of any other app on the device since it's "running" directly on the device's OS. Second, native apps can be submitted to the app market such as Google Pay Store and iTunes. On the other hand, I've told them that an obvious disadvantage is that we would then have to create a separate app for each device they want to target. There are ways around this however, and you can make native apps that target multiple platforms under one single source code, but it's a little more complicated than that.

I'm not simply just trying to make a sale off them and try to pitch to them that they should have a native app, but sometimes a mobile web app just isn't doing the job. For example, one of the clients' app does some heavy calculations behind the scenes and takes advantage of the phone's camera. I think this should be a good candidate for a native app as opposed to running it on the phone's browser, where you can see the "sluggish" behavior clearly, correct? Or am I just being too picky here maybe? =)

Anyways, I just wanted to get feedback from everyone to see which they would prefer. Thanks.

Romel

Harold Mansfield
04-21-2016, 02:19 PM
It's not really about preference, it's about what's the best tool for the job. Most small or businesses in general don't need a native app, they just think they're supposed to have one.
And then there's others who want app functionality on a responsive website, which is pretty unrealistic.

The other part of building a native app that people don't consider, is that you have to actually promote it as a product to get people to actually know it's available and use it. Plenty of dead apps in the app stores of businesses who didn't really need one, and had no idea how to run or promote them.

To me the two are not the same. One is not an app at all. It's merely a responsive or mobile website.

romels33
04-21-2016, 02:35 PM
It's not really about preference, it's about what's the best tool for the job. Most small or businesses in general don't need a native app, they just think they're supposed to have one.
And then there's others who want app functionality on a responsive website, which is pretty unrealistic.

The other part of building a native app that people don't consider, is that you have to actually promote it as a product to get people to actually know it's available and use it. Plenty of dead apps in the app stores of businesses who didn't really need one, and had no idea how to run or promote them.

To me the two are not the same. One is not an app at all. It's merely a responsive or mobile website.

Yeah, I get it's not really about the preference, but rather which one is better for the job. If it was completely up to me, I would do all of my development in web, because it's much easier to maintain and it is definitely cross platform. But again, it has limitations especially if doing some heavy-heavy calculations behind the scenes. My client doesn't actually use the mobile app to market for other to use or promote his business, but rather it's primarily used for his contractors (tutors). He owns a tutoring business and he likes the idea of having the application "ON THE GO" for his tutors when submitting their time. The problem is that it is so sluggish on the browser, since heavy calculations are involved, and that's just the nature of mobile browsers.

romels33
04-21-2016, 03:08 PM
If it was completely up to me, I would do all of my development in web, because it's much easier to maintain and it is definitely cross platform.

Actually, that's not VERY true either.... =) If it was REALLY REALLY REALLY up to me, I'd do all my development in Assembly/Assembler...... LOL That way, it will surely perform without having any concerns on performance and etc.... The only problem is, it'll probably take 5 years to create on simple app. =)

Romel

vangogh
04-21-2016, 04:48 PM
I think it depends on the specifics. Some people think they need to turn their website into a mobile app because people like native apps, but few people will install a dedicated app to read content unless you're already a well known brand that the person visits daily or near daily. For example I read the New York Times and prefer the native app. I open the app just about every day and don't mind it taking up space on my home page. I wouldn't do the same with the majority of sites I subscribe to in my feed reader.

On the other hand the app you describe as being for your client's tutoring site is one I could see being developed as a native app. I would think the target audience would derive enough benefit to install the app and it probably wouldn't be as hard to convince them to download it. I can imagine in this case that the native app could be better and even add features that aren't part of the site. That said, I'm sure a decent responsive design would be enough to make the back end of the site usable for the contractors.

Ultimately it's your client's decision. If they don't want a native app, don't push them. I would suggest it to them and tell them why you think it will be beneficial and ideally have some data to prove those benefits. If they still just want their website to work on mobile devices then build their site so it works on mobile devices. That's minimum anyway. All sites should work on mobile devices.

As far as being part of the app stores, I'm not sure how much more reach that really is. I can't speak for the Google Play Store, but on the iOS side, it's easier to find native apps by searching Google's web browser than it is to find the in the app store. You typically find a web page talking about the app and then searching and hoping to find the app on a subsequent search in the store. It's very hard to discover new apps though unless it is for a big brand.

romels33
04-21-2016, 05:53 PM
On the other hand the app you describe as being for your client's tutoring site is one I could see being developed as a native app. I would think the target audience would derive enough benefit to install the app and it probably wouldn't be as hard to convince them to download it. I can imagine in this case that the native app could be better and even add features that aren't part of the site. That said, I'm sure a decent responsive design would be enough to make the back end of the site usable for the contractors.

Ultimately it's your client's decision. If they don't want a native app, don't push them. I would suggest it to them and tell them why you think it will be beneficial and ideally have some data to prove those benefits. If they still just want their website to work on mobile devices then build their site so it works on mobile devices. That's minimum anyway. All sites should work on mobile devices.



Yes, I too agree that his contractors(tutors) can benefit from having a native app. It doesn't even have to be in the Google Pay Store, since I can deploy the Android file to his current website which can be downloaded by the tutors directly from their phones. For iOS, there's no other choice but to send it to iTunes. You're correct though. It really boils down to their choice and really is their decision. The site currently is mobile friendly, but as mentioned before, there's just a lot of heavy computing involved that makes it sluggish. :) Thanks for your input

vangogh
04-21-2016, 06:01 PM
Glad to help.

Is there a way to show your client that the slowness of the current set up is hurting his business? Maybe you can talk to some of the contractors or send out a survey to the less active ones to find out why they aren't more active. Maybe the reason is because the current set is too slow. Maybe you'll find out some other information that suggests a native app would be beneficial.

Again, it's ultimately your client's decision and at some point you just have to accept it and move on, but there's no reason you can't try to get them to see your point of view and see if you can convince them. Don't get too caught up in trying to change their minds though. I've found that's a very hard thing to do.

romels33
04-21-2016, 06:18 PM
Glad to help.

Is there a way to show your client that the slowness of the current set up is hurting his business? Maybe you can talk to some of the contractors or send out a survey to the less active ones to find out why they aren't more active. Maybe the reason is because the current set is too slow. Maybe you'll find out some other information that suggests a native app would be beneficial.

Again, it's ultimately your client's decision and at some point you just have to accept it and move on, but there's no reason you can't try to get them to see your point of view and see if you can convince them. Don't get too caught up in trying to change their minds though. I've found that's a very hard thing to do.

Hmmmm, I've never given surveys a thought, but maybe I will. I agree that one of the most difficult things I've ever done as a freelancer is getting clients to "buy-in" to something that you as a Developer know will benefit them in the long run. The problem I think most of the time is that they are so accustomed to their own ways of doing things and it's really hard to change some of that. When I first started, I thought that coding multiple projects simultaneously will be hardest part.... BOY WAS I WRONG! :)

Brian Altenhofel
04-22-2016, 02:32 PM
How will offloading "heavy calculations" to a mobile device help performance? Usually, slow performance is a symptom of architecture issues. Why are these calculations being done so often? What requires them to be performed synchronously with user requests? Even if they are needed to be fresh per-request (very rare), they can still be done asynchronously.

vangogh
04-22-2016, 04:58 PM
How will offloading "heavy calculations" to a mobile device help performance?

I assume by removing web browsers from the experience. I can't speak for others, but in my experience, browsers are usually the bottleneck. Most of the time I see a spinning beachball or hourglass, it's because of one or another browser.


I will. I agree that one of the most difficult things I've ever done as a freelancer is getting clients to "buy-in" to something that you as a Developer know will benefit them in the long run.

The thing is you don't actually know. You think it will benefit them in the long run based on what you know as a developer, but you're looking at things from your own perspective, which may or may not be the right one for the client. I've designed and developed plenty of websites and with every one I know what I would do if it were my site, but that doesn't make my decisions the right ones or even the best ones. I might have more experience working with websites than my clients. I might have a greater understanding of how the web works than they do. On the other hand they have more experience and knowledge about their particular business and their customers.

There are many different ways to run a successful business and a successful websites. There's no single right way. For example, I'll typically suggest that websites owners consistently add informational content to their site, whether through a blog or some other mechanism. I know that can work to bring traffic to the site. However, part of why I recommend it is because I have the ability to create that kind of content. Another person with the same ability or the time to create the content, might choose to spend money advertising to pick up traffic. Neither approach is right or wrong. They're just different strategies with different pros and cons. Depending the person or company one of the approaches might work better. A different person might find the approach to be better.

Brian Altenhofel
04-22-2016, 06:19 PM
I assume by removing web browsers from the experience. I can't speak for others, but in my experience, browsers are usually the bottleneck. Most of the time I see a spinning beachball or hourglass, it's because of one or another browser.

Which would assume it's already being offloaded to the client-side. Why? Performing any logic beyond rendering on the client side is an anti-pattern in web application development. If it's something that takes any noticeable amount of time to process, it should be queued on the server side and delivered asynchronously. If it's something where the result won't change if the inputs remain the same, then the results should at least be cached on the server side with the logic checking for whether the cached result should be considered stale and recalculated.