Notes to accompany the ‘AfG Educator Pre-training Part 2 2012/13OverviewThe briefing will cover: What an app is Why the definition is important to AfG Basic ‘App Mechanics’ - conceptual frameworkWhat is an app?An app is mobile software designed to help the user perform specific tasks. In short,apps help users to get jobs done.To quote Professor David Wolber of the University of San Francisco - ‘the simplest apps are likerecipes”. The app gives the phone a sequence of things to do. On a very basic level that couldbe as simple as: do A, do B and then do C.Most apps, of course, more complex than this, with an interface that users can interact with.Why is defining an app important?Comprehension - Having a very clear idea of what an app is conceptually is fundamentalto understanding how an app can operate to solve your problems.Distinction - Most AfG students will not know how to define an App precisely; some maynot be sure where the device ends and the app begins.Context - Most will initially have little idea of what an app can and cannot do - or the classof problems that apps are suitable for. It’s important that you as the educator aresensitive to that, so that when they forget or are not mindful of constraints oropportunities - your questions can bring them back around.Basic App MechanicsThe App as a set of Event Handlers:As programmers, students need to learn to look at what they are creating through the eyes ofthe end-user.Most apps have a graphical user interface and so don’t fit the primitive recipe model I justdescribed. Most apps handle the user doing something - what we call user events. So to extendour recipe, and to quote Professor Wolber:“Most recipes are only performed in response to an event.”Often the user initiates these events. She clicks a button, or chooses from a dropdownmenu, for example.The event and the sequence of instructions that follow are known as an ‘event handler”.“Nothing happens [in an app] except in response to some event” – Wolber
So with that in mind we can define an App Inventor project as a jigsaw puzzle where theprogrammer (that’s you, or your students) needs to arrange a landscape of blocks to let thedevice know how to respond to all relevant events.The event handler is the event (user initiated or otherwise) AND the set of instructions thatis followed when that event occurs.An app consists of Event-Handlers that can ask questions and branch.The response to an event is often not linear but conditional. The app can ask questions to querythe data within it and decides what to do next based on the answer.An app consists of Event-Handlers that can ask questions, branch and repeat.An app can repeat an operation multiple times in the following ways: While-do - whilst condition x is true, do y. Foreach - for each item in the list operation in the list do y.An app consists of event-handlers that can ask questions, branch, repeat and talk to webServices.Apps can go beyond just communicating with themselves they can: Send requests to web services Use APIs (application programmer interfaces - a protocol for how to communicate to a service).An app consists of event-handlers that can ask questions, branch, repeat and talk to webservices, and remember thingsApps must remember the data entered into them. With App Inventor you can create a way fordata to persist by using tiny web database, a special web service.Educator Task - to be completed by 11/06/12Complete the “to do list” app tutorial below, before you attend the trainingTo Do List App Tutorialhttps://appsforgood.onconfluence.com/display/learn/ToDo+List+appPlease note: Just to reiterate: to get the most out of the live training sessions in a few weeks, it’simportant that you become familiar with these concepts. If you show up at the training withoutdoing them, you may find it challenging to keep up.Additional ResourcesApp Inventor BookApp Inventor: Create your own Android Apps. Wolber Abelson,Hard copy from Amazonhttp://www.amazon.com/App-Inventor-Create-Your-Android/dp/1449397484Ebook format:http://shop.oreilly.com/product/0636920016632.do
Additional Information - The Steps involved in the course journeyAfG features 2 tracks that happen alongside one another--Steps 1 to 4 (Idea) and Step 5(Practical). The idea is that whilst you are finding problems and coming up with ideas, yourealso learning about how to use tools that will help you to eventually build early stage-versions ofyour solution.Step 1:Problem DiscoveryApps for Good is all about solving problems students care about. This first step is about findingout what those problems are. Students begin by learning about what’s possible with mobilephones, taking a closer look at what an app is and what mobile functions are available by using App Inventor and tutorials, and on distilling their inspiration into plausible problemsthat can be solved with apps. Through a series of exercises, puzzles and sessions, studentssharpen their skills in finding new opportunities. By looking at their experiences and those ofthe people they know, teams can find a whole range of areas and outcomes to explore!Step 2: ResearchHere students look into the opportunities identified and talk to users, experts and people tovalidate this issue. Students aim to understand what users need, and how they might be able toadd value with a solution. By the end of this stage students should have something which looksmore like a news story, including:● Who the users are● Where the users are located when they have the problem● Why are the users having problems in the first place● How they might use an app to get a particular job done.Step 3:Solution DesignSolution design involves teams developing a strategy for the best way to make the idea happen.Here students describe possible solutions, choose a solution and then think about the best waysto market the idea, and approach it like a business.Step 4: Product DesignOnce solution design is completed students begin describing how their solution will work. Theycan do this in a number of ways, but all involve sketching wireframes. Here they can test youprototype with potential users and respond to the feedback they get.Step 5: First BuildThroughout the above steps students will also be learning how to build parts of the app/theimplementation, with tools such as App Inventor. Tools like these allow them to create workingapps that can be downloaded on Android handsets.