SlideShare a Scribd company logo
EnglishMash	
  
                    Usability	
  design	
  for	
  a	
  natural	
  mashup	
  
                         composi8on	
  environment	
  


                                       Saeed	
  Aghaee	
  and	
  Cesare	
  Pautasso	
  

                                                   Faculty	
  of	
  Informa8cs	
  
                                                   University	
  of	
  Lugano	
  
                                                       Switzerland	
  



ComposableWeb	
  2012,	
  Berlin,	
  Germany	
  
2	
  
Expressive	
  Power	
     Usability	
  


                                          3	
  
UI	
                      Mashup	
  Engine	
  




Usability	
              Expressive	
  
                           Power	
  

                                                     [A.	
  Morch,	
  1997]	
  
                                                                          4	
  
Mashup	
  Tools	
  Interac8on	
  Techniques	
  

•    Programming	
  by	
  Demonstra8on	
  
•    Form-­‐based	
  Customiza8on	
  
•    Visual	
  Programming	
  Languages	
  
•    What-­‐you-­‐see-­‐is-­‐what-­‐you-­‐get	
  
•    Spreadsheets-­‐based	
  
•    Example	
  Modifica8on	
  
•    Textual	
  Domain	
  Specific	
  Languages	
  

                                                       5	
  
6	
  
7	
  
8	
  
EnglishMash	
  



                  9	
  
EnglishMash:	
  End-­‐users	
  
                                  •  Create	
  feature-­‐rich	
  components	
  
                                     (requested	
  by	
  non	
  programmers)	
  

                                  •  Create	
  complex	
  mashups	
  (requested	
  by	
  
      Programmers	
                  non-­‐programmers)	
  

                                  •  Create	
  mashups	
  that	
  can	
  be	
  
                                     reused	
  by	
  non	
  programmers	
  
                                  •  Help	
  non-­‐programmers	
  
  Pro.	
  non-­‐programmers	
  
                                  •  Reuse	
  exis8ng	
  mashups	
  

                                  •  Modify	
  exis8ng	
  mashups	
  

                                  •  Create	
  simple	
  mashups	
  
     Non-­‐programmers	
  
                                                                                   10	
  
EnglishMash:	
  Interac8on	
  Technique

 (1)	
   UI	
  Design	
  or	
   (2)	
   Component	
  development	
   (3)	
   Back-­‐end	
  development	
  	
  
     redesign	
                          &	
  discovery	
                  &	
  modifica8on	
  




                                                                                                                 11	
  
EnglishMash:	
  Interac8on	
  Technique

 (1)	
   UI	
  Design	
  or	
   (2)	
   Component	
  development	
   (3)	
   Back-­‐end	
  development	
  	
  
      redesign	
                         &	
  discovery	
                  &	
  modifica8on	
  




WYSIWYG	
  	
  +	
  	
  Form-­‐based	
  	
  +	
  	
  ?	
  	
  
 	
   	
   	
   	
   	
   	
   	
   	
  + 	
   	
   	
   	
  	
  	
   	
  	
  
 	
   	
   	
   	
   	
   	
   	
   	
  VL 	
   	
   	
   	
  	
  
                                                                                                                 12	
  
EnglishMash:	
  Interac8on	
  Technique

 (1)	
   UI	
  Design	
  or	
   (2)	
   Component	
  development	
   (3)	
   Back-­‐end	
  development	
  	
  
     redesign	
                          &	
  discovery	
                  &	
  modifica8on	
  




WYSIWYG	
  	
  +	
  	
  Form-­‐based	
  	
  +	
  	
  Natural	
  	
  
 	
   	
   	
   	
   	
   	
   	
   	
  + 	
   	
   	
   	
  	
  	
   	
  Language	
  
 	
   	
   	
   	
   	
   	
   	
   	
  VL 	
   	
   	
   	
  Programming	
  
                                                                                                                 13	
  
Natural	
  Language	
  is	
  ...	
  

•  The	
  main	
  Communica8on	
  means	
  between	
  people	
  
•  Good	
  for	
  storytelling	
  
•  Understandable	
  	
  

But…	
  

•  Vague	
  and	
  ambiguous	
  
•  Long	
  and	
  wordy	
  vs.	
  concise	
  formal	
  nota8ons	
  

                                                                      14	
  
Natural	
  Language	
  Programming	
  



       Structured	
     Informal	
  




                                         15	
  
Natural	
  Language	
  Programming	
  



       Structured	
     Informal	
  




                                         16	
  
