Installable web applications

34
Bartosz Olchówka 31 March 2014 Smart Client: Installable web applications

description

The majority of today’s applications are browser-based apps built with HTML, CSS and JavaScript. Why would anyone want to run a desktop app these days? It turns out, there are a number of reasons do to that. Read more on LiveChat Developers blog: http://developers.livechatinc.com/blog/installable-web-applications/

Transcript of Installable web applications

Page 1: Installable web applications

Bartosz Olchówka31 March 2014

Smart Client:Installable web applications

Page 2: Installable web applications

Why install a web app?

Page 3: Installable web applications

● Access to low-level functions○ auto-away○ fullscreen mode○ file system○ …

Why install a web app?

Page 4: Installable web applications

● Access to low-level functions○ auto-away○ fullscreen mode○ file system○ …

● Login on system startup

Why install a web app?

Page 5: Installable web applications

● Access to low-level functions○ auto-away○ fullscreen mode○ file system○ …

● Login on system startup● Easy access with ALT/⌘ + TAB

Why install a web app?

Page 6: Installable web applications

The good part is…

… you can still build a native app with HTML, CSS & JavaScript

Page 7: Installable web applications

Solution: Smart Client

Page 8: Installable web applications

● native container including your web app

Solution: Smart Client

Page 9: Installable web applications

● native container including your web app● WebKit rendering engine

Solution: Smart Client

Page 10: Installable web applications

● native container including your web app● WebKit rendering engine● web app ⇔ “smart client” communication

with a simple JavaScript API

Solution: Smart Client

Page 11: Installable web applications

Smart Client libraries

Page 12: Installable web applications

● Mac OS X: macgap

Smart Client libraries

Page 13: Installable web applications

● Mac OS X: macgap● Windows/Linux: AppJS (no longer maintained)

Smart Client libraries

Page 14: Installable web applications

● Mac OS X: macgap● Windows/Linux: AppJS (no longer maintained)● Mobile: PhoneGap

Smart Client libraries

Page 15: Installable web applications

macgap - examples #1

Page 16: Installable web applications

// Display (10) badge on the Dock

macgap.dock.badge = "10";

macgap - examples #1

Page 17: Installable web applications

// Display (10) badge on the Dock

macgap.dock.badge = "10";

// Detect “wake” event

document.addEventListener('wake', function() {

console.log('Hello, world!')

}, true);

macgap - examples #1

Page 18: Installable web applications

// Toggle fullscreen mode

macgap.window.toggleFullscreen();

macgap - examples #2

Page 19: Installable web applications

// Toggle fullscreen mode

macgap.window.toggleFullscreen();

// Play a sound

macgap.sound.play("./sounds/tadaaa.mp3")

macgap - examples #2

Page 20: Installable web applications

Real world example: LiveChat

Page 21: Installable web applications

Real world example: LiveChat

Page 22: Installable web applications

Advantages #1

● Smart Client users are more engaged

Page 23: Installable web applications

Advantages #2

● no need to maintain multiple apps

Windows Mac Web app

Page 24: Installable web applications

Advantages #3

● consistent user experience

Page 25: Installable web applications

Usage ideas

Page 26: Installable web applications

#1: Products used everyday

Page 27: Installable web applications

● communication (Gmail, Slack)

#1: Products used everyday

Page 28: Installable web applications

● communication (Gmail, Slack)● text editors (Atom.io)

#1: Products used everyday

Page 29: Installable web applications

#1: Products used everyday

● communication (Gmail, Slack)● text editors (Atom.io)● music (Spotify)

Page 30: Installable web applications

#2: Games

Page 31: Installable web applications

#2: Games

App = new Game()App.build(‘train’)App.pause()

Page 32: Installable web applications

#3: Mobile apps

Page 33: Installable web applications

● example:BBC Winter Olympics app

● shared CSS acrossweb & mobile apps

#3: Mobile apps

Page 34: Installable web applications

Questions?