Polymer Web Components

Mobile App Development


In this episode of the App Business Podcast, Chris and David talk about Google IO, specifically web related changes.

How the new Android release affects releasing mobile web apps and also what you can do with Polymer Web Components and how the material design in the Android is now available with Polymer for web apps.

  • The Polymer Project
  • What developers can do with Polymer Web Components
  • How the material design in the Android is now available with Polymer for web apps.
  • The pros and cons of using web technology  in building mobile web apps

Sponsors:

  • Affordable Dev  a complete mobile development agency with developers and designers that will bring your project to life.  Mention the #ABP for 20% off of your next project.  For a limited time – Affordable Dev is offering free ASO consultations with an ASO professional with every new project.

Resources and Links Mentioned in this Episode


Transcription:

Chris: Hi and welcome to another episode of the App Business Podcast joined by David Pfahler. What’s up David?

David: Hey, what’s up Chris, this is a cool episode. I’m excited about it.

Chris: Are you excited because again Columbia’s playing today and the party’s already started and you can hear it?

David: Yeah it seems to be like a party heavy country you’re in. They don’t miss a party.

Chris: Well you know last game or two games ago we were coming back from a big party celebration thing to watch the first one and it was a pretty amazing thing. They had a brass band on the steps in the bar and every time they score, the band would go nuts and you could barely hear the band, because everyone’s going nuts. And then we took a cab home and people were spraying shaving cream everywhere, went into the can and sprayed us. Everyone’s going nuts and no one even care, it was fun. And were thinking, if they won the World Cup, where are we gonna hide? It’s gonna be an insane party. But there’s a game today and it starts in three hours and were gonna go watch it with Diana’s family. You can already hear the music starting and people are gonna getting ready.

David: So before people go crazy, let’s make a quick episode.

Chris: Right.

David: No, the reason I’m so excited is you know I have a web background. I’m a web developer and we do a lot with web technology regarding building apps. And the Google I/O had some great news for us in that regard. And some that are really not covered in any of the mainstream summaries that you see out there. And I wanna talk a little bit about them and what it means for web technology in building apps with JavaScript and html, that kind of stuff.

Chris: Perfect.

David: So wanna jump right in?

Chris: Yeah. You’re carrying this one man.

David: Yeah, and so the obvious one and we talked about that quickly was that there’s a new mobile Chrome and that browser is really beefed up. They featured like 60 frames per seconds animations scrolling through images, the image search and that’s hard to describe but that’s serious business. Scrolling through images in that kind of smooth speed that’s real achievement. So I haven’t seen that before. And that means that they have mastered significantly optimized their mobile browser. So we can expect to be as web developers be equip with much better tools and just much greater performance on those devices. Then you know some native developers might be. So I’ve seen native apps, lack or not animate with 60 frames per second when there’s lots of images involved. And famously, Facebook have that problem. So that’s gone away. So that’s a big big move forward in terms of what we can do on Android as web developers, right? So..

Chris: So, okay go ahead.

David: I was just gonna ask you if there’s anything you want to ask about this or anything you don’t understand?

Chris: Yeah, most of it. So I know that Apple is trying to lead, they’ve released a better Safari engine and that was a big part of Worldwide Developer’s Conference was look we have the best mobile web browser and… But I don’t know if that’s true or not and iOS is just default to Chrome coz that’s what I used on my desktop or my notebook. Is it really something that is comparison like you said better or worst or do they both kind of going in the same direction and it’s all better regardless of which one you’re using?

David: Yeah the browser thing is always an answer raised and on mobile it’s not different. So at any given point in time, there will always be a browser that is “better” than the others. But it’s just a matter of a couple of weeks or months going by and the other one will be faster, right? Coz they will always come up with new optimizations and they always make it better. But it is significant. I mean this is not something small and we have to realized that, I said that many times before is that the real bottleneck with web technology and web apps is not so much the execution, like the Java Script execution time. And that’s what’s often featured by Apple and others. What really matters is the UI and the layouting because that’s where users will notice that your app is slow. They will notice because something is not animating smoothly. That’s what the users will see first. And you know how fast your JavaScript executed in 99% of the cases just doesn’t matter. So that’s a really significant change because were seeing significant performance boost in UI and not just in execution under the hood.

Chris: So does that make PhoneGap like a more and more valuable service and company?

David: Yes, absolutely. It’s helping us create more native-like software with our web technologies. And that leads me right into the second part which is not included in most summaries. There was an entire talk on the Google I/O which was about the Polymer Project. And the Polymer Project is an initiative by Google started I think a couple years ago. But it’s pretty new, maybe  1 or 2 years ago and it’s pushing something called web components. So you might have seen html code before. It’s this tags that are encapsulated by this brackets. And the thing is that usually or in the past there was a limited amount of tags that you could use. So there might be a tag for bull tags and another tag for headline and another tag for a form where you can submit data on and etc. So there’s a couple of tags that are pretty defined. Web components is a way where you can define your own tags and attach behavior and a style to them. So basically, what you can do with something like Polymer Web Components is you can create a component like a navigation bar component. Create that once and then reuse it in every web application that you want to create without the web component interfering with anything in your app. It’s basically encapsulated. And this encapsulation allows us to create bits and pieces that we can then combine in whatever way we want. It’s a really interesting standard that Polymer takes us to the next level by making it available today. What Google did with their material design over hole and the latest Android is they not just updated the design inside Android with their native UI elements, but they also provided Polymer Web Components for all of the material design changes. So basically we have the exact same UI that we can use in native Android apps in Polymer so we can use them in web applications. And that’s such a big change, I can’t even emphasize how awesome that is. Google basically took the time to implement all of their UI components in web and reusable in a way where we can use them in any application that we want.

Chris: Okay, so let me ask as a, well I was gonna say I’m gonna pretend that I’m a sales and marketing guy and have no technical knowledge. But I don’t have to try very hard to be that guy. What does this mean, does this mean that I start evaluating building my apps outside of iOS or Android and start building it in, well traditionally it’s been like Unity or Cocos or something like that. Does this move me to why not build it in Java and then wrap it for iOS, wrap it for Android, wrap it for the web, wrap it for whatever I need to do.

David: It’s JavaScript but other than that..

Chris: Oh yeah, JavaScript.

David: Yeah totally it’s basically providing us extremely high quality UI components and I should say it’s not just the UI but that’s a major part but we can basically encapsulate any code even if it’s not visual into those web components. Let’s say using an API, and you could encapsulate how that API works in a single tag and include that with your Polymer project and your app would automatically know how to talk to that API. Salesforce has created a bunch of components that you can use . And there’s even a drag and drop editor for this provided by the Polymer project. And you can drag and drop the Salesforce components in there and it will immediately propagate it with data and you can set them up with a couple of fields, form fields that you just enter into your API key and whatever you need to connect to that API. And then you’ll basically have a Salesforce app in minutes by just drag and dropping this components onto a canvas. And so that will enable a whole new class of reusability for mobile web apps. And that will eventually bests the native programming not just because it’s much more effective but also because it’s now the same beauty. Like we have the same components and we have them at 60 frames per second and we have them supported and hate by Google. So especially for Android there’s really no reason to not build it with web. And even more so, I would even say that you could use exactly the same components on iOS as well because the material design isn’t there for into the iOS environment. But even if you said, I diasagree. I wanna have a slightly different version for iOS. There’s nothing easier than slightly customizing this components or slightly changing your apps so it works better on iOS then with this technology. So it’s gonna enable much more people to write native looking web apps.

Chris: Native looking mobile apps.

David: Yeah, built with web technology.

Chris: Right. Okay. So let’s use Macromania as an example. Are we going to build it using that kind of… using JavaScript and then PhoneGapping it for iOS and Android and then why not make a Facebook app, right? Were already able to do that. Basically this just makes it a lot easier, right?

David: Yeah that’s what I’m doing. And the thing is polymer is very agnostic. So you can basically combine it with anything else you used to use before but you can use this individual components where you need them. And that’s what I’m going to do. So we already have the prototype and were working on this app and what were using is technology that we developed at excellenteasy but not if we don’t have a component, like if there’s a certain UI that we don’t have yet, we can just use a Polymer web components and it won’t break anything. It’s just gonna work with anything else just fine.

Chris: Got it. So here’s the question that’s really actionable. Were so used to hiring iOS devs and Android devs right? What are the decisions or what are the criteria for deciding that I’m gonna move my development from iOS to web and I know that you’re bias but it would be good to hear what the thought process is for publishers or people that are hiring, you know sales andmarketing guys hiring devs, outsourcing their development. When do you suggest, like besides the project you and I were working on together, when do I pull the trigger and say, forget it, I’m doing everything web. Like what are the positives and negatives. You know the question.

David: Yeah so I think it’s easier to start with the negatives that still exists. So this is a little bit of a future talk episode. We haven’t, at least I haven’t seen yet how this will work. Like Polymer web components, how they work and how fast they are on iOS 5 or whether they work on Legacy Android for example. This is assuming latest and greatest software and hardware. So we’ll have to look into like whether it’s suitable for complex problems and hard problems on anything that needs to support Legacy devices. The upside however is pretty clear and the overall trend is that the upsides get more and the downsides get fewer. And so if you’re investing long term and if you’re thinking long term and as an entrepreneur, I think you should. Then it’s pretty clear on where the ship is sailing to so to speak.

The biggest upside traditionally was that you didn’t have to develop for multiple platforms in different languages. So you could write one app and it would run on iOS, on Android, on Blackberry, on Windows Phone and whatever you need. And that’s still the case. That’s probably still the biggest pro on our pro and cons list. But, it is starting to look like we have a bunch of other advantages. So the first thing is that there’s a growing library so to speak. A growing public domain library of utilities, of UI components, of code that we can reuse without asking for permission without feeling bad because its open source and it’s MIT license.

And the web community has this spirit of sharing and it’s just this tradition where at least in my experience the native community does not and everything is paid and behind the wall and we can’t really see how good it is etc. So with the web getting much more free stuff from other people so to speak. And just for in a cost perspective, that’s important. And the other thing is that I just think it’s overall getting easier to create an app with web technology than it is to create it with a native technology not counting the different platforms, just for one platform. It’s starting to get easier because the tools are so easy and everything is so well supported now that we can just throw out a couple of things, a couple of components together tied together with some controllers and we have an app in place. Where with native that’s still much harder to do.

And as this tools and components get easier to use, you can also use so to speak lower level developers, web developers to create this apps. So you don’t need the JavaScript ninjas anymore, you can basically get a decent web developer to do this and because the support is getting so much better.

Chris: I wanted to ask you on one of the negatives. By the way, Harry Duran is gonna be loving this music here. He’s the host of podcast junkies and I think he likes this kind of music. You said that were kind of talking future stuff. What’s in the future? Like okay besides for the direction that this is going, all of this can be done now? Like should I start evaluating  my projects right now and say okay hold on this should be going into JavaScript or this isn’t ready for primetime yet. Or we don’t know?

David: No. What I’m saying is you should definitely evaluate it now because you don’t want to be late to the party. But I can’t give you a 100% basically for almost every project. You can use this now just because it’s so new particular with Polymer Web Components, it still is in the phase where both approaches have their place. There’s still usecases where your better off with native and there’s a growing number of usecases where your better off with web technology. So you know if you’re planning long term, definitely I would start to closely look at the web and see if that’s not something you could use for your project. It’s just not that I can give you a blank check so to speak.

Chris: So who do we ask? Who’d know this? Like I get to ask you so that’s easy for me. But not everyone has you as a business and podcast partner, right? So who does a publisher, a non-technical guy ask about hey should I be going.. Well how about this, what types of apps do you think are best for moving in this direction? Like simple 2D quizzes and other kind of things and leave a 3D types of games in native? Or is it that kind of split?

David: It’s very close to that I would say. So whenever you need very heavy computation on the client side and that’s a very limited number of use cases. But for example some mapping usecases where you have a lot of data and then from that data, you calculate a map and you need to calculate whether notes aren’t, all that stuff. That’s heavy math. And that can sometimes still benefit from being native just execution is faster. That’s a very very limited use case. The much more bigger usecases games and then games is yeah it’s still questionable if you can get this very far with something as basic as polymer. But on the other hand, if you want to develop real games, it’s much much harder than developing an average application in native also. It’s just not an easy task of having a 3D game or something like that. With 3D, WebGL is coming and there will certainly be more that we can do with that but that’s really not ready for primetime in my opinion because there’s just not enough ecosystem there. It’s just not enough you can rely upon and need to do a lot yourself. And for everything that is in the 2D domain, and that is especially if you’re working with data. Like if you’re working with numbers, if you’re working with API’s, something like opt in mobile is a classic classic use case. Let’s make some examples. A Twitter client, a Youtube client. Everything that falls in some kind of data source and displays it. Customer relationship management system. All that kind of stuff can easily be done because we have the UI now.

Chris: Got it, okay. So really if its a UTA, UI centric app with polling in data right? It could be like Martin’s fish app where it’s just content. It’s like a content app or polling in API, contact the API’s. What are we calling this? Mobile web apps?

David: Yeah.

Chris: Yeah mobile web apps is worth evaluating. And if you are evaluating that then you’re looking for what kind of developer? JavaScript developer? HTML?

David: Yeah, you’re looking for a JavaScript developer and not a web designer of course. People web  developers is the right term, a little bit overused, a lot of people overused it. What you want to judge people on is the JavaScript skills and that’s best done by evaluating the profile. So you know see how people are working with JavaScript. And I would still, I’m very comfortable with AngularJS and if you find that AngularJS developer, then you’re pretty lucky I guess. So those are people who definitely know one thing or two about JavaScript. So that’s where I would start, is looking for an AngularJS developer.

Chris: And is that a harder skills at a more in demand skill than iOS? Coz iOS you pay $20 an hour on the low end and you can pay a lot. But let’s say $50 is like that next tier of iOS developer an hour. Is that about the range for JavaScript? Like HTML and WordPress and all that kind of stuff is super cheap coz everyone knows how to do it, right? Is JavaScript and AngularJS a more in demand and harder skill?

David: Yeah, I would think so it’s more in demand than HTML or just CSS. So the web designer is cheaper of course. I wouldn’t say its much more expensive than the average iOS developer. But it really depends and as usual it’s hard to find someone whose really good. But I think that in any event, however you wanna look at it, what’s important for me is that cost per task. And I want to have a task done and that’s creating the app and if someone is basically a little more expensive per hour but because you’re using web and they can reuse so many components etcetera, they get the task done much quicker, then the overall cost will be much less. Right?

Chris: Yes.

David: So you have to look at that too.

Chris: So potentially you get a Amazon app, an Android TV app, an Android app, a Facebook app and a web app if you wanna host it, and an iOS app from the same code base and very similar minor adjustments. Right? That’s how it works?

David: Yup, that’s the idea. Chris: Dude, I love it. So how much in the latest Google release changed this. Did this changed drastically? Or is it just kind of like, hey this is the next step evolution and were excited about it. I guess the question is why isn’t this a bigger thing that people are talking about? Why aren’t more people are doing this? Why aren’t I’m building all my apps like this?

David: A lot of people are doing this. I think it’s just very two separate, very separate rules and the native community is looking down on the web community because out of tradition where in the beginning we just weren’t capable of doing that much because we didn’t have the tools and the API’s etc.  And so there is kind of a zero-sum game going on where the native community sees their business going away with more and more people coming in from the web development community taking their jobs. So I think you shouldn’t underestimate it. It’s no accident that Adobe bought PhoneGap. And PhoneGap is alive and well which isn’t very common for an acquisition by such a big company. So they definitely see it as an asset, it is working. And people are using it and submitting and the number of apps just done by PhoneGap alone and there’s other systems for web applications is growing tremendously. Like downloads are in the millions and so there’s a lot of downloads of PhoneGap and so there’s a lot of PhoneGap developers. A lot of people were using this to create apps.

Chris: You the know the knock on web based apps where was that the UI was slower or affected because you pushed a button.

David: That’s what everybody says. It’s just like it feels slow and that’s what the problem is. And I think this is going away with this.

Chris: Yeah okay. Well you know, were still focus on ROI here that you and I that I think we don’t need to wait for TechCrunch to tell us that this is a good idea. We can evaluate the opportunity ourselves and maybe we can be the guinea pigs for the listeners and go figure out. I mean if were gonna do Macromania with web technologies, how am I doing with using all this words? David: Getting better.

Chris: Okay, thanks man! Then that would be, you know maybe we can help out. I mean that would be from my perspective a pretty big shift for indie dev moving from iOS native to web. But we should go figure it out and see if all the things that you’re saying, all the promise bares itself out in the numbers. Obviously if you can get your app on Facebook, on your website, in Amazon smart phone, in the Blackberry devices through Amazon and Google Play and iOS for the same price or 20% more than you’d be doing an iOS app, it makes sense to do that. So obviously we’ll see if this promise plays out. But were gonna go do it with Macromania and we’ll just kind of continue to use that app as like our guinea pig to testing which is what I like to do with a lot of the apps I have. But your bullish on it. I think it’s super interesting and it makes sense to me, totally makes sense to me. So yeah, this will be a fun one to follow and continue to share as we learn more about this. We’ll definitely have that in another episode saying okay were a month into it, here’s what’s going on. But yeah I’m glad that you prompt in this episode coz I think this is super interesting and it keeps the listeners thinking ahead. Thinking ahead how can I differentiate, how can I gain an advantage in this ever changing mobile opportunity. So I think this is a good one.

David: I will definitely let the listeners know how this plays out especially Polymer and whether you can use that in production yet and how it plays out over time. It’s like with Hoodie. So you know maybe you’re not using this now but you might be having a need for it in three months then you’re definitely gonna wanna use it.

Chris: And were using Hoodie in two of our projects for the listeners so were definitely testing all this stuff that were talking about. And if we can learn something and share it, why not? If 5000 people are listening to every episode and we can distribute some of this information and save people’s time and money or uncover a new opportunity, then that’s an awesome place to be.

David: Talking about sharing, would be very interesting what the listeners think about this topic on appbusinesspodcast.com. So leave a comment and let me know what you think. I know Christopher Sutton is thinking in the same terms and he has something to say about that. But other than just what I know it’s just interesting to see different opinions on this.

Chris: I think everyone likes the future talk. That’s my prediction. I like it and I don’t even understand half of it. But yeah I think it’s really cool. But of course I wanna hear what you guys think. Alright, I think that’s a wrap man, appreciate it. This was I think a really insightful one and it plays perfectly with obviously the release. The release with Google, the announcements with Google I/O, this is what its supposed to be doing. It’s supposed to be prompting new ideas and new directions and shedding light on where this big companies are seeing, investing their dollars on what they’re doing. So again it’s an awesome place to be in this mobile space. So cool, I think that’s a wrap. Yeah David?

David: Yeah, thanks for listening. Talk to you next  time.

Tagged under:

9 Comments

  • Andrew King

    Great episode guys!!

  • Andrew King

    Came back to listen to this one again…..Quick question – Do you guys know of anyone using “Alpha Anywhere” to build apps? We are looking at this seriously and was hoping someone might have experience with it?

    • David Pfahler

      Newer seen this before or used it. Just looking at their marketing, I must say I wouldn’t trust them. Simply sating “10x faster than the competition” without giving any proof or even explanation is untrustworthy. Also, I’ve worked in precisely this space for years now and it isn’t easy to deliver what they promise here. I would be very cautious.
      What are you trying to create? Maybe I can point you into the right direction.

      • Andrew King

        David – I’m thinking of this for a few different apps I have in development. 1.) My existing phonegap framework – i’ve sold a copy of this to my local government and with the modifications I require – it seems this might be a legit solution. 2/) My brother has a lean manufacturing software system already built in Microsoft Access. We used this in our old kitchen cabinet manufacturing operation and it has features that could be used for any manufacturing firm. The Cross over for this one seems amazing and could switch the access app into a full blown web app really quickly. 3.) the university professor’s app I discussed on a previous episode – requiring some simple and minor animation – which they seem to support.

        • Andrew King

          They seem pretty legit to me so far. They were actually featured on the phonegap site (http://phonegap.com/blog/2014/05/09/alpha-anywhere/?utm_medium=email&utm_campaign=PhoneGap%20Newsletter%20June%202014&utm_content=PhoneGap%20Newsletter%20June%202014+CID_0d779ec1b670535f5c9cd50718925617&utm_source=Email%20Newsletter&utm_term=more%20info) and I’ve had a good back and forth going with the lead engineer. He seems to know his stuff and willing to help – as well a offering mentoring services for using the software. Would love to know your thoughts upon further review if it isn’t asking too much. Also can provide more information if required. Thanks man!

          • David Pfahler

            Andrew, I can’t get into a full technical review, but I will tell you a couple of red flags I see. These might be superficial, but it’s just how I feel about it when looking at their videos and other marketing material:

            This video (http://vimeo.com/68069367) which shows an example app of theirs, features iOS 5/6 UI. The way they build the user interface in this video – using predefined strings in mustaches (e.g. {PanelNavigator}) – doesn’t look right to me. It seems like they have a couple of predefined components which they can compile across a bunch of languages. But it’s in the nature of this strategy that you can only do very limited tasks. Once you get into anything that’s outside of the demos they show you, you might be lost. Also the UI is **not** fast in the video. In fact, when you look at the bottom of the screen when they demo it, it takes more than a second to switch between the two screen. Also they are using something resembling a UISegmentedControl at the bottom – a total UX sin.

            But, don’t let me hold you back. You have more knowledge about their product than I do, so definitely let me know who it goes if you choose to work with that.

          • Andrew King

            David – many, many thanks for the honest reply. I’m going to chat it out with the engineer again later this morning. They offer a 30 day trial for free….so I’m figuring it can’t hurt. I’m sure I’ll have more questions – will revert back upon further analysis, if that’s alright with you?

          • David Pfahler

            Sure, I’ll be curious to see what you think and can find out through experiment.

Comments are closed.