Re: [MeeGo-dev] Regarding "Qt with HTML5 layer" from MeeGo Smart TV WG Meeting Minutes for 9/20/2011
On Mon, Oct 3, 2011 at 12:01 PM, wrote: > Here is the whitepaper: > http://qt.nokia.com/files/pdf/whitepaper-qt-hybrid-server-driven-ui/at_download/file Dilip -- Thanks for the response. I guess I've already read that paper almost a year ago... :-) -rw-r--r-- 1 npm npm 196168 2010-11-04 23:14 /home/npm/Download/Qt_ServerDrivenUIHybrid_Whitepaper.pdf > The critical, and missing, context here is that Qt WebKit hybrid is a way to > build native apps, not apps that run in a browser. Another way to think about > it: Qt WebKit hybrid lets you build an app-specific "web browser" that is > designed to run that particular app Indeed, that is exactly what I'm beginning to explore with Qtzibit ( http://nielsmayer.com/meego/qml/qtzibit.xhtml ). Using it to display and provide faceted browsing of QML datamodels, local data, or internet data. Thus Qtzibit and "mashup" stye browser displays can be used to augment existing means of display using QML -- best of both worlds, using QML as best-tool-for-the-job when it fits, and using HTML5 and a more DOM and CSS based approach when it works best. Since qtzibit and Exhibit are based on their own JSON-based abstract datamodels, it is quite complementary to the way QML works -- they can exchange JSON data much like a webserver/browser exchange HTML. Also, the "server" in this kind of app is "virtual" in that everything runs locally, but you might want to make calls out to other webservices, or the local "virtual" server to get local application or mobility data. With qtzibit, apps that normally run on a website run locally (although the google-map-based ones require an internet connection, the timeline, timeplot, chart, visualizations don't). These can run "standalone" and the associated JavaScript is loaded in from the local filesystem, computed in QML/JavaScript/C++ or transferred from the web or local SQL datastore. Qt/QML can be used to visualize arbitrary datamodels as JSON in QML, and in-turn, this JSON can be rendered via QtWebKit in Exhibit. In many ways, it duplicates or complements the "delegate"-based rendering of datamodels in Qt/QML, but uses Web-based layouts and rendering. Also, it makes sense for there to be a QML "glue layer" between the many Qt-Mobility interfaces that one may want to access in HTML5 via javascript. Finally, it's possible that such a QML "glue layer" architecture between Qt/QtMobility and QtWebKit could also be where the extra layers of security could be placed between the free-for-all world of JavaScript in the browser (cross-site scripting and malicious advertising) and system-level functionality for which this glue layer, plus Qt/QtMobility and QML would act as "middleware." For example, one can envision a kind of self-expiring-one-time-pad-like-crypto-token build into the QML middleware layer so as to ensure that only certain apps, can access certain data for certain amounts of time, etc. Similar technique could be used to secure access to DRM-protected media streams and data, where Qt and QML encapsulate native C++ code to perform secure network access or media decryption. -- Niels http://nielsmayer.com ___ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev http://wiki.meego.com/Mailing_list_guidelines
Re: [MeeGo-dev] Regarding "Qt with HTML5 layer" from MeeGo Smart TV WG Meeting Minutes for 9/20/2011
Neils, Here is the whitepaper: http://qt.nokia.com/files/pdf/whitepaper-qt-hybrid-server-driven-ui/at_download/file The critical, and missing, context here is that Qt WebKit hybrid is a way to build native apps, not apps that run in a browser. Another way to think about it: Qt WebKit hybrid lets you build an app-specific "web browser" that is designed to run that particular app. And another relevant datapoint: the Qt WebKit hybrid design pattern has been used by several companies for building connected TV apps for streaming premium content. e.g. Netflix in North America, and CNTV in China, to name a couple. Hope that answers yours concerns, and thanks for the links to your projects. Best, Dilip On Oct 2, 2011, at 3:50 PM, ext Niels Mayer wrote: > In "MeeGo Smart TV WG Meeting Minutes for 9/20/2011" I noticed: >> o Dilip Kenchammana: Qt with HTML5 layer Dilip has >> provided a white paper via e-mail. Discussion postponed to next meeting. > > Is it possible to get a copy of this whitepaper? I have serious > concerns all-around over the approach being taken, and am curious how > a number of issues are being resolved. Especially w/r/t/ security, and > also because silly breakage needs to be done to very hairy browser > code in order to "poke holes" for video acceleration and/or > DRM-protection. And once that breakage has been perpetrated, a > tidal-wave of bugreports will ensue because the HTML5 standard permits > "canvas" like operations on top of the video; also dynamically > altering the video frame. An extreme example: > http://www.craftymind.com/factory/html5video/CanvasVideo.html > > Especially troubling for the "Tizen" approach, are statements like: > > http://lists.meego.com/pipermail/meego-tv/2011-September/000103.html >> Q: Narm, is there privacy controls to prevent rogue JavaScript from >> accessing private data. >> A: Doninique, not that he's seen. Designed for closed system. >> Access to scripts and code inside the box is limited by physical security. > > . > > FYI, my own "qt and html5" project: http://code.google.com/p/qtzibit/ > http://nielsmayer.com/meego/qml/qtzibit.xhtml > "qtzibit: tiny programs make amazing web mashups using Simile-Widgets > Exhibit, QtWebKit and QML" > ( http://nielsmayer.com/meego/qml/qtzibit_0_1_0.i586.rpm > http://nielsmayer.com/meego/qml/qtzibit_0.1.0_armel.deb ) > > Also, MeeGo/Qt and "TV" related: > http://nielsmayer.com/meego/qml/qmltube.xhtml > ("qmltube: Port/fork of cutetube-qml for Linux, MeeGo Netbook, Tablet > and Harmattan.") > ( http://nielsmayer.com/meego/qml/qmltube_1_11_2.i586.rpm > http://nielsmayer.com/meego/qml/qmltube_1.11.1_armel.deb ) > > PS: Coming soon to a Nokia N9 (validation-willing) near you, my new > app 'voicetogoog': > http://nielsmayer.com/voicetogoog/voicetogoog-map-view.png > http://nielsmayer.com/voicetogoog/voicetogoog-details-view.png > http://nielsmayer.com/voicetogoog/voicetogoog-menu-view.png > http://nielsmayer.com/voicetogoog/voicetogoog-recording-voice.png > > Niels > http://nielsmayer.com ___ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev http://wiki.meego.com/Mailing_list_guidelines
[MeeGo-dev] Regarding "Qt with HTML5 layer" from MeeGo Smart TV WG Meeting Minutes for 9/20/2011
In "MeeGo Smart TV WG Meeting Minutes for 9/20/2011" I noticed: > o Dilip Kenchammana: Qt with HTML5 layer Dilip has > provided a white paper via e-mail. Discussion postponed to next meeting. Is it possible to get a copy of this whitepaper? I have serious concerns all-around over the approach being taken, and am curious how a number of issues are being resolved. Especially w/r/t/ security, and also because silly breakage needs to be done to very hairy browser code in order to "poke holes" for video acceleration and/or DRM-protection. And once that breakage has been perpetrated, a tidal-wave of bugreports will ensue because the HTML5 standard permits "canvas" like operations on top of the video; also dynamically altering the video frame. An extreme example: http://www.craftymind.com/factory/html5video/CanvasVideo.html Especially troubling for the "Tizen" approach, are statements like: http://lists.meego.com/pipermail/meego-tv/2011-September/000103.html > Q: Narm, is there privacy controls to prevent rogue JavaScript from accessing > private data. > A: Doninique, not that he's seen. Designed for closed system. > Access to scripts and code inside the box is limited by physical security. . FYI, my own "qt and html5" project: http://code.google.com/p/qtzibit/ http://nielsmayer.com/meego/qml/qtzibit.xhtml "qtzibit: tiny programs make amazing web mashups using Simile-Widgets Exhibit, QtWebKit and QML" ( http://nielsmayer.com/meego/qml/qtzibit_0_1_0.i586.rpm http://nielsmayer.com/meego/qml/qtzibit_0.1.0_armel.deb ) Also, MeeGo/Qt and "TV" related: http://nielsmayer.com/meego/qml/qmltube.xhtml ("qmltube: Port/fork of cutetube-qml for Linux, MeeGo Netbook, Tablet and Harmattan.") ( http://nielsmayer.com/meego/qml/qmltube_1_11_2.i586.rpm http://nielsmayer.com/meego/qml/qmltube_1.11.1_armel.deb ) PS: Coming soon to a Nokia N9 (validation-willing) near you, my new app 'voicetogoog': http://nielsmayer.com/voicetogoog/voicetogoog-map-view.png http://nielsmayer.com/voicetogoog/voicetogoog-details-view.png http://nielsmayer.com/voicetogoog/voicetogoog-menu-view.png http://nielsmayer.com/voicetogoog/voicetogoog-recording-voice.png Niels http://nielsmayer.com ___ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev http://wiki.meego.com/Mailing_list_guidelines