Model-View-Controller Architecture

Size: px
Start display at page:

Download "Model-View-Controller Architecture"

Transcription

1 --Controller Architecture

2 --Controller Architecture Controller --Controller (MVC) is an architectural pattern, a standard design in the field of software architecture. Heavily used by Apple in writing ios apps, so understanding it is critical. MVC divides the objects in your program into three camps.

3 : Encapsulates data and basic behaviors Holds an application s data and defines the logic that manipulates that data. Responds to requests for information about its state, and responds to instructions to change state. May notify other objects when its state changes. Can be as simple as a single integer data member, or as complex as a collection of classes interacting with a database.

4 : Presents information to the user Knows how to display, and might allow users to edit, data from the application s model. Multiple views can exist for a single model for different purposes. A view should not be responsible for storing the data it displays. In ios, each screen full of information is typically a view. UI elements such as buttons, sliders, text fields, etc. are also typically view objects.

5 Controller: Ties the to the Acts as an intermediary between the application s view objects and its model objects. Receives user input from view objects and initiates a response by making calls on model objects. When the state of the model changes, the model communicates that change to the controller, which then requests one or more view objects to update themselves accordingly.

6 It s all about managing communication and separating concerns Limiting and structuring communication makes it easier to design programs. Separating concerns allows s and s to be re-used in different applications.

7 Controllers can always talk directly to their Controller usually maintains object references (pointers) to objects. Object references allow Controller code to send messages to the objects.

8 Outlet Controllers can also talk directly to their A Controller usually maintains a special type of object reference (called an outlet) to objects. Outlets allow Controller code to send messages to the objects.

9 Outlet No communication! The and should not speak to each other!

10 Outlet? No communication! Can the speak to its Controller? Yes, to some degree. Communication is blind and structured. There are several common patterns of communication allowed.

11 Outlet Target-Action No communication! 1. Target-Action Pattern An action is a message emitted automatically by a Cocoa UIControl interface object (a object called a control) when the user does something to it, such as tapping the control. The various user behaviors that will cause a control to emit an action message are called events.

12 Outlet Target-Action No communication! 1. Target-Action Pattern Controller needs to define the action message (as a method of one of the Controller classes). Controller needs to inform the control of three things: o What event should trigger the sending of an action message. o What instance should be sent the action message. o What the action message s name should be. When the event occurs, the control sends the action message to the specified instance, which can then take appropriate action.

13 Outlet Target-Action Delegate No communication! 2. Delegate Pattern Sometimes the needs to synchronize with the Controller. The Controller sets itself as the s delegate. The has an object reference that can point to any object that conforms to a particular delegate protocol. The Controller must conform to that protocol (implement the methods that it defines). That allows the to call those methods in the Controller without knowing the Controller object s exact data type.

14 Outlet Target-Action Delegate Data Source No communication! 3. Data Source s do not own the data that they display. A data source is a type of delegate that allows a to acquire data it needs to display. Controllers are almost always the data source, not the itself. Controllers interpret/format information for the.

15 ? Outlet Target-Action Delegate Data Source No communication! Can the talk directly to the Controller? No. The should be UI independent. So how does the inform other objects that its state has changed?

16 Notification & Key-Value Observing Outlet Target-action Delegate Data source No communication! The can use a radio station -like notification mechanism to broadcast changes to interested objects (called observers). Key-value observing is another mechanism that allows observer objects to be notified of changes to specific properties of an object. Controllers (or another ) tune in to interesting stuff. A might tune in, but probably not to a s station.

17 Larger ios applications consist of many MVC triads, all working together.

18 References APPLE INC., Cocoa fundamentals guide. BUCK, E. M. AND YACKTMAN, D. A., Cocoa Design Patterns. Addison Wesley, Upper Saddle River, NJ.

MVC. Controller. Model. View. Divide objects in your program into 3 camps. Stanford CS193p Fall 2011

MVC. Controller. Model. View. Divide objects in your program into 3 camps. Stanford CS193p Fall 2011 Divide objects in your program into 3 camps. = What your application is (but not how it is displayed) = How your is presented to the user (UI logic) = Your s minions It s all about managing communication

More information

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller

More information

ITP 342 Mobile App Development. Model View Controller