EnglishMash:	
  Architecture	
  
 Scanner	
  

     Formal	
  parser	
  +	
  NL	
  Parser	
  

          Seman8c	
  Extrac8on	
  (Control	
  Flow)	
  

               Seman8c	
  Extrac8on	
  (Data	
  Flow)	
  

                    Code	
  Emifer	
  (JOpera)	
  
                                                            17	
  
EnglishMash:	
  Natural	
  Language	
  
Mashup	
  Descrip8on	
  (NLMD)	
  

 “Combine	
  CNN	
  News	
  and	
  BBC	
  News.	
  Show	
  the	
  result	
  on	
  
 the	
  table.”	
  
 	
  	
  




                                                                                18	
  
EnglishMash:	
  Natural	
  Language	
  
Mashup	
  Descrip8on	
  (NLMD)	
  

 “when	
  the	
  map	
  is	
  clicked,	
  do	
  as	
  follows.	
  Search	
  tweets	
  
 around	
  the	
  loca=on,	
  and	
  combine	
  the	
  results	
  with	
  
 BBC	
  Top	
  News.	
  Finally,	
  show	
  the	
  result	
  on	
  the	
  table.”	
  
 	
  	
  




                                                                                         19	
  
EnglishMash:	
  Natural	
  Language	
  
Component	
  Descrip8on	
  (NLCD)	
  

 “when	
                       ,	
  do	
  as	
  follows.	
  
                      ,	
  and	
  
             .	
  Finally                                      .”	
  
 	
  	
  




                                                                        20	
  
EnglishMash:	
  Programing	
  	
  
techniques	
  
•  Loops:	
                             •  Blocks:	
  
   •  While…	
                               •  Do	
  as	
  follows	
  ….	
  
   •  For	
  each	
  …	
  in	
  …	
     	
  

•  Condi8ons:	
  
   •  If	
  ….	
  Otherwise	
  …	
  

•  Events:	
  
     •  When	
  …,…	
  
	
                                                                          21	
  
EnglishMash:	
  Programing	
  	
  
techniques	
  

 “        	
  the	
  map	
  is	
  clicked,	
  do	
  as	
  follows.	
  Search	
  tweets	
  
 around	
  the	
  loca=on,	
  and	
  combine	
  the	
  results	
  with	
  
 BBC	
  Top	
  News.	
                 ,	
  show	
  the	
  result	
  on	
  the	
  table.”	
  
 	
  	
  




                                                                                                22	
  
EnglishMash:	
  Programing	
  	
  
techniques	
  

 “Search	
  tweets	
  for	
  mashup.	
  
                                           ”	
  
 	
  	
  




                                                   23	
  
EnglishMash:	
  Natural	
  Language	
  
Component	
  Descrip8on	
  (NLCD)	
  

 “when	
                       ,	
  do	
  as	
  follows.	
  
                      ,	
  and	
  
             .	
  Finally                                      .”	
  
 	
  	
  




                                                                        24	
  
EnglishMash:	
  Usability	
  Design	
  
                Use	
  case	
  Scenario	
  


                Ac8vity	
  Modeling	
  


                    UI	
  Modeling	
  


                      UI	
  Design	
  



                                              25	
  
EnglishMash:	
  Use	
  case	
  Scenario	
  
                                          Search components



               Component selection   Call for component development


                                          Stack components




                                        Get immediate feedback



                                      Design mashup user interface
                Develop mashup

    NLMD                                  Receive writing aids
    author


                 Publish/deploy          Develop mashup logic




                                                                      26	
  
EnglishMash:	
  UI	
  Ac8vi8es	
  

                                                    publish mashups

                    :publish

                                                               search components




        design mashup UI           edit NLMD                   stack components




                                                                         Widget?
                                                                  Yes
     output : EnglishMash      generate mashup UI


                                                                                   27	
  
EnglishMash:	
  UI	
  Model	
  
                                                EnglishMash



                        Search                                          Stack



      keywords           results                                        stack



          drag       characteristics   search                   drop             remove




                       Text field                                        Output



      writing aids     feedback        NLMD                   publish            output




                                                                                          28	
  
EnglishMash:	
  Main	
  Features	
  
•  Immediate	
  feedback	
  
   •  Live	
  output	
  
   •  Error	
  
•  Auto-­‐comple8on	
  
   •  Data	
  Flow	
  sugges8on	
  
   •  NLCD	
  comple8on	
  
   •  NLCD	
  Sugges8ons	
  
•  Highlight	
  
   •  Data	
  Flow	
  
   •  Tex	
  to	
  Component	
         29	
  
