Page 1. GUI Programming. Lecture 13: iphone Basics. iphone. iphone

Size: px
Start display at page:

Download "Page 1. GUI Programming. Lecture 13: iphone Basics. iphone. iphone"

Transcription

1 GUI Programming Lecture 13: iphone Basics Until now, we have only seen code for standard GUIs for standard WIMP interfaces. Today we ll look at some code for programming mobile devices. on the surface, the code looks VERY different deep down, though, we ll see many of the same concepts at work CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 1 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 2 iphone In 4Q 2010, the Apple iphone had a worldwide market share of only 4% but accounted for 50% of the industry s profits!! iphone iphone apps, via the App Store, dominate the landscape for mobile apps 82% share in ,000 total apps 23,000 new developers in the last 6 months Other platforms, especially Android, are gaining on the iphone. But we ll focus on #1 today. Caveat: I m new to iphone development, so take all this with a grain of salt. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 3 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 4 Page 1

2 iphone Development Language: Devices: iphone + ipad IDE: Xcode, Interface Builder, ios simulator only available on the Mac It s free to develop with Xcode using only the ios simulator. To install an app on a real device, however, you ll need to part of the Apple developer program. An object-oriented extension to C in fact, a strict superset of C: any C program can be compiled as Based on message passing the program doesn t call a method ; it sends a message C-style pointers are everywhere Java also uses pointers everywhere, but you never see them here they re exposed and used heavily CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 5 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 6 code examples derived from wikipedia Interface defined a *.h (header) classname : superclassname { // instance variables + (returntype) classmethod2; + (returntype) classmethod3 : (param1type) param1; - (returntype) instancemethod1 : (param1type) param1 andother: (param2type) param2; - (returntype) instancemethod2withparameter: (param1type) param1 Implementation defined in *.m classname + (returntype) classmethod { // implementation - (returntype) instancemethod { // CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 7 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 8 Page 2

3 Example: Book : NSObject { NSString *title; NSString *author; NSString *year; NSString (nonatomic, retain) NSString (nonatomic, retain) NSString (nonatomic, retain) NSString (nonatomic, retain) NSString Top-level generic object String object defines basic methods Example: title, author, year, publisher; - (void) dealloc { [title release]; [author release]; [year release]; [publisher release]; [super Implements basic methods Huh?? CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 9 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 10 Memory allocation & pointers Java allocates memory with: new Object() and frees this memory whenever you re done: Garbage Collection you never need to worry about memory makes you worry about this. We ll only worry a little in this lecture. If you do this for a living, you ll worry a lot more. Pointers & allocation Book *book = [[Book alloc] init]; Deallocation of memory the system maintains an internal counter that tracks references (pointers) to objects [object retain] // increments the counter by 1 [object release] // decrements the counter by 1 // if the counter hits 0, the object is deallocated CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 11 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 12 Page 3

4 A First App As an exercise, let s implement an app that provides (more or less) the same functionality as your first Swing assignment. BookLogger: maintain a list of books add new books edit existing books delete books Then we ll extend this a little to take advantage of the iphone s unique components. Tools Xcode IDE: editor, compiler, debugger Interface Builder a GUI-style way to specify interfaces ios Simulator runs your app in simulation no iphone needed CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 13 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 14 Paradigm: MVC Xcode: Create the Project Model, View, Controller (MVC) is critical model, as you know, is the core data for the components view can be specified in Interface Builder controllers implemented in Xcode and can be associated with views and models either through Interface Builder, or through raw code CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 15 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 16 Page 4

5 Xcode: Create the Project IB: Edit MainWindow.xib CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 17 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 18 Interface Builder Drag-and-drop (a lot of) components Xcode Specify classes that implement the view/ controllers #import books; - (void)viewdidload { [super viewdidload]; self.title - (void)viewwillappear:(bool)animated { [self.tableview reloaddata]; CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 19 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 20 Page 5

6 IB ß à Xcode Can associate IB elements with their respective implementations associate element and class IB ß à Xcode Can associate IB elements with their respective implementations associate element and variable CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 21 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 22 RootViewController.h RootViewController.m CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 23 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 24 Page 6

7 RootViewController.m RootViewController.m CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 25 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 26 DetailViewController.xib DetailViewController.h CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 27 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 28 Page 7

8 DetailViewController.m AddViewController.h CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 29 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 30 AddViewController.m An Augmented Version Up to here, we ve just implemented a skeletal version of Assignment 1. Now let s take advantage of something more unique to the iphone namely, easy inclusion of its mobile web browser (UIWebView) CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 31 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 32 Page 8

9 BuyViewController.h BuyViewController.m CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 33 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 34 An Augmented Version The easy-buy-it feature Deployment Submitting to the App Store Apple controls what s on the App Store, and therefore what s on (most) people s iphones Reasons for rejecting apps (from 10base-t.com) Vibration. It is not permitted to use continuous vibration in your apps short bursts as warnings is all that is allowed. Improper handling of editing in tableview cells. If you enable table cell editing, you ll have to manually specify which cells should respond to editing controls and which should not. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 35 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 36 Page 9

10 Deployment Reasons for rejecting apps (cont.) Icons. Make sure the 57 pixel icon is identical to the 512 pixel version. Also, use a different icon if you are creating lite and pro versions of your app (i.e., free and paid). Copying existing functionality. This one is much more subtle and insidious, and has probably affected the great percentage of developers. Apple is casting a wide net when looking for duplicated functionality. Mini web browsers, or apps that essentially show web pages, seem particularly vulnerable, even if they add new and/or useful functionality. Stay away from clients as well. Deployment Reasons for rejecting apps (cont.) Using appropriate keyboard type. If your app asks for a phone number or other numeral-only input and you present a keyboard that also includes the possibility of entering alpha-numeric input. Version numbers. Must be Using Apple s graphics in your own apps. We ve heard of projects being rejected for using the Bonjour logo, as well as Apple s network icon (the little picture of the globe with all the glowing lines), and others. Even if you use Apple s button images you may tempt fate if you use them in any way that is at odds with how Apple uses them. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 37 CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 38 Deployment Reasons for rejecting apps (cont.) Network reachability. If your app uses a network connection, it is YOUR responsibility to tell the user if and when their device loses its network connection. Offensive language from your users. If your app has an interactive component that lets users post text, or if your app pulls user-generated content from the internet, it is YOUR responsibility to censor the language. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 39 Page 10

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

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

More information

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department pmadden@acm.org http://optimal.cs.binghamton.edu General Outline Overview of the tools, and where to get more information

More information

My First iphone App. 1. Tutorial Overview

My First iphone App. 1. Tutorial Overview My First iphone App 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button. You can type your name

More information

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before

More information

ios: Objective-C Primer

ios: Objective-C Primer ios: Objective-C Primer Jp LaFond Jp.LaFond+e76@gmail.com TF, CS76 Announcements n-puzzle feedback this week (if not already returned) ios Setup project released Android Student Choice project due Tonight

More information

My First iphone App (for Xcode version 6.4)

My First iphone App (for Xcode version 6.4) My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button

More information

Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc.

Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc. Intro to Native ios Development Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (20 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Wunder

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

Hello! ios Development

Hello! ios Development SAMPLE CHAPTER Hello! ios Development by Lou Franco Eitan Mendelowitz Chapter 1 Copyright 2013 Manning Publications Brief contents PART 1 HELLO! IPHONE 1 1 Hello! iphone 3 2 Thinking like an iphone developer

More information

Page 1. Human-computer interaction. Lecture 2: Design & Implementation. Building user interfaces. Users and limitations

Page 1. Human-computer interaction. Lecture 2: Design & Implementation. Building user interfaces. Users and limitations Human-computer interaction Lecture 2: Design & Implementation Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use and

More information

ITP 342 Advanced Mobile App Dev. Memory

ITP 342 Advanced Mobile App Dev. Memory ITP 342 Advanced Mobile App Dev Memory Memory Management Objective-C provides two methods of application memory management. 1. In the method described in this guide, referred to as manual retain-release

More information

Page 1. Human-computer interaction. Lecture 1b: Design & Implementation. Building user interfaces. Mental & implementation models

Page 1. Human-computer interaction. Lecture 1b: Design & Implementation. Building user interfaces. Mental & implementation models Human-computer interaction Lecture 1b: Design & Implementation Human-computer interaction is a discipline concerned with the design, implementation, and evaluation of interactive systems for human use

More information

Integrating Game Center into a BuzzTouch 1.5 app

Integrating Game Center into a BuzzTouch 1.5 app into a BuzzTouch 1.5 app This tutorial assumes you have created your app and downloaded the source code; created an App ID in the ios Provisioning Portal, and registered your app in itunes Connect. Step

More information

Object-Oriented Programming in Objective-C

Object-Oriented Programming in Objective-C In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind

More information

ITP 342 Mobile App Dev. Table Views

ITP 342 Mobile App Dev. Table Views ITP 342 Mobile App Dev Table Views Table Views The most common mechanism used to display lists of data to the user Highly configurable objects that can be made to look practically any way you want them

More information

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties CS193P - Lecture 3 iphone Application Development Custom Classes Object Lifecycle Autorelease Properties 1 Announcements Assignments 1A and 1B due Wednesday 1/13 at 11:59 PM Enrolled Stanford students

More information

Beginning Mac Programming

Beginning Mac Programming Extracted from: Beginning Mac Programming Develop with Objective-C and Cocoa This PDF file contains pages extracted from Beginning Mac Programming, published by the Pragmatic Bookshelf. For more information

More information

Cocoa Programming A Quick-Start Guide for Developers

Cocoa Programming A Quick-Start Guide for Developers Extracted from: Cocoa Programming A Quick-Start Guide for Developers This PDF file contains pages extracted from Cocoa Programming, published by the Pragmatic Bookshelf. For more information or to purchase

More information

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net OVERVIEW Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net Microsoft MVP for 4 years C#, WinForms, WPF, Silverlight Joined Cynergy about

More information

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

More information

Introduction to Cocoa Programming

Introduction to Cocoa Programming Introduction to Cocoa Programming Dr. Ken Tabb Computer Science Dept. University of Hertfordshire Agenda Brief history of Cocoa Apple s free Developer Tools - Xcode - Interface Builder Cocoa programming

More information

View Controller Lifecycle

View Controller Lifecycle View Controller Lifecycle View Controllers have a Lifecycle A sequence of messages is sent to them as they progress through it Why does this matter? You very commonly override these methods to do certain

More information

IPHONE DEVELOPMENT. Getting Started with the iphone SDK

IPHONE DEVELOPMENT. Getting Started with the iphone SDK IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language

More information

ITP 342 Mobile App Dev. Connections

ITP 342 Mobile App Dev. Connections ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as

More information

Create and edit word processing. Pages.

Create and edit word processing. Pages. Create and edit word processing documents with Pages. In this chapter, we begin to get work done on the ipad by using Pages to create and format documents. Creating a New Document Styling and Formatting

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

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding CS193E Lecture 7 Document-based Applications NSTableView Key-Value Coding Agenda Questions? Review: delegates, MVC Document-based apps Table views Key Value Coding Model, View, Controller Controller Model

More information

Principles of Programming Languages. Objective-C. Joris Kluivers

Principles of Programming Languages. Objective-C. Joris Kluivers Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...

More information

My First Cocoa Program

My First Cocoa Program My First Cocoa Program 1. Tutorial Overview In this tutorial, you re going to create a very simple Cocoa application for the Mac. Unlike a line-command program, a Cocoa program uses a graphical window

More information

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case)

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case) Design Phase Create a class Person Determine the superclass NSObject (in this case) 8 Design Phase Create a class Person Determine the superclass NSObject (in this case) What properties should it have?

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum Entwicklung von Mediensystemen mit Praktikum Entwicklung von Mediensystemen mit Sommersemester 2013 Fabius Steinberger, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6 ECTS

More information

Xcode Tricks. ios App Development Fall 2010 Lecture 13

Xcode Tricks. ios App Development Fall 2010 Lecture 13 Xcode Tricks ios App Development Fall 2010 Lecture 13 Questions? Announcements Reminder: Assignment #3 due Monday, October 18 th by 11:59pm Today s Topics Building & Running Code Troubleshooting Debugging

More information

Xcode and Swift CS 4720 Mobile Application Development

Xcode and Swift CS 4720 Mobile Application Development Xcode and Swift Mobile Application Development Why Java for Android? Let s first recap: why do you think Android uses Java? 2 Why Java for Android? Some good reasons: You can t find a CS major that doesn

More information

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin 1 Legal Info iphone is a trademark of Apple Inc. Servin is a trademark of Servin Corporation 2 Welcome Welcome! Thank you! My promise

More information

Mobile Apps 2010 iphone and Android

Mobile Apps 2010 iphone and Android Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1 Legal Info

More information

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa

More information

ITP 342 Mobile App Dev. Unit Testing

ITP 342 Mobile App Dev. Unit Testing ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your

More information

CS 47. Beginning iphone Application Development

CS 47. Beginning iphone Application Development CS 47 Beginning iphone Application Development Introductions Who, why, which? Shameless Plug: LoudTap Wifi Access (If it works..) SSID: Stanford Username/password: csp47guest Expectations This is a programming

More information

Manual Allocation. CS 1622: Garbage Collection. Example 1. Memory Leaks. Example 3. Example 2 11/26/2012. Jonathan Misurda

Manual Allocation. CS 1622: Garbage Collection. Example 1. Memory Leaks. Example 3. Example 2 11/26/2012. Jonathan Misurda Manual llocation Dynamic memory allocation is an obvious necessity in a programming environment. S 1622: Garbage ollection Many programming languages expose some functions or keywords to manage runtime

More information

IPHONE. Development Jump Start. phil nash levelofindirection.com

IPHONE. Development Jump Start. phil nash levelofindirection.com IPHONE Development Jump Start phil nash levelofindirection.com Who? been in a professional developer for the last 18 years - mostly windows - c++, c#, Java, Python etc - then, Aug 2008, decided to write

More information

Welcome to Introduction to Microsoft Excel 2010

Welcome to Introduction to Microsoft Excel 2010 Welcome to Introduction to Microsoft Excel 2010 2 Introduction to Excel 2010 What is Microsoft Office Excel 2010? Microsoft Office Excel is a powerful and easy-to-use spreadsheet application. If you are

More information

ios Developer s Guide Version 1.0

ios Developer s Guide Version 1.0 HealthyFROGS ios Developer s Guide ios Developer s Guide Version 1.0 Tuesday May 7, 2013 2012-2013 Computer Science Department, Texas Christian University - All Rights Reserved HealthyFROGS ios Developer

More information

iphone SDK Development

iphone SDK Development Extracted from: iphone SDK Development Building iphone Applications This PDF file contains pages extracted from iphone SDK Development, published by the Pragmatic Bookshelf. For more information or to

More information

CSE 438: Mobile Application Development Lab 2: Virtual Pet App

CSE 438: Mobile Application Development Lab 2: Virtual Pet App CSE 438: Mobile Application Development Lab 2: Virtual Pet App Overview In this lab, you will create an app to take care of your very own virtual pets! The app will only have one screen and simple logic,

More information

Assignment II: Foundation Calculator

Assignment II: Foundation Calculator Assignment II: Foundation Calculator Objective The goal of this assignment is to extend the CalculatorBrain from last week to allow inputting variables into the expression the user is typing into the calculator.

More information

Dreamweaver 101. Here s the desktop icon for Dreamweaver CS5: Click it open. From the top menu options, choose Site and New Site

Dreamweaver 101. Here s the desktop icon for Dreamweaver CS5: Click it open. From the top menu options, choose Site and New Site Dreamweaver 101 First step: For your first time out, create a folder on your desktop to contain all of your DW pages and assets (images, audio files, etc.). Name it. For demonstration, I ll name mine dw_magic.

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

21 keyboard shortcuts Mac users need to know - Computerworld

21 keyboard shortcuts Mac users need to know - Computerworld 21 keyboard shortcuts Mac users need to know - Computerworld This collection of keyboard shortcuts for macos can users get the most from their imacs, MacBook Pro and MacBook laptops. I m sure most Mac

More information

Learn to make desktop LE

Learn to make desktop LE HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make desktop LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Storm Viewer Get started coding in Swift by making an image viewer

More information

HCI FOR IPHONE. Veronika Irvine PhD Student, VisID lab University of Victoria

HCI FOR IPHONE. Veronika Irvine PhD Student, VisID lab University of Victoria HCI FOR IPHONE Veronika Irvine PhD Student, VisID lab University of Victoria Technologies of the Decade http://spectrum.ieee.org/static/special-report-top-11-technologies-of-the-decade No. 1 Smart Phones

More information

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013 Setting Up Your ios Development Environment For Mac OS X (Mountain Lion) v1.0 By GoNorthWest 5 February 2013 Setting up the Apple ios development environment, which consists of Xcode and the ios SDK (Software

More information

Assignment III: Graphing Calculator

Assignment III: Graphing Calculator Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator. By doing this, you will gain

More information

iphone Application Tutorial

iphone Application Tutorial iphone Application Tutorial 2008-06-09 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any

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

Your First iphone OS Application

Your First iphone OS Application Your First iphone OS Application General 2010-03-15 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form

More information

Objective-C and COCOA Applications

Objective-C and COCOA Applications Objective-C and COCOA Applications Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Overview X-Code IDE Basics Objective-C Classes Methods Invocations Important Types Memory Management Protocols Exceptions

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

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials 1Hello ios! Hello and welcome to the exciting world of ios application development. ios is Apple s operating system for mobile devices; the current version as of writing this book is 5.0. It was originally

More information

A Vertical Slider for iphone

A Vertical Slider for iphone A Vertical Slider for iphone The UISlider control offers a way to continuously get values from the user within a range of set values. In the Interface Builder library of controls, there is only a horizontal

More information

stanford hci group / cs376 UI Software Tools Scott Klemmer 14 October research topics in human-computer interaction

stanford hci group / cs376 UI Software Tools Scott Klemmer 14 October research topics in human-computer interaction stanford hci group / cs376 UI Software Tools Scott Klemmer 14 October 2004 research topics in human-computer interaction http://cs376.stanford.edu cs547 tomorrow: Scott Snibbe Body, Space, and Cinema 2

More information

Using Microsoft Excel

Using Microsoft Excel About Excel Using Microsoft Excel What is a Spreadsheet? Microsoft Excel is a program that s used for creating spreadsheets. So what is a spreadsheet? Before personal computers were common, spreadsheet

More information

Designing iphone Applications

Designing iphone Applications Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content

More information

Your First iphone Application

Your First iphone Application Your First iphone Application General 2009-01-06 Apple Inc. 2009 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form

More information

These are exciting times for Macintosh users. When Apple unleashed Mac

These are exciting times for Macintosh users. When Apple unleashed Mac Chapter 1 A Brief Tour of Cocoa Development In This Chapter Programming for Mac OS X Discovering the Cocoa development process Exploring the tools for programming Cocoa applications These are exciting

More information

Basics of Adobe Premiere

Basics of Adobe Premiere Basics of Adobe Premiere Getting started: The first thing you ll see when you open Adobe Premiere is a window asking to open a project or start a new one. Let s start a new one. (Images from CS6 version,

More information

Chapter 1 HMSL on the Macintosh

Chapter 1 HMSL on the Macintosh Chapter 1 HMSL on the Macintosh HMSL is a programming language for experimental music. It is available on the Macintosh and Amiga computers. The language is primarily host independant. That means that

More information

Announcement. Final Project Proposal Presentations and Updates

Announcement. Final Project Proposal Presentations and Updates Announcement Start Final Project Pitches on Wednesday Presentation slides dues by Tuesday at 11:59 PM Email slides to cse438ta@gmail.com Extensible Networking Platform 1 1 - CSE 438 Mobile Application

More information

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5 C++ Data Types Contents 1 Simple C++ Data Types 2 2 Quick Note About Representations 3 3 Numeric Types 4 3.1 Integers (whole numbers)............................................ 4 3.2 Decimal Numbers.................................................

More information

CS193p Spring 2010 Wednesday, March 31, 2010

CS193p Spring 2010 Wednesday, March 31, 2010 CS193p Spring 2010 Logistics Lectures Building 260 (History Corner) Room 034 Monday & Wednesday 4:15pm - 5:30pm Office Hours TBD Homework 7 Weekly Assignments Assigned on Wednesdays (often will be multiweek

More information

CS61C : Machine Structures

CS61C : Machine Structures inst.eecs.berkeley.edu/~cs61c/su06 CS61C : Machine Structures Lecture #6: Memory Management CS 61C L06 Memory Management (1) 2006-07-05 Andy Carle Memory Management (1/2) Variable declaration allocates

More information

Verbatim Store n Go. USB 3.0/Lightning USB Drive

Verbatim Store n Go. USB 3.0/Lightning USB Drive Verbatim Store n Go USB 3.0/Lightning USB Drive Downloading the app Plug the Store n Go into the lightning port of your idevice and you will be directed to the app store Opening the app App contains easy

More information

boolean add(e e); // Makes the collection contain e. // Returns true if e not already there.

boolean add(e e); // Makes the collection contain e. // Returns true if e not already there. 1 1. (a) The Java collections classes includes the generic interface Collection for collections with element type E, which the collection classes implement. This includes the following method: boolean

More information

Lesson 1 Computers and Operating Systems

Lesson 1 Computers and Operating Systems Computers and Operating Systems Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition 1 About the Presentations The presentations cover the objectives found in the opening of each lesson.

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

Welcome to the ultimate TV experience

Welcome to the ultimate TV experience Welcome to the ultimate TV experience Get to know your TiVo from Click! Cable TV RECORD 6 HD SHOWS AT ONCE STORE UP TO 1,000 HOURS up to 150 HD hours or 1,000 SD hours (1 Terabyte) START HERE with TiVo

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming In C++ classes provide the functionality necessary to use object-oriented programming OOP is a particular way of organizing computer programs It doesn t allow you to do anything

More information

DME completely secures the business data on your device so if you lose it or it is stolen, you can be certain that nobody can get to your data.

DME completely secures the business data on your device so if you lose it or it is stolen, you can be certain that nobody can get to your data. WELCOME TO DME BY EXCITOR! DME helps you stay connected with your corporate e-mail, calendar, and contacts any time. What you see on your ios device is what you have on your desktop or laptop computer

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

Cabbie s Mate ios iphone-ipad Apps trouble shooting and Previously Asked Questions INDEX

Cabbie s Mate ios iphone-ipad Apps trouble shooting and Previously Asked Questions INDEX Cabbie s Mate ios iphone-ipad Apps trouble shooting and Previously Asked Questions This was page updated on 21 st December 2017 INDEX 1. I already have the 2012-13 and/or 2013-14 Cabbie s Mate apps, will

More information

Functional Reactive Programming on ios

Functional Reactive Programming on ios Functional Reactive Programming on ios Functional reactive programming introduction using ReactiveCocoa Ash Furrow This book is for sale at http://leanpub.com/iosfrp This version was published on 2016-05-28

More information

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter HKUST CSIT 6910A Report Student: Supervisor: Prof. David Rossiter Table of Contents I. Introduction 1 1.1 Overview 1 1.2 Objective 1 II. Preparation 2 2.1 ios SDK & Xcode IDE 2 2.2 Wireless LAN Network

More information

1Password for Mac. by Marcia Bolsinga for AshMUG 1/12/2019

1Password for Mac. by Marcia Bolsinga for AshMUG 1/12/2019 Why do we need passwords? First of all - why passwords? Passwords are one of the Primary Pain Points in our modern digital existence. Despite all the advances of our modern technology, we haven t managed

More information

Contents at a Glance

Contents at a Glance For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...

More information

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code

More information

CS 103 Lab - Party Like A Char Star

CS 103 Lab - Party Like A Char Star 1 Introduction In this lab you will implement a "hangman" game where the user is shown blanks representing letter of a word and then tries to guess and fill in the letters with a limited number of guesses.

More information

i>clicker GO Student Manual

i>clicker GO Student Manual i>clicker GO Student Manual Contents Purchasing & First Login... 1 Creating a New Account... 2 Initial Setup... 2 First Login... 3 Subscriptions... 3 Entering a Code... 4 Purchasing Online... 4 Installation

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

ITP 342 Mobile App Dev. Fundamentals

ITP 342 Mobile App Dev. Fundamentals ITP 342 Mobile App Dev Fundamentals Objective-C Classes Encapsulate data with the methods that operate on that data An object is a runtime instance of a class Contains its own in-memory copy of the instance

More information

Objective-C. Stanford CS193p Fall 2013

Objective-C. Stanford CS193p Fall 2013 New language to learn! Strict superset of C Adds syntax for classes, methods, etc. A few things to think differently about (e.g. properties, dynamic binding) Most important concept to understand today:

More information

Apple Development Technology Workshops

Apple Development Technology Workshops Apple Development Technology Workshops Workshop 10 Table Views Building iphone Apps. Pt 2 Fall 2008 Hafez Rouzati Fall 2008 Zach Pousman Last Week UIViewControllers Organizing Content & Building iphone

More information

CTRADER QUICKFX TERMINAL

CTRADER QUICKFX TERMINAL CTRADER QUICKFX TERMINAL Version 1.0.0 Why not experience trading at an advanced level on one of the world's most popular trading platforms with ctrader, while taking advantage of ClickAlgo's trader-centric

More information

Seng310 Lecture 8. Prototyping

Seng310 Lecture 8. Prototyping Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June

More information

Triggertrap Timelapse Pro User Manual for ios Version 1.2.1

Triggertrap Timelapse Pro User Manual for ios Version 1.2.1 Triggertrap Timelapse Pro User Manual for ios Version 1.2.1 Updated: 12 June 2015 Table of Contents Introduction...3 Compatible Devices...3 What do I need to use Timelapse Pro?... 4 Timelapse Pro app...4

More information

Registering for the Apple Developer Program

Registering for the Apple Developer Program It isn t necessary to be a member of the Apple Developer Program if you don t intend to submit apps to the App Stores, or don t need the cloud-dependent features. We strongly recommend joining, though,

More information

Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple

Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple Free Facetime Video Call Chat Review: What Happens in Apple Stays in Apple What do you know about millennials or Generation Y? According to Urban Dictionary, millennials are people born between 1981-1991.

More information

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management CS193E Lecture #3 Categories and Protocols Cocoa Memory Management Winter 2008, Dempsey/Marcos 1 Today s Topics Questions from Assignment 1A or 1B? Categories Protocols Cocoa Memory Management Object life

More information

MSP Yearbooks Quoting App Quick Start Guide

MSP Yearbooks Quoting App Quick Start Guide MSP Yearbooks Quoting App Quick Start Guide September 2015 Contents Quick Start Guide 1 Introduction 1.1 Welcome to MSP Yearbooks 1 1.2 Help at your fingertips 1 2 Before you start... 2.1 Activate your

More information

Introduction... 1 Part I: Getting Started... 7

Introduction... 1 Part I: Getting Started... 7 Contents at a Glance Introduction... 1 Part I: Getting Started... 7 Chapter 1: Creating Killer iphone Applications...9 Chapter 2: Looking Behind the Screen...25 Chapter 3: Enlisting in the Developer Corps...43

More information

Remote Access Instructions. remote.gpmlaw.com

Remote Access Instructions. remote.gpmlaw.com Remote Access Instructions Citrix XenApp 7.8 is the mostly widely-used solution to provide remote access to users while working out of the office. This latest version is more secure and optimized for a

More information