惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
Recent Announcements
Recent Announcements
D
DataBreaches.Net
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
B
Blog
U
Unit 42
有赞技术团队
有赞技术团队
博客园 - 聂微东
GbyAI
GbyAI
宝玉的分享
宝玉的分享
F
Full Disclosure
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MyScale Blog
MyScale Blog
Jina AI
Jina AI
Martin Fowler
Martin Fowler
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Docker
P
Proofpoint News Feed
A
About on SuperTechFans
I
InfoQ
博客园 - 【当耐特】
C
Check Point Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
Y
Y Combinator Blog
Project Zero
Project Zero
WordPress大学
WordPress大学
小众软件
小众软件
AWS News Blog
AWS News Blog
博客园 - 司徒正美
T
The Exploit Database - CXSecurity.com
L
LINUX DO - 热门话题
I
Intezer
Engineering at Meta
Engineering at Meta
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks
T
Tenable Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
C
CERT Recently Published Vulnerability Notes

Henri Sivonen’s pages

Parin vuoden tutkimattomuus crates.io: Rust Package Registry Asiakirjatonta toimintaa It’s not wrong that "🤦🏼‍♂️".length == 7 Koulutartuntojen tilastointimenettely Perusteasiakirjoja hallussapitämättä ikärajoitettu Asiantuntijat ja nukkuva vallan vahtikoira Koronapassilausunto Suppealla tietopohjalla ohimeneväksi väitetty Text Encoding Menu in 2021 The Text Encoding Submenu Is Gone An HTML5 Conformance Checker Not Part of the Technology Stack Browser Technology Stack Bogo-XML Declaration Returns to Gecko A Look at Encoding Detection and Encoding Menu Telemetry from Firefox 86 Why Supporting Unlabeled UTF-8 in HTML on the Web Would Be Problematic Rust Target Names Aren’t Passed to LLVM Toimintamalli Activating Browser Modes with Doctype Johtopäätöksiä mallin rakenteesta Tehtävänmäärittelyä kirjoittamatta ja kuolemia laskematta laumasuojamallinnettu Character Encoding Menu in 2014 Erillissuosituksen tarpeettomuudesta yleissuosituksen poikkeukseksi? STM:n maskiaikajana Rust 2021 Oma-aloitteisesti mallinnettu Kokopinovaatimuksin kilpailutettu chardetng: A More Compact Character Encoding Detector for the Legacy Web Varauksia paisutellen tiedotettu Perusteasiakirjoitta tiedotettu Always Use UTF-8 & Always Label Your HTML Saying So IME Smoke Testing The Validator.nu HTML Parser About the Hiragino Fonts with CSS It’s Time to Stop Adding New Features for Non-Unicode Execution Encodings in C++ Rust 2020 The Last of the Parsing Quirks About about:blank Rust 2019 a Web-Compatible Character Encoding Library in Rust How I Wrote a Modern C++ Library in Rust Using cargo-fuzz to Transfer Code Review of Simple Safe Code to Complex Code that Uses unsafe A Rust Crate that Also Quacks Like a Modern C++ Library #Rust2018 No Namespaces in JSON, Please A Lecture about HTML5 Julkisesti luotettu varmenne ikidomainille TLS:ää (SSL:ää) varten -webkit-HTML5 Lists in Attribute Values The Sad Story of PNG Gamma “Correction” If You Want Software Freedom on Phones, You Should Work on Firefox OS, Custom Hardware and Web App Self-Hostablility HTML5 Parser Improvements ARIA in HTML5 Integration: Document Conformance (Draft, Take Two) Schema.org and Pre-Existing Communities Lowering memory requirements by replacing Schematron HTML5 Parsing in Gecko: A Build Introducing SAX Tree NVDL Support in Validator.nu HOWTO Avoid Being Called a Bozo When Producing XML An Unofficial Q&A about the Discontinuation of the XHTML2 WG Thoughts on HTML5 Becoming a W3C Recommendation Four Finnish Banks Training Users to Give Banking Credentials to Another Site Unimpressed by Leopard Sergeant Semantics The Content Sink Inheritance Diagram – 2006-06-30 What is EME? About Points and Pixels as Units The Performance Cost of the HTML Tree Builder Social Media Impression Management The spacer Element Is Gone Openmind 2006 Performance Mistake XHTML and Mobile Devices WebM-Enabled Browser Usage Share Exceeds H.264-Enabled Browser Usage Share on Desktop (in StatCounter Numbers) HTML5 Parser-Based View Source Syntax Highlighting Vendor Prefixes Are Hurting the Web Accept-Charset Is No More Dualroids Writing Structural Stylable Document in Mozilla Editor ISO-8859-15 on haitallinen Hourglass The Scientific Method According to Hixie Maemo Source Code Karpelan lukkovertaus ontuu Digitaalisesta arkistoinnista ARIA in HTML5 Integration: Document Conformance (Draft) XHTML—What’s the Point? (Draft, incomplete) Mac OS X Browser Comparison HOWTO Spot a Wannabe Web Standards Advocate An Idea About Intermediate Language Trees and Web UI Generation Thoughts on Using SSL/TLS Certificates as the Solution to Phishing Bureaucracy Meets the Web Europe Day HOWTO Establish a 100% Literacy Rate What to Do with All These Photos? Charmod Norm Checking Validator Web Service Interface Ideas DTDs Don’t Work on the Web EFFI’s Day in Court
Thesis Defense on XForms
Henri Sivonen · 2011-12-22 · via Henri Sivonen’s pages

On Friday 2007-01-12, I went to listen to the thesis defense of Mikko Honkala. The title of his doctoral thesis is Web user interaction – a declarative approach based on XForms. The opponents were Jean Vanderdonckt and Dave Raggett. The custos was Petri Vuorimaa.

Here are some notes that I scribbled down. I got the heads up about the thesis defense 40 minutes before showtime, so I haven’t read the thesis, yet.

  • First, there was a presentation by Honkala.

    • Flexible UIs: automatically adaptable to different presentations modes.

    • Work done between 2001 and 2006.

    • Use cases for voice: while driving, cell phones. (In particular, blind users were not mentioned at all, which was different from the usual discourse related to voice UIs.)

    • Google Docs & Spreadsheets and Google Video shown as examples of Web apps. (These are not XForms apps, BTW.)

    • Use case: You need the calendar in the car while driving. Google Calendar doesn’t speak to you while you drive.

    • A new richer solution needs to preserve the good sides of the Web.

    • An extremely simple (two input fields multiplied to an output field) code example was shown in XForms, Swing and “AJAX”. The “AJAX” example was more precisely Web Forms 1.0 and JavaScript. The XForms example was the shortest, but I’m pretty sure that a Web Forms 2.0 plus JavaScript implementation without a Web Forms 1.0 fallback (XForms doesn’t fall back to Web Forms 1.0, either) would have been even shorter.

    • The three main benefits of XForms were identified (at least these are what I distilled from the presentation):

      • The model is comprehensible to non-programmers.

      • A voice UI can be produced by the browser from the model.

      • Visual development tools of the future will be able to use XForms as their native format, so there will be interop on the form development tool side in the sense that one user can use one tool to edit an UI and another user can use another tool to edit the same form.

    • The thesis work included extensions to XForms (mainly to integrate it with other languages).

    • XBL used to encapsulate presentation mode/media-specific widget implementations.

    • This stuff is implementable. Proof by demonstration: X-Smiles.

    • Not suitable for particularly complex UIs like games.

  • Then there was the actual defense part. “H:”, “V:” and “R:” denote points attributed to Honkala, Vanderdonckt and Raggett, respectively. The points are not exact quotes and I hope I haven’t misrepresented anything. My notes are not comprehensive. I wrote down stuff selectively based on what I found interesting.

    • V: Honkala has presented his work at a conference (I forgot which) three years in a row. Impressive.

    • R: X-Smiles used the style attribute. What are the challenges posed by Selectors? H: The style attribute was used to get started in a standard-based way when a CSS engine was missing. There is a CSS engine in X-Smiles now.

    • H: The engine is like a spreadsheet engine. Algorithm by Knuth. Used in the first spreadsheet app.

    • H: Author-provided hints needed for speech presentation of repeating structures.

    • R: Scripting is said to be more expensive for developers. Is there quantitative evidence? H: This is not a computer science issue. It is in the field of usability and psychology. The declarative way may be more difficult for programmers, since programmers are used to thinking in procedural or object-oriented ways. There is place for both declarative and procedural ways. Even hybrids.

    • H: There’s Google Web Toolkit for hard-core programmers.

    • R: Are there studies about the need of scripting? H: Not aware. Blogs provide instantaneous personal research that is not real research.

    • R: What will it take to make people switch from HTML to XForms? H: Might not even happen. XForms where multimodality is needed. New technology needs to be many times more efficient than the existing technology. This is not the case for programmers with XForms.

    • R: (Something about XBL and device independence.) H: XBL brings back the control over details to the raised abstraction. (You lose detail when you raise the level of abstraction.)

    • V: Modeling takes more effort than just doing. Benefits? H: Have to model anyway. Benefit: tools. Hard to enforce. People only believe by trying and finding it useful.

    • V: Form-oriented only? H: Need scope. A general declarative system that is not scoped is a programming language in XML tags. V: What if your app is not form-oriented?

    • H: The visual mode is the master. No support for composite multimodality in X-Smiles. There is support for aural CSS.

    • R: Separation of content and style? H: Believes in the separation. R: Separate common content and modality-specific content.

    • V: XForms vs. XHTML+Voice? H: XForms: write once, X+V: detailed.

    • H: Integration of declarative and procedural gets ugly at the integration point. Does not believe in a 100% declarative future.

    • R: “Host” and “parasite” not nice terminology for compound documents. “Embedded” better than “parasite”. H: Seemed brilliant in 2002.

    • H: SMIL kind of died due to lack of an integration point with the Web.

    • H: Don’t do everything in XML.

    • H: Difficult to validate research findings.

What interests me the most is how well the “write once” promise works and how much modality-specific CSS and XBL is needed in practice. Also, an obvious question that comes to mind is: “What does this mean for Web Forms 2.0?” It would be interesting to hear about experience of implementing a voice client for Web Forms 2.0. However, as far as I know, this has not been tried, yet. Like X-Smiles, Web Forms 2.0 user agents are also expected to support CSS and, eventually, XBL. The question becomes: Is UI engine access to a declarative data model essential for multimodality?