MATMOBILE AUTHORING TOOLChen, FeiyangWu, Chung-YingLiao, Hung-ShengChung , YuweiLee, Cheng-Ham
Outline Motivation Language Design Ideal Structure Translator architecture Development Environment Test plan & Reflection
MAT is … MAT is a mobile authoring
language for mobile devices.
Imaging …
Now you got MAT … Fast Easy Intuitive
Problems on Mobile Small screen & Limited input device
Drag & Drop is hard Adjust the size of object is hard
Program language Absolute position Object.position =
absolute_position(100,400)
Have no idea where the object is placed!
UI design language Relative position of object Relative size of object
Relativity
Object B.position = @ left of ObjectA.postionObject B .size= ObjectA . size *2
ObjectAObjectB
The structure of MAT Here’s the objects we have:
Monkeys are human’s ancestors. Is it true? I don’t know. You don’t know.He doesn’t know. She doesn’t know.Who knows? Tell me! Tell me! Tell me! Tell me! Tell me! Tell me! Tell me!
One text,
And eight pictures…
Human evolution
Monkeys are human’s ancestors. Is it true? I don’t know. You don’t know.He doesn’t know. She doesn’t know.Who knows? Tell me! Tell e! Tell me! Tell me! Tell me! Tell me! Tell me!
Human evolution
Monkeys are human’s ancestors. Is it true? I don’t know. You don’t know.He doesn’t know. She doesn’t know.Who knows? Tell me! Tell me! Tell me! Tell me! Tell me! Tell me! Tell me!
pic HumanMonkey, evo[7];label topic, intro;
Declaration:
HumanMonkey.position_to = mydoc;HumanMonkey.direction = upper_left;Human.z-axis = 2;
Mydoc = initdoc(mydoc);
doc initdoc(doc document){ document.size = (200, 500); document.default_font_size = 20; document.font_type = "New Times"; document.default_distance = 5; return document;}
topic.content = “Human Evolution”Topic . position_to = HumanMonkey.up_right;
intro.content = text(content.tex);intro . position_to = topic.down;Evo[0].content = pic(0.jpg);Evo[1].content = pic(1.jpg);Evo[2].content = pic(2.jpg);Evo[3].content = pic(3.jpg);Evo[4].content = pic(4.jpg);Evo[5].content = pic(5.jpg);Evo[6].content = pic(6.jpg);
For(i=1; i<7; i++){ Evo[i] @ evo[i-1].right; Evo[i].size = 0.5;}
Evo[0] . position_to(HumanMonkey,topic, intro).down_left;Evo[0].size = 0.5 ;
Topic = 2 * size;
Back End
Front End
TRANSLATOR ARCHITECTURE
MATSource file
Scanner Parser
Relative Position
ToAbsolutePosition
Converter
DigitalContent
tokens
lex yacc
Parser.yScanner.l
ContentDrawer
Intermediate java code
Development Environment and Tools
Lex + Yacc
Eclipse - version 3.5(java) – SDK
Google Docs
Google Code + Subversion
Front End
IDE
Document Share
Version Control
Tools: Usage:
Testing Black box testing
White box testing
Automating unit testing
Extreme Programming
What we learned Cooperation
Job Schedule
Problem Solving
Thank you.