EnglishMash:	
  User	
  Interface	
  




                                        30	
  
EnglishMash:	
  Evalua8on	
  
•  Auto-­‐comple8on	
  helps	
  them:	
  
   •  Learn	
  the	
  language	
  
   •  Effec8vely	
  use	
  the	
  language	
  to	
  implement	
  
          mashups	
  
•  Highlights	
  help	
  them:	
  
   •  not	
  to	
  get	
  lost	
  
But..	
  
•  It’s	
  hard	
  to	
  choose	
  among	
  the	
  NLCD	
  sugges8ons	
  
•  It’s	
  hard	
  to	
  debug	
  a	
  mashup	
  
                                                                     31	
  
EnglishMash:	
  Conclusion	
  
•  Expressive	
  power	
  and	
  usability	
  trade-­‐off	
  	
  
•  NLP	
  is	
  understandable	
  by	
  end	
  users	
  
•  NLP	
  problems	
  can	
  be	
  addressed	
  through:	
  
   •  Auto-­‐comple8on	
  
   •  Text-­‐based	
  visualiza8on	
  




                                                                   32	
  
EnglishMash:	
  Future	
  work	
  
•    Smart	
  in-­‐line	
  component	
  search	
  
•    Smart	
  component	
  and	
  composi8on	
  sugges8on	
  
•    Enable	
  debugging	
  
•    Collabora8ve	
  mashup	
  development	
  
•    Full-­‐featured	
  UI	
  Design	
  toolbox	
  
•    Mul8-­‐UI	
  mashups	
  
•    Mobile	
  mashup	
  development	
  



                                                            33	
  
EnglishMash	
  
                    Usability	
  design	
  for	
  a	
  natural	
  mashup	
  
                         composi8on	
  environment	
  


                                       Saeed	
  Aghaee	
  and	
  Cesare	
  Pautasso	
  

                                                    Faculty	
  of	
  Informa8cs	
  
                                                    University	
  of	
  Lugano	
  
                                                        Switzerland	
  
    	
  Email:	
  saeed.aghaee@usi.ch	
  	
  
    	
  Homepage:	
  hfp://www.saeed-­‐aghaee.info/	
  

ComposableWeb	
  2012,	
  Berlin,	
  Germany	
  

More Related Content

Similar to EnglishMash: usability design for a natural mashup composition environment

Univ of va intentional introduction 2013 01-31
Univ of va intentional introduction 2013 01-31Univ of va intentional introduction 2013 01-31
Univ of va intentional introduction 2013 01-31Magnus Christerson
 
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open ChallengesDynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
bcantrill
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010Rex Tsai
 
Practical Sikuli: using screenshots for GUI automation and testing
Practical Sikuli: using screenshots for GUI automation and testingPractical Sikuli: using screenshots for GUI automation and testing
Practical Sikuli: using screenshots for GUI automation and testing
vgod
 
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
Software Park Thailand
 
[I3 d]04 interactivity
[I3 d]04 interactivity[I3 d]04 interactivity
[I3 d]04 interactivityjylee_kgit
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software Engineering
Sébastien Mosser
 
The Ultimate Deobfuscator - ToorCON San Diego 2008
The Ultimate Deobfuscator - ToorCON San Diego 2008The Ultimate Deobfuscator - ToorCON San Diego 2008
The Ultimate Deobfuscator - ToorCON San Diego 2008Stephan Chenette
 
Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernization
bmerkle
 
[I3 d]03 interactivity
[I3 d]03 interactivity[I3 d]03 interactivity
[I3 d]03 interactivityjylee6977
 
SE1.ppt
SE1.pptSE1.ppt
Ectel nods v2
Ectel nods v2Ectel nods v2
Ectel nods v2nodenot
 
Hire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
Hire a Machine to Code - Michael Arthur Bucko & Aurélien NicolasHire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
Hire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
WithTheBest
 
Sudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdfSudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdf
sudipto801
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
Jacob Kaplan-Moss
 
Single-Window Integrated Development Environment
Single-Window Integrated Development EnvironmentSingle-Window Integrated Development Environment
Single-Window Integrated Development Environment
Ivan Ruchkin
 
Using Technology to Make People More Powerful
Using Technology to Make People More PowerfulUsing Technology to Make People More Powerful
Using Technology to Make People More Powerful
Ian Heron
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a NutshellMichele Lanza
 

Similar to EnglishMash: usability design for a natural mashup composition environment (20)

Univ of va intentional introduction 2013 01-31
Univ of va intentional introduction 2013 01-31Univ of va intentional introduction 2013 01-31
Univ of va intentional introduction 2013 01-31
 
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open ChallengesDynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010
 