ITP 342 Mobile App Development. Model View Controller ITP 342 Mobile App Development Model View Controller Design Patterns A reusable pattern to solve common issues that come up in software development NOT new syntax, but the way you design your program What

More information

Stanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013

Stanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013 Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time

More information

Mobile Application Programming. Messaging and Delegation

Mobile Application Programming. Messaging and Delegation Mobile Application Programming Messaging and Delegation Color Chooser Color Chooser MFColorChooserView UIControl or UIView MFColorChooserWheelView UIControl MFColorChooserValueSliderView UIControl MFColorChooserAlphaSliderView

More information

ITP 342 Mobile App Development. Model View Controller

ITP 342 Mobile App Development. Model View Controller ITP 342 Mobile App Development Model View Controller Model-View-Controller The Model-View-Controller (MVC) design pattern assigns objects in an application one of three roles: model, view, or controller.

More information

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout Overview : Today s Lecture Model View Controller Design Pattern Creating Views in Storyboard Connecting your Views to Code Auto

More information

Inside Smalltalk MVC: Patterns for GUI Programming

Inside Smalltalk MVC: Patterns for GUI Programming Inside Smalltalk MVC: Patterns for GUI Programming Chien-Tsun Chen Department of Computer Science and Information Engineering National Taipei University of Technology, Taipei 106, Taiwan ctchen@ctchen.idv.tw

More information

ITP 342 Mobile App Dev. Delegates

ITP 342 Mobile App Dev. Delegates ITP 342 Mobile App Dev Delegates Protocol A protocol is a declaration of a list of methods Classes that conform to the protocol implement those methods A protocol can declare two kinds of methods: required

More information

Cocoa Design Patterns. Erik M. Buck October 17, 2009

Cocoa Design Patterns. Erik M. Buck October 17, 2009 Cocoa Design Patterns Erik M. Buck October 17, 2009 Topics n What is a design pattern? n Why Focus on design patterns? n What is the Model View Controller design pattern? n Using MVC n When wouldn t you

More information

where are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures

where are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures where are we? ICS 105: Project in HCI UI Toolkits and Programming Models lectures done with evaluation techniques a couple of lectures on toolkits and programming other topics: graphical design and screen

More information

Mobile Application Development

Mobile Application Development Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.

More information

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering

MV* Design Patterns. Alexander Nelson August 25, University of Arkansas - Department of Computer Science and Computer Engineering MV* Design Patterns Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/

More information

Architecting ios Project. Massimo Oliviero

Architecting ios Project. Massimo Oliviero Architecting ios Project Massimo Oliviero Massimo Oliviero Freelance Software Developer web http://www.massimooliviero.net email massimo.oliviero@gmail.com slide http://www.slideshare.net/massimooliviero

More information

User Interfaces. Lecture 16. Model - View - Controller. Hamza Bennani September 6, 2018

User Interfaces. Lecture 16. Model - View - Controller. Hamza Bennani September 6, 2018 User Interfaces Lecture 16 Model - View - Controller Hamza Bennani hamza@hamzabennani.com September 6, 2018 Last Lecture Summary Default Cocoa application. NSApplication NSApplicationDelegate XIB/NIB-file

More information

Event-driven Programming: GUIs

Event-driven Programming: GUIs Dr. Sarah Abraham University of Texas at Austin Computer Science Department Event-driven Programming: GUIs Elements of Graphics CS324e Spring 2018 Event-driven Programming Programming model where code

More information

Building an Application

Building an Application Building an Application 7 Anatomy of an Application Compiled code Your code Frameworks Nib files UI elements and other objects Details about object relationships Resources (images, sounds, strings, etc)

More information

The MVC Design Pattern

The MVC Design Pattern The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend

More information

BRIGHTSIGN APP USER GUIDE

BRIGHTSIGN APP USER GUIDE BRIGHTSIGN APP USER GUIDE ios App Version 1.0.1 BrightSign, LLC. 16795 Lark Ave., Suite 200 Los Gatos, CA 95032 408-852-9263 www.brightsign.biz TABLE OF CONTENTS Introduction 1 Using the BrightSign App

More information

Software Engineering

Software Engineering Software ngineering Software Architecture for nterprise Information Systems Guido Menkhaus and milia Coste Software Research Lab, University of Salzburg References References Floyd Marinescu, JB Design

