HN2new | past | comments | ask | show | jobs | submitlogin
Show HN: SwiftHN, a Hacker News reader in Swift (dimillian.github.io)
103 points by dimillian on July 18, 2014 | hide | past | favorite | 44 comments


It still a work in progress, but my plan is to release it on the launch day of iOS 8, with a lot more features. Like a Today widget and a share extension which will allow you to post to HN right from Safari.

Edit: I started an Hacker News Swift scraper, which is what SwiftHN use now, it's called Hacker Swifter: https://github.com/Dimillian/HackerSwifter It's highly inspired from LibHN (https://github.com/bennyguitar/libHN) for the scrapping part at the moment.

Feedbacks and pull requests appreciated :)


Are you seriously scraping or using the official Hacker News API[1]?

[1] https://hn.algolia.io/api


What... wait what.... There is an official API and no one told ... what?

Ok, I'm seriously scraping, and I seriously dislike it, sound like HackerSwifter will now use the API! Thanks!

Edit: But there is no endpoint to have the top items, ask hn etc... right?


Work is underway on an API to do all of this. Nick and Scott are hacking on it about three feet to my right just now. The days of scraping are numbered.


This is awesome. So it'll be a new API or an extension of the Algolia API?


The former.


Great news!



Octopart initially provided the official API[1] and then Algolia took over early this year[2].

[1] https://www.hnsearch.com/api [2] https://hackernews.hn/item?id=7130590

A lot of people seem to have used the API to build cool apps.

https://hn.algolia.io/cool_apps

I would read the docs first and jump to conclusions later.


YCombinator doesn't endorse Algolia's HN API in any public way, to my knowledge. This makes it just regular third-party API—reliable, convenient, better than scraping, but hardly ‘official’. (Yes, I'm being pedantic.)


It seems to in the sense that Algolia powers the HN Search at the bottom of every window, and they are co-branded on those search pages. Also, https://hn.algolia.com/api


True that, I take back my comment.


How is that official? I thought that was Algolia's API, not YC's


Algolia is a YC company and built the API for YC, which is as official as it gets.


would certainly be a lot less confusing if the api was actually hosted on the same domain.

as-in: https://hackernews.hn/api

or something...

When I search for "news.ycombinator api" I get a bunch of irrelevant or very outdated links...

https://www.google.com/#q=news.ycombinator+api


I agree, but it's good marketing. It associates the act of searching with the hostname 'algolia', which seems to be in their interest (being that their tagline is "Hosted cloud search as a service | AlgoliaSearch").


Looks great, Thomas. If you'd like to use Diffbot [1] to generate clean content summaries of the links for mobile, ala premii, I'd be happy to hook you up with some calls. [1] http://diffbot.com


It took me a few moments, but I think you mean 'scraper', and not 'scrapper'?


Totally ^^


Looks nice. What is your opinion on Swift now that you've used it for a project?


It's rough, not because of Swift, but because of Xcode. I really love Swift, but it take some time to get up to the speed you are used with Objective-c. Mostly because of the new syntax, but also because Xcode is very buggy around code completion, linking and syntax highlighting.

But for a new app, I would recommend Swift to anyone, it's light, and readable, I really like it.


Debugging Swift is terrible right now in Xcode, unless I am not doing it right. Some values can be seen, others are inexplicably missing. Coming from Java/IntelliJ, it's a hopeless mess.

I hope that Xcode/Swift gets better in the debugging department soon. NSLog() is a rough way to see values. It's just so 1996.


>I hope that Xcode/Swift gets better in the debugging department soon. NSLog() is a rough way to see values. It's just so 1996.

Well, XCode also has the Swift Playground, with live values updating next to your code etc. Java/IntelliJ don't have that (of course XCode's implementation is beta too, and might not work on some cases).


Playground however is just a place for playing with snippets of code. And experiment and learn environment. If you have a bug in a running app, it's just not possible to recreate the problem except for the simplest of apps.


print and println just works for any value. But yeah, breakpoint and PO at doesn't work for debugging at the moment.


I had some big issues with code completion in Swift in Xcode. The completion engine regularly crashed and all syntax highlighting and warnings/errors disappeared. A total nightmare when you're trying to learn a new language.


>The completion engine regularly crashed and all syntax highlighting and warnings/errors disappeared. A total nightmare when you're trying to learn a new language.

Kids these days... We had to learn new languages with no "syntax highlighting", no "completion engine", no tutorials, no reference sites and no internet in general. If we were lucky we had some kind of printed manual -- not always.


I may be a kid (24) but I also remember those days from learning Pascal :)


+1 to this. It's like we're back in Xcode 3.x again with Swift.


Amen to this. Almost my feelings exactly


Looks extremely nice. Currently I'm using http://hckrnews.com/ both on my laptop as well as on iOS due to the lovely layout for mobile as well as cronologically ordering. If your app can do that as well I'm sold!


Well, I want the app to be as close as what Apple could deliver as I possible. So I plan to keep the feed and comments very clean. It'll also feature some offline feature and automatic background update, very handy.


Sounds very very nice, I can't wait for iOS 8 now. By the way, please add a "add to reading list" for links.


Ahah, to be honest, this was the first feature I put in, you can send any article to the Reading List by swiping a cell. I use the offline feature of the Safari Reading List a lot. This is a killer feature for me. http://cl.ly/Wf4t


Nice. How about filters of some kind? Like "banned words" or the like. Maybe something like http://skimhn.com/.


We should design a dark mode!


+10 I want to do it! Or pull request :)


Have you had to refactor at all between releases of the xcode beta?


Actually, no. The big changes was for the beta 3 and it was mostly around arrays syntax. The old syntax was "deprecated" and Xcode gently allowed me to use the new syntax in 1 click.

I was impressed :) Can't wait to see the changes in new seed next week.



Ahh yeah, at the tools level, but Swift is actually fine, after sometimes with it :p


I am really excited to navigate through this code! Great work.


It's good to see some actual code in practice. I'm pleased to see how readable Swift is compared to Objective-C.

Good job.


Thanks for sharing the code, it looks really nice. I can't wait to dig into it little bit more. Good job




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

Search: