Future of web_apps

Preview:

Citation preview

Future of Web Apps

Lakshan Perera

RefreshColombo, July 2011

Blog: laktek.com

Code: github.com/laktek

Rants: @laktek

CONFESSION

Internet Explorer 6 is great!

Flash is awesome!

....But that was in 2001

EVERYDAY IM

SUFFERIN

“There are more important problems to be solved than sharing Cat pictures.”

Steve Yegge – OSCON 2011

Future Web...

● Realtime

● Collaborative

● Ubiquitous

R E A L T I M E

Polling

<meta http-equiv="refresh" content="5">

AJAX Based Techniques - Short Polling, Long Polling (COMET)

Dirty Old way :)

Are we there yet??

Push Technologies

Server-sent Events - No special protocol is needed.

Web Sockets

- Just like traditional sockets, but via HTTP http://websockets.org

C O L L A B A R A T I V E

Text Based

Operational Transformations

- Google Wave protocol is based on this.

ContentEditable

- Realie (github.com/laktek/realie)- Aloha Editor (aloha-editor.org)

Beyond Text

Web Audio API

- https://wiki.mozilla.org/Audio_Data_API

Canvas/ WebGL

- Colorilo (colorillo.com/)- Mozilla Markup (markup.mozilla.org)

Streaming API

- http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview

U B I Q U I T O U S

“The Web is thoroughly integrated into our daily lives. We take it for granted,

expecting it to “be there” at any instant, like electricity.”

Tim Berns Lee

Device Independent

Responsive Layouts

Mobile First philosophy

- http://www.lukew.com/ff/entry.asp?933

CSS Media Queries

Offine Access

Local Storage

- Client side key value storage- Maximum storage varies on browser- http://dev.w3.org/html5/webstorage/

Application Cache

- Fine grain control over asset caching.- Provides a manifesto.- http://www.whatwg.org/specs/web-apps/current-work/multipage/offine.html

Location Based

Geolocation API

- Guarantees to give you latitude, longitude and accuracy- http://diveintohtml5.org/geolocation.html

More Interesting Stuff

Web Workers

- http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html

History API

- https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

Time to start changing the future!

Questions?