More information

Model-View-Controller (MVC) Architecture

Model-View-Controller (MVC) Architecture JOHN DEACON Computer Systems Development, Consulting & Training Model-View-Controller (MVC) Architecture Author: John Deacon Synopsis: Although the MVC architecture (or pattern or idiom) has been around

More information

Overview: Steps to create an notification upon survey submission:

Overview: Steps to create an  notification upon survey submission: Overview: If you are using a Qualtrics survey project as an online form, you might want to have the individual responses emailed to a specific email address instead of retrieving the information from Qualtrics

More information

Patterns in Software Engineering

Patterns in Software Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 8 GoV Patterns Architectural Part 2 1 Architectural Patterns: Categories From Mud to Structure Layers, Pipes and Filters, and Blackboard

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

BRIGHTSIGN APP USER GUIDE

BRIGHTSIGN APP USER GUIDE BRIGHTSIGN APP USER GUIDE ios App Version 1.1.x BrightSign, LLC. 16780 Lark Ave., Suite B Los Gatos, CA 95032 408-852-9263 www.brightsign.biz 1 TABLE OF CONTENTS Introduction 1 Using the BrightSign App

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 2 is due tonight by 11:59 PM Late policy is 10% of lab total per day late So -7.5 points per day late for lab 2 Labs 3 and 4 are posted on the course website Extensible Networking Platform

More information

Cocoa Design Patterns

Cocoa Design Patterns We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with cocoa design patterns.

More information

Organization of User Interface Software

Organization of User Interface Software Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as

More information

Office 365 Mobile Instructions. Setup on Apple (iphone, ipad) devices

Office 365 Mobile Instructions. Setup  on Apple (iphone, ipad) devices Office 365 Mobile Instructions Setup email on Apple (iphone, ipad) devices 1. Open Settings 2. Select Mail, Contacts, Calendars. 3. Select Add Account 4. Select Microsoft Exchange 5. Enter your email address

More information

CS 160: Interactive Programming

CS 160: Interactive Programming CS 160: Interactive Programming Professor John Canny 3/8/2006 1 Outline Callbacks and Delegates Multi-threaded programming Model-view controller 3/8/2006 2 Callbacks Your code Myclass data method1 method2

More information

User Experience: Windows & Views

User Experience: Windows & Views View Controller Programming Guide for ios User Experience: Windows & Views 2011-01-07 Apple Inc. 2011 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval

More information

Design Patterns. it s about the Observer pattern, the Command pattern, MVC, and some GUI. some more

Design Patterns. it s about the Observer pattern, the Command pattern, MVC, and some GUI. some more Lecture: Software Engineering, Winter Semester 2011/2012 some more Design Patterns it s about the Observer pattern, the Command pattern, MVC, and some GUI Design Pattern *...+ describes a problem which

More information

Patterns in Software Engineering

Patterns in Software Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 19 Analysis Patterns Part 2 1 Supporting Patterns The supporting patterns describe how to take analysis patterns and apply them: Layered

More information

Objective-c Cocoa And Xcode All-in-one For Dummies Pdf

Objective-c Cocoa And Xcode All-in-one For Dummies Pdf Objective-c Cocoa And Xcode All-in-one For Dummies Pdf Apple, Cocoa, Cocoa Touch, Objective-C, OS X, and Xcode are registered trademarks of Apple Inc., registered in the U.S. and All other product names

More information

MVC & Onwards. CS 442: Mobile App Development Michael Saelee

MVC & Onwards. CS 442: Mobile App Development Michael Saelee MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple

More information

HCIM SUMMER WORKSHOP Introduction to C#

HCIM SUMMER WORKSHOP Introduction to C# HCIM SUMMER WORKSHOP Introduction to C# .NET.NET is: Microsoft s Platform for Windows Development CLR (Common Language Runtime) the Virtual Machine that runs MSIL (Microsoft Intermediate Language Code)

More information

When we re first learning Cocoa (or Java, or Qt, or any other application framework),

When we re first learning Cocoa (or Java, or Qt, or any other application framework), MacDevCenter http://www.macdevcenter.com/lpt/a/4752 6 April 2004 The Cocoa Controller Layer by Michael Beam When we re first learning Cocoa (or Java, or Qt, or any other application framework), one of

