Download presentation
Presentation is loading. Please wait.
1
UMSI 363 Nancy A. Benovich Gilby
Busting Myths and Pursuing Information Innovations with Mobile Apps in SWIFT Week 2 Nancy A. Benovich Gilby Ehrenberg Director of Entrepreneurship Clinical Associate Professor University of Michigan School of Information
2
MYTH #2 Only innovations in for-profit, high tech or bio-tech are considered to be “entrepreneurial” innovations”
3
"BUILD SOMETHING FOR SOMEBODY INSTEAD OF EVERYTHING FOR NOBODY" - Geoffrey Moore in Crossing the Chasm
4
Today MYTH: Only innovations in for-profit, high tech or bio-tech are considered to be “entrepreneurial” innovations Innovation in Context Types of Innovators Size of impact Business Containers Learning Outcomes How to describe and evaluate a business iteratively: Business Model Canvas User Stories Hands On: Build a ToDo List App and test, with a partner Quiz Learn, Like, Longed For
5
PC users …. If you are adventurous, try goggling hackintosh, it’s PC specific, but there may be an option to run OSX on your laptop.
6
Slides: Follow along Canvas: Login and UMSI 363 should be listed as below:
7
Syllabus Canvas: https://umich.instructure.com/courses/622/
In 363, under files, you will see
8
Learning Outcomes Mastery: Competency: Literacy: Awareness:
None Competency: Apply the core principles of innovation methods from Lean Startup, Customer Development, Crossing the Chasm and Agile Development in one of the following sectors: a for-profit business, non-profit, or cultural. Identify and develop innovation skills in Design Thinking, defining and testing a target market along with SCRUM Development from which to form and grow teams in order to achieve innovation success. Create a mobile app prototype using iOS development tools and environment. Literacy: Adaptively apply specific methods of innovation ideation, business/product/service development, and identifying steps for preparation for for-profit or non-profit incorporation. Take a turn leadership role in an agile software development process as the Scrum Master or Product Owner. User test an iOS prototype app. Awareness: Critically examine innovation area investments, scholarship, and trends. Identify pathways supported by the University of Michigan to continue developing an innovation.
9
Business Model Canvas
10
IDEATION: Customer Development
Customer Search Customer Validation Problems Solutions
11
Value for Who?
12
Why Bother with Agile?
13
Agile YOU!! Product Owner
14
Scrum Process
15
What is an Agile User Story?
A user story represents a small piece of business value that a team can deliver in an iteration (Sprint). While traditional requirements (like use cases) try to be as detailed as possible, a user story is defined incrementally, in three stages: The brief description of the need The conversations that happen during backlog grooming and iteration planning to solidify the details The tests that confirm the story's satisfactory completion
16
User Stories INVEST Checklist
Well formed user stories meet the criteria
17
FYI: INVEST Checklist INVEST checklist: for quickly evaluating user stories originates in an article by Bill Wake repurposed the acronym SMART (Specific, Measurable, Achievable, Relevant, Time-boxed) for tasks resulting from the technical decomposition of user stories.
18
Why Bother? Keep your team expressing value to the end user
Avoid introducing detail too early that would prevent design options and inappropriately lock developers into one solution Avoid the appearance of false completeness and clarity Get to small enough chunks that invite negotiation and movement in the backlog Leave the technical functions (how to accomplish the user story) to developers, testers, and so on
19
How Do I Writer User Stories?
As a <user type>, I want to <function> so that <benefit> . Examples: As a consumer, I want shopping cart functionality to easily purchase items online. As an executive, I want to generate a report to understand which departments need to improve their productivity.
20
User Stories BEWARE Avoid generic “user” Not all roles are end users
Specify roles of who interact with the system or realize value, “consumer”, “executive”, external systems “billing system” Not all roles are end users May be useful to create aggregate roles or specialized roles Consumer = all types of roles who purchase in any time frame vs Browser = searching for information purchase not likely in this session Frequent Shopper = repeat consumer, expert user of features
21
User Stories, Size Matters!
KISS redux = KEEP IT SMALL STUPID Small enough to be coded, test and checked for completeness to the user story within an iteration/sprint
22
Assignment #3 #1 Plan the design, develop and test of a “To Do List” app with a partner in Trello. Create a new board Trello board, set up with Backlog, Doing, Done lists. Add “User Stories” as cards to Trello in your backlog: start with these required MVP features: As a student, I want see all the work items I need to get done today. As a student, I want to add work items As a student, I want to delete work items What else in the backlog? Add at least 5 more to complete on later sprints. Move just the required features to the the Doing list, leave the rest as backlog At the end of completing Assignment 4, you will share your board with me (and make sure your partner is on there as well!) As a <user type>, I want to <function> so that <benefit> .
23
Assignment #1 The To Do app
24
Assignment #4 Build Your ToDo List App, Step 1
Open Xcode Create a new project, call it something like MyToDo List App Choose a “Tabbed Application” = tab bar on the bottom to switch between “scenes”
25
Assignment #4 Build Your ToDo List App, Step 2
Run the app, so you can see what functionality Interface Builder/Cocoa Touch provides you.
26
Assignment #4 Build Your ToDo List App, Step 3
Open the Main.storyboard, note how the views are laid out
27
Assignment #4 Build Your ToDo List App, Step 4
We need to create a data structure to hold the task data Create a Cocoa Touch Class File, call it Task Manager as a subclas of NSObject, language is Swift
28
Assignment #4 Build Your ToDo List App, Step 5
The task data structure will be a simple struct. We’ll create a global variable to point to an instance of TaskManager
29
Assignment #4 Build Your ToDo List App, Step 6
In Main.storyboard, select the FirstViewController , go to the File Inspector Uncheck Use Auto Layout, press Disable Size Classes button
30
Assignment #4 Build Your ToDo List App, Step 7
Delete the junk in the First View Controller and put in a Table View Resize the Table view to leave space for the battery bar at the top and the tab bar at the bottom.
31
Assignment #4 Build Your ToDo List App, Step 8
Resize the Table view to leave space for the battery bar at the top and the tab bar at the bottom. Select the First tab button, change tab button name to Tasks Change the second view tab button to Add New
32
Assignment #4 Build Your ToDo List App, Step 9
Need to set up a data source and a delegate for our TableView Right click the table view, Drag DataSource to FirstViewController (Tasks) Right click the table view, Drag Delegate to FirstViewController (Tasks)
33
Assignment #4 Build Your ToDo List App, Step 10
Need to finish setting up a data source and a delegate for our TableView by adding Delegate – usually a subview has it’s parent as a delegate to handle certain methods, and that parent view is opting in to handle those methods, if the methods are required, the parent view must override them. Open the code for FirstViewController and add UITableViewDelegate, UITableViewDataSource Press CMD and click on UITableViewDataSource, you’ll see two methods that is not optional, we’ll need to implement it in FirstViewController .
34
Assignment #4 Build Your ToDo List App, Step 10
Copy the 2 methods, paste them into FirstController and make them into functions. For the first function, return the number of tasks For the seconf function add the following:
35
Assignment #4 Build Your ToDo List App, Step 12
Create the Add Task View from Second View Controller Remove the junk, add a Label (Add Task), and two Text Fields and a button (Add Task). Change the place holder text to Task Name and Task Description
36
Assignment #4 Build Your ToDo List App, Step 13
Need to set both text fields delegate as their parent, Second View Controller as the delegate by right clicking, dragging to the top parent view.
37
Assignment #4 Build Your ToDo List App, Step 14
Need to finish setting up a delegate as SecondViewController Open the code for SeondViewController and add UITextFieldDelegate, Press CMD and click on UITextFieldDelegate, there are only optional methods but it gives us access to extra functions. Copy textFieldShouldReturn, make it a functions, add the follow code so the text field resigns the responder when a user presses return (and the keyboard goes away!!) Run and test
38
Assignment #4 Build Your ToDo List App, Step 15
Run and test, form the FirstViewController which is the task list, press the Add Task tab button. In the SecondViewController which is add task, type stuff into the text fields, hit return, the key board should go away. Note if you click outside the text views on the SecondViewController, the keyboard stays there (it should go away), button doesn’t do anything
39
Assignment #4 Build Your ToDo List App, Step 16
We need to get rid of the keyboards when we click in the SecondViewController. Override function touchesBegan as below , run and test. Keyboard goes away when you click outside the textfields.
40
Assignment #4 Build Your ToDo List App, Step 17
We now need to add the text to the task list when we press the button. That means we need to take text from the two text fields in code by making outlets for them. Call one txtTask, the other txtDesc, they will be of type UITextField
41
Assignment #4 Build Your ToDo List App, Step 18
We now need an action for the button, control click drag, Call it buttonAddTask Add the code as below which adds the task into the task list, get rid of the keyboard with endEditing, clear out the text fields from the Add Task, then jump back to the first first to show that the task has been added.
42
Assignment #4 Build Your ToDo List App, Step 19
We will need to add an outlet for the tasks table view, call it tasksTable We now need to update the view when returning to to FirstViewController by overriding viewWillAppear
43
Assignment #4 Build Your ToDo List App, Step 20
Now run the app, add tasks, make sure the tasks list update
44
Assignment #4 Build Your ToDo List App, Step 20
Last feature, almost there! We need to delete an item of the task list when it is complete by swiping (click on right, drag to the left). Item should be removed from table, table updates itself. In UITableViewDelegate … committ editing style (Delete), add to FirstViewController Run, add a few tasks, try to delete
45
Update Trello Test all the checklists on each of your user story cards. Move the all the cards to the Done list
46
To Get Credit for these Assignments
#3 Add Members……. #4 Try uploading your code to github and sending me a link. If too cumbersome, zip the folder, upload to canvas
47
MYTH #2 Only innovations in for-profit, high tech or bio-tech are considered to be “entrepreneurial” innovations”
48
MYTH #2 Only innovations in for-profit, high tech or bio-tech are considered to be “entrepreneurial” innovations”
49
Exam – In Class 1/23 Written, no
Test your understanding of basic application development concepts using SWIFT NOT Testing specific syntax Writing code Grades posted before drop date of 1/27 Purpose is to ensure you are serious about gaining competency in iOS Mobile App Prototyping To test if you are an ace iOS hacker Study Guide will be available Sunday pm
50
Appendix
51
Xcode…
52
Only certain people are true innovators
MYTH #1 Only certain people are true innovators
53
Only certain people are true innovators
MYTH #1 Only certain people are true innovators
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.