Contact
Menu
Contact

[Video] Progressive Web Apps vs. Native Apps with AB Inbev and IBM

Apr 11, 2019

Vic Eng:  As I told you, my name is Vic. I am a Lead Developer Consultant at Stride. Stride is an agile software development consultancy in New York city. We embed and collocate with tech teams, we code alongside you and provide technical mentorship to help you become the highest functioning version of yourself, that is the required plug. I promised I would say that, that's why they let me sit up here. So I'm done with introducing myself, and we're gonna just jump right into introductions for our two esteemed guests here. So, we did ro sham bo earlier to see who would speak first and I believe, I actually don't know who won, so.

Hardik Dave:    I guess I won.

Vic Eng: Go 
for it.

Hardik Dave:  All right, so my name is Hardik Dave. Thank you everybody for coming. Hopefully you'll find what we are going to talk about interesting. I only know it's a debate. I don't expect too many fist fights or anything like that going on here, so I think it'll be safe. So, I work at IBM. I manage a team of mobile developers, as well as a team of DevOps platform engineers. The focus of our team is to build great products, mobile as well as in my larger organization grab products that our employees use on a daily basis to make their work productive, that's simply our goal. And my responsibility among that goal is to provide people with great mobile products that they can use when they are on the road or meeting with a customer or at a soccer game after work or whatever it is, so that's what I do.

Yang Tang:  Great my name is Yang Tang, Global Director of Engineering at AB InBev. ABI, probably not many of you have actually heard that name before, you probably have heard of Anheuser-Busch, Budweiser, Bud Light, Corona those are some of the beer brands that the company owns. The company makes and sells a ton of beer, (laughs), hundreds of millions of gallons every single year. Our team builds a software to sell that beer to businesses worldwide. We have a team here in New York, as well as in Brazil, so a multi-national team, helping us build apps as well as the sites to sell that beer, and yes to throw in a plug we are hiring developers full stack, Front-end as well as Native app developers.

Hardik Dave:  And I should just say (laughs) I guess that's where the debate is the conversation of hiring. IBM as a whole, and especially our organization is growing our New York City space and so web development, mobile development, back-end services, DevOps platforms all of those are open doors if anyone is interested, myself and some of my colleagues are happy to I'm sure talk to you guys if you wanna meet them.

Vic Eng:  And Stride is also hiring. All right I'm not gonna plug like that.

Yang Tang:  Quick interjection, can I just have the ABI team raise their hands real quick, all right thank you guys. Talk to them as well.

Vic Eng:  So just a quick note about the format, obviously each member of the panel is gonna have a chance to answer every question and then will do a follow up and continuation that's necessary at the I've got 15 minutes to field audience questions so I do ask that you hold your questions until the end so that we don't have any interruptions throughout the middle, that's basically it, those room rules. All right so let's kick this off by just kinda of level setting what we're even talking about which is Native, PWA, what is all this stuff? Hardik I'm gonna start with you, what is a Native App?

Hardik Dave:  Yeah sure so a Native app in a kinda shortest description is an app that you install on your phone. There are a bunch of different technologies that can be build those Native apps, so in the case of let's if you have an iPhone and if you are using a mobile app there's a good chance that's it built with Swift or Objective-C those are the two primary languages. If you are using Android device I don't know why you are no I'm- (laughs) Android apps are Java and Kotlin, so that's kinda of if you find an app in the app store either Google Play store or Apple App Store it is a Native app, that's kinda how I would describe it in short.

Vic Eng:  Great let's move on to Yang what's a PWA? What is a Progressive Web App and how's it different than Native and how's it different than just a Web app?

Yang Tang:  Right so, Progressive Web Apps, really its the next version of HTML plus Javascript. I think HTML 5 is one of the iterations but essentially its a web page, that's it, it's a web page plus some Javascript to help you tie that together and then enable services on your mobile devices. We'll go into more details about exactly what that is, but that's essentially it. It is a website that runs on your browser. For most of you that browser is probably Chrome for our purposes here today we're gonna pretend that you don't know Chrome it's gonna be Safari only on your iPhones OK,(laughs).

Vic Eng:  Just as a follow-up to that Hardik, I know that you mentioned Hybrid apps before, so what is a Hybrid app and how is that different than Native or PWAs.

Hardik Dave:  So when you think about a Native app, there are different ways that you can build those Native Apps and one of those ways is building it with some of the web technologies that is wrapped as Native app and so there are apps lot of frameworks like Cordova that are out there, there were a little bit more popular I would say a few years ago than they are now, as the native development technology has improved and [inaudible 00:05:51] has become simpler. Hybrid apps have sort of taken a back step in a way but Hybrid apps essentially are the ones that are built with some of the web technologies like Javascript and things like that. They are then delivered to the user with a Native tinkling around it, so they act and look like Native app.