More information

Topics in Mobile Computing

Topics in Mobile Computing Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK What is ios? From Wikipedia (http://en.wikipedia.org/wiki/ios): ios is an operating system for iphone, ipad and Apple TV.

More information

INTERCOM APP Type B OPERATION MANUAL

INTERCOM APP Type B OPERATION MANUAL INTERCOM APP Type B OPERATION MANUAL Read this "Operation Manual" prior to usage to ensure safe and correct operation. Keep this in a safe place for future reference. The illustrations used in this manual

More information

Solution. Figure 1. You can change Mary's age by using either the text box or the slider control.

Solution. Figure 1. You can change Mary's age by using either the text box or the slider control. Model GUI Mediator Abstract A MGM object displays a portion of a software application s data to the user, and optionally allows that data to be altered by the user of the application. MGM is specifically

More information

Add the Counties Power App to your smartphone. app.countiespower.com

Add the Counties Power App to your smartphone. app.countiespower.com Add the Counties Power App to your smartphone app.countiespower.com Android users app. countiespower. com Add the Counties Power App to your smartphone In your smartphone s internet browser (Chrome etc)

More information

Model-View Controller IAT351

Model-View Controller IAT351 Model-View Controller IAT351 Week 17 Lecture 1 15.10.2012 Lyn Bartram lyn@sfu.ca Administrivia CHANGE to assignments and grading 4 assignments This one (Assignment 3) is worth 20% Assignment 4 is worth

More information

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall Stanford Developing Applications for ios Today Emoji Art Demo continued UITextField Editable text input control Demo: Add a text field to Emoji Art Demo Emoji Art Make our Emoji Art scrollable/zoomable/centered

More information

Sprint Direct Connect Now 3.0

Sprint Direct Connect Now 3.0 Sprint Direct Connect Now 3.0 User Guide [UG template version 14c] [Sprint Direct Connect Now 3.0_ug_101914_f1] Table of Contents Introduction to Sprint Direct Connect Now... 1 Before Using Direct Connect...

More information

Java Concurrency in practice Chapter 9 GUI Applications

Java Concurrency in practice Chapter 9 GUI Applications Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain

More information

Microthread. An Object Behavioral Pattern for Managing Object Execution. 1.0 Intent. 2.0 Also Known As. 3.0 Classification. 4.0 Motivation/Example

Microthread. An Object Behavioral Pattern for Managing Object Execution. 1.0 Intent. 2.0 Also Known As. 3.0 Classification. 4.0 Motivation/Example Microthread An Object Behavioral Pattern for Managing Object Execution Joe Hoffert and Kenneth Goldman {joeh,kjg}@cs.wustl.edu Distributed Programing Environments Group Department of Computer Science,

More information

CS342: Software Design. Oct 9, 2017

CS342: Software Design. Oct 9, 2017 CS342: Software Design Oct 9, 2017 Outline Facade pattern Observer pattern Homework 1 classes Human player replaces a card 1. Main UserPlayer 2. Main ->CardPile 3. CardPile -> Card -> Main 4. Main

More information

TO DO: Create a new class which adds statistics to the dice. NOTE: Don t forget to run regression tests

TO DO: Create a new class which adds statistics to the dice. NOTE: Don t forget to run regression tests TO DO: Create a new class which adds statistics to the dice This class should add functionality to store the roll frequencies. You should implement a validation test (as well as running unit tests) as

More information

Design Patterns. Dr. Rania Khairy. Software Engineering and Development Tool

Design Patterns. Dr. Rania Khairy. Software Engineering and Development Tool Design Patterns What are Design Patterns? What are Design Patterns? Why Patterns? Canonical Cataloging Other Design Patterns Books: Freeman, Eric and Elisabeth Freeman with Kathy Sierra and Bert Bates.

More information

ECE 4450:427/527 - Computer Networks Spring 2017

ECE 4450:427/527 - Computer Networks Spring 2017 ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 8: Application Layer Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer

More information

GUI Implementation Support

GUI Implementation Support GUI Implementation Support Learning Objectives: Why GUIs? What is a GUI? Why is implementation support needed? What kinds of implementation support are available? Basic concepts in OO GUI toolkit & app

More information

ios Application Development Course Details

ios Application Development Course Details ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery

More information

Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010

Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010 Objective-C: An Introduction (pt 1) Tennessee Valley Apple Developers Saturday CodeJam July 24, 2010 August 7, 2010 What is Objective-C? Objective-C is an object-oriented programming language that adds

More information

Types of Views. View category Purpose Examples of views. Display a particular type of content, such as an image or text.

Types of Views. View category Purpose Examples of views. Display a particular type of content, such as an image or text. ios UI Components Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Types of Views View

More information

Note: For each partner service, there is a specific technical note on the procedure to follow. This is only general information.

Note: For each partner service, there is a specific technical note on the procedure to follow. This is only general information. Cloud Partner Services General information By establishing the HCA Cloud, it becomes possible for HCA to partner with other companies and integrate their products into your HCA design. Unlike older products,

More information

ios Mobile Development

ios Mobile Development ios Mobile Development Today UITextView Scrollable, editable/selectable view of a mutable attributed string. View Controller Lifecycle Finding out what s happening as a VC is created, hooked up to the

More information

THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS

THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS THOMAS LATOZA SWE 621 FALL 2018 DESIGN PATTERNS LOGISTICS HW3 due today HW4 due in two weeks 2 IN CLASS EXERCISE What's a software design problem you've solved from an idea you learned from someone else?

More information

Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer. White Paper

Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer. White Paper Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer White Paper Contents 3 Background 3 AirPrint Basics Step 1: Device Discovery Apple Bonjour 3 Step 2: Device Information and Status

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Emergency safety apps: which one is right for me?

Emergency safety apps: which one is right for me? WESNET The Women s Services Network Emergency safety apps: which one is right for me? There are many emergency safety apps for smartphones and wearable devices (sometimes also called personal safety alarms)

More information

Online Banking Initial Log In Instructions. Go to and enter your username: Ex JaneDoe

Online Banking Initial Log In Instructions. Go to   and enter your username: Ex JaneDoe Online Banking Initial Log In Instructions Go to www.riverbankandtrust.com and enter your username: Ex JaneDoe 1 Step 1: Enter your existing login ID: Step 2: Enter security code: username + last 4 of

More information

CS193P: HelloPoly Walkthrough

CS193P: HelloPoly Walkthrough CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,

More information

Beacon Office. User Manual. Radianta Inc. Version - 2.5(1)

Beacon Office. User Manual. Radianta Inc. Version - 2.5(1) Beacon Office User Manual Version - 2.5(1) Radianta Inc. September 2008 Radianta, Inc. Beacon Office Page 2 Table of Contents Introduction... 3 What is Beacon Office... 3 How to Use This Guide... 3 Conventions...

More information

GETTING STARTED INTRODUCTION TO THE APP DETAILED SCREEN 3 FAQ INFORMATION. GrindCare App STEP-BY-STEP GUIDE

GETTING STARTED INTRODUCTION TO THE APP DETAILED SCREEN 3 FAQ INFORMATION. GrindCare App STEP-BY-STEP GUIDE GrindCare App STEP-BY-STEP GUIDE . TO THE GRINDCARE APP The Butler GrindCare Device (GrindCare ) monitors and records your teeth grinding or clenching activity throughout the night. THE GRINDCARE APP IS

More information

My Support App Getting started guide

My Support App Getting started guide My Support App Getting started guide integratedliving s My Support App adds a new way for customers, their family members and staff to communicate with one another. The My Support App makes it easier for

More information

John Ray. Sams Teach Yourself. iphone. Application Development. Second Edition. S^/MS 800 East 96th Street, Indianapolis, Indiana, USA

John Ray. Sams Teach Yourself. iphone. Application Development. Second Edition. S^/MS 800 East 96th Street, Indianapolis, Indiana, USA John Ray Sams Teach Yourself iphone Application Development Second Edition S^/MS 800 East 96th Street, Indianapolis, Indiana, 46240 USA Table of Contents Introduction 1 Who Can Become an iphone Developer?

More information

Model-View-Controller

Model-View-Controller CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns

More information

Managing Apps and Notifications

Managing Apps and Notifications ipad Basics Managing Apps and Notifications Managing Apps and Notifications As you collect more and more apps (including those that are builtin, and those that you download from the App Store), you might

More information

Enabling Apple AirPrint with Your Xerox ConnectKey Device

Enabling Apple AirPrint with Your Xerox ConnectKey Device Enabling Apple AirPrint with Your Xerox ConnectKey Device 1 Background Apple AirPrint is a printing technology introduced with ios version 4.2 in November of 2010. It enables Apple ios devices including

More information

ACTION. to join in. This STEP Profile > My. You can a. USE Adobe. Note:

ACTION. to join in. This STEP Profile > My. You can a. USE Adobe. Note: USE R GUIDE Adobe Connect Direct Event Audio Controls Guide for Hostss Direct Event Audio Conferencing is an integrated audio conferencing which provides streamlined conference entry on event calls byy

More information

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015 Stanford CS193p Developing Applications for ios Today UITextField Bonus Topic! Table View A UIView for displaying long lists or tables of data UITextField Like UILabel, but editable Typing things in on

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Computer Architecture Review CS 595

Computer Architecture Review CS 595 Computer Architecture Review CS 595 1 The von Neumann Model Von Neumann (1946) proposed that a fundamental model of a computer should include 5 primary components: Memory Processing Unit Input Device(s)

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

IP Protocols. ALTTC/Oct

IP Protocols. ALTTC/Oct IP Protocols Internet or IP technology over the years has emerged as the most prominent data communication technology. TCP/IP protocol has become de-facto data comm standard throughout the world. It can

More information

ipad Training Field Management

ipad Training Field Management ipad Training Field Management ipad User Guide ipad Training Topics Overview Navigation Connectivity Field Apps Tips and Tricks Contacts FaceTime icloud imessage Email Safari Calendar Camera 2 Overview

More information

isolve page launches with a Single-Sign-On, so you don't need to enter a separate password

isolve page launches with a Single-Sign-On, so you don't need to enter a separate password USER MANUAL Introduction Welcome to Celebrating You!!!! Celebrating You allows you to recognize your people in a simple way using Recognition portal. The user interfaces on the portal have been designed

More information

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS.

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS. A distributed system is... Distributed Systems "one on which I cannot get any work done because some machine I have never heard of has crashed". Loosely-coupled network connection could be different OSs,

More information

Small talk with the UI thread. Landon Cox March 9, 2017

Small talk with the UI thread. Landon Cox March 9, 2017 Small talk with the UI thread Landon Cox March 9, 2017 Android threads Thread: a sequence of executing instructions Every app has a main thread Processes UI events (taps, swipes, etc.) Updates the UI Apps

More information

Configuring WO Automation for Radio for TuneGenie

Configuring WO Automation for Radio for TuneGenie Configuring WO Automation for Radio for TuneGenie As WO Automation for Radio events fire, XML data is published through Device Server through a configured TCP port. First create the Device Server TCP Port,

More information

CardNav by CO-OP 3.0. Quick Reference Guide. CO-OP Financial Services

CardNav by CO-OP 3.0. Quick Reference Guide. CO-OP Financial Services CardNav by CO-OP 3.0 Quick Reference Guide CO-OP Financial Services TABLE OF CONTENTS Getting Started Installing and Upgrading Contents Logging in to the App Navigating the App Viewing Card Information

More information

S A M P L E C H A P T E R

S A M P L E C H A P T E R SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your

More information

Understanding Events in C#

Understanding Events in C# Understanding Events in C# Introduction Events are one of the core and important concepts of C#.Net Programming environment and frankly speaking sometimes it s hard to understand them without proper explanation

More information

RightNow eservice Center 5.5 New Administrator s Survival Guide

RightNow eservice Center 5.5 New Administrator s Survival Guide RightNow eservice Center 5.5 New Administrator s Survival Guide Table of Contents You may click on each line below to go to that section of this document. OVERVIEW...3 HELPFUL RESOURCES...4 GAINING FAMILIARITY

More information

User Interface Design: Principles, Fitts' Law. 15 January 2009 CMPT370 Dr. Sean Ho Trinity Western University

User Interface Design: Principles, Fitts' Law. 15 January 2009 CMPT370 Dr. Sean Ho Trinity Western University User Interface Design: Principles, Fitts' Law 15 January 2009 CMPT370 Dr. Sean Ho Trinity Western University Fluid and C++ program design Two ways of structuring your FLTK program: BankInterest example:

More information

Hallo iphone Edition User Guide

Hallo iphone Edition User Guide Hallo iphone Edition User Guide 1 About Hallo iphone Edition Hallo iphone Edition is a SIP-based phone for the Apple iphone mobile digital device. With Hallo iphone Edition (Hallo), you can use the Wi-Fi

More information

Key Value Observing (KVO) CPRE 388

Key Value Observing (KVO) CPRE 388 Key Value Observing (KVO) CPRE 388 MyObservedClass MyObserving Class Observed Property P Observer Callback Method Key Value Observing KVO is a mechanism that allows objects to be notified of changes to

More information

ITP 342 Mobile App Dev. Interface Builder in Xcode

ITP 342 Mobile App Dev. Interface Builder in Xcode ITP 342 Mobile App Dev Interface Builder in Xcode New Project From the Main Menu, select the File à New à Project option For the template, make sure Application is selected under ios on the left-hand side

More information

Modern User Interaction on ios

Modern User Interaction on ios App Frameworks #WWDC17 Modern User Interaction on ios Mastering the UIKit UIGesture System Session 219 Dominik Wagner, UIKit Engineer Michael Turner, UIKit Engineer Glen Low, UIKit Engineer 2017 Apple

More information

Introduction to Z-Wave SmartStart. Whitepaper

Introduction to Z-Wave SmartStart. Whitepaper Introduction to Z-Wave SmartStart Whitepaper TABLE OF CONTENTS Summary... 3 Abbreviations and Terminology... 3 Z-Wave SmartStart under the Hood... 5 Improved Inclusion Process...5 QR Data Structure...7

More information

Amp Server and Amp Server Pro SDK

Amp Server and Amp Server Pro SDK Amp Server Pro SDK 2.1 Users Guide (20151203) BEFORE USING THIS PRODUCT, READ, UNDERSTAND, AND AGREE TO ALL TERMS, DISCLAIMERS, AND LICENSING AGREEMENTS. The use of any EGI product (device or software)

More information

MOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface?

MOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface? MOBILE COMPUTING CSE 40814/60814 Spring 2018 How many of you have implemented a command-line user interface? How many of you have implemented a graphical user interface? HTML/CSS Java Swing.NET Framework

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

LESSON 13: LANGUAGE TRANSLATION

LESSON 13: LANGUAGE TRANSLATION LESSON 13: LANGUAGE TRANSLATION Objective Interpreters and Compilers. Language Translation Phases. Interpreters and Compilers A COMPILER is a program that translates a complete source program into machine

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

Development of Auto-Notification Application for Mobile Device using Geofencing Technique

Development of Auto-Notification Application for Mobile Device using Geofencing Technique Development of Auto-Notification Application for Mobile Device using Geofencing Technique Development of Auto-Notification Application for Mobile Device using Geofencing Technique M. S. I. M. Zin, M. A.

More information

Contact: Wealth Passport Help Center

Contact: Wealth Passport Help Center Wealth Passport Mobile Version 1.0 Getting Started Guide Contact: Wealth Passport Help Center 888-635-5350 1 DOWNLOADING THE WEALTH PASSPORT APP iphone Download 1. Open the Apple App Store app on your

More information

Understading Refactorings

Understading Refactorings Understading Refactorings Ricardo Terra terra@dcc.ufmg.br Marco Túlio Valente mtov@dcc.ufmg.br UFMG, 2010 UFMG, 2010 Understanding Refactorings 1 / 36 Agenda 1 Overview 2 Refactoring 3 Final Considerations

More information

MVC / MVP Mei Nagappan

MVC / MVP Mei Nagappan Material and some slide content from: - Krzysztof Czarnecki - Ian Sommerville - Reid Holmes - Head First Design Patterns MVC / MVP Mei Nagappan [Image from: http://merroun.wordpress.com/2012/03/28/mvvm-mvp-and-mvc-software-patterns-againts-3-layered-architecture/

More information

Simple Paging Start-Up Guide

Simple Paging Start-Up Guide Simple Paging Start-Up Guide About the Barix Simple Paging Solution The Barix Simple Paging solution is based on a number of Barix devices that come ready to use, enabling to you setup a paging system

More information