About Hackr/News
A simple iOS client for Y Combinator's Hacker News.
App Architecture
Core modules
The core Hackr News Feature
and API's modules are platform agnostic, so they can be reused.
MVC
We started with a simple MVC approach, delegating responsabilities for refreshing, displaying cell information and managing cell controllers to its own components.
You can check the diff here
MVVM
In this approach we create a new platform agnostic Stories Presentation
module, so they now can be reused by any platform.
You can check the diff here
New Stories
UI experience
UX goals for the - Load stories automatically when view is presented
- Allow customer to manually reload stories (pull to refresh)
- Show a loading indicator while loading stories
Stories loading experience
- Render all loaded stories items (Title, Author, score, created at, total comments, url)
- Load story when is near to be visible (on screen)
- Cancel load story when is out of screen
- Show a loading indicator while loading story (shimmer)
- Option to retry load story in download error
- Preload when story view is near visible