When you multiply that 90% consumer coverage by the percentage of people who will install your app when you ask them to, it's going to knock down your 90% pretty considerably.
For users, I'm not sure how this is significantly worse than asking people to visit your mobile website. In my personal experience, people will search the app store for your mobile web application by default anyway. If your product is an "app" in the functionality sense, then people are going to look for it in the "app store". Period. For user, it's actually a better experience than using Chrome/Safari.
It’s cheaper to build multiple native applications than one responsive web app
211–220 of 322 posts
Re: It’s cheaper to build multiple native applications than one responsive web app
#212Yes the development costs are super important, especially for small companies / startups. As important is the performance of your app(s) and also super important is the usability of such an app. If the development costs are much higher than building native apps besides your website, then you failed. If your app is slow and unresponsive then you failed. If your users dislike the app because it is not smooth like a native app and feels sluggish then you failed.
But does this mean that building mobile web apps is impossible, I don’t think so. We did several things that helped us to keep the costs as low as possible and for sure much lower than if we would have written server, apps and client code using different languages / frameworks and libraries.
Our server side code, the code of our web apps as well as (obviously) our client (browser) code are written in javascript. We have used typescript to write all our code, this allowed us to use the latest ES6 features and gave us features like strict typing. The ES6 features we have most used are promises and classes. Typescript compiles our ES6 code into ES5 UMD modules. We choosed Visual Studio as IDE as it compiles typescript on the fly, which allowed as to quickly test new code almost in real time. We also used the node js tools for visual studio which allowed us to use the node js debugger from within our IDE. Setting breakpoints (typescript creates Javascript to TypeScript source maps), reading stack traces or watching variables was a piece of cake.
We have built an isomorphic website first. Our server side got built on top of express js (node js). All our modules and libraries are UMD modules, which means that more than 95% of the code we wrote is the same that we use on the server and in the client. We have built a server views renderer using Backbone and domino. Our collections and models are the same on the server and in the client, the only difference are the adapters we wrote to make ajax or server side requests. We use the same router on the server and in the client, which means the first page that gets served is always built on the server but the next pages are built in the client. This also means that crawlers can harvest our pages but for users we only retrieve the data needed to build the pages from server and do all other work in the client, which makes the pages load very quickly. We also had to write a cache library once, the only difference again are their adapters, the server adapter of our caching library saves objects into redis while our client adapter saves them in IndexedDB. A lot of things needed to built the pages get cached too, so each template, each translation and so on only needs to get fetched once by the client and can be reused until we publish an updated version of the item.
Our web apps are built using phonegap. Again 95% of the code of our apps is the same as the code that is being used by the client (browsers). Obviously we had to write clean and powerful code to ensure that our apps come as close as possible to the speed that people expect from a native app. We had to track every minor memory leak, especially those that occur when binding events to ensure that our apps use a minimum of memory. This was not only important for the web apps but also for the node js code. A memory leak is something you really don’t want to have when writing a nodejs app ;).
I think what helped us to keep the costs low, was that we used the same language and therefore resulting code for the client, server and apps. But this did not only allow us to work quickly, it will also allow us to add new features quickly in the future. If we now write a new feature, as soon as we release it, it will be available to users that use our website as well as users that are using our Android / iOS apps either on their phone or tablet. The same is true for bugs, if we find a bug in the client and fix it, it will be fixed for all our platforms.
The other big advantage was that all the know-how we had but especially the one we acquired during the time we needed to build our project did benefit all our platforms. We didn’t have to optimize our Java code for Android our Objective-C or Swift code for iOS and our PHP, Ruby or .Net code for the server. We just needed to optimize our Javascript code. We reduced the amount of platform / language specific problems to a minimum. It is really great when all your devs use (speak) the same language ;).
Re: It’s cheaper to build multiple native applications than one responsive web app
#213Earlier quoted context omitted.
I would agree, the native interface with hardware would be easier with native than the web. But the testing issues across all android devices is still an issue that the web should not have to contend with. And the Apple store issue is hard to quantify. You just don't know if they are going to let you in. The web means you don't have to get the user to install the app. Of course if you use cordova or phone gap you sti…
> You just don't know if they are going to let you in. You do know.
I can only shake my head at the venom being reserved for this post.
Re: It’s cheaper to build multiple native applications than one responsive web app
#214"You want mobile notifications? Sure, but not on mobile Safari." You can do this with PhoneGap. "Multiple line ellipsis? Sure, but only on webkit." Okay, yeah, this sucks. "Consistent rendering size across browsers? Just fuck off." This is probably your fault. "We fix a layout bug on Safari and break something on Edge." This is probably your fault. "We change font size on Chrome and now all you can see on Firefox is…
Seriously, that's your answer? There are problems, and your response is to blame the user, rather than admit that these are problems that simply should not exist?
Re: It’s cheaper to build multiple native applications than one responsive web app
#215Earlier quoted context omitted.
I don't understand why people think this is a huge friction point. Installing apps is comfortable, familiar, and easy for people. By comparison, finding a mobile web application in the browser on a phone has significantly more friction.
A lot of people in the real world don't want to install apps. Also I disbelieve on how hard it is to find a mobile web application on a phone. Find it once, save a shortcut to a web page on your home screen, and now it is as easy to launch as an app. I actually find this easier to do than it is to install an app.
Re: It’s cheaper to build multiple native applications than one responsive web app
#216I understand and empathize with the author's aggravation. But cheaper? Really? So iOs and Android are more than 90% of the market. You are telling me that it is cheaper to build and maintain 2 separate apps and pass on the remaining part of the market than have one app that covers everything? Android device support is supposed to be a nightmare - there are so many versions to contend with, each device manufacturer ca…
> So iOs and Android are more than 90% of the market. 98.4% http://www.gartner.com/newsroom/id/3215217 I think it's pretty reasonable to pass on the remaining 1.6%, especially as those probably aren't your target audience anyway.
Re: It’s cheaper to build multiple native applications than one responsive web app
#217Earlier quoted context omitted.
A lot of people in the real world don't want to install apps. Also I disbelieve on how hard it is to find a mobile web application on a phone. Find it once, save a shortcut to a web page on your home screen, and now it is as easy to launch as an app. I actually find this easier to do than it is to install an app.
> A lot of people in the real world don't want to install apps. A lot of just a specific subset of highly technical people? I don't think I've met anyone with an aversion to apps who also used a ton of mobile web apps. > save a shortcut to a web page on your home screen How many people did you lose at this point?
- Actually you don't lose anyone because browser history and address bar autocomplete are your friends. I dont think people care to save a shortcut, because they know they will be able to find it later.
Re: It’s cheaper to build multiple native applications than one responsive web app
#218I understand and empathize with the author's aggravation. But cheaper? Really? So iOs and Android are more than 90% of the market. You are telling me that it is cheaper to build and maintain 2 separate apps and pass on the remaining part of the market than have one app that covers everything? Android device support is supposed to be a nightmare - there are so many versions to contend with, each device manufacturer ca…
Re: It’s cheaper to build multiple native applications than one responsive web app
#219Earlier quoted context omitted.
Sure, but "2016 App" and "2007 App" are not monolithic design choices. If you can decompose those things, you can keep the important bits and throw away the peacocking. Just a simple example: it's trivially easy to make large, flat shaded buttons on the web. That's going to be more familiar to younger users than native web buttons like those on HN. However, there's also spending weeks to make a web button that animat…
> is largely just a thing that native app builders do to show off and give clients a reason to believe their $300/hour is well spent I recall an article by Zynga (maybe in Gamasutra? Can't find it now) that talked about user retention in relation to "rewards." They said that it's essentially a pure win to make every single action a user performs reward them in some way. Not a big reward—not a "points in a video game"…
Re: It’s cheaper to build multiple native applications than one responsive web app
#220I don't think that's remotely true if you keep the responsive web app simple. YNGNI and KISS and what not. I've been doing this for over ten years. In that time I've seen large web applications built for under 4k; I've also seen massively overbuilt simple applications go for 50k+. It comes down to often how needlessly complex you make the stack. If you stick with solid simple guaranteed tech instead of cutting edge y…