nu-droid - columbia university · 2010-04-29 · nu-droid "what, why, and how?" nu-droid...
TRANSCRIPT
![Page 1: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/1.jpg)
Nu-Droid
Laima Tazmin Dong Ouk Moon
Injung KimStuart Partin
Michael Lo
(Project Manager) (Language Guru) (System Architect)(System Integrator)(Tester and Validator)
![Page 2: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/2.jpg)
Nu-Droid"What, Why, and How?"
Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using syntax similar to web-development and natural English language syntax.
"For the months from December through February show that Android-based smartphones gained 5.2 percentage points" Comscore, April 2010"Android Market clears the 50,000 app mark" Engadget, April 2010
![Page 3: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/3.jpg)
Mobile Application Development"The Current Scene"
200,000+ applications for mobile phones alreadyGoogle Android OS: Java+Android LibrariesApple iPhone SDK: Objective-CMicrosoft Windows Phone: .NET Framework
Lots of Competition
![Page 4: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/4.jpg)
What about the Web?"HTML, CSS, and Markup Languages"
Websites:A lot of contentFunctionality
Mobile browsers:Small screen spaceLack of support
![Page 5: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/5.jpg)
The Goal"The Nu-Droid Solution"
Web site = Mobile application
![Page 6: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/6.jpg)
The Goal"The Nu-Droid Solution"
Web site = Mobile application
For the DevelopersEasy to develop in without a strong software development backgroundEasy transition from HTML to Nu-Droid
For the End-UserAn organized page layoutContent that is easy to navigate
![Page 7: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/7.jpg)
Program Flow
![Page 8: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/8.jpg)
Here's an Example"Putting Things into Perspective"
"Hello, World"
![Page 9: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/9.jpg)
Here's an Example"Putting Things into Perspective"
"Fashion Blog"
![Page 10: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/10.jpg)
Syntactic Constructs"Versus"
Can your son make Android applications?
FeatureUsing Java for main language Well-Organized API from Google String Sets for Multi-language Based on XML for Layout
Feature Provide optimized codeProvide Super fast coding Save time to make skeleton code
Light UserHard to understand code Bad Code Readability Java = ^%#@wtf*Good != Easy
Light UserEasy to understad codeGood Code Readability Very Well-Organized ReferenceEverything is Easy
Nu-droidAndroid
![Page 11: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/11.jpg)
Syntactic Constructs"Run-of-the-mill"
![Page 12: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/12.jpg)
Syntactic Constructs"Logic and expressions"
![Page 13: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/13.jpg)
Architecture
![Page 14: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/14.jpg)
Architecture
![Page 15: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/15.jpg)
Mac/Windows environmentByacc/JFlexEclipse/Google Code (SVN)Java 6Android SDK
Development Tools
![Page 16: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/16.jpg)
Test Plan"Black-Box Testing"
Black Box testingConstructed Nu-Droid Test Cases
Valid CasesInvalid Cases
Referenced the Language Reference Manual a lotTested old cases after implementing new features
![Page 17: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/17.jpg)
Nu-Droid Test File"Here's an Example"
![Page 18: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/18.jpg)
Lessons"What We Learned"
What we learnedMaking a programming language is hardMaking a complex programming language, simple, is even harder.
![Page 19: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/19.jpg)
Lessons"What We Learned"
What we learnedMaking a programming language is hardMaking a complex programming language, simple, is even harder.
What workedKeeping Minutes for each meetingLive Document Collaboration (Google Docs)Google Code + SVNDivision of Labor & Collaboration
![Page 20: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/20.jpg)
Lessons"What We Learned"
What we learnedMaking a programming language is hardMaking a complex programming language, simple, is even harder.
What workedKeeping Minutes for each meetingLive Document Collaboration (Google Docs)Google Code + SVNDivision of Labor & Collaboration
What we would do differently:Start EarlierAgree on each person's roles earlierAgree on the scope of the language earlier
![Page 21: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/21.jpg)
and why you should use
<NuDroid>Easy to LearnEasy to UnderstandSimilar to other Markup LanguagesAbility to create mobile applications (a quickly growing 200,000+ application space)
![Page 22: Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid \noo-droid\ noun : A programming language used to create Android mobile applications using](https://reader035.vdocuments.site/reader035/viewer/2022062311/5f024e617e708231d4039d22/html5/thumbnails/22.jpg)
</NuDroid> Does.
Thanks!