SlideShare ist ein Scribd-Unternehmen logo
1 von 11
ash: a shell for multiple devices
SeongJae Park / Seoul National University
sjpark@dcslab.snu.ac.kr
Multiple Devices and Multiple
Interfaces
As Useful, New Device Invented,
People Suffer Unfamiliar Interface of New
Devices
Critical For Accessibility
ash: Use Preferred One Interface For
Multiple Devices Control
Android
Ubuntu
OSX
Windows 8
Control any
devices via any
device(even self)
ash: Architecture
Evaluator
User interface
Device controllerData manager
Text format command
Network
Keyboard
/ Mouse
Touchscreen
Control
Any medium
Control Path Between Ash Systems
Evaluator
User Interface
Device controller
Evaluator
User Interface
Device controller
Network
From ash on
device A,
Control device B which ash
installed.
Any Interface, Module Can Be
Imported
ash application
by 3rd party
Evaluator
User Interface
Device controller
Language: Everything Is A List
ash is a shell
Evaluator
ash is a shell
ash is [a sh]ell
Evaluator
ash is a sh ell
Language: Plain List Or Function
Call
ash is a shell
Evaluator
ash is a shell
touch DOWN 300 500
Evaluator
touch DOWN 300 300
Registered
Function name
Language: Code Is A List
ash$ add_callback [default alias click] [ 
[touch DOWN [arg 1] [arg 2]] 
[touch UP [arg 1] [arg 2]] 
]
About Project
Project Homepage
http://sjp38.github.io/ash/
Article at Google Developer Blog:
http://googledevkr.blogspot.
kr/2012/12/ghackfair-winners-ash.html
This work by SeongJae Park is licensed under the
Creative Commons Attribution-ShareAlike 3.0 Unported
License. To view a copy of this license, visit http:
//creativecommons.org/licenses/by-sa/3.0/.

Weitere ähnliche Inhalte

Ähnlich wie ash

operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdfoperatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
AdityaYadav789154
 
The purpose of operating systems
The purpose of operating systemsThe purpose of operating systems
The purpose of operating systems
93DragonNinja
 
Linux introductory-course-day-1
Linux introductory-course-day-1Linux introductory-course-day-1
Linux introductory-course-day-1
Julio Pulido
 
16. Computer Systems Basic Software 2
16. Computer Systems   Basic Software 216. Computer Systems   Basic Software 2
16. Computer Systems Basic Software 2
New Era University
 

Ähnlich wie ash (20)

Operating Systems Network, Communication, OSI
Operating Systems Network, Communication, OSIOperating Systems Network, Communication, OSI
Operating Systems Network, Communication, OSI
 
Ict lecture9 10
Ict lecture9 10 Ict lecture9 10
Ict lecture9 10
 
Red hat linux essentials
Red hat linux essentialsRed hat linux essentials
Red hat linux essentials
 
Operatimg system basics
Operatimg system basicsOperatimg system basics
Operatimg system basics
 
Operatimg system basics
Operatimg system basicsOperatimg system basics
Operatimg system basics
 
Operating system presentation
Operating system presentationOperating system presentation
Operating system presentation
 
operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdfoperatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
operatingsystemoverviewconceptsppt-121210232317-phpapp02-160406113917.pdf
 
Intro Ch 07 A
Intro Ch 07 AIntro Ch 07 A
Intro Ch 07 A
 
intro unix/linux 02
intro unix/linux 02intro unix/linux 02
intro unix/linux 02
 
intro unix/linux 03
intro unix/linux 03intro unix/linux 03
intro unix/linux 03
 
Operating system
Operating systemOperating system
Operating system
 
software-tools-part-1.ppt
software-tools-part-1.pptsoftware-tools-part-1.ppt
software-tools-part-1.ppt
 
Shell-Scripting-1.pdf
Shell-Scripting-1.pdfShell-Scripting-1.pdf
Shell-Scripting-1.pdf
 
Introduction to Operating system
Introduction to Operating system Introduction to Operating system
Introduction to Operating system
 
Operating System.pptxjkkjhkjknknknknknknknk
Operating System.pptxjkkjhkjknknknknknknknkOperating System.pptxjkkjhkjknknknknknknknk
Operating System.pptxjkkjhkjknknknknknknknk
 
Linux programming - Getting self started
Linux programming - Getting self started Linux programming - Getting self started
Linux programming - Getting self started
 
The purpose of operating systems
The purpose of operating systemsThe purpose of operating systems
The purpose of operating systems
 
Linux introductory-course-day-1
Linux introductory-course-day-1Linux introductory-course-day-1
Linux introductory-course-day-1
 
Unix - An Introduction
Unix - An IntroductionUnix - An Introduction
Unix - An Introduction
 
