Showing posts with label mobile development. Show all posts
Showing posts with label mobile development. Show all posts

Tuesday, June 3, 2014

Week 1: Lesson 1:Introduction To Java For Android Course Blog

Welcome to class!

Main Course Document
http://bit.ly/javaforandroid

Lesson 1: Introduction to Java for Android Development Environment
INTRODUCTION
In this lesson you will consider the mobile marketplace and specific tools used to build mobile applications. You will be introduced to the components of the Android Operating System and the development tools used to create Android applications. The readings will provide an overview of the Android Operating System, and the video tutorials will walk you through the necessary setup and downloads to get started with development. In this lesson you will use the Eclipse IDE (Integrated Development Environment) and Android Development Tools (ADT). You will download the development environment onto a removable media device for easy access and use.

LESSON OBJECTIVES
By the end of this lesson, you will be able to:
Section #1: Why Develop Mobile Applications For Android?
  1. Describe market and labor forces and trends that drive demand for skilled programmers.
  2. Recognize and identify basic concepts and the language used for Android Mobile Application development.

Section #2: Understanding the Components Of The Android Mobile Application
  1. Differentiate the basic components of the Android Operating System.

Section #3: Video Demonstration of Development Tools & Resources
  1. Demonstrate how to download and install the Eclipse Development Environment and Google ADT (Android Development Tools).
  2. Demonstrate how to open the ADT and set up a workspace (Android Development Tools).
  3. Demonstrate how to organize and start a new project using ADT (Android Development Tools).
LEARNING SEQUENCE

Required Reading
Read the following:
·      Section #1:


·      Section #2:



·      Section #3:
Resources
View the following: 
·      Sample Code
·      Video Transcripts
Assignments
Complete the following:
·      What’s Your Place in the Mobile Market?
·      Uncovering the Basic Tools, Concepts and Processes of Android Environment



INSTRUCTION

Section #1: Why Develop Mobile Applications For Android?

In this section you will be introduced to the fundamentals of Android apps written in Java code. You will also learn about the Android Development Tools (ADT) and Software Development Toolkit (SDK). Additionally, you will identify market forces with the ever-changing demands of and for mobile application development by questioning and interpreting information resources used to discuss the relative value of Android development tools. Finally, you will consider your own level of knowledge and interest in mobile app development for Android. 
Step 1.
This article discusses market demands for mobile app developers, making specific reference to salaries and lists both necessary and desired skills. The article also provides specific examples of how companies, both big and small, continue to define their hiring needs in the ever-changing mobile market.
Step 2.
This reading introduces you to the fundamentals of the secure environment of an Android applications environment. The core framework of the application, manifest file and resources for a variety of device configurations are described. Read through the introductory section on Application Fundamentals, then review the heading topics: App Components, Activating Components, The Manifest File, Declaring Components, Declaring component capabilities, Declaring app requirements and App Resources. With this overview, go back and read through the sections on App Components, Activating Components and The Manifest File to solidify your basic understanding of the core framework for the Android application.   
Step 3.
Complete Assignment 1: What’s Your Place in the Mobile Market?

Section #2: Understanding the Components Of The Android Mobile Application

In this section, you will be introduced to the fundamentals of Android app framework. You will also learn about the importance of device compatibility in designing your app for a variety of devices and audiences.
Step 1.
Referencing the previous reading on App Fundamentals, you can get a sense of how Android works with the Java language. Review sections on “Apps provide multiple entry points” and “Apps adapt to different devices.” This should give you a solid foundation for how to understand Android and application development basics.
Step 2.
This resource explains how Android is designed to run on a range of different types of devices, from phones to tablets and televisions. The term “compatibility” is defined, and you will understand how you can control which devices have access to your apps, and how to prepare your apps to make sure they reach the right audience. Read through the first three sections of this web page, starting with Device Compatibility, What Does “Compatibility” Mean? and “Controlling Your App’s Availability to Devices.” You will revisit these concepts and ideas throughout most of the lessons in this course.
Step 3.
Complete Assignment #2:  Are We Compatible? How to Determine User Interactions?

Section #3: Video Demonstration of Development Tools & Resources 

These two video demonstrations will walk you through the sequence of steps needed to find and download Android development resources online. At the completion of the videos you will know how to set up a new project and run the emulator successfully. Please pause and review the video, as necessary, to complete tasks. Transcripts are provided.
Step 1.
View & Practice: Lesson 1, Part 1 [4:03]

Step 2.
View & Practice: Lesson 1, Part 2 [9:22]


SUMMARY
While the mobile app marketplace continues to evolve, there are plenty of free and open-source resources and tools you can use to develop your skills. Opportunities for Android developers continue to grow, and the setup of Eclipse and Android ADT will set you on your way to creating the next killer app. Now that you have downloaded, set up and configured the tools to begin your Android project, you are ready to XXX in lesson 2.


ASSIGNMENTS
·      What’s Your Place in the Mobile Market?

·      Uncovering the Basic Tools, Concepts and Processes of Android Environment

