HNHacker News
TopNewBestAskShowJobs

algore

16 karma · joined May 7, 2009

submissionscomments
algore··on Build native iOS apps with jQuery Mobile
Ha, I stick up my ass.

I would hope you and everyone else here has already seen this, but let me remind you

http://www.youtube.com/watch?v=cCvLTlQWT6A&t=4m30s

The entire 1.5hr interview is worth watching, but starting at the 4:30 mark and watch it for about 20 minutes (you'll have to find parts 5 6 and 7 in youtube). This was in May 2007. The first iPhone was announced in Jan 2007, and wasn't even for sale yet until June. And it wasn't until June that Jobs announced that the iPhone would be releasing an SDK for 3rd party apps.

Listen to what BOTH of them say about rich client experiences. Keep in mind that Apple was already working on the tablet at this point, earlier in the video the lady asks Steve about any new risky paradigm shifting devices and Steve says "I can't talk about it". Now we know it was obviously the iPad. Then and now, the two biggest software/technology companies in the world don't even see it being realistic to run apps in the browser, at least apps of any quality that people would want. They BOTH see enormous opportunities in rich clients and new human interfaces. Jobs spells it out: rich clients with internet services in the background. This is before the iPhone SDK was announced!

These guys are thinking about touch, voice, camera, kinect, and they see NO WAY it can happen in a browser. They've spent millions in R&D, and they see rich clients. You see a free JS library and think the rich client is dead! Laughable.

Gates and Jobs are crystal clear what THEIR view is, and they've been executing it through the products they're releasing. So I don't know where you get the idea that their objective is to promote webapps. Try listening to other people sometime, you might learn something from a random nobody commenter.

algore··on Build native iOS apps with jQuery Mobile
You fail to realize that these "tools" are ugly hacks to make HTML do things it's clearly not well suited to do. Why continue to struggle with a flawed platform?

> You keep saying things that make no sense in context.

In what context is that?

I'm looking around, I'm seeing movement by Microsoft, Apple, and Google to limited-purpose simplified computers with app stores built in. I'm seeing developers actually able to sell software again. I'm seeing rich, beautiful interfaces that are responsive and smooth. I'm seeing voice, camera, accelerometer, and GPS integration. And I'm seeing it in native software TODAY. It works now, it's not beta, and it's making money. Tell me where I'm wrong?

Can you hack together a way to do all this in JS? Maybe, but it's unreliable, and it's years away from being comparable. Sure, you can wait 2 years until it's figured out, by then it will be outdated again anyway.

I think you're very comfortable writing your web apps, it's something you understand and you're good at it, and naturally you're resisting change. But the industry is not going to stop changing because you're good at CSS hacks to make rounded corners on div blocks and you just wish we'd keep doing it that way because it's easy for you.

algore··on Build native iOS apps with jQuery Mobile
> This is demonstrated by the fact that they are using these apps on a daily basis

That's not true. People are using apps on their phones, not webapps. They're using apps on their TVs and tablets, not webapps. And people are actually paying for native apps, something no one is doing for webapps.

Seriously, you don't see any parallels between now and the late 90s? You don't think it's going to get drastically cheaper to produce native apps in the next couple years? The same thing happened in web development, a combination of better dev tools, more code libraries/frameworks, and more labor supply will drive costs down.

algore··on Build native iOS apps with jQuery Mobile
> To assume that native is always better is dismissing the massive value provided by web-based.

Massive value to whom?

We all know the value to the developer. I'm not disputing the current cost savings of webapps, though it will quickly become irrelevant as native app dev/distribution costs plummet.

But is there any value to the customer? There used to be a lot more. Sure was convenient to be able to log in to your email from any computer. That was until you started to read all your email on your phone that you carry with you all the time.

The web interface isn't going to disappear, but it will become the secondary way to interact with apps. Right now it is still the primary for many apps like Facebook and Flickr. That is changing.

algore··on Build native iOS apps with jQuery Mobile
> Email clients have been out for a long time

On the desktop, yes. Why? Because all the innovation in organizing, displaying, and managing email was focuses on webmail. Not because it was a better platform, but because it was incredibly easy to deploy and cheaper to develop.

Where is the email client back? On the phone. People want access to their email if they don't have an internet connection. Used to be the same on the desktop when being online meant you were tying up a phone line at a per minute cost. Your desktop is always online now, so it's not an issue.

But I still believe we will see a return to native email clients because of the integration possible with other client software and services. We already see it on tablets and phones.

algore··on Build native iOS apps with jQuery Mobile
> Network transfers and latency can result in pauses and delays that would impact user experience more than choppy transitions, and native apps can't change that.

Yes they can. Things can be pre-loaded in the background. Data can be queued. Storage can be local. I know you can find some package or framework somewhere that attempts to do these things in a web browser, but its all hacks. Stateless HTML is not a application development platform.

> I feel like SMBs are the target of web-based mobile frameworks

Sure, that's possible. But there are also people creating native frameworks to put SMBs into apps. Magazines are a good example. The big publishers are making their own apps, but they're are also working on frameworks to deliver other magazines. Then there are non-publishers like Zinio that are making the platform for any magazine to be published.

> Is it worth the time and cost to create native front-ends for iOS, Android, BB, W7P?

I'm not arguing that everyone who wants a blog needs to write their own blog software. No, obviously they can use something like Wordpress, and let WP worry about the programming and compatibility, and they can concentrate on content. Same goes for apps. I'm simply saying that native apps always were superior to webapps. People forgot because it became so easy and cheap to churn out functional web code. AND because these mobile client devices were closed off for development for so long. Love him or hate him, Jobs opened up everything with the iPhone SDK.

I think the expectation of a company to have a native app today is equivalent to the expectation that they would have a website in 1997. Back then it was a very expensive proposition. Today EVERYONE has a website. Tomorrow everyone will have an app. Doesn't mean they have to hire their own software team to build it from scratch.

algore··on Build native iOS apps with jQuery Mobile
> And yet, these "fake" apps are the most popular apps in the world

I would dispute that, in every case where there is exists a native app with equal functionality, the app is used every time. Customers prefer the native apps. Yes, we all know the dev costs are high right now, but that will change just like it did for web development.

Also significant, there is finally again opportunities for developers to be paid for their work by real customers. The quality of native apps plus the AppStore model is resulting in end customers seeing value in software again.

The only reason so many web apps are popular now is because it's the only choice available to consumers. Tech companies have been distracted the last 10 years chasing the perpetual myth of write-once run-everywhere, this time instead of Java or Flash or XML (for data), it is HTML5+javscript. I guess we haven't learned yet.

There is a return to client coding happening, and it's going to produce a new renaissance in really great software.

algore··on Build native iOS apps with jQuery Mobile
> Examples?

Big ones: the whole Google suite. Gmail is clearly the most reliable, but strange things still happen in gmail, like chat dropping, task lists locking up, or crashes. I love gmail, use it all the time, has great features. But I'd love a native client for Gmail even more.

Flickr. Great content and community, but the web interface is clearly clunky. Imagine Flickr on a tablet. Swiping, pinching, tapping. If you had the choice, you'd use the app, not the webpage.

Facebook. Insanely popular, insanely buggy. Try spending 30 minutes going through newsfeeds and photo albums without having the javascript go unresponsive.

Just using those 3 examples, you will see great client front-ends created for those in the next few years. Though maybe not Google if they don't get their head out of the sand. Soon Facebook will do a great tablet client, and it will be a KILLER app.

So what type of professional document creation are you doing in Google Docs?

algore··on Build native iOS apps with jQuery Mobile
> you can't even notice whether you're using a native or a well crafted HTML app.

That's completely untrue. It is immediately noticeable because of the lack of responsiveness, smoothness of transitions, and ugly layouts. Like I said, you can put together a bunch of hacks to try and imitate it, but you end up with something clunky and unprofessional. This wasn't as big a deal 10 years ago, but interface expectations on these devices (especially the tablets) are very high. Quality design is expected by a lot more customers in the hardware AND software. Interfacing with touch gestures needs to be instant and seamless.

Did you even look at the "Ali Quotes" app in the story? It's terrible. I've poked around the jQueryMobile already on my iPhone, the whole thing is, in a word, slow. Yes, I know it's new. It will be better in six months... after thousands of coding hours will be spent concocting ludicrous javascript and CSS hacks to duplicate something that's been done perfectly well on native client platforms for 3 years. It's a terrible waste of effort.

> There are also some heavy downsides in Xcode/Obj-C development, such as hunting down memory leaks and crashes

True, these are problems that have existed forever, and better dev tools help alleviate them. But don't forget these same problems are prevalent all over web apps too. Flash memory leaks are everywhere. Javascript suddenly consumes 100% of your CPU. Same problems, but no one care about fixing them because its just a webpage, just reload it. Well OK, but that's why even after 10 years people don't trust webapps.

algore··on Build native iOS apps with jQuery Mobile
> there is only one HTML page even though the app looks like it has dozens of screens!!

Ugh. Really, you guys think this is the future? It's a total perversion of what a URL and a webpage are supposed to be. It's ugly hacks on top of more ugly hacks to produce a substandard experience.

An app like this is not hard to produce with Xcode and Obj-C, and it will look feel and work 10x better. It will only get easier as development tools improve, and Xcode and Interface Builder have a ways to go to catch up with Visual Studio.

There is a place for web apps and a place for real apps. For many years now countless companies have been investing in shoehorning an app into a webpage, and they don't have much to show for it except buggy javascript and unreliable software. Not even semi-professionals would consider using Google Docs over client-based Word for serious document composition. Or substituting Photoshop with one of the dozens of webapp photo editing tools. It's all cute, but in the end its not practical for real world use.

It's unfortunate that so many talented programmers are sucked into this "webapp everything" mindset and devote themselves to crappy products, sometimes simply because they have a personal hangup with Microsoft or Apple. Obviously there are plenty of skilled coders who are making client-based software that's beautiful, useful, and profitable, but client software is still dominated by crap, even on super popular platforms like iOS and especially Android. There are enormous opportunities on the client that have been ignored for a decade.

Think about this, today for less than $200 you can have a more powerful computer (more RAM, more storage, more MHz) in your pocket than you could buy for $1000 in 2000. And today's has a phone, a camera, broadband internet, GPS all built in. Not only that, but that same computer is making its way into your TV and car. And what is being done with all that power? Still hacking choppy javascript animations on a document markup language!