16. Computer Systems Basic Software 2
16. Computer Systems   Basic Software 216. Computer Systems   Basic Software 2
16. Computer Systems Basic Software 2
 

Mehr von SeongJae Park

Deep dark side of git - prologue
Deep dark side of git - prologueDeep dark side of git - prologue
Deep dark side of git - prologue
SeongJae Park
 

Mehr von SeongJae Park (20)

Biscuit: an operating system written in go
Biscuit:  an operating system written in goBiscuit:  an operating system written in go
Biscuit: an operating system written in go
 
GCMA: Guaranteed Contiguous Memory Allocator
GCMA: Guaranteed Contiguous Memory AllocatorGCMA: Guaranteed Contiguous Memory Allocator
GCMA: Guaranteed Contiguous Memory Allocator
 
Linux Kernel Memory Model
Linux Kernel Memory ModelLinux Kernel Memory Model
Linux Kernel Memory Model
 
An Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux KernelAn Introduction to the Formalised Memory Model for Linux Kernel
An Introduction to the Formalised Memory Model for Linux Kernel
 
Design choices of golang for high scalability
Design choices of golang for high scalabilityDesign choices of golang for high scalability
Design choices of golang for high scalability
 
Brief introduction to kselftest
Brief introduction to kselftestBrief introduction to kselftest
Brief introduction to kselftest
 
Understanding of linux kernel memory model
Understanding of linux kernel memory modelUnderstanding of linux kernel memory model
Understanding of linux kernel memory model
 
Let the contribution begin (EST futures)
Let the contribution begin  (EST futures)Let the contribution begin  (EST futures)
Let the contribution begin (EST futures)
 
Porting golang development environment developed with golang
Porting golang development environment developed with golangPorting golang development environment developed with golang
Porting golang development environment developed with golang
 
gcma: guaranteed contiguous memory allocator
gcma:  guaranteed contiguous memory allocatorgcma:  guaranteed contiguous memory allocator
gcma: guaranteed contiguous memory allocator
 
An introduction to_golang.avi
An introduction to_golang.aviAn introduction to_golang.avi
An introduction to_golang.avi
 
Develop Android/iOS app using golang
Develop Android/iOS app using golangDevelop Android/iOS app using golang
Develop Android/iOS app using golang
 
Develop Android app using Golang
Develop Android app using GolangDevelop Android app using Golang
Develop Android app using Golang
 
Sw install with_without_docker
Sw install with_without_dockerSw install with_without_docker
Sw install with_without_docker
 
Git inter-snapshot public
Git  inter-snapshot publicGit  inter-snapshot public
Git inter-snapshot public
 
(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi
 
Deep dark-side of git: How git works internally
Deep dark-side of git: How git works internallyDeep dark-side of git: How git works internally
Deep dark-side of git: How git works internally
 
Deep dark side of git - prologue
Deep dark side of git - prologueDeep dark side of git - prologue
Deep dark side of git - prologue
 
DO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCSDO YOU WANT TO USE A VCS
DO YOU WANT TO USE A VCS
 
Experimental android hacking using reflection
Experimental android hacking using reflectionExperimental android hacking using reflection
Experimental android hacking using reflection
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

ash

  • 1. ash: a shell for multiple devices SeongJae Park / Seoul National University sjpark@dcslab.snu.ac.kr
  • 2. Multiple Devices and Multiple Interfaces As Useful, New Device Invented, People Suffer Unfamiliar Interface of New Devices Critical For Accessibility
  • 3. ash: Use Preferred One Interface For Multiple Devices Control Android Ubuntu OSX Windows 8 Control any devices via any device(even self)
  • 4. ash: Architecture Evaluator User interface Device controllerData manager Text format command Network Keyboard / Mouse Touchscreen Control Any medium
  • 5. Control Path Between Ash Systems Evaluator User Interface Device controller Evaluator User Interface Device controller Network From ash on device A, Control device B which ash installed.
  • 6. Any Interface, Module Can Be Imported ash application by 3rd party Evaluator User Interface Device controller
  • 7. Language: Everything Is A List ash is a shell Evaluator ash is a shell ash is [a sh]ell Evaluator ash is a sh ell
  • 8. Language: Plain List Or Function Call ash is a shell Evaluator ash is a shell touch DOWN 300 500 Evaluator touch DOWN 300 300 Registered Function name
  • 9. Language: Code Is A List ash$ add_callback [default alias click] [ [touch DOWN [arg 1] [arg 2]] [touch UP [arg 1] [arg 2]] ]
  • 10. About Project Project Homepage http://sjp38.github.io/ash/ Article at Google Developer Blog: http://googledevkr.blogspot. kr/2012/12/ghackfair-winners-ash.html
  • 11. This work by SeongJae Park is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http: //creativecommons.org/licenses/by-sa/3.0/.