Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Automatically convert a website to Android and iOS (gonative.io)
148 points by weiyin on June 6, 2014 | hide | past | favorite | 75 comments



Does it make an actual native app or just a wrapper around a web view? I have a couple of (Android) apps that I use that are clearly just a wrapper and it's really annoying.

1) The back button always exits the app instead of going back a screen as would be expected.

2) Switching to another app and coming back causes the app to reload rather than staying on the screen it was on when I switched out.


We use webviews, but try to intelligently integrate them into the app.

Things like back button, transitions, caching, and offline mode are designed to work automatically w/ little or no configuration.


Out of curiosity, how hard is it to build something that could parse HTML markup and some CSS stylings and convert that into native views?

Assume that the HTML markup and CSS is all done as per your documentation, so that the parser works as expected every time.


Almost impossible in an automated fashion.

You can extract all of the data but it's very hard to know what links are supposed to do, how pieces of content should be presented, etc.


What if there was a standard created for the markup, so that the parser would know what the links were supposed to do and how the content shoud be presented, because there would be structured data everywhere specific to the parser?


I immediately thought about that after posting, but in reality markup is a clunky and expensive way to dictate this and it would create a lot of waste for something that would be used infrequently.

An interesting idea that comes to mind is the concept of a Mobile Stylesheet / .mss file that would define elements by ID / class and dictate what those elements would represent in a mobile UI. Then you wouldn't have a bunch of needless data-mobile-intent="blah"


That does sound like a good idea, definitely preferable to keep the markup a bit cleaner.

Honestly, I don't know if I care as much for a web-view based product, as Phonegap/Cordova have already been serving that purpose (at least for me), but what you've mentioned, if implemented, would definitely be something I'd use.


As @nkozyra says, understanding what all the links do is hard, however there are automated ways of converting common types of webpage layouts into structure data for native presentation.

For example, our startup (shameless plug) utilizes a computer vision technology to automatically extract structured data from articles, images, products, and videos, etc: http://diffbot.com/products/automatic/. These can then be used to present native-experience views.


I was actually just looking at your startup for an application I'm building. Nice to see you on HN! Do you have an email I can use to ask you about cross-promotional opportunities?


Out of curiosity, I'd love to learn more about your stack. Any blog posts handy?


C++/Java/Python and turtles all the way down.

More seriously, as a more researchy/deep-tech startup, most of our stack is homegrown, to address the very specific needs of web-scale machine vision.


The only reason you are being bitten by those two points is because the developer is being lazy and neglectful of user experience.

Making those two issues dissappear takes about 6 hours of developer time.


I would change hours to minutes.


Nice work, but there is a huge problem and I really hope you fix it ASAP or else I'm SOL for updating the app I just released with this.

Apparently the version numbers are not being increased for each successive build, and you really need to do this. Why? Because I can't even update my app by editing the source code, changing the version number (which is already kinda annoying to have to do) and uploading the new apk release due to it not being signed with the same certificate you guys use....


Update: I just went ahead and modified the source. I had to refactor the package name and import R.java manually. Really a bug to have to do, but thanks anyways for the cool service!

Here's the new link, should show up in a bit: https://play.google.com/store/apps/details?id=com.kennyledet...


For reference, here is the app https://play.google.com/store/apps/details?id=io.gonative.an... . I added some custom CSS to remove the redundant menus from phones and tablets. Cool feature btw, and nice tool all in all, but the build process needs a bit more thought.


Thanks for the feedback, and I'm glad to see you published an app! Automatically incrementing the version number is something we are going to do. Emailing hello@gonative.io is the best way to reach us.


Fixed, the Android manifest versionCode now increments with each build.

We do not include the signing key in the source code download, but you can email us to get it.


Unfortunately, phonegap (and cordova) don't make these work by default, and instead make you implement them yourself. Which very few developers get around to doing.


I tried it out and for those who are asking for the difference between PhoneGap and other tools is that this takes your website, adds native components like navigation for menus that it detects and login capabilities. For example in about 10 minutes I "built" a Twitter app using the twitter mobile interface. It has native login/signup, a sidebar for accessing elements, and native search. I don't know how well non-mobile interfaces will translate over - but the native components make it useful.

This is pretty good and it's really what building a hybrid app should look like. There's probably a lot of areas it can be improved.


I'm new to native apps and I've been struggling to find a solution to get my HTML5 game on the app store. This is absolutely incredible. Took 30 seconds and worked flawlessly! THANKYOU!


Did you try PhoneGap? If so, what failed? I'm in a similar position as you.


Link us to try out your game!


This is certainly interesting, but it duplicated my own nav on my webpage. Don't know how it could be smart enough to detect that even though I have a very standard setup. In any case, I suppose it would be good for a quick and dirty start to your app and you could flesh the rest out later? I wonder who will actually end up using this for real.


what we normally do when using native sidebar navigation is hide the web navigation w/ css - there's a configuration option "Check here to support custom styling" where you can set:

nav{ display: none; }


Apple have a rule against making apps that "are simply websites bundled as apps". You should probably mention that somewhere on the website to avoid having a bunch of people pay for a developer account only to get their generated application rejected by Apple.


There are tons of web-view based apps in the App stores. Phonegap bases their entire business on a similar concept.


There's a difference between a full-featured multi-screen native-feeling app implemented in a webview with Phonegap and a wrapper around an existing web site. You can do a lot of interesting things in a webview and come, for some purposes, reasonably close to a native look and feel. The previous comment was right to warn about Apple's policies.

(I spent some time playing with Phonegap but it was two years ago and a simple app took 30 seconds to launch on an iPhone 3GS. Probably significantly better now, and faster as hardware has improved.)


Declan has the right idea.

Phonegap isn't about merely packaging a website as an application. It's about using front-end web technologies to build applications. There's no rule against that, even if it's possible to use it to break other rules.

What there is a rule against is simply packaging a website up as an application. That's what this service does.

While you may get away with it, there's a strong chance you won't. It's only fair to warn people before they spend money.


just tried this because I hate the android wikipedia app (which is also just a wrapper). the only thing it needs is an intent filter for the website so any urls (like wikipedia urls) will be receivable by the app.


Try the new Wikipedia app beta which came out yesterday:

https://play.google.com/store/apps/details?id=org.wikipedia....


I tried this with a site of mine. GoNative works great and there's a lot of future potential too. However, at a certain point, we're just re-mapping the WWW sites 1-to-1 to wrapper apps. Regardless, I place the blame for this on users, entrepreneurs, and consultants, and I think GoNative is really just giving everyone what they want (for better or worse).

Related (add bookmarks to home screen):

http://lifehacker.com/5809338/add-web-site-bookmarks-to-your...


Tons of improvements and new cool (and useful) technologies being released for the browsers and yet we have to spend ALL of our time writing JAVA code for biggy-catch-a-piggy STUPID phone apps with features already delivered by a THOUSANDS of different web applications.


> I place the blame for this on users

Blame the users and Apple. Users for thinking for some reason an app is automatically superior. Apple for having no incentive to make users think otherwise. It greatly annoyed me how apple let their webapps directory rot until they finally removed it. For those that don't remember, webapps were the only apps when the iPhone first came out.


Really interested to see the end result. I submitted and received the "Success" notice about two hours ago - how long should I be expecting before having access to a build?


Normally ~1 minute, but our build queue got a bit out of hand. We've fired up a few more build processes and are working down the queue. You should get an email shortly. Sorry for the delay!


SUGGESTION: You'll probably want to include your tagline "Convert your website into native Android and iOS" in the homepage title tag...for SEO purposes.


thanks. we're using https://prerender.io/ to create static files for the crawlers and still fixing up the seo.


Shows this when I open the link: Error: EMFILE, open '/home/gonative/launch2/app/index.html'


Looks very cool.

Minor note of little importance: 'Features > Performance > "abandonned" ' is a misspelling.


I worry that it may encourage creating hundreds of low quality apps cluttering the App Store/Google Play.


Speaking as someone who has stuff in Google Play - perhaps. But it may also make it easier for someone with a great idea but not a lot of programming experience able to get something out that outweigh having to index a number of low quality apps. Given the filtering mechanisms on both stores that are in place, I'd be less worried about getting a lot more "bad" apps than making it easier for good apps to get noticed - a current problem that likely won't be affected one way or the other by this.


Seems our site is lagging a bit w/ the traffic. We are working on spinning up a few more node instances.


We're spinning up a few more build servers. Build times should get back to <1 minute in a bit.


Exactly what I was looking for. I tried using PhoneGap but installing all this SDKs is a pain.

PS: I can't even subscribe to your newsletter, everything seems broken: http://i.imgur.com/Ss42bJE.png


So I tried it and the result is amazing considering how little time it took to make it: https://lh5.googleusercontent.com/-HMbRacJQ7WQ/U5IdwmumEzI/A...


great to hear! thanks.


You're console.logging everyone's app settings and email after they've created an app.

main.js:1480


We pushed a fix ~10 mins ago. All good now. Really sorry.


I tried installing the apk on my Android 2.3.4 phone but I just get the error: "Parse error There is a problem parsing the package." I do have my settings to allow applications from unknown sources so that is not the problem.


The android error is not very descriptive; it's failing because we require at least version 4.0 (Ice Cream Sandwich) for the integrated action bar and Holo themes. I'll add a description to the website.

Can you give android studio a try? We moved away from eclipse and never looked back.


I was able to get past the eclipse error but like you said. I don't have 4.0 or higher so I can't try it out on a device until I find a compatible phone. I am motivated to use this because it seems to make my grids work on mobile. I use Sitepen's Dgrid that is supposed to work for mobile but when I add a little extra css or bootstrap they stop working on mobile devices. The demo on your site seems to make them work again (at least on the emulator inside the link I am given).


Created duplicate navigation. Extremely limited navigation options. Scrolling is sketchy, when scrolling ends shows random item from the list not the one the scroll stopped at. Not ready for mainstream yet.


thanks for the feedback. one thing to be aware of is that the apps run much faster smoother on device versus in browser simulator. we'll also be supporting more navigation options, as well as other native components, going forward.


Firefox OS, we need you to stop the "native" crazyness.


Because everything can fit in the hypertext model?


Are you aware of something that can't?


What exactly is this looking for in terms of creating the sidebar? Loading your android source code and going to your site nothing appears in the navigation menu.


for the sidebar in particular, it's looking for menu_default.json. hope that helps!


Looks interesting! I guess you're running this as a "spin off" and make money with supporting native-unexperienced app developers in going native?


this is real cool. How did you guys go about building this?


We created template apps in native Objective-C and Java, and drive everything off of config files. Our site and backends use MongoDB, node, and express. Build servers run XCode and gradle / Android Studio, all on OSX.

Feel free to check out the source code:

https://github.com/weiyin/gonative-ios

https://github.com/weiyin/gonative-android


Cool project. Definitely useful as a starting point into more advanced customization. Thanks!


Is it possible to use getUserMedia on iOS with your app?


What's the difference from PhoneGap?


not bad at all ! however its not able to convert a jquery mobile web app I am working on.


Crashes Firefox on OSX.


Seems to be down.


Our mac mini build server is working through the queue. Takes about 30 seconds to build each app.


I meant your site is down, at least in Firefox. Looks like a certificate problem. http://imgur.com/k5AEzvD.png


Hmm, you must have hard fail turned on for certificate revocation checks. Not sure why our OCSP stapling seems to have problems. What OS and Firefox version are you using?


It fails here with Firefox 31.0a2 (Aurora) on Ubuntu.


Same with me - Aurora (31.0a2 (2014-05-27)) on OS X.


We cleaned up our OCSP stapling config. Can you try again?


Really curious about how app.io is able to do this so smoothly, seems like they are running iOS virtualization over canvas vnc. It's so freaking smooth I feel like I'm using an actual app.

I would love to know how they are able to pull this off. I tried the ipad as well and it's smooth! Very little lag.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: