Nu-Droid
Laima Tazmin Dong Ouk Moon
Injung KimStuart Partin
Michael Lo
(Project Manager) (Language Guru) (System Architect)(System Integrator)(Tester and Validator)
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
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
What about the Web?"HTML, CSS, and Markup Languages"
Websites:A lot of contentFunctionality
Mobile browsers:Small screen spaceLack of support
The Goal"The Nu-Droid Solution"
Web site = Mobile application
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
Program Flow
Here's an Example"Putting Things into Perspective"
"Hello, World"
Here's an Example"Putting Things into Perspective"
"Fashion Blog"
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
Syntactic Constructs"Run-of-the-mill"
Syntactic Constructs"Logic and expressions"
Architecture
Architecture
Mac/Windows environmentByacc/JFlexEclipse/Google Code (SVN)Java 6Android SDK
Development Tools
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
Nu-Droid Test File"Here's an Example"
Lessons"What We Learned"
What we learnedMaking a programming language is hardMaking a complex programming language, simple, is even harder.
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
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
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)
</NuDroid> Does.
Thanks!