Device API와 Web Application의 미래 Jonghong Jeon ETRI, SRC Email: hollobit@etri.re.kr Blog: http://mobile2.tistory.com http://twitter.com/hollobit http://www.etri.re.kr
달라진 반응 잃어버린 10년? q1996년 대부분 Web 기반의 Application으로 변할 것이다. q2006년 Web 기반이 아닌 로컬 전용 기업용 Application을 만들자!! 2
새로운 시작?? q 2009년 아직 모바일은 2009년 국내 모바일 웹 사용율 5% 미만, 웹 콘텐츠 중심 하지만, 세계적으로는 전세계 스마트폰 보급률 확산과 함께 모바일 웹 사용률 급증 모바일 환경을 고려하는 새로운 웹 기술 및 표준의 등장 새로운 웹 표준과 기술을 적용한 모바일 단말과 서비스 등장 웹 플랫폼과 클라우드 기반 어플리케이션 환경의 성장 하이브리드 웹 어플리케이션의 등장 q 2019년에는? 모바일 웹 어플리케이션이 대세? 3
Mobile Web Application은 활성화되고 있는가?
iphone & Web Applications q 아이폰 출시 후 많은 Web Application 등장, 그러나. 4177여개의 iphone 웹 응용 :http://www.apple.com/webapps/ AppStore에는 84,788개 등록 (http://www.apptism.com) 5
Web-based vs. Native Application 6
왜 Native Application이 더 좋다고 생각할까? q Five Common Reasons Performance Offline Mode Findability Device Attributes Monetization 7
과연 Web Application은 Native Application를 따라잡지 못할까?
Browsers Started a Revolution that Continues q Browsers Started a Revolution that Continues In 1995 Netscape introduced JavaScript In 1999, Microsoft introduces XMLHTTP In 2002, Mozilla 1.0 includes XMLHttpRequest natively q... Then web applications started taking off... In 2004, Gmail launches as a beta In 2005, AJAX takes off (e.g. Google Maps) q... Now web applications are demanding more capabilities 9
What New Capabilities do Webapps Need? q If a native app can do it, why can t a webapp? 10 Plugins currently address some needs, others are still not well addressed Playing video Webcam / microphone access Better file uploads Geolocation Offline abilities 3D Positional and multi-channel audio Drag and drop of content and files into and out of webapps 구글이 HTML5와 함께 발전시키고 있는 것들 Web Worker, O3D, Rich Text Editing(ContentEditable), Notification, P2P, Drag & Drop, File Upload, Multi File access 참고: http://rhio.tistory.com/331 q Some of these capabilities are working their way through standards process
Web Application 기술의 진화 문제점 Performance Offline Mode Findability Device Attributes Monetization 개선 방안 -Javascript 속도 개선 -WebGL 표준화 시작 -CSS 속도 개선 -Widget 기술 -XHR / AJAX -HTML5의 App Cache 기능 -Local Storage & Database -W3C Geolocation API -W3C Device API & Policy WG 11
The Web Platform is Accelerating 12
And It s Solving Key Developer Challenges 13
Graphic? - CSS3, WebGL http://www.youtube.com/watch?v=bqyhlrzotak&hl=ko http://www.youtube.com/watch?v=2rpkpj6zo9w 14
More, More, More 15
HTML 5: A Chance to Do Things Differently 16
HTML5 Support 17
Offline support - Gmail for mobile q utilizes Gears (for Android) and SQLite databases (for iphones / touches) to all ow you to compose messages and access recently read messages without a n etwork connection q it's utilizing HTML5 (and its offline storage APIs) http://googlesystem.blogspot.com/2009/01/offline-gmail.html http://www.youtube.com/watch?v=v5j5sa48ev0&feature=player_embedded 18
Device Capability Web Application Web Application Browser Web Engine Browser Device API Device Capability 19
Device API Use Cases [1/2] - OpenAJAX q Contacts CO1 - Birthday reminder This use case describes how a Widget can remind a user of upcoming birthday s or anniversaries and suggest a gift. q Messaging 20 ME1 - Frequent Messaging List http://www.openajax.org/member/wiki/mobile_device_apis_use_cases This use case describes how a Widget can create a frequent messaging list dep ending on the week day, the location, the time... ME4 - Autoblog q Agenda This use case describes how a Widget can be used to automatically create a bl og containing all the messages and calls. AG1 - Appointment Weather This use case describes how a Widget or an Active Web Application can provide a user with weather forecast information for a given appointment (location and date).
Device API Use Cases [2/2] - OpenAJAX q Agenda AG2 - Take me to the meeting This use case describes how a Widget or an Active Web Application can provide a user with maps and information to get to an appointment location. AG3 - Family Calendar This use case describes how a Widget or an Active Web Application can provide a family with a comm on calendar merging all the family members appointments. q Connectivity CON1 - Manage connections on special situations (roaming, low battery.) This use case describes how a Widget could monitor the system status (roaming, battery...) to manag e how and if connections are allowed. q Gallery GA1 - Uploading files to social networks This use case describes how a Widget or an Active Web Page could be used to upload any content to any social network. q Location LOC5 - Location Aware Searches This use case describes how a Widget or an Active Web Application can provide a user with search res ults dependant on her real location (be them hotels, pictures, services...). 21
OMTP Bondi s Use Cases q q q q q q q q q q q q q q q q q 3.1 USE CASE 1: APPLICATION FUN PACK WIZARD 3.2 USE CASE 2: RINGTONE WIDGET 3.3 USE CASE 3: LOG NOTIFICATION WIDGET 3.4 USE CASE 4: PHOTO MANAGEMENT 3.5 USE CASE 5: AUCTION WIDGET 3.6 USE CASE 6: DRIVING DIRECTIONS WIDGET 3.7 USE CASE 7: SOCIAL NETWORKING 3.8 USE CASE 8: ADVANCED THEMES 3.9 USE CASE 9: CONTACTS 3.10 USE CASE 10: MESSAGING 3.11 USE CASE 11: CAPABILITY DISCOVERY 3.12 USE CASE 12: CALLS 3.13 USE CASE 13: TASK LIST 3.14 USE CASE 14: AGENDA 3.15 USE CASE 15: CONNECTIVITY - MANAGE CONNECTIONS FOR SPECIAL SITUATIONS (ROAMING, LOW BATTERY ETC) 3.16 USE CASE 16: DEVICE GALLERY 3.17 USE CASE 17: LOCATION 22
Device Capability의 이용 [1/3] 2008 2009 OMTP Bondi 1.0 W3C Geolocation WG Security for Ac cess to Device APIs from the Web. PhoneGap JIL W3C DAP WG 23
Device Capability의 이용 [2/3] 24
Device Capability의 이용 [3/3] 25 25
W3C 주요 표준화 내역들 26 Date WG Event 2008-04-15 The Web API Working Group Last Call: The XMLHttpRequest Object 2008-06-03 The HTML Working Group Offline Web Applications Published as W3C Note 2008-06-09 Web Applications Working Group Launched 2008-06-10 Three HTML 5 Related Drafts Published 2008-08-29 The Web Applications Working Group Web IDL Draft Published 2008-09-12 The Web Applications Working Group Access Control for Cross-Site Requests Draft Published 2008-09-19 New W3C Working Group Brings Location Information to the Web 2008-09-19 The Web Applications Working Group Last Call: Widgets 1.0: Requirements 2008-09-30 W3C Organizes Workshop on Security for Access to Device APIs from the Web 2008-10-03 The Web Applications Working Group XMLHttpRequest Level 2 Draft Published 2008-12-22 The Web Applications Working Group Web IDL Draft Published 2008-12-22 The Web Applications Working Group Last Call: Widgets 1.0: Packaging and Configuration 2008-12-22 The Geolocation Working Group First Draft of Geolocation API Specification Published 2009-02-10 The Web Applications Working Group Widgets 1.0: APIs and Events 2009-02-12 The HTML Working Group Drafts of HTML 5, Differences from HTML 4 Published 2009-02-26 The HTML Working Group Web Forms 2.0 Draft Superseded by HTML 5 2009-03-10 The Cascading Style Sheets (CSS) Working Group Last Call: Selectors Level 3 2009-03-18 The Web Applications Working Group Cross-Origin Resource Sharing Draft Published 2009-03-31 The Web Applications Working Group Widgets 1.0: Digital Signatures Draft Published 2009-04-23 The HTML Working Group HTML 5, Differences from HTML 4 Drafts Published 2009-04-23 The Web Applications Working Group Four Web Application API Drafts Published (Web Storage, Web Workers, Web Sockets API, Server-Sent Events) 2009-04-23 The Web Applications Working Group Widgets 1.0: APIs and Events Draft Published 2009-04-23 The Cascading Style Sheets (CSS) Working Group W3C Invites Implementations of Media Queries 2009-05-07 The Mobile Web Best Practices Working Group Mobile Web Application Best Practices Draft Published 2009-05-28 The Web Applications Working Group Last Call: Widgets 1.0: Packaging and Configuration 2009-06-16 The Ubiquitous Web Applications Working Group Last Call: Delivery Context Ontology 2009-06-18 The Web Applications Working Group First Drafts of Widgets 1.0: Access Requests Policy; URI Scheme 2009-06-25 The Web Applications Working Group W3C Invites Implementations of Widgets 1.0: Digital Signatures 2009-07-03 W3C Launches Device APIs and Policy Working Group 2009-07-07 The Geolocation Working Group Last Call: Geolocation API Specification 2009-07-23 The Cascading Style Sheets (CSS) Working Group CSS Image Values Module Level 3 First Draft Published 2009-07-24 The Web Applications Working Group W3C Invites Implementations of Widgets 1.0: Packaging and Configuration 2009-08-04 The Web Applications Working Group Last Call for Widgets 1.0: Access Requests Policy 2009-08-18 The Web Applications Working Group Last Call: Widgets 1.0: APIs and Events 2009-08-20 The Web Applications Working Grou XMLHttpRequest Drafts Published 2009-08-26 The HTML Working Group HTML 5 Drafts Published 2009-09-08 The WebApps Working Group New Draft of DOM Level 3 Events Published 2009-09-10 The Web Applications Working Group Web Storage; Web Database Drafts Published
W3C New Working Items q XHR, XHR 2.0 q Web IDL q HTML5 q Widget 1.0 Requirements, P&C, Digital Sig., APIs & Events, Access Request Policy, q CSS3 27 Select Level3, Media Query q Web Application API Web Storage, Web Database, Web Workers, Web Sockets API, Server-Sent Events, Offline Web Applications q Geolocation API q Device APIs and Policy q DOM Level 3
미래의 Web Application은?
새로운 움직임: Native + Web = Hybrid 29 Native Application Web Application Graphic Performance 상 하 상 AppStore 판매 (Monetize) 가능 불가능 가능 Offline Mode 가능 일부 가능 가능 웹서비스 매쉬업 불가능 가능 가능 Multi-platform 지원 어려움 용이 중간 Storage Local 서버, cloud 모두 Device Capability 이용 용이 불가능 (개선중) 용이 다중 사용자 공동 작업 불가능 가능 가능 Hybrid App. SW 갱신 방법 재설치 사용중 수정 부분 재설치 어플리케이션 재활용성 소스/Lib 활용만 소스 및 SaaS로 모두 UI 제작 난이도 상 하 중 UI 표현 능력 상 하 중
Hybrid Web Application q Hybrid Web Application = Web + Native Facebook Platform (web Cloud) 30 Mobile Web Application Hybrid Web Application
Future - Rich Mobile Application 31
Conclusions q Web Application을 위한 표준/기술은 진화중 q 단말 기능 활용을 위한 표준화 시작 q Web Application들의 한계들도 계속 극복중 q Widget Application의 성장 q Native/Web의 경쟁, Hybrid Web Application의 성장 q Web기반 플랫폼은 성장하겠지만, Native Application을 완전히 대체할 수 있을까는 미지수 (상호보완적 대체재) 32 뉴미디어가 나타났다고 올드미디어가 완전 사라지지는 않는다. q 모든 차이는 계속 유지될까? 모바일/유선의 Web Application 차이 플랫폼 차별화에 따른 차이 (안드로이드, 아이폰 ) q Web App Store는 불가능할까?
q그런데, q우리는 얼마나 준비가 되고 있나? HTML5, offline, web application Device APIs qfull Browser만 있으면 다될까? 웹은 플랫폼으로 진화하고 있는데.. 33
Thank you For more discussion : JongHong Jeon (hollobit@etri.re.kr) +82-42-860-5333 Blog : http://mobile2.tistory.com/m http://twitter.com/hollobit OR 34