Connecting Technology
for Great Experiences

Kenneth Rohde Christiansen
Bossa Conference, Manaus, March 2010
TRYING TO STEER UP SOME DISCUSSION
TRYING TO STEER UP SOME DISCUSSION

WHO AM I?
TRYING TO STEER UP SOME DISCUSSION

WHO AM I? KENNETH R. CHRISTIANSEN
TRYING TO STEER UP SOME DISCUSSION

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
TRYING TO STEER UP SOME DISCUSSION

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
1+ YEAR WORKING WITH WEBKIT
TRYING TO STEER UP SOME DISCUSSION

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
1+ YEAR WORKING WITH WEBKIT 2+ YEARS...
TRYING TO STEER UP SOME DISCUSSION

WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
1+ YEAR WORKING WITH WEBKIT 2+ YEARS...
WHERE
I COME FROM
Been working with fluid interfaces for a long time
Flexibility, rapid development
Lots of prototyping, had to develop fast
Example of a Media player
Experiments with Web, Qt, Declarative UI
Our interfaces have all been canvas based
Targeting different display, input devices
Types of display, resolution vs. dimension, keyboard vs. touch.
Lessons learned
How we learned to design our applications


                                            Clear Model/View/C...
TRENDS
WHY WE CARE
Some of the current trends
The background for the applications of today
Some of the current trends
The background for the applications of today




          WEB IS
       EVERYWHERE!
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
Some of the current trends
The background for the applications of today

                                              SOC...
So Web is the future?
The state of the Web

                                          SOCIAL
                             ...
So Web is the future?
The state of the Web

                                          SOCIAL
                             ...
So Web is the future?
The state of the Web

                                          SOCIAL
                             ...
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
               ...
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
               ...
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
               ...
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
               ...
Understanding the tools, filling the gaps
The power of Web as a technology




  THE WEB IS VERY
  POWERFUL
               ...
What is the catch?
Why are we not all just using Web




     It was designed for contents, patched for Web apps
What is the catch?
Why are we not all just using Web




     It was designed for contents, patched for Web apps
         ...
What is the catch?
Why are we not all just using Web




     It was designed for contents, patched for Web apps
         ...
What is the catch?
Why are we not all just using Web




     It was designed for contents, patched for Web apps
         ...
But is it possible at all?
Why are we not all just using Web



     Yes! Google has many apps already, Palm WebOS is
    ...
But is it possible at all?
Why are we not all just using Web



     Yes! Google has many apps already, Palm WebOS is
    ...
So does it make sense?


   It does! in some situations

   Remember:
So does it make sense?


   It does! in some situations

   Remember:




        ACCESS TO WHAT
        MATTERS TO ME
So does it make sense?


   It does! in some situations

   Remember:

                            ALWAYS
                ...
So does it make sense?


   It does! in some situations

   Remember:

                            ALWAYS
                ...
So does it make sense?


   It does! in some situations

   Remember:

                            ALWAYS
                ...
The case of the established protocol
Access to online data is all about services



      So why not just make a native ap...
The case of the established protocol
Access to online data is all about services



      So why not just make a native ap...
The case of the established protocol
Access to online data is all about services



      So why not just make a native ap...
The case of the established protocol
Access to online data is all about services




     For a Web application the protoc...
Great integration with existing Web Services
There is so much out there, in use by our target group




     Flickr, Twitt...
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
   ...
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
   ...
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
   ...
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
   ...
So where does the Web fail
Identifying some of the problems




    - Hard to make fluid interfaces not designed for it
   ...
But that can all be fixed, right?
Searching for solutions




     - Qt makes it easy to expose native API’s to JS
But that can all be fixed, right?
Searching for solutions




     - Qt makes it easy to expose native API’s to JS
     - O...
But that can all be fixed, right?
Searching for solutions




     - Qt makes it easy to expose native API’s to JS
     - O...
But that can all be fixed, right?
Searching for solutions




     - Qt makes it easy to expose native API’s to JS
     - O...
