Nu-Droid - Columbia University · 2010-04-29 · Nu-Droid "What, Why, and How?" Nu-Droid...

Post on 05-Jun-2020

7 views 0 download

transcript

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!