Microsoft MakeCode KAMEN
Programmable Augmented Reality
Experience Design Web Development
Cornell CIS &
Aug - Dec 2017
My Journey with MSR MakeCode Team
During this semester-long project, we worked in a group of three, lead by Tom Ball and Jonathan Peli de Halleux from MakeCode Team to build this application.
The project is presented during Cornell MPS 2017 Fall Project Showcase & Cornell 2018 Engineering Project Showcase. The project is being published in Microsoft MakeCode Labs. It can be accessed here.
Goal: Effortless AR Coding Environment
AR apps such as SNOW, Snapchat, and the newly released Apple Animoji are very popular amongst people. With such an trend in AR technology, Microsoft Research want to promote the idea of programming with AR technology on its MakeCode platform. We then launch the project with three high level goals:
People with few programming experience can enjoy building AR application
It stimulates people's interests in programming
It improves people's skills in programming
Microsoft MakeCode is a free, open source platform for creating engaging computer science learning experiences that support a progression path into real-world programming. The vision is to "Combine the magic of making with the power of code across a variety of different products".
Microsoft MakeCode is designed for educational use mainly, the major user of the platform would be people with very few, or even none programming experiences. We would be encounter users from people who just get started learning programming by their own. However, they want to use the code to create something.
Check out the case study of Lufkin Independent School.
As the AR development community continues to thrive, there are many great projects that allow people to build AR applications without starting from scratch. However, for beginners, building such an AR app can still be very difficult:
"What makes an enjoyable AR programming experience?"
To answer this question, we must thinking from a user's perspective.
2. Overly-complicated function blocks: How might we reduce the confusion in understand the usage of each function blocks?
3. No fun in learning: How might we induce people's interests in AR programming?
The name "KAMEN" comes from the Japanese word 仮面 (reads kamen), which stands for facial masks. The word is usually used with super heroes who always wear masks when bringing people justice. We hope our users could build their own KAMEN hero within our application.
The effortless way of Programming
Aside from that. Visual blocks also give a better view of the flow of the program. Thus, it is easy to interpret the purpose of the code even for non-programmers.
"Make me Ironman！" - Here you go
The users can explore the full function of augmented reality in an drag-and-drop. By dragging the function block into the code playground, they can see feedback from the webcam instantly.
Advanced Features for Advanced Users