touchdevelop
outlook
ongoing research
Disclaimer: This document is provided “as-is”. Information and views expressed in this document, including URL and other Internet
Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights
to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. ©
2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and Windows Live are trademarks of the Microsoft group of
companies. All other trademarks are property of their respective owners.
advanced topics in touchdevelop
active research
project
o
5 researchers
•
•
•
•
•
o
Nikolai Tillmann
Michał Moskal
Peli de Halleux
Manuel Fahndrich
Sebastian Burckhardt
in 2011:
•
•
2 PhD interns
2 highschool interns
advanced topics in touchdevelop
cloud state
o
When distributed clients query or update shared data, eventual
consistency can provide better availability than strong consistency
models. However, programming and implementing such systems
can be difficult unless we establish a reasonable consistency model,
i.e. some minimal guarantees that programmers can understand and
systems can provide effectively.
To this end, we propose a novel consistency model based on
eventually consistent transactions.
✿ http://research.microsoft.com/apps/pubs/default.aspx?id=155638
Eventually Consistent Transactions
Sebastian Burckhardt, Manuel Fahndrich, Daan Leijen, and Mooly
Sagiv
advanced topics in touchdevelop
cloud plugins
o
o
callbacks from touchdevelop.com
•
to your webservice
•
register your own URL to receive notifications
about new publications
plugins (meta apps) – integrate in app
•
your webservice annotates AST
•
your webservice generate traces (test cases)
advanced topics in touchdevelop
splitting
execution
some event handlers don’t depend on
o
phone state
•
o
“when MSFT stock price > 30, then …”
automatically split code
•
some parts execute on phone
•
other parts in cloud
advanced topics in touchdevelop
program your
house
o
o
imagine all of your devices are connected to
your WiFi
•
your TV
•
your fridge (temperature, inventory)
•
your wine cellar (temperature, inventory)
•
your barbecue (temperature, inventory)
•
your sprinkler system in the garden
your scripts access everything
advanced topics in touchdevelop
debugging
o
how to debug code
on a touchscreen?
advanced topics in touchdevelop
custom UI
o
how to design a touchscreen UIs
on a touchscreen?
advanced topics in touchdevelop