App must become aim to be interactive in under 5 seconds on a Moto G4 over 3G. Use WebPageTest using the auto-selected Moto G4 + Faster 3G setting to validate "Time to interactive"
We look at numeric Lighthouse scores for TTI as well as a manual inspection of the application's Timeline "trace" and Filmstrip as a sanity check.
App must use the Application Shell pattern to instantly load the skeleton of the UI on repeat visits
App must do its best to work cross-browser
Optionally:
App supports offline caching of HN data (e.g similar to the 'Offline Mode' in ReactHN)
App may use server-side rendering so displaying content is resilient to JS not loading on the network
User interface:
At this time, HNPWA does not prescribe a specific stylesheet or theme for implementations. We will be aiming to provide this in the near future similar to how we do with TodoMVC.
Emerging Markets: Chrome Beta on a Motorola G (gen 4) tested from Dulles, Virginia on a 400 Kbps 3G connection with 400ms of latency. Tested with WebPageTest using the auto-selected Moto G4 + Emerging Markets setting.
Faster 3G: Chrome Beta on a Motorola G (gen 4) tested from Dulles, Virginia on a 1.6 Mbps 3G connection with 300ms of latency. Tested with WebPageTest using the auto-selected Moto G4 + Faster 3G setting.
Time to Interactive readings taken from linked Lighthouse results in WebPageTest.
License
Each implementation preserves the license noted in the linked to applications.