Thank you for taking the time to share this so carefully. I think many people getting started in developing UI heavy applications fail to understand that it is all about solving many orthogonal problems, and to do each one carefully is what the job is all about.
People that lack this expectation replace it with the naive thought that there is a single library out there that can do it all for them, and they spend countless time finding it as opposed to breaking up a problem into smaller pieces and attacking each one.
You've consolidated many interesting techniques here, and it's a valuable resource not only in philosophy, but in general hackery.
Are you planning to flesh out the app more, say to allow users to login, comment, upvote?
Yes, it would definitely have been lesser work to just use Cocoa. And yes one of the main reasons for choosing mobile web apps is that they are cross platform.
Having said that, I still applaud the guy taking the time and ploughing in so much effort into something that he wanted to do. I appreciate the true hacker spirit in striving to create a webapp that looks and feels totally native. Kudos to the OP.
Web apps also let you deploy changes instantly to 100% of your users as opposed to going through an app store update. That's huge. You have no idea how long users will take to update their apps.. and some never do.
Great work and a fantastic writeup. One crucial interaction missing for the native scrollview feel is tapping the time in the status bar to quickly scroll back to the top. Does mobile safari expose that event?
Edit: it scrolls to top if you tap the navbar. The anim is a bit wonky, but it works.
- The design could use some tweaks. (Poor icons in the home screen, not vertically aligned title bar text, ugly "comments" title bar that scrolls with you, inconsistent orange color (click a link and you see the bottom bar is a different color to the top bar), puke color in the "pull to refresh", has a very non-native feel with the custom list view, awkward arrow that is low res in pull to refresh)
- No comment indentation so everything is difficult to follow in the comments
- No ability to login and comment?
- Awkward click regions on the list view. It should only allow you to press on one or two buttons, but instead I can press on the timestamp, the comments, the title or the background. It should be clearer
It's really quick, though, and that's lovely. Keep at it!
That's a good start and i like the UI. I had some issues on the iPad 2 where transitions weren't really smooth but kind of laggy. The comments could be better arranged (some kind of tree were not only the top-level comments are different). Ashamedlion does have a point about the weird colours and the few refinements. Still the best hacker news app i have tried and will be looking forward for updates. Keep up the good work!
Thanks!.For the comments I am going to draw the table separator in a way such that it shows the depth of the comment below it.I dont want to waste space on such a small screen.
Sorry as of now I have decided against open sourcing the main project.But I might decide to do it in the future.
However HackerNode is built on top of another library called three20 which I have forked and I have open sourced my fork at https://github.com/nodemaker/three20
Impressing, but I can't see why people strive for native look and feel. Take a look at the Readability web app, it really doesn't feel like a website at all (somehow they remove the Safari-chrome on the iPad, anyone know how?). When you go for native theming, you will have to do it for each platform. It just feels weird to get and iOS menu on your Android.
Doesn't scroll on my BlackBerry Bold 9900. The OS6/7 devices use a Webkit-based browser, so I'm a little surprised that Webkit-specific CSS didn't work, though that may have been only for Safari.
You've done an interesting thing, pushing CSS3 to replicate the iOS interface. But, why replicate the iOS UI in a web app? Web apps are supposed to be platform-neutral; a native interface shouldn't be part of that, in my opinion. Wouldn't a mobile-friendly stylesheet make more sense?
Mobile web apps should work in more places than safari on the iPhone. Otherwise call it a "mobile safari app".
I tried the app in mobile Firefox, no luck. I tried it mobile Opera, no go. Also, I don't understand why anyone would use Apple's native interface graphics on purpose for a web app. I get why native dev it makes things easier to build than custom icons etc, but on the web, you are not on Apple's leash no more, be free!
> Tapping on links will launch Mobile Safari, which jumps
> out of your standalone app. There's a way to prevent that
> and make it load inside the standalone app, but since the
> toolbar is gone, there's no Back button and you can't go back.
Unrelated note: what's best practice for quoting on HN?
This reminds me of the Spartan project and all the money FB is burning to get around APPL policies. I think in the medium and long term this overly restrictive appstore strategy and the limitations of mobile webapps are going to backfire, similarly to how Nintendo's 3rd party policies of the '80s backfired soon after the NES. Initially it made a ton of money, but then it lost the market to the likes of Sega, Sony and MSFT.
It might be just me, since I am a newbie, but how do people keep track of replies to their comments? The only thing that notifies me is a change in karma and then I hit my profile and browse my own comments. Is there another way?
I agree. What you said actually just happened. I remembered that need to check for possible answers to this to reloaded the page and came back here. I guess it's working for everybody.
I don't believe there are any 'push' notifications, but you can use the "threads" link on the top bar to see each of your comment threads and scan for replies.
Not ideal, but it's still better than either remembering to check the discussion itself.
I would be happy to provide one to you. Where do I submit a pull request?
By the way, one of the main reasons I bought an iPad stems from the fact that HN comments were so hard to read on my iPod Touch. And I'm a student who doesn't have a lot of money to buy every latest Apple gadget. So it is pretty important to me. ;-)
pg - in that case, wouldn't it be worth delegating these tasks? I'm sure there are a lot of people on here that would be more than happy to contribute.
Am I reading it wrong, or he's admitting that he's ripped off the images for his application right from Apple ? That's not exactly legal, in my book...
People that lack this expectation replace it with the naive thought that there is a single library out there that can do it all for them, and they spend countless time finding it as opposed to breaking up a problem into smaller pieces and attacking each one.
You've consolidated many interesting techniques here, and it's a valuable resource not only in philosophy, but in general hackery.
Are you planning to flesh out the app more, say to allow users to login, comment, upvote?