Practical Sikuli: using screenshots for GUI automation and testing
Practical Sikuli: using screenshots for GUI automation and testingPractical Sikuli: using screenshots for GUI automation and testing
Practical Sikuli: using screenshots for GUI automation and testing
 
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
Thailand SPIN: Series 3: กุญแจสู่ความสำเร็จในการเขียนโปรแกรมให้ตรงกับความต้อง...
 
[I3 d]04 interactivity
[I3 d]04 interactivity[I3 d]04 interactivity
[I3 d]04 interactivity
 
Software engg lect1
Software engg lect1Software engg lect1
Software engg lect1
 
ASE01.ppt
ASE01.pptASE01.ppt
ASE01.ppt
 
Tools For Software Engineering
Tools For Software EngineeringTools For Software Engineering
Tools For Software Engineering
 
The Ultimate Deobfuscator - ToorCON San Diego 2008
The Ultimate Deobfuscator - ToorCON San Diego 2008The Ultimate Deobfuscator - ToorCON San Diego 2008
The Ultimate Deobfuscator - ToorCON San Diego 2008
 
Software Architecture Erosion and Modernization
Software Architecture Erosion and ModernizationSoftware Architecture Erosion and Modernization
Software Architecture Erosion and Modernization
 
[I3 d]03 interactivity
[I3 d]03 interactivity[I3 d]03 interactivity
[I3 d]03 interactivity
 
SE1.ppt
SE1.pptSE1.ppt
SE1.ppt
 
Ectel nods v2
Ectel nods v2Ectel nods v2
Ectel nods v2
 
Hire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
Hire a Machine to Code - Michael Arthur Bucko & Aurélien NicolasHire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
Hire a Machine to Code - Michael Arthur Bucko & Aurélien Nicolas
 
Sudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdfSudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdf
 
Django in the Real World
Django in the Real WorldDjango in the Real World
Django in the Real World
 
Single-Window Integrated Development Environment
Single-Window Integrated Development EnvironmentSingle-Window Integrated Development Environment
Single-Window Integrated Development Environment
 
Using Technology to Make People More Powerful
Using Technology to Make People More PowerfulUsing Technology to Make People More Powerful
Using Technology to Make People More Powerful
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a Nutshell
 

Recently uploaded

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

EnglishMash: usability design for a natural mashup composition environment

  • 1. EnglishMash   Usability  design  for  a  natural  mashup   composi8on  environment   Saeed  Aghaee  and  Cesare  Pautasso   Faculty  of  Informa8cs   University  of  Lugano   Switzerland   ComposableWeb  2012,  Berlin,  Germany  
  • 3. Expressive  Power   Usability   3  
  • 4. UI   Mashup  Engine   Usability   Expressive   Power   [A.  Morch,  1997]   4  
  • 5. Mashup  Tools  Interac8on  Techniques   •  Programming  by  Demonstra8on   •  Form-­‐based  Customiza8on   •  Visual  Programming  Languages   •  What-­‐you-­‐see-­‐is-­‐what-­‐you-­‐get   •  Spreadsheets-­‐based   •  Example  Modifica8on   •  Textual  Domain  Specific  Languages   5  
  • 10. EnglishMash:  End-­‐users   •  Create  feature-­‐rich  components   (requested  by  non  programmers)   •  Create  complex  mashups  (requested  by   Programmers   non-­‐programmers)   •  Create  mashups  that  can  be   reused  by  non  programmers   •  Help  non-­‐programmers   Pro.  non-­‐programmers   •  Reuse  exis8ng  mashups   •  Modify  exis8ng  mashups   •  Create  simple  mashups   Non-­‐programmers   10  
  • 11. EnglishMash:  Interac8on  Technique (1)   UI  Design  or   (2)   Component  development   (3)   Back-­‐end  development     redesign   &  discovery   &  modifica8on   11  
  • 12. EnglishMash:  Interac8on  Technique (1)   UI  Design  or   (2)   Component  development   (3)   Back-­‐end  development     redesign   &  discovery   &  modifica8on   WYSIWYG    +    Form-­‐based    +    ?                    +                                VL           12  
  • 13. EnglishMash:  Interac8on  Technique (1)   UI  Design  or   (2)   Component  development   (3)   Back-­‐end  development     redesign   &  discovery   &  modifica8on   WYSIWYG    +    Form-­‐based    +    Natural                    +              Language                  VL        Programming   13  
  • 14. Natural  Language  is  ...   •  The  main  Communica8on  means  between  people   •  Good  for  storytelling   •  Understandable     But…   •  Vague  and  ambiguous   •  Long  and  wordy  vs.  concise  formal  nota8ons   14  
  • 15. Natural  Language  Programming   Structured   Informal   15  
  • 16. Natural  Language  Programming   Structured   Informal   16  
  • 17. EnglishMash:  Architecture   Scanner   Formal  parser  +  NL  Parser   Seman8c  Extrac8on  (Control  Flow)   Seman8c  Extrac8on  (Data  Flow)   Code  Emifer  (JOpera)   17  
  • 18. EnglishMash:  Natural  Language   Mashup  Descrip8on  (NLMD)   “Combine  CNN  News  and  BBC  News.  Show  the  result  on   the  table.”       18  
  • 19. EnglishMash:  Natural  Language   Mashup  Descrip8on  (NLMD)   “when  the  map  is  clicked,  do  as  follows.  Search  tweets   around  the  loca=on,  and  combine  the  results  with   BBC  Top  News.  Finally,  show  the  result  on  the  table.”       19  
  • 20. EnglishMash:  Natural  Language   Component  Descrip8on  (NLCD)   “when   ,  do  as  follows.   ,  and   .  Finally .”       20  
  • 21. EnglishMash:  Programing     techniques   •  Loops:   •  Blocks:   •  While…   •  Do  as  follows  ….   •  For  each  …  in  …     •  Condi8ons:   •  If  ….  Otherwise  …   •  Events:   •  When  …,…     21  
  • 22. EnglishMash:  Programing     techniques   “  the  map  is  clicked,  do  as  follows.  Search  tweets   around  the  loca=on,  and  combine  the  results  with   BBC  Top  News.   ,  show  the  result  on  the  table.”       22  
  • 23. EnglishMash:  Programing     techniques   “Search  tweets  for  mashup.   ”       23  
  • 24. EnglishMash:  Natural  Language   Component  Descrip8on  (NLCD)   “when   ,  do  as  follows.   ,  and   .  Finally .”       24  
  • 25. EnglishMash:  Usability  Design   Use  case  Scenario   Ac8vity  Modeling   UI  Modeling   UI  Design   25  
  • 26. EnglishMash:  Use  case  Scenario   Search components Component selection Call for component development Stack components Get immediate feedback Design mashup user interface Develop mashup NLMD Receive writing aids author Publish/deploy Develop mashup logic 26  
  • 27. EnglishMash:  UI  Ac8vi8es   publish mashups :publish search components design mashup UI edit NLMD stack components Widget? Yes output : EnglishMash generate mashup UI 27  
  • 28. EnglishMash:  UI  Model   EnglishMash Search Stack keywords results stack drag characteristics search drop remove Text field Output writing aids feedback NLMD publish output 28  
  • 29. EnglishMash:  Main  Features   •  Immediate  feedback   •  Live  output   •  Error   •  Auto-­‐comple8on   •  Data  Flow  sugges8on   •  NLCD  comple8on   •  NLCD  Sugges8ons   •  Highlight   •  Data  Flow   •  Tex  to  Component   29  
  • 31. EnglishMash:  Evalua8on   •  Auto-­‐comple8on  helps  them:   •  Learn  the  language   •  Effec8vely  use  the  language  to  implement   mashups   •  Highlights  help  them:   •  not  to  get  lost   But..   •  It’s  hard  to  choose  among  the  NLCD  sugges8ons   •  It’s  hard  to  debug  a  mashup   31  
  • 32. EnglishMash:  Conclusion   •  Expressive  power  and  usability  trade-­‐off     •  NLP  is  understandable  by  end  users   •  NLP  problems  can  be  addressed  through:   •  Auto-­‐comple8on   •  Text-­‐based  visualiza8on   32  
  • 33. EnglishMash:  Future  work   •  Smart  in-­‐line  component  search   •  Smart  component  and  composi8on  sugges8on   •  Enable  debugging   •  Collabora8ve  mashup  development   •  Full-­‐featured  UI  Design  toolbox   •  Mul8-­‐UI  mashups   •  Mobile  mashup  development   33  
  • 34. EnglishMash   Usability  design  for  a  natural  mashup   composi8on  environment   Saeed  Aghaee  and  Cesare  Pautasso   Faculty  of  Informa8cs   University  of  Lugano   Switzerland    Email:  saeed.aghaee@usi.ch      Homepage:  hfp://www.saeed-­‐aghaee.info/   ComposableWeb  2012,  Berlin,  Germany