Mobile Application Development Options most popular platforms/ application software: -BREW-Android -Symbian-JME -Palm OS-Windows Mobile -iPhone-Linux -BlackBerry.

Slides:



Advertisements
Similar presentations
Speech-to-Text Technology on Mac OS X Computer Access for Individuals with Disabilities.
Advertisements

Speech Recognition There are different kinds of voice or speech “_______" that take the sounds of your voice and match it with words. The engine is software.
1 Programmer-Defined Functions Functions allow program modularization Variables declared in function are local variables Only known inside function in.
The Web Warrior Guide to Web Design Technologies
LECTURE 1 CMSC 201. Overview Goal: Problem solving and algorithm development. Learn to program in Python. Algorithm - a set of unambiguous and ordered.
® Copyright 2008 Adobe Systems Incorporated. All rights reserved. ADOBE® ACCESSIBILITY AT Access to Flash and PDF Matt May 25 Mar 2010 Featuring.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Server-Side vs. Client-Side Scripting Languages
Developing Software Applications Introduction to Programming Fundamentals Scoping in VB Simple Ifs in VB.
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
ACSE th Conference The Iconic Programmer Stephen Chen.
Principles of Procedural Programming
2012 •••••••••••••••••••••••••••••••••• Summer WorkShop Mostafa Badr
Bash Shell Scripting 10 Second Guide Common environment variables PATH - Sets the search path for any executable command. Similar to the PATH variable.
Getting Started Example ICS2O curriculum
Chapter 9 Interactive Multimedia Authoring with Flash - Introduction to Programming “Computers and Creativity” Richard D. Webster, COSC 109 Instructor.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
Visual Basic Fundamental Concepts. Integrated Development Enviroment Generates startup form for new project on which to place controls. Features toolbox.
CPS 2231 Computer Organization and Programming Instructor: Tian (Tina) Tian.
Advanced Java New York University School of Continuing and Professional Studies.
Agenda Control Flow Statements Purpose test statement if / elif / else Statements for loops while vs. until statements case statement break vs. continue.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 11 1 Microsoft Office Access 2003 Tutorial 11 – Using and Writing Visual Basic for Applications.
Chapter 4 The If…Then Statement
EGR 2261 Unit 5 Control Structures II: Repetition  Read Malik, Chapter 5.  Homework #5 and Lab #5 due next week.  Quiz next week.
PMS /134/182 HEX 0886B6 PMS /39/80 HEX 5E2750 PMS /168/180 HEX 00A8B4 PMS /190/40 HEX 66CC33 By Adrian Gardener Date 9 July 2012.
IST 210: PHP BASICS IST 210: Organization of Data IST210 1.
What is Java Script? An extension to HTML. An extension to HTML. Allows authors to incorporate some functionality in their web pages. (without using CGI.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 27 - Phone Book Application Introducing Multimedia.
Introduction to Engineering MATLAB – 6 Script Files - 1 Agenda Script files.
History of C 1950 – FORTRAN (Formula Translator) 1959 – COBOL (Common Business Oriented Language) 1971 – Pascal Between Ada.
Introduction to Computer Programming Using C Session 23 - Review.
Programming Test #1 Solutions. Multiple Choice 1. B) the grammar of the coding language 2. C) String 3. A) Single 4. C) 2Burgers4Me 5. B) Design Time.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
 Pearson Education, Inc. All rights reserved Introduction to Java Applications.
Current Assignments Homework 2 is available and is due in three days (June 19th). Project 1 due in 6 days (June 23 rd ) Write a binomial root solver using.
7 1 User-Defined Functions CGI/Perl Programming By Diane Zak.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
CONTENTS Processing structures and commands Control structures – Sequence Sequence – Selection Selection – Iteration Iteration Naming conventions – File.
Compound Statements If you want to do more than one statement if an if- else case, you can form a block of statements, or compound statement, by enclosing.
Applications Development
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.1.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
JavaScript, Fourth Edition
PROPOSAL : The Use of Voice Command in Operating Personal Computer By : COLLEGE OF ART & SCIENCE UNIVERSITI UTARA MALAYSIA STIW5023 ADVANCED PROGRAMMING.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.1.
4. Javascript M. Udin Harun Al Rasyid, S.Kom, Ph.D Lab Jaringan Komputer (C-307) Desain.
Programming with Microsoft Visual Basic th Edition
1 b Boolean expressions b truth tables b conditional operator b switch statement b repetition statements: whilewhile do/whiledo/while forfor Lecture 3.
Visual Basic Review LBS 126. VB programming Project Form 1Form 2Form 3 Text boxButton Picture box Objects Text box Button Objects.
CODING VOCABULARY.  Binary  A number system based on 2  Hexadecimal  A number system based on 16  Domain  An internet location registered with the.
Control structures in C by Dr P.Padmanabham Professor (CSE)&Director Bharat Institute of Engineering &Technology Hyderabad Mobile
Perfecto Mobile Automation
CSE 4939 Alex Riordan Brian Pruitt-Goddard. Design an interactive source control application that works between an android phone and a project located.
Speech Recognition Created By : Kanjariya Hardik G.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
IST 210: PHP Basics IST 210: Organization of Data IST2101.
Chapter 6 Controlling Program Flow with Looping Structures.
Client-side (JavaScript) Validation. Associating a function with a click event – Part 1 Use the input tag’s onclick attribute to associate a function.
PHP using MySQL Database for Web Development (part II)
Chapter 4 The If…Then Statement
Agenda Control Flow Statements Purpose test statement
Engineering Innovation Center
Introduction to javadoc
Starter activity – 10mins
PHP.
Introduction to javadoc
Fundamental Programming
Intro to Programming (in JavaScript)
Presentation transcript:

Mobile Application Development Options most popular platforms/ application software: -BREW-Android -Symbian-JME -Palm OS-Windows Mobile -iPhone-Linux -BlackBerry -Lazarus -Flash Lite-.NET Compact Framework

Initial Selection Foundation functionality SymbianC++ No restriction JMEJava Varies AndroidJavaNo restriction iPhoneObjective C Restricted LazarusPascal Restricted Flash LiteAction ScriptNot applicable.NETC#, VB.NETlimited BREWC / C++ Operation specific Palm OSC/ C++No restriction WindowsC++, server sided No restriction BlackBerry unknownlimited

Selection Method Decision Matrix based on following criteria with the relative weight ( 7-highest, 1- lowest) : criteriaweight Java Based 7 Windows compatible 6 Time permitting 5 Documentation 4 License( free?) 3 Health of Developers community 2 Developing cost 1 Rating scale for each criteria: great extent some extent no/slight extent

. platforms pl platforms atf orms criteria ccc criteria rite ria Palm OS Google Android JME JMEBREW Symbian Symbian Microsoft Microsoft Windows Mobile Windows Mobile [7] JAVA BASED [7] JAVA BASED 7 X 1 = 7 7 X 3 = 21 7 X 1 = 7 7 X 2 = 14 7 X 1 = 7 [6] WINDOWS COMPATIBLE [6] WINDOWS COMPATIBLE 6 X 3 = 18 6 X 1 = 6 6 X 3 = 18 [5] TIME PERMITTING 5 X 1 = 5 5 X 3 = 15 5 X 1 = 5 [4] DOCUMEN- TATION 4 X 2 = 8 4 X 3 = 12 4 X 2 = 8 [3] LICENSE 3 X 1 = 3 3 X 3 = 9 3 x 3 = 9 3 x 2 = 6 3 x 1 = 3 [2] HEALTH OF DEVELOPERS COMMUNITY 3 x 2 = 6 3 x 3 = 9 2 X 1 = 2 2 x 1 = 2 [1] LEAST / NO DEVELOPING COST 1 x 1 = 1 1 x 3 = 3 1 x 2 = 2 1 x 1 = 1 TOTAL TOTAL Decision Matrix

High Level Architecture. Our code Voice-to-text Voice input Phone functioning on voice commands Text output Speech Engine Android

Speech Engine  What is its role? - uses speech recognition software - voice – to – text - based on recognition grammar  What is recognition grammar? - set of patterns allowing developers to train the engine on what to expect from the users

Available options:  XVoice  CVoiceControl  Open Minded Speech  G Voice  Julius  ViaVoice  Sphinx4  Dragon Naturally Speaking(DNS)  Asterix  Loquendo

Selected options:  ViaVoice  Sphinx4  Dragon Naturally Speaking(DNS)  Loquendo

.. Selecting the best option: engines criteria Loquendo Sphinx4DNS ViaVoice Open License Better command control Open Vocabulary Java based Noise Robustness Easy to incorporate BEST OPTION

. Functional subsystems: UI to receive voice command Voice-to-text Conversion Recognize Associated Button click Recognize Associated Event Launch Activity Access command in text from engine

1) Start running our programme. 2) Start by entering a ‘loop’ which keeps checking the file-content. 3) A boolean variable (say hasIt) declared and initialized as ‘false’. The file will be initially empty. The loop breaks when the variable becomes ‘true’ after the file has been introduced some content. 4)We then speak to the DNS through microphone. 5)DNS saves the file in the pre-defined directory, same as the one the loop checks for contents. 6)As soon there is some contents in the file, the variable ‘hasIt’ will be ‘true’ and the hence the loop breaks. pseudo-code:

pseudo-code cont’d: 7) The contents of the file will then be read through Java methods and save in a previously declared global string variable (say voiceCom). 8) The string is then compared with the several options (that have an associated int num with it) through ‘switch’ statement. These options to be compared with have the string equivalent of the possible commands the user would speak. 9) When there is a match between the string passed as argument and one of the options, the associated integer value is noted. This in the process has now identified the code value of android assigned to the voice commands. Android classes 10)Make any declared variable (suppose ‘action’) equal to ACTION_DOWN.

pseudo-code cont’d: 11) Call the method keyEvent (int action, int code) This created an action on some particular key. 12) Call onKeyDown(int, KeyEvent) and return true This is called when a key down/press event has occurred. 13)Set up a listener for the button click through UI notifications and return the event related to the button clicked. 14)Using class Intent method, create an Intent. This is creating the action to be performed in response to the button click (voice command). 15)Finally, using Activity class, start activity by passing the Intent created previously as argument. This launches the activity.

What we have achieved so far. GoalStart Speech engine selection project selection Requirements elicitation survey& user stories platform analysis object design pseudo-code implementation testing current status completed

SeptOct 36 Progress report Oral presentation Fixed deliverables Poster fair Final report Proposal Nov Dec Jan Feb Mar Apr Week # Monday Write-up Survey on the end users’ preferences Research on Cellular platform Software planning & Implementation Testing Prepare Final Report