But that can all be fixed, right?
Searching for solutions




     - Qt makes it easy to expose native API’s to JS
     - O...
BACK TO
               THE NATIVE SIDE

Let’s leave the Web for a while and have a look at QML
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT:
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATION
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID
DEVELOPMENT ANIMATIO...
Wow, that sounds too good to be true
But you better believe it




     Downsides?
Wow, that sounds too good to be true
But you better believe it




     Downsides?
             It is not a standard
Wow, that sounds too good to be true
But you better believe it




     Downsides?
             It is not a standard
     ...
Wow, that sounds too good to be true
But you better believe it




     Downsides?
             It is not a standard
     ...
Wow, that sounds too good to be true
But you better believe it




     Downsides?
             It is not a standard
     ...
Wow, that sounds too good to be true
But you better believe it




     Downsides?
             It is not a standard
     ...
WRT+QML Complementing Power




A look at use cases for both technologies
Online Widgets with offline abbilities
Give the services more control




Get layout + contents
from a service
   Make it w...
Powerful layout
Remember Word vs. Pagemaker?




CSS + is powerful combination
  HTML
  Make a lot of sense for text+image...
Sometimes Web just doesn’t make sense
Let’s consider a video player



   When the app needs raw speed, lots of user inter...
Native and Web working together
United we are strong



How can we join the technologies
Native and Web working together
United we are strong



How can we join the technologies
   Manipulate / show iframes inst...
Native and Web working together
United we are strong



How can we join the technologies
   Manipulate / show iframes inst...
Native and Web working together
United we are strong



How can we join the technologies
   Manipulate / show iframes inst...
Native and Web working together
United we are strong



How can we join the technologies
   Manipulate / show iframes inst...
Native and Web working together
United we are strong



How can we join the technologies
   Manipulate / show iframes inst...
Thanks for listening
Understanding the tools, we fill the gaps

I hope that I have provided you with some new input
and ste...
Upcoming SlideShare
Loading in...5
×

Connecting Technology for Great Experiences - How does QML and Web fit together?

3,656

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,656
On Slideshare
0
From Embeds
0
Number of Embeds
38
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Connecting Technology for Great Experiences - How does QML and Web fit together?"

  1. 1. Connecting Technology for Great Experiences Kenneth Rohde Christiansen Bossa Conference, Manaus, March 2010
  2. 2. TRYING TO STEER UP SOME DISCUSSION
  3. 3. TRYING TO STEER UP SOME DISCUSSION WHO AM I?
  4. 4. TRYING TO STEER UP SOME DISCUSSION WHO AM I? KENNETH R. CHRISTIANSEN
  5. 5. TRYING TO STEER UP SOME DISCUSSION WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER
  6. 6. TRYING TO STEER UP SOME DISCUSSION WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 1+ YEAR WORKING WITH WEBKIT
  7. 7. TRYING TO STEER UP SOME DISCUSSION WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 1+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH APP DEVELOPMENT USING DECLARATIVE LANGUAGE
  8. 8. TRYING TO STEER UP SOME DISCUSSION WHO AM I? KENNETH R. CHRISTIANSEN WEBKIT REVIEWER 1+ YEAR WORKING WITH WEBKIT 2+ YEARS WORKING WITH APP DEVELOPMENT USING DECLARATIVE LANGUAGE NOKIA TECHNOLOGY INSTITUTE, INdT
  9. 9. WHERE I COME FROM
  10. 10. Been working with fluid interfaces for a long time Flexibility, rapid development
  11. 11. Lots of prototyping, had to develop fast Example of a Media player
  12. 12. Experiments with Web, Qt, Declarative UI Our interfaces have all been canvas based
  13. 13. Targeting different display, input devices Types of display, resolution vs. dimension, keyboard vs. touch.
  14. 14. Lessons learned How we learned to design our applications Clear Model/View/Controller separation is an advantage Two types of controllers: One handling interaction between Model and View and one handling user input Declarative UI language makes it possible to make the interface a “theme”, that can easily be adapted per per device, by a designer The input handling can be part of that theme: Click area size is a good example.
  15. 15. TRENDS WHY WE CARE
  16. 16. Some of the current trends The background for the applications of today
  17. 17. Some of the current trends The background for the applications of today WEB IS EVERYWHERE!
  18. 18. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED
  19. 19. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED ACCESS TO WHAT MATTERS TO ME
  20. 20. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT PERSONAL DATA ONLINE ACCESS TO WHAT MATTERS TO ME
  21. 21. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT PERSONAL DATA ONLINE ACCESS TO WHAT MATTERS TO ME FLUID INTERFACES
  22. 22. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE ACCESS TO WHAT MATTERS TO ME FLUID INTERFACES
  23. 23. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE PERSONAL ACCESS TO WHAT MATTERS TO ME FLUID INTERFACES
  24. 24. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT BUT A WAY OF LIFE MATTERS TO ME FLUID INTERFACES
  25. 25. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT BUT A WAY OF LIFE MATTERS TO ME FLUID INTERFACES TECHNOLOGY SHOULD NOT BE A DISTRACTION
  26. 26. Some of the current trends The background for the applications of today SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT BUT A WAY OF LIFE MATTERS TO ME FLUID INTERFACES TECHNOLOGY SHOULD NOT BE A DISTRACTION BUT AN ENABLER
  27. 27. So Web is the future? The state of the Web SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA ORIENTED ONLINE TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT BUT A WAY OF LIFE MATTERS TO ME FLUID INTERFACES
  28. 28. So Web is the future? The state of the Web SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA IN SOME AREAS, ORIENTED THE WEB IS ONLINE NOT THERE TODAY TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT BUT A WAY OF LIFE MATTERS TO ME FLUID INTERFACES
  29. 29. So Web is the future? The state of the Web SOCIAL NETWORKING, WEB IS ALWAYS EVERYWHERE! CONNECTED IMPORTANT DESIGN/FASHION PERSONAL DATA IN SOME AREAS, ORIENTED THE WEB IS ONLINE NOT THERE TODAY BUT CAN IT BE? TECHNOLOGY IS PERSONAL NOT JUST A TOOL, ACCESS TO WHAT DOES IT MAKES SENSE? LIFE BUT A WAY OF MATTERS TO ME IS A MIXTURE / A HYBRID FLUID POSSIBLE? INTERFACES
  30. 30. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL
  31. 31. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL Designed for contents (text, images, data...)
  32. 32. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL Designed for contents (text, images, data...) Very flexible layouting
  33. 33. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL Designed for contents (text, images, data...) Very flexible layouting Zero-deployment / update-ability
  34. 34. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL Designed for contents (text, images, data...) Very flexible layouting Zero-deployment / update-ability Lots of existing Web contents out there, and that is not going to go away.
  35. 35. Understanding the tools, filling the gaps The power of Web as a technology THE WEB IS VERY POWERFUL Designed for contents (text, images, data...) Very flexible layouting Zero-deployment / update-ability Lots of existing Web contents out there, and that is not going to go away. Indexability, searching
  36. 36. What is the catch? Why are we not all just using Web It was designed for contents, patched for Web apps
  37. 37. What is the catch? Why are we not all just using Web It was designed for contents, patched for Web apps Expensive DOM manipulation
  38. 38. What is the catch? Why are we not all just using Web It was designed for contents, patched for Web apps Expensive DOM manipulation Extremely flexible - a monster doing more that you normally need. Can lead to unresponsiveness, battery drain
  39. 39. What is the catch? Why are we not all just using Web It was designed for contents, patched for Web apps Expensive DOM manipulation Extremely flexible - a monster doing more that you normally need. Can lead to unresponsiveness, battery drain Summarized: You need to understand the inner working of the Web engine in order to make a responsive, nice application What triggeres a relayout? etc...
  40. 40. But is it possible at all? Why are we not all just using Web Yes! Google has many apps already, Palm WebOS is an even better example, providing: DESIGN/FASHION ORIENTED FLUID INTERFACE INTERFACES PERSONALIZATION
  41. 41. But is it possible at all? Why are we not all just using Web Yes! Google has many apps already, Palm WebOS is an even better example, providing: DESIGN/FASHION ORIENTED FLUID INTERFACE INTERFACES PERSONALIZATION But, the developer experience is still lacking, and if you look at their hardware (comparable to N900, iPhone 3GS) the interface seems slow and unresponsive.
  42. 42. So does it make sense? It does! in some situations Remember:
  43. 43. So does it make sense? It does! in some situations Remember: ACCESS TO WHAT MATTERS TO ME
  44. 44. So does it make sense? It does! in some situations Remember: ALWAYS CONNECTED ACCESS TO WHAT MATTERS TO ME
  45. 45. So does it make sense? It does! in some situations Remember: ALWAYS CONNECTED PERSONAL ACCESS TO WHAT DATA ONLINE MATTERS TO ME
  46. 46. So does it make sense? It does! in some situations Remember: ALWAYS CONNECTED PERSONAL ACCESS TO WHAT DATA ONLINE MATTERS TO ME + A LOT OF OTHER REASONS
  47. 47. The case of the established protocol Access to online data is all about services So why not just make a native app, Qt has QNetwork... + B + C
  48. 48. The case of the established protocol Access to online data is all about services So why not just make a native app, Qt has QNetwork... + B + C Connecting a native app with a server requires a communication protocol, that should preferrable to easy to use and extensive. Defining and maintaining such one can be expensive
  49. 49. The case of the established protocol Access to online data is all about services So why not just make a native app, Qt has QNetwork... + B + C Connecting a native app with a server requires a communication protocol, that should preferrable to easy to use and extensive. Defining and maintaining such one can be expensive A Web app is the protocol itself: HTML + CSS HTTP JAVASCRIPT
  50. 50. The case of the established protocol Access to online data is all about services For a Web application the protocol is: HTML + CSS HTTP JAVASCRIPT This makes it possible for the service provider to change the inner workings of the app+service at any point, transparent to the user. The app lives online, but can have offline capabilities.
  51. 51. Great integration with existing Web Services There is so much out there, in use by our target group Flickr, Twitter, Ovi Services.... Stocks, News feed, Weather forecast, Social Networking
  52. 52. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it
  53. 53. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it - Extra care for making things work offline
  54. 54. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it - Extra care for making things work offline - Limited native integration device + ui
  55. 55. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it - Extra care for making things work offline - Limited native integration device + ui - Depends on connectivity speed, server downtime
  56. 56. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it - Extra care for making things work offline - Limited native integration device + ui - Depends on connectivity speed, server downtime - Increased security ricks js injection
  57. 57. So where does the Web fail Identifying some of the problems - Hard to make fluid interfaces not designed for it - Extra care for making things work offline - Limited native integration device + ui - Depends on connectivity speed, server downtime - Increased security ricks js injection - Memory / battery usage
  58. 58. But that can all be fixed, right? Searching for solutions - Qt makes it easy to expose native API’s to JS
  59. 59. But that can all be fixed, right? Searching for solutions - Qt makes it easy to expose native API’s to JS - Offline is a bit part of HTML5, but not out of the box
  60. 60. But that can all be fixed, right? Searching for solutions - Qt makes it easy to expose native API’s to JS - Offline is a bit part of HTML5, but not out of the box - Web Runtime makes it possible to run apps locally
  61. 61. But that can all be fixed, right? Searching for solutions - Qt makes it easy to expose native API’s to JS - Offline is a bit part of HTML5, but not out of the box - Web Runtime makes it possible to run apps locally - Sandboxing
  62. 62. But that can all be fixed, right? Searching for solutions - Qt makes it easy to expose native API’s to JS - Offline is a bit part of HTML5, but not out of the box - Web Runtime makes it possible to run apps locally - Sandboxing Still a lot of work to do. and remember, we want a nice Developer Experience
  63. 63. BACK TO THE NATIVE SIDE Let’s leave the Web for a while and have a look at QML
  64. 64. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT
  65. 65. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT:
  66. 66. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES
  67. 67. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION
  68. 68. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI
  69. 69. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT
  70. 70. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION
  71. 71. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION Easy to grasp, use and yet very flexible
  72. 72. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION Easy to grasp, use and yet very flexible “End of the Widgets”
  73. 73. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION Easy to grasp, use and yet very flexible “End of the Widgets” High Reuse
  74. 74. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION Easy to grasp, use and yet very flexible “End of the Widgets” High Reuse Themability / Change input methods with theme / Adapt for different devices
  75. 75. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION JavaScript scripting, JSON like format
  76. 76. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION JavaScript scripting, JSON like format Embed QML in QML (even with HTTP, or so I’ve heard)
  77. 77. COOL STUFF DECLARATIVE INTERFACE LANGUAGE FOR QT ALL ‘BOUT: FLUID INTERFACES PERSONALIZATION UI RAPID DEVELOPMENT ANIMATION JavaScript scripting, JSON like format Embed QML in QML (even with HTTP, or so I’ve heard) Some Web Integration: You can have a Web View Use images from HTTP etc
  78. 78. Wow, that sounds too good to be true But you better believe it Downsides?
  79. 79. Wow, that sounds too good to be true But you better believe it Downsides? It is not a standard
  80. 80. Wow, that sounds too good to be true But you better believe it Downsides? It is not a standard You cannot target the iPhone, Android, Nokia ... etc
  81. 81. Wow, that sounds too good to be true But you better believe it Downsides? It is not a standard You cannot target the iPhone, Android, Nokia ... etc So far unproven, how will it evolve? backward compat...?
  82. 82. Wow, that sounds too good to be true But you better believe it Downsides? It is not a standard You cannot target the iPhone, Android, Nokia ... etc So far unproven, how will it evolve? backward compat...? Only basic Web integration: Just a Web view
  83. 83. Wow, that sounds too good to be true But you better believe it Downsides? It is not a standard You cannot target the iPhone, Android, Nokia ... etc So far unproven, how will it evolve? backward compat...? Only basic Web integration: Just a Web view Layout / contents with non-fixed layout
  84. 84. WRT+QML Complementing Power A look at use cases for both technologies
  85. 85. Online Widgets with offline abbilities Give the services more control Get layout + contents from a service Make it work offline Personalization Good for widgets, Social integration
  86. 86. Powerful layout Remember Word vs. Pagemaker? CSS + is powerful combination HTML Make a lot of sense for text+images QML has some support for this, but it is not nearly as powerful
  87. 87. Sometimes Web just doesn’t make sense Let’s consider a video player When the app needs raw speed, lots of user interaction, depends on native anyway, etc...
  88. 88. Native and Web working together United we are strong How can we join the technologies
  89. 89. Native and Web working together United we are strong How can we join the technologies Manipulate / show iframes instead of Webpages in QML
  90. 90. Native and Web working together United we are strong How can we join the technologies Manipulate / show iframes instead of Webpages in QML Enable cross iframe communication
  91. 91. Native and Web working together United we are strong How can we join the technologies Manipulate / show iframes instead of Webpages in QML Enable cross iframe communication Less resources
  92. 92. Native and Web working together United we are strong How can we join the technologies Manipulate / show iframes instead of Webpages in QML Enable cross iframe communication Less resources Do a QML list with each item being an iframe or a web element, can it get more hybrid that that? ;-)
  93. 93. Native and Web working together United we are strong How can we join the technologies Manipulate / show iframes instead of Webpages in QML Enable cross iframe communication Less resources Do a QML list with each item being an iframe or a web element, can it get more hybrid that that? ;-) Shared JS runtime, bind QML props to iframe properties
  94. 94. Thanks for listening Understanding the tools, we fill the gaps I hope that I have provided you with some new input and steered up some discussion. KENNETH ROHDE CHRISTIANSEN ext-kenneth.christiansen@nokia.com kenneth.christiansen@openbossa.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×