Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Things I've learnt from my Hacker News web app
Search
Lim Chee Aun
January 22, 2013
Technology
1
130
Things I've learnt from my Hacker News web app
A talk I gave at the Front-end Developers User Group meet up in Hackerspace SG.
Lim Chee Aun
January 22, 2013
Tweet
Share
More Decks by Lim Chee Aun
See All by Lim Chee Aun
Hacktoberfest SG 2018
cheeaun
0
130
CSS-ing the Super Silly Hackathon website
cheeaun
0
110
Bridging Connections
cheeaun
2
470
Other Decks in Technology
See All in Technology
マイグレーションガイドに書いてないRiverpod 3移行話
taiju59
0
330
2026-02-24 月末 Tech Lunch Online #10 Cloud Runのデプロイの課題から考えるアプリとインフラの境界線
masasuzu
0
100
Data Hubグループ 紹介資料
sansan33
PRO
0
2.8k
Claude Codeと駆け抜ける 情報収集と実践録
sontixyou
2
1.2k
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
580
opsmethod第1回_アラート調査の自動化にむけて
yamatook
0
330
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
LINEアプリ開発のための Claude Code活用基盤の構築
lycorptech_jp
PRO
1
1.1k
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
760
パネルディスカッション資料 (at Tableau Now! - 2026-02-26)
yoshitakaarakawa
0
760
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
190
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
210
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
The Mindset for Success: Future Career Progression
greggifford
PRO
0
260
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
140
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
240
Designing for humans not robots
tammielis
254
26k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
RailsConf 2023
tenderlove
30
1.4k
Transcript
Things I've learnt from my Things I've learnt from my
Hacker News web app Hacker News web app
Hello, I'm Chee Aun. • Hardcore web developer. • Created
quite a bunch of fun little side projects. • Tweet a lot of interesting stuff at @cheeaun • Occasionally read Hacker News.
What is Hacker News?
news.ycombinator.com news.ycombinator.com
I built HackerWeb.
HackerWeb • A simple read-only web app client for Hacker
News. • Mobile-optimized, iOS-optimized. • Works on all modern browsers, hopefully. • Check it out at hackerwebapp.com
None
None
None
Cutting-edge web tech -webkit-overflow-scrolling: touch, localStorage, sessionStorage, CORS, Application Cache,
CSS Animation, CSS Media Queries, Flexible Box Layout (old spec), requestAnimationFrame, Web Workers, and more…
Must-reads • How I built the Hacker News mobile web
app • How I built the Hacker News mobile web app, Part 2 • Introducing HackerWeb
Focus on 3 things 1. -webkit-overflow-scrolling: touch (Momentum scrolling) 2.
CORS (Cross-Origin Resource Sharing) 3. Application Cache
1 Momentum scrolling
-webkit-overflow-scrolling: touch • iOS-specific, for now. No official spec. •
Introduced since iOS5 (October 2011). • For overflow:scroll elements.
Before iOS5 • Two fingers to scroll overflow:scroll elements. •
Unintuitive and undiscoverable. • Scrolling libs to the rescue: iScroll, Scrollability, TouchScroll, FTScroller, etc
Starting from iOS5 • One finger to scroll overflow:scroll elements.
• -webkit-overflow-scrolling: touch adds momentum to it. • Scrolling libs are still in used due to bugs/quirks. • Bug: Can't scroll to top when tapping status bar
Demo time • Normal scrolling: jsbin.com/uhiyac/1 • Momentum scrolling: jsbin.com/uhiyac/2
Resources • Overthrow – overflow:auto polyfill • jQuery Mobile: touchOverflow
• Nested divs with overflow:touch
2 CORS
Before CORS • Use JSONP. • Request data from a
server in a different domain. • Example: json-head.appspot.com/? url=http://www.google.com/&callback=test • A “hack”.
CORS • A W3C Working Draft. • Allow JavaScript to
make cross-domain requests. • An interplay between the server and the client. Access-Control-Allow-Origin: *
Use CORS today!
Who implements CORS? • Google APIs • Amazon S3 •
YouTube API • Dropbox API • GitHub v3 API • …and more
Resources • Enable CORS • CORS isn’t just for XHR
• Can I use CORS? • Using CORS - HTML5 Rocks • CORS Proxy
3 Application Cache
AppCache • Easily make your web site/app offline. • A
working draft. • A douchebag.
Super simple steps Step 1. <html manifest="manifest.appcache"> Step 2. CACHE
MANIFEST index.html stylesheet.css …
Versioning CACHE MANIFEST # 2013-01-21:v1 index.html stylesheet.css …
Google Reader
Reeddit – Reddit web app client
Track AppCache versions Use Google Analytics' event tracking
Make local dev easier • Serve 404 for .appcache files
• For HackerWeb, I use node server.js -noappcache
Resources • A Beginner's Guide to Using the Application Cache
• Fixing Application Cache Community Group • Appcache Facts
More resources • Moobile – new mobile application framework built
on MooTools • Ratchet – Prototype iPhone apps with simple HTML, CSS and JS components • HTML5 Rocks • Can I use…
Thanks • cheeaun.com • twitter.com/cheeaun • github.com/cheeaun Images used in
this presentation • flickr.com/photos/diathesis/2262012694/