Vic Eng:  So that kind of let's us level set and have our terms defined so now we can actually talk about what we are interested in which is how do you decide which one of these technologies to use when you're building up your mobile app. So Yang I'm gonna start with you. How did AB InBev decide and when did you decide how long you're working with that platform?

Yang Tang:  One piece of content I think we should add here is, we talked about the terminology installation. Installation for all of us that means going to an app store, Play store, App Store, if we boiled it down this whole conversation that is essentially the difference, do you go to a device manufactured store to access an application? Or do you go to a browser which all most all devices nowadays have access to? That is one of the key questions I think that we should consider. So for ABI's purposes one of the things that we had to consider was looking at all of our customers throughout the world and for better, for worse, one of the things that we found is in our Growth Markets, where we sell the most beer, where that beer Market is growing. There are countries where the 80/20 rule falls the other way towards Android.

Yang Tang:  That simple fact makes PWAs much more plausible. Now the... and we will get into the details of why that is but your specific question was, how did our team choose to use PWAs and how are we doing this specifically? So to answer question, our team is actually relatively small. So, the ABI team today is dozens of developers for a 50 billion dollar company that's unheard of and so we're a kind of a start-up within a multi-billion dollar company what that means is one there's a huge opportunity, and two, also a very constrained resources, that might be folks in the start-up world are used to as well. And with that in mind we had to pick our fights, pick our values and when you have to deploy or build essentially the same interface, which I think you guys might be used to, three different times, well we had to identify where to do that.

Yang Tang:  So we essentially decided that because of our initial launch locations which are for example, actually I can't tell you the countries right now. But because of the countries that we have for initial launch those markets where more suitable for that particular application for the PWAs.

Vic Eng:  Cool thank you and so Hardik I know that IBM initially started with Web apps and then moved to a different platform can you tell us a little bit about IBM streaming?

Hardik Dave:  So we've been on a kind of mobile developers journey from an enterprise side of it for several years. I would say we've kind of explored and still deciding on a full spectrum of what it takes to build experiences for the users. It really depends on what the users need and what is the best way to deliver that experience to them. So, we started off, very beginning with essentially the existing Web apps and doing the absolutely minimum necessary to make them available and accessible on a mobile device. That was a way to get started quickly and give people something that they can start to use. Some of those experiences still remain in place because they were working just fine, as we started to build new experiences we looked at Hybrid as a way to build apps. One of the biggest reasons for that was from a scales perspective, the people who where doing a lot of this development had web background. So doing Hybrid development was a little bit easier for them and at the same time gave the users more of a Native experience that they were expecting from their iPhones or Android devices.

Hardik Dave:  Over the last I would say two and a half to three years, all of the Native experiences we built are being with Native languages so, Swift. Mostly Swift for IOS and in some cases when we build Android apps it's usually Java or now Kotlin. So, that's how we kind of moved, we still made a decision though, even today, based on what is the Use case that we are trying to deliver and what is the best way to deliver that? So, we don't end up building an Native app just because it's something we know how to do. Many cases we end up kind of taking a step back and saying that we will build a great responsive level experience or in the food cases a progressive level experience and that is really good and that works just fine and we don't need to build a new one. Even though that's our skillset we kind of go post structure.

Vic Eng:  So what kind of Use cases specifically might make you choose a platform or lock you out of a platform?

Hardik Dave:  So, I think the decision around when we go around and build a Native app is really based on about probably three different things. This is probably true for anybody who's making that decision here right. So the first thing is, what is it that the customer is going to need or want in that app? If they are going to need something that requires Native features like camera, extensometer, GPS, so those features, the native becomes a little bit of a better decision because there's better access to it and there's really strong frameworks available to actually build that into your app. The other thing is how is the user going to find what you're making available? So if the expectation is that the user is going to go to the app store search for your company and try to find it, the only way you can get that is really through Native apps so it kind of locks you into that. The third thing is what skills you have available.

Hardik Dave:  If you wanna build a Native apps you need those specific skills, if you don't have those skills then there's no point in building something that's gonna be Native but inferior to what you would provide to a great progressive level experience.

Vic Eng:  So when you talk about some of the harder features, we are gonna kind of go through those one by one. First is that the harder features that you can access have you Yang come across limitations from a PWA standpoint? For hardware that you couldn't access on the phone, I know that there's an API for the camera, for flashes, stuff like that.

Yang Tang:  I think the first thing is that there are certainly risks in going down PWAs. So, right off the bat, I'm gonna to tell all of you guys here, especially if you're focused on the US Market, it's gonna be an uphill battle to use PWAs, to only launch with PWAs. Now I'm gonna talk a little bit about the spectrum of how to launch an app across all platforms. So first of all there is certainly[inaudible 00:13:43] but I do wanna kind of plug in a little bit a site called What We Can Do Today, it's a fantastic site as I mentioned if you're on your iPhone don't visit it on your Chrome because it's actually reduced functionality. What will happen is, the short summary is if you visit it on Safari in your iPhone there's going to be check boxes on vast majority of things there camera, Jaro those actually available today.

Yang Tang:  If you are on Android even more check boxes. The big difference we'll hint at it later, or I'll just give it away now it's gonna be notifications. So I'll talk a little bit about how we're gonna potentially address that with our PWAs and also choose a Use case that maybe doesn't use notifications as much. Essentially the hardware access is really there even today and it's very exciting because those limitations are not really there anymore.

Vic Eng:  Cool so in terms of those hardware limitations not being kind of a limiting factor for which platform that you choose. Have you found it easier or harder? Are there specific hurdles to getting access to that? Even though you know you have API access to these hardware features, is it particularly tricky or is pretty straightforward?

Yang Tang:  So in our particular case we sell beer, it's an E-commerce site. It's not rocket science (laughs) we're not using Jaros, we're not using cameras necessarily as the primary feature, we're not Instagram. In fact if you go to App.Starbucks.com that's the Starbucks PWA implementation it works today. You can order a coffee down the street. That particular Use case is well suited for PWAs because it doesn't choose to primarily attach itself to those features but they're there. They are certainly available but I think the first thing you'd be very cogent about is what could work with PWAs and today E-commerce is a very good Use case for PWAs.

Vic Eng:  So what was IBM's Use case? It wasn't E-commerce that made you shift way from PWAs and go to a more Native.

Hardik Dave:  So like I said we still have Use cases where we use responsive apps not technically PWA but some responsive app capabilities and it works really well for lots of our Use cases. A couple of things that we've done from a Native experience perspective that helped force us to go that road a little bit more. One of the apps that we built had a strong requirement for offline capabilities, so we wanted to store something like 80 megabytes of data offline on the user's device so they have access to it no matter what. In that scenario storing all that data into a Safari cache or something would be kind of a pain it could have some security risk and a bunch of other reasons. So building a Native app made a lot of sense. The other scenario which is becoming pretty critically just in the industry as a whole, and I'm curious about your thoughts on it, is for machine learning both IOS and Android have come out with really strong machine learning frameworks that work right on your device.

Hardik Dave:  They require no servers like machine learning algorithm or anything like that and phones nowadays are powerful enough that they can run local machinery algorithms and give you results instantaneously and even though haven't done really extreme machine learning double Use cases we are starting to use them for some simpler Use cases. So, having Native app makes that technical part easier but if you think about it from a purely user perspective, I don't think that most users would care if your machine learning algorithm is running on the device or in a server. As long as the performance is good and they're getting the right results. So from a user perspective, I think it's not so much of a preference of one versus the other it's more about as an engineering organization what would you wanna build to provide to that great experience to the users.

Yang Tang:  I think you bring up some great points. I think the first thing you mentioned was around performance. I think there's actually a little bit of context that we should all set here. We talked about what PWAs are as you've mentioned it's just HTML, HTML 5, responsive and now PWAs. There's actually an important date we should talk about which is August 23rd 2012. OK, it doesn't ring a bell, (laughs). It's OK I had to look it up myself as well, that was the date that Facebook decided we can't have an HTML 5 app or based app anymore. They said we're gonna give up, we're gonna go fully native. At the time that was completely the right choice, they were facing response time issues, the app just wasn't working quickly enough. They were also facing pressures around their mobile strategy from the Stock Market, what better way to enter that market than to align themselves with Apple, with the leaders in the mobile space.

Yang Tang:  So at that time it made complete sense to shift way. I think the big changes that we've seen recently is actually around, you talked about offline. They used to be called local storage, they're also called Web workers and Web sockets, there's now a way to store much more data on the phones even in PWAs and do that in a smart way. I don't wanna go too much in the technical details here but Web workers and Promise those are the Javascript concepts that have really revolutionized Javascript. If you're in the Javascript world then you know this for a fact, if you're not I definitely recommend looking those up. Effectively they give you a smarter cache. I think a friend of mine called it a bubble cache, and the idea is instead of you having to code in like local storage active functionality for offline features, they are now encapsulated in a network layer. So in other words you just make call and if its there, then its there. If its not there, they will go out and do the Ajax. Those are some of the revolutionary things that we've seen in PWAs.

Yang Tang:  Again, obvious you mentioned storage space, a very interesting area. I think that there are certain players in the device manufacturing space that are, let's say, tilting their hand one way or the other, (laughs). So, if you're talking about hundreds maybe potentially gigs of data you need to have a real ML application then that's gonna be a challenge. If you have a more tactical application available its possible. I think that if you are talking about advanced processing there are gonna be limitations but at the same time if you're gonna do like Augmented Division or Augmented reality, its probably not a great idea for PWAs. But I think there are certainly some scenarios and way more than before where it makes much more sense. I will give you one example of E-commerce. But I think that painting, trading are other areas that make a lot of sense.

Vic Eng:  So, when you talk about other things that make sense in PWAs. You talk about some Use cases that are clearly not in PWA what is a Use case aside from ML? Because I don't know we're building a whole lot ML mobile apps right now. What are some other Use cases that are clearly needed? That are definitely like you've got to get the direct access to the hardware you can't use a Javascript API?

Hardik Dave:  Honestly, the reality is, offline and some of the new stuff that's coming out I don't think that there is a really strong absolute Use case just to [inaudible 00:22:39]. That's why any time we internally decide that we need some new experience on a mobile device, we always go through the process of deciding; should it be a Responsive Web App, should it be PWA or a Native app. And then, depending on what's available, what skills are available, and what is the Use case? We make a decision around what to build based on that.

Vic Eng:  So then let's talk a little bit about the skills that are available then, developer experience and developer skills. Is there an a significant difference between the skills that are necessary for PWA and for Native is there a particular paying for organizing or building a team that can build one or the other?

Hardik Dave:  There are differences in skills required to build Native apps and Web apps. The skills are becoming much more common in the market place, it doesn't mean easy to hire. It just means common, those are two different problems. And partly because Native development on Apple devices has been around for close to eight years now. First couple of years they didn't really do much there. Its been a long time enough that many developers, engineers have picked up on those skills. So from a skills perspective it does require specialized skills but those are not extremely unique skills, they are becoming fairly common in the market place.

Vic Eng:  So what about Java and Kotlin for Android? You mentioned earlier that there are some markets where the 80/20 split is for Android rather than IOS. Is it materially different to hire for Android team than it is for an IOS team?

Yang Tang:  So, there's two parts to that question, one is around markets that we operate into and the other is around the skillsets that support those markets. The first is we sell beer around the world, if you go to the App Store today you will see TapWiser or Quilmes it's a brand in Argentina, or Brahma it's a brand in Brazil. Those are all Native apps those are all available on the App Store today actually I will tell you right now we're not going to discontinue support for those apps. Those apps are built in Java, we're slowly moving and transitioning those into Kotlin as well as from Objective-C into Swift. So our teams even today are building those apps. I think we it comes to the PWA portion, this is really an empowerment for those that know and appreciate Web development, the website, specifically Javascript. I mentioned some of the concepts before about Promise and Web workers and Service workers. That's kind of how the shift is working, if you know Javascript then you're able to adapt to PWAs.

Yang Tang:  You're actually able to adapt to some of those Hybrid platforms as well even more, you're able to do in such a way, that you're able to do that within one Code base. You're able to effect that change across, well there's no other platforms, you just have one platform. You're able to leverage your skills for everyone, which is pretty powerful. Just thinking for myself we had a conversation earlier about being a Full stack developer, I'm not sure that's even a thing anymore. But certainly that's, just for my own edification, I always wanted to view myself as being able to change all by myself and at least have a majority stake in that. That is something that's changing with PWAs. How you're able to build up the entire experience and not have to rely on another team, on the developers other platform devices, other app stores, that's changed certainly.

Vic Eng:  So do you think that from your teams your IOS team versus your Android team, has there been any significant hurdles that one team faces that the others doesn't? When you're dealing with building an app that is parity across both platforms but with very different teams and very different technologies?

Hardik Dave:  Much less now, IOS in general is as a platform was a little bit ahead in coming out with enterprise features. So in our scenario since we build apps for the enterprise, IOS came out with really strong enterprise management feature for apps, data loss correction features things like that a few years ago. Android just released their Android enterprise a year ago. That was a time frame of about two years where the features required for us to build really secure build really secure apps that we can control within the enterprise was much harder to do on Android than it was on IOS. So, that was one big thing our developers struggled a bit with and for a while we actually made a decision of not building Android apps because we knew that we weren't gonna be able to provide enough security around that, at the end of the day. So we made decisions around it at that time, now the platform has kind of caught up and so there's a lot of parity around features[inaudible 00:28:23].

Vic Eng:  So it sounds like a lot the factors that go into making decisions now might be different in a year. A lot of the factors that went into making a decision a year ago have already disappeared. What are some of the constraints that you're facing now that you think might go away soon? What are some of the reasons that you would pick one platform from the other that you think would start to disappear?

Yang Tang:  I can start with that.

Hardik Dave:  Yeah, go ahead.