Answer the questions below for lesson 1(include question number in response):


Question 1: How does the user interface(UI) influence user engagement with an application?


Question 2: What changes have you seen in the mobile marketplace(apps,tablets,screen-sizes) in the past  5 years? How do you think these changes influence mobile development?

Wednesday, March 26, 2014

Mobile Application Design Curriculum: Creating An Information Architecture System Design For Mobile Applications(Lesson 4)



Introduction:
In this lesson you will organize your collected marketing, content and technology based decisions regarding your mobile application. You will learn about the current trends in system design in modern mobile applications. You will apply these components to an organized system design which displays your strategy and intended design for how users will interact with your application. Creating the information system architecture will reveal how a user will interact with the layout of information and the intended technology based outcomes.


Lesson Objectives:
By the end of this lesson, you will be able to:
Section #1:
1. Investigate and consider a variety of technologies in the backend of an application(data storage,platform needs,app server)  for integration into the layout of your application’s system design.
Section #2
2. Investigate and summarize a variety of  API technologies available for mobile applications.
Section #3:
3. Organize and create a clear design for the organization of information presented to the user by creating multiple informative drawings. (draw map of application layout)
Learning Sequence


Required Reading
Read the following:
Section #1: Understanding The “Backend” Of Mobile Applications
View & Review: Enterprise Mobile App UX: Designing from UI to Backend  Presenter:Sanjeev Sharma
Read: Android Vs. IOS Comparing Development By: Cameron Henneke


Section #2: Introduction To Mobile API’s
Read : Defintion Of API’s Webopedia
Read : API Architectures For Etail By:Michael Gardener
Read:  Open Source API Library APigee Blog


Section #3: Creating A Mobile Information Architecture
Read: Information Architecture Vocabulary By: Jesse James Garrett
Read & Review: Relationships Cheatsheet (Garrett)
Read & Review: Shape Quickguide (Garrett)
Read & Review: Sample System Architecture (Garrett)
Resources

Assignments
Complete the following assignments:
1. Short Answer “Mobile Backend” Assignment
2. Short Answer “API” Assignment
3. Drawn Graphic: Creating The Mobile System Architecture





Instruction
Section #1: Understanding The Backend Of Mobile Applications
This section prepares you to be able to address the central components of  the backend technology of mobile applications. Knowledge of the software architecture which is called the “backend” will  drive your design approach and choice of platform and type(native,hybrid or web) of your application. This section will provide you with an overview of the components,purposes and role the “backend” technology plays in application design.


This reading provides an overview of the role the backend of an application provides and some of the challenges and choices developers and designers face when trying to develop an application which provides specific functionality as well as scalability with users. This article provides an overview of the services available to developers and designers to streamline the development of the backend of applications. These services will enable specific technologies such as geolocation,file storage and push notifications to be available to your users.
In the role of mobile designer it is critical to connect the focus of the app designs’ user experience(UX) to the choice of technologies(file storage,push notification,user logins) and application platform choice (web app, native or  hybrid). This video will provide you with design approaches which will take into account the backend needs and design approach. The presenter Sanjeev Sharma is a user experience (UX) designer with 17 years as a Solutions Architect with IBM.
Read: Android Vs. IOS Comparing Development By: Cameron Henneke
This reading provides a breakdown of the design and development choices between choosing Android and IOS in the process of creating a task application. Focus on the “Architecture” section of this reading found near the bottom of the web page. This section will provide the distinct choices made for the “data and storage” functions of the application. It is important to your understanding of the software architecture of mobile development to see the context of how the “backend” architecture is integrated with the design(layouts,choice of users) and choice of plaforms(Android,IOS).
The writer of this reading is the designer and developer and clearly explains his choices in the process of its creation. Reading this entire article will provide you with a great project overview
Short Answer “Mobile Backend” Assignment:
After reviewing the resources and readings provided answer the following questions.
1.What are the benefits of understanding the “backend” of mobile applications as you plan for user engagement?
2.What trends do you anticipate with the  “backend” of mobile apps  with the constantly evolving mobile application types(native,hybrid,web)?
3.What will be your strategy for addressing concerns with the “backend” of you mobile application concept?


Section #2: Introduction To Mobile API’s
In this section of the lesson you will be introduced to the concept of mobile application API’s(Application Programming Interface) technology. The readings and resources in this section will provide you with a new understanding of the technologies which make mobile applications more interactive to user. How applications can manage data and user information enables new levels of  enagement with content. An understanding of these technologies will inform your decisions when designing a mobile application based on user engagement.


