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

Tuesday, March 18, 2014

Instructional Technology & Andover Innovation Lab Update March 10-14 2014

This week the language lab continued to do training on using the Sanako software in the language lab. This support and training really benefits teachers who can use the software to create language immersion experiences.


I also met with Jorge Allen to refine the plan for the the world language website. The plan is to create a place for parents to more easily connect with staff and showcase the highlights of the department. I assisted Jorge with gaining access so he could post himself and see the layout.




The students in the Innovation lab have been diligently working and pulling projects together. They are in the process of  completing formative projects on the way towards their final. We are asking students in the coming week to create videos which discuss their learning process and software applications.


On wednesday I was part of a district wide meeting of program advisors and district leadership to meet with Jim Stanton from EDC who is part of a grant to help provide training to computer science educators to implement a course called “Exploring Computer Science” in the coming year. The training willl be taking place at Microsoft and Google in Cambridge,Massachusetts this summer. Participation in this program will provide a great backbone for implementing a computer science program at Andover High School  with a cross curriculum approach.






At this point in the school year teachers fluency has improved with the use of the laptops and also with using some of the hardware such as Epsom Projectors and Interactive boards. 

The use of web based group tools are on the rise as well as teachers are moving towards organizing their communication with students and parents in central platforms. Many teachers are currently part of a pilot of using  Google Apps. The pilot will expand in the coming months and training for Google tools will expand as well.

Friday, March 14, 2014

Mobile Application Curriculum: Intro to Mobile Development Platforms

Introducing students to the variety of common mobile development platforms is a great place to start with mobile development curriculum. The differences between these platforms and the available technology varies with the design approaches for each platform. It is beneficial to introduce students to:

1.Examining different mobile development platforms and their interfaces (Android,iPhone,Windows) and defining the differences between them.
2. Review differences in device technology and technology capability as it relates to the visual and technical design of a mobile application.
3. Review and understand the current design standards for iPhone and Android(includes icon design, design resolution and interface).
4. Define different design approaches for different mobile platforms. Explain strategies used to have the application work across platforms.
I have provided a list of resources and descriptions of how they can connect with developing students understanding of the Android and iOS platforms. Use these as starting points for class discussions and
strategy development. The links below can provide an outline for instruction.

Review of Android & iOS Developer Guidelines
Review the contents of the iOS and Android Development guidelines.These guidelines have been prepared to assist developers with making apps that the marketplaces can support and also are user friendly to the consumer. These documents can be quite deep but it is important to notice how specifically they are written and how their details can influence the successful deployment of an application or additional phases of debugging.


Platform Design Standards
After reviewing the design guidelines for Android and iOS you should be able to clearly identify the major differences between these platforms. During this part of the instruction the discussion/review of the reading can be done individually or used as a basis of discussion. Students should be able to identify major differences in how these two platforms are approached differently from a design perspective.  This looks like notes to the teacher, not instruction to the student.


Differences Between Android & iOS Hardware/Software
In addition to design standards, what are the described differences in hardware, software or operating system you see defined in the design guidelines of these two platforms? You should clearly identify known operating systems or device based hardware. You may also infer knowledge of current operating systems on specific devices.



Common Strategies For Cross Platform Design
Research using search engines(Google,Bing) the alternatives to creating apps for iOS or Android. Use the questions to guide the search.
  • What other opportunities for app marketplaces are there?
  • Can students find a current breakdown of the market share for different types of mobile application development?
  • Who are the contenders?
  • What does the market share breakdown tell us about the choice of development tools or platforms?

Students will ideally be able to differentiate between platforms and define the technology behind them.

These questions can help identify learning objectives.
1.Define three major differences between Android and iOS applications.
2. What is an alternative to developing for Android or iOS? What is a challenge to this alternative?
3. Which platform has an operating system which is open-source (free to upgrade and download)?


SUMMARY
Understanding the variety of layouts and possible user experiences which are available in the two largest development platforms (Android and iOS) will help students understand the design possibilities. In this lesson students should begin to see the wide world of mobile application development. The goal is to introduce to students the current guidelines for application development for the two major platforms and differentiate the needs of each platform in terms of design.  Based on the knowledge gained from guided discussion and research on mobile platforms students should also better understand the larger context of the mobile development market.



Sample Assignments


1. Short Essay: After reading the Android and Apple Design standards, define the major differences between the Android and iPhone platforms. What do the design standards tell you about technology required and used to create mobile applications? Was there something that was unexpected in these documents? If yes, what, and why were you not expecting it?How would you use these documents to assist you in creating a mobile application for either platform? Which platform do you prefer and why?
2. Case study research and presentation. Research a mobile application using internet search engines which has had multiple design issues related to being placed on different app markets. What were the issues? How were they resolved? What strategies were used to resolve the issues between platforms? What can be learned and applied to your own possible mobile design? Make a visual presentation using Powerpoint, Prezi or other slide-based presentation tool representing your answers to these questions.