Yang Tang:  I think we need to talk a little bit about some of the very real limitations in PWAs, those are areas we should all be cognizant about. I mentioned one thing which was notifications, another one is the experience of installing the app especially on IOS. It's rather clunky, I don't know if you've ever done this but if you do visit App.Starbucks.com, you have to click on the output link or the share button. I don't know what they really call that, click on add to home screen, and do that by yourself without any prompting, that really sucks. Then they'll put it in an icon on to your home screen and now its an app. You guys are probably glazed over at this point because how am I supposed to remember any of this. First of all, it's an intentional choice by the device manufacturer to make it that way. But those are two very real limitations.

Yang Tang:  I can describe some of the mitigating factors for ABI. Number one on that installation script, we happen to have a global sales force all around the world that business feature bar, we call them POCs they're Points of Consumption, so these are bars, restaurants, supermarkets all across the world and they visit them every single week. So, we have an in as far as that, we have regular contact. Those folks are not going away, that personal touch is incredibly important and they're kind of our machine learning. They know the clientele, they know that the folks make the really best recommendations. So, we certainly have a choice there. I think in the realm of notifications, its actually not something that a particular device manufacturer has chosen to project into the future. They've made very small changes to the IOS platform, very small. It was so small that I didn't get a reason but I think that there was some sort of accessibility issue with installation and they fixed that but its not groundbreaking. They're not changing the notifications, they're not telling anybody that they're gonna enable this is all by the way working on Android the other platform.

Yang Tang:  Those are certainly limiting factors. Again, if you are in the US market or the market like the EU, its another one where its at least 50/50. You have to know your customers, you have to know where the market is going in those markets and then make their corporate choices.

Vic Eng:  So these limitations that you're talking about sounds like its specific to the browser on the phone, like the default browser on the phone. Is there a way to run a PWA on Chrome IOS? Is there a way to run or on another browser?

Yang Tang:  Chrome on IOS is even more neutered. So that's why I told you guys to use Safari that has more check marks. You guys probably already knew all of this but Chrome on IOS is really Safari. Its not an additional browser, its additional skin. Let me actually bring up one more point here. We had talked about performance a little bit, I think that another factor that we should add in as well is the performance of the network. That article I mentioned earlier from Facebook they actually hadn't intoned why they had used HTML 5. Why they started with HTML 5 back when we were still using Facebook back in 2012. And the reasons was because they wanna build a single platform for everyone, no matter the country, no matter the geography, no matter the speeds of the connection. That's actually a really important point because you don't have to install the app.

Yang Tang:  You don't have to download the updates every single time. One important idea that we looked at for South Africa, its a very recent region that we built into its got 50 megs per the initial installation. But that also means that every single update is 50 megs and you're talking about perhaps one at least two or perhaps you may need even more than updates per month. So now you are talking about a gig worth of data. We did a little bit of comparative study there and we looked at for an average pot size which is very small right. This is mostly a mum shop in a township in South Africa. A gig worth of data because they are paying per byte, its the choice of that monthly order out of the year. So you either order 11 months out of the year or you have the latest version of the app, (laughs). Those are choices that we don't want those customers to make. I think that's another factor too.

Vic Eng:  Does IBM have issues with version management with making sure that all the users are update on the app?

Hardik Dave:  No I've never heard of this, (laughs). Yes we do, that's one of those things where I think that's one of the downsides honestly of having an app. You have your Verimark versions, if you are using a Responsive Web App or a Progressive Web App. The next time you go to that website or the application, it's What do I do next? What do I do next? There is no choice, in a way its good. In our case, a couple of the things we've done one is the installation problem that Yang was talking about earlier the way we for our internal enterprise customers, our users we've been able to actually avoid it we built an app store an enterprise app store just for employees. We have a hundred and fifty thousand mobile users in the company so it's a big enough user group that having an app store makes sense. One of the key features we add into the app is a way to list Progress Web Apps or Responsive Web Apps as if they were an app. You can search for it, you can tap on get this app and it will install on your device as if it's installing.

Yang Tang:  I thought this was supposed to be a debate, (laughs).

Hardik Dave:  I'm giving you ideas, (laughs), we learned the exact same problem that nobody is going to figure out how to put that clip on your home page, that's exactly what happened. So we came out with a way to essentially still solve the problem of making sure that our employees can find whatever they need to do their job without putting constraints of which platform they are using or is it gonna be a Native app, or capability or some other thing. Like I said we are supporting a pretty large and broad population, so we try to find solutions for it all.

Vic Eng:  By building your own app store that seems legit.

Hardik Dave:  Building an app store.

Vic Eng:  Is it better than the Apple app store? Tell the truth?

Hardik Dave:  I'll just say that's the only choice the employees have. Yes its very good.

Vic Eng:  The best way to enforce quality is to monopoly. Are there other distribution options. I know for Google or for Android excuse me the distribution for apps is Google Play that's it. For PWAs then the distributions is just the browser and the domain. Are there any other options for distributing your apps?

Yang Tang:  Let me just interject here real quick about Google and the Android ecosystem, it's like the if one side is one way the Android is kind of like the dream state. You can deploy a PWA as an app in the Play store. You can also do the adding to home screen without any of the rigors. You just press a button, you got the icon, you got ways to customize the look and feel, you have ways to customize for the specific user. Its fantastic in comparison, that's really it.

Vic Eng:  Is the installation constraint only on IOS? IOS makes you?

Yang Tang:  In that first step. Its really that first step, and yeah that first step is a doozy.

Vic Eng:  And that was enough to make you build your own app store?

Hardik Dave:  That was not the only reason but yeah that helped.

Vic Eng:  So when we're talking about these platform constraints kind of one the important questions here, one of the more interesting questions is that for the platform, for the choices that you make. For all those factors and reasons that came in if you could change one factor, if you could change one constraint that is boxing you into the platform that you've picked, what would that constraint be?

Yang Tang:  Well, we haven't technically boxed ourselves in yet. At least for ABI the way that we medicate that, number one is we operate worldwide, so the US is a major market, EU is a major market, a number of other countries as well. We are unlikely to choose really something that's in the improvement concept stage in one of our major markets. The great news for us is that as I mentioned South Africa other countries in sub-Saharan Africa as well where the connection's horrible and you pay by the byte. Those are the areas where we have the opportunity to deploy these proven concepts. Including PWAs as the only solution. So no longer are we talking about App.Starbucks.com, we're talking about that's it there's only one option. Certainly that's one way to approach that area. I think if you are looking at one specific geographic location then definitely take a look at your users or your projected users and find out what kind of ecosystem lives there.

Vic Eng: Actually just a quick follow up on that, you mention South Africa as being a specific market with very specific constraints. Of course here we know that IOS dominates the market what are some other major substantial markets in the world that have very specific user bases or market limitations.

Yang Tang: So for us, basically all of Latin America, parts of Asia are trending that way as well as. One specific area I can tell you at least for our customers in Mexico it starts at 80% and goes up from there as far as Android adoption. There are geographic regions within Mexico that are like 90%, 95%.

Hardik Dave:  What's interesting is even within Android in China, Google Play store is not available. So in order to install apps engineer your own way of doing it or you have to use one of the local Google supported app stores.

Vic Eng:  Interesting are there other markets that have weird limitations like that if you comfort us.

Hardik Dave:  I think China is the only one that I'm aware of because Google doesn't do business in China. So they just don't have any way of supporting any of their platforms there.

Vic Eng:  I know IBM's apps are internal do you have users or place employees in specific markets that have very specific needs that you have to serve?

Hardik Dave:  Yes, we do have an app store for Android users and IOS users. The requirements are general population is about 80% IOS, 20% Android. We are kind of reversed on the other side. Partly, its probably multiple reasons but part of it is the availability of the devices. Any employee that receives a phone from IBM if they are sales or roles where they are traveling, they receive an iPhone, so kind of by default our majority is on the iPhone side. So we put a lot more effort on that side than on Android side.

Vic Eng:  If you could make the choice to switch IBM to 80% Android so that you could move to PWA would you do it?

Hardik Dave:  Just to hold the PWA?

Vic Eng:  Well, so the installation is easier, because apparently Android installations for PWAs could get you on the home screen with a single click?

Hardik Dave:  I would probably not make it because from an experience perspective and the feedback we are receiving from a lot of users is that they like the simplicity that IOS provides. One of the things that it provides is where the enterprise, IOS is sort of leaning on the enterprise side more that I was talking about earlier. One of the key things they've done is they have this concept of on-demand VPN. Most of our services that we offer are behind the VPN, behind the firewall. So what IOS has done several years is, essentially if your Web or mobile application needs VPN to actually connect it will automatically turn the VPN on, in the background, connect you and when you're done with it it will turn it off.

Hardik Dave:  That experience alone is probably worth sticking with that platform where Android just doesn't have that today. Because that user experience is just incredibly just out of people's mind it just works and it disconnects itself when it's done.

Yang Tang:  So on ABI's side, even though we're an enterprise multi-national company we ultimately do serve almost the customer. Our businesses that we're selling to, these are mom and pops, some of them only order one case of beer, every month. For us we don't have a choice in determining what the market reality is. They're gonna vote with their hands, so there's really no choice for us when it comes to which regions we can go into. There's no choice as in we can't change the reality there. What I will say is what we are planning to do, you mentioned how we are eventually going to roll out some of these PWAs. I think one potentially interesting strategy is that we would make both available. A Native app as well as the site itself. Obviously it would be the main site, it would be the equivalent of Budweiser.com its not actually Budweiser.com but imagine that the beta byte site is that way.

Yang Tang:  We would give our customers the ability to choose and or a Progressive deployment, so certain regions, those sales folks are gonna talk just about the site and other regions they're gonna just talk about the app, like they've always done and see if there's a cross migration. To do some AB testing really, and that is an opportunity we have on ABI to really find out if PWAs are something that the market wants. That's a potential interesting idea as well.

Vic Eng:  What kind of investment would that be, in terms of maintaining the development team and maintaining both apps, and making sure that they have feature priority both the PWA and the Native app?

Yang Tang:  We didn't go into the specific details of the applications that we are intending to use on PWAs. The encompassing area that we are building is beta byte so its an E-commerce site. But the specific area that we're piloting slash point of [inaudible 00:46:06] a concept is actually a loyalty program. So imagine your [inaudible 00:46:11] for beer, so more fun. The idea is that is for the customers we are choosing to use PWAs, it just goes with the site, there's one development operation there. For the customers choosing to use the Native app there's a number of solutions that we're exploring there, one of them is at least that section or that area, or that module would become a Hybrid app. That's certainly something that is been successful in the past, where Apple hasn't or certain device manufactures haven't completely crushed down on parts of your app being hybrid. So that's a potential area as well so in effect you get the best of both worlds everywhere and obviously you get to reuse that skillset and that output. So deploying in part of the area with the Hybrid is a possible strategy.

Vic Eng:  So quick question with IBM, I know having built apps, Web apps and Hybrid and Native, do you have any advice for Yang, if you wanted to do something like that? Is there any way to share the work across the platforms or?

Hardik Dave:  I don't think he needs advice honestly but for case of beer maybe we can... (laughs).

Yang Tang:  Man case of beer, this is negotiation, start high.

Hardik Dave:  Well, I think a lot of the things that you were talking about like focusing on what the users needs. I mean in your case its much more of a complex environment than what we have. At the end of the day we can control what our employees will use to do their work. You're obviously working with a customer so if you don't provide what they already have, they'll go to somebody else, so you have that direct choice. But in my experience, I think these decisions really come down to what skills you have available to do the best job you can to build the best experience you can for the users. How do you then make sure that those experience are visible and available and discoverable by those people who are supposed to be using the app.

Vic Eng:  So we have just about 10 minutes left and I wanted to open up to the floor for questions if anyone had anything that they wanted to ask? You have a question right here.

Speaker 4:  This sounds more of a debate between Google versus Apple right, so who has a stake in what? I feel like Google is really becoming a champion for PWA and they have their own sort of version of [inaudible 00:49:06] and Google is actually becoming the operating system for the browser, even Internet Explorer's given up. They're just gonna use the google engine, I guess a year ago a couple years ago it was different than it is now, going forward two years knowing that essentially Google's basically going to be the way to deliver apps. They have a huge stake in the Web browser market, advertising revenue is very important so they wanna deliver Web apps that are as good as [inaudible 00:49:52] it's in their best interest so given that Chrome will essentially be the de-facto browser and it will be a very good experience, how does that affect your decision going forward?

Yang Tang:  Well, first of all PWA is a Google coin term, so they're certainly invested, I think that's surely factor that plays into it. I think part of your question was also where do I think the Web is gonna go? Where do I think the applications are gonna go? I think the part of me that is a developer wants it to go a certain way but I can tell you that even in our Use case the market is gonna dictate how its actually going to work. So there's certainly being one side of the bay here, I think you understand where I would like to go but I think that, no matter what business you're in, you're not gonna be able to build a business that way. You're ultimately gonna have to recognize and read your customers and that's really the first goal rather the first step. So I hope that we focus on that as opposed to potentially where our personal feelings lie in it.

Yang Tang: I do wanna reiterate though, you mentioned there's a talk about developing power and to me that's important if I wanted to start a start-up myself, do I want to hire an Android developer and an IOS or Swift developer, in addition to myself. Or if I was one of those specialties do I wanna get...

Speaker 5:  So do you think that there's a world where, I know you don't wanna guess too much into the future but do you think there's a world where you would get enough future clarity on the browser? In terms of user experience, developer experience, distribution all of that to make PWAs a greater career choice?

Hardik Dave:  I mean if you just look at the history in the last couple of years of how much improvement that has been made. I'm sure it will improve to a point where you have similar features or really high capability features. There's no question about it.

Yang Tang:  Two things to watch out for is the Web manifest which is that idea of installing the app and the other is the notifications. If realistically, those dams are broken there would potentially be a bigger CHIC change.

Vic Eng:  Sorry hand up first, I'll come back around.

Speaker 6:  One of the things that you didn't touch on is the PWA route, you obviously have one code base whereas if you're trying to do Native you're going to have to maintain to code bases. How much reusability is there if you're I'm reciting the back-end obviously if you're trying to maintain the code bases for Android and IOS?

Hardik Dave:  I honestly don't think there's much of a reusability, those are different languages, so probably not too much unless you go the Hybrid route where you're building most of your involvement in Hybrid languages and then compiling them into IOS and Android.

Speaker 7:  So you're making two code bases and two skillsets is what you're saying?

Hardik Dave:  Yeah correct, absolutely.

Yang Tang:  Technically that's three code bases (laughs). Three different skillsets. I think you're very right about the Hybrid platforms if that was the only choice, or if the reduction of complexity and reduction of codes sources was the only thing I was looking at Hybrid platforms there's many of them Flutter, Kotlin, there's a bunch of others, are very good choices and they generally use Javascript. There is potential there as well, the key there obviously is, yes, its one code base but then really the key is how do you install? Do you want it part of the App Store?

Speaker 8:  Did IBM have any particular hurdles with going with Hybrid apps that you didn't expect?

Hardik Dave:  When we had Hybrid apps , I think it was the day IOS 10 was launched and it turned out that for multiple reasons the highest used apps in the company where Hybrid apps and they had not been tested with IOS 10. So, I spent the next 24 hours along with the rest of the team, sort of in real time testing and fixing bugs in the Hybrid framework that just wasn't compatible with IOS 10 at that time. The further you go away from core operating systems IOS or Android it doesn't really matter, the more chances there are some things will change and your application will not be able to support that. So that's a reality in any kind of development the further you go away from those core features there's a chance for that. That's something to watch out for.

Speaker 9:  One question I had was about discovery in terms of say the start-ups example. If I for whatever I can't remember the Starbucks example, if I for whatever reason remember Starbucks' name I can go into the App Store, I could type in coffee and a bunch of things come up. So if I'm not gonna remember Starbucks' name I'm certainly not gonna remember App.Starbuksc.com. As a opposed to for Progress Web Apps, you're kind of competing against all these web search results in Google and Safari or whatever so, how do you tackle that issue?

Yang Tang:  So I'll take the first stab here, I think the first one is going back to, I feel like I'm sounding like a broken record here, its really about knowing your customer. As I mentioned if you're going to be deploying a consumer only facing app, you're building a consumer facing app and its in the USA its gonna be really challenging on PWAs as an only experience. Especially if you wanna have that engagement and that growth, and again other markets have that same reality. But I think its different because of the speed and because the inherent functionality of other markets where you may not be used to going to an app store. Those are fewer and far between but I think there are certainly those areas. To me those are certainly those areas that have more economic development and potentially the higher growth potential there, higher risk for higher growth.

Speaker 10:  Thank you for being here, I just have a quick question, I just wanna know a little bit more about the cost side for the two options? So if you can break down between the two options which one is more high costly to build and then maintain has that remained in consideration for choosing one or the other?

Hardik Dave:  So I think both of us have mentioned that one of the realities of Native apps is that you do have to maintain different code bases for Android or IOS. And then, if you also have a Web application then you have a third code base. Just by that as you can imagine you potentially have three people working on something versus one person. So there's that reality, there's no way to get away from kind of a incrementally higher cost. You might be able to deal with some overlap in terms of skills and things like that but the reality is, there is definitely incremental cost. Anywhere up to three X.

Yang Tang:  So there is there initial development cost and there's potentially the friction that certain application stores are adding onto their stores. Micro-transactions et cetera, there's an inherent friction there, very recently, Spotify sued a certain device manufacturer and let them know their 30% highway robbery. So that certainly plays into the cost factor as well. Those are factors to certainly think about. Yeah, great question.

Vic Eng:  This is our last question of the day?

Speaker 11:  So you mentioned vaguely about start-ups having to think about the costs then choosing one or the other, apart from the cost factor are there any other factors that start-ups should consider, any code market strategy or?

Yang Tang:  I'll do a quick summary of what I spoke about, choosing the market, I think that's just to really stress that, knowing the customer, what are they are currently using its certainly much easier in certain markets. The second is around skillsets of your team as well. If you have Native app developers lying around that's where you should go and really those are the two key factors.

Hardik Dave: I think that's it right. I guess the third thing would be if you can start with something simple and test out the market, that's a much better way to do it than to do three different things and find out that's a totally wrong a idea and kinda have to pay off of that.

Vic Eng: Perfect so we end the night off on agreement that's always a good sign.

Speaker 12: A big warm round of applause everybody.

A Little Non-dogmatic Technical Mentorship
Can Go A Long Way

 

Do you ever feel like your team is running 1,000 miles per hour in the wrong direction, and you're not sure why? Sometimes, a chat with a peer is all it takes to give you a meaningful perspective to help you course correct, or to give you the courage to continue on your current path. 

For friends of Stride, we're offering a free Peer Chat. Tell us what's on your mind, and we'll share our experiences. Don't be shy, we've been there ourselves.

Subscribe by Email

No Comments Yet

Let us know what you think