Read 1: Defintion Of API’s Webopedia
This web based dictionary provides a thorough definition of  what API’s are and how they connect different types of technologies with code in the backend of applications. Be sure read the section “Popular API Examples” near the bottom of the page. This list contains many current API’s which are available for mobile applications such as Google Maps API and Twitter Alert API. It is important to understand that these API’s are just the the beginning in terms of connecting technologies. API technology expands into the areas of data storage,notifications and geolocation tools for mobile applications.
Read 2: API Architectures For Etail By:Michael Gardener
This reading from an business named Apigee  highlights the use of API’s in the creation of an software architecture for an etail business. This business uses the blogging platform to share the constantly evolving API’s in the mobile marketplace. In this article it is important to focus on the “2 Tier API Structure”, “Consumption API’s” and the chart of the “Backend Resources”. This reading will provide you with a sample of how API’s are currently being used together in an architecture to provide consumers an easier online shopping experience. There is a deep consideration of the users experience and how the API’s tie the consumers login information and the backend ecommerce and data collection together.
Read: Open Source API Library APigee Blog
This open source(freely available) list of API’s source code will introduce you to a wide variety of API’s and how they can be integrated into a variety of user centered approaches to application design and development. Scroll through the available codes and read the descriptions. Each one will serve a different purpose for connecting users with data types. Consider these as you develop your mobile application idea. Which ones do you feel will create user engagement with your application idea?
Notice that the codes provided include Android(Java),IOS(Objective-C),Javascript (JS) and API links which can be used with a variety of types of apps(Native,Hybrid and Web). Scan these API’s and consider how they can be used in you project?
Assignment: Short Answer API Assignment
Create a list of 5 API’s that you could use in your current mobile application concept.
For each of the API’s create a description from your research and describe how the API can be integrated into your project.
Answer these questions to:
How does the use of these API’s change the user experience with your application?
How do API’s change the way data is moved?
(2 paragraphs each API).


Section #3: Creating A Mobile Information Architecture


In this section you be introduced to the tools used for creating an infromation architecture. At this stage of planning you need to be planning what technologies will be integrated into your application. This will require the resources provided in the previous sections API’s and a consideration of the user centered design approach. The tools and resources introduced in this section will enable you to create a plan for the architecture of the users interaction with the app and the technology in the “backend”.  (draw map of application layout)
This reading will provide a basic background in the layout of information architecture projects. Read in detail the areas titled:
Presenting Information Architecture
Site Diagrams
In this reading pay special attention to the graphics which show the major elements of site diagrams and the differences between the “early” site diagram and the “mature” site diagram in terms of details and descriptions.
Read: Information Architecture Vocabulary By: Jesse James Garrett
Read this guide in its entirety. This guide will develop your knowlege of the symbols and conditionals which will help you create an information architecture for your mobile application idea. The quickguide link below will review each of the symbols. This guide has support guides
which outline the symbols and the relationships in information architecture’s. View the sample as a guide for seeing all the pieces moving together.
Read & Review: Relationships Cheatsheet
Read & Review: Shape Quickguide


Assignment: Creating The Mobile System Architecture
Create a drawn detailed system architecture for your current mobile application design concept. Using the style guide,vocabulary guide and shape/relationship tools draw out the movement of the user through your application. There should be a clear flow of the users engagment and experience interacting with the technology.
Be sure to address the following needs:
User movement and corresponding relationships with elements(decision points,conditionals, clusters).
API’s
Data Storage
Pages,Page stacks and files.
Consideration for flow,concurrent sets and iterative areas.
Use the sample included in Section 3 as needed to guide your process



Assignments
Section #1
1. Short Answers:
Create a list of 5 API’s that you could use in your current mobile application concept.
For each of the API’s create a description from your research and describe how the API can be integrated into your project.
Answer these questions to:
How does the use of these API’s change the user experience with your application?
How do API’s change the way data is moved?
(2 paragraphs each API).
Section #2
2. Introduction To Mobile API’s
Assignment:
Create a list of 5 API’s that you could use in your current mobile application concept.
How does the use of these API’s change the user experience with your application?
How do API’s change the way data is moved?
For each of the API’s create a description from your research and describe  how the API can be integrated into your project and assist user engagement or technology processes?(2 paragraphs each API).
Section #3
3.Assignment: Create a drawn detailed system architecture for your current mobile application design concept. Using the style guide,vocabulary guide and shape/relationship tools draw out the movement of the user through your application. There should be a clear flow of the users engagment and experience interacting with the technology.
Be sure to address the following needs:
User movement and corresponding relationships with elements(decision points,conditionals, clusters).
API’s
Data Storage
Pages,Page stacks and files.
Consideration for flow,concurrent sets and iterative areas.
Use the sample included in Section 3 as needed to guide your process


SUMMARY
In this lesson you were introduced to the importance of the “backend” of mobile applications in managing data and organizing the technology which improves user engagement with the application. This lesson also enabled you to research and report out on the evergrowing number of API’s (Application Program Interface) which enable a variety of user centered technology enagagement and data management on a variety of mobile application types(hybrid,web and native). These knowledges allowed you to conclude your learning by creating a a detailed information system architecture which allowed you to create your own anticipated user engagement with the application technologies. It is important to see how these components (system architecture,API’s and backend technologies) work together to create an experience for the user.
Please keep the following terms in mind about creating a system architecture for mobile applications:
API’s
User Flow
Backend Technology
Data Storage
User Experience Design