DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
Af g pretraining_briefing_notes_2
1. Notes to accompany the ‘AfG Educator Pre-training Part 2 2012/13
Overview
The briefing will cover:
What an app is
Why the definition is important to AfG
Basic ‘App Mechanics’ - conceptual framework
What 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 like
recipes”. The app gives the phone a sequence of things to do. On a very basic level that could
be 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 fundamental
to understanding how an app can operate to solve your problems.
Distinction - Most AfG students will not know how to define an App precisely; some may
not 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 class
of problems that apps are suitable for. It’s important that you as the educator are
sensitive to that, so that when they forget or are not mindful of constraints or
opportunities - your questions can bring them back around.
Basic App Mechanics
The App as a set of Event Handlers:
As programmers, students need to learn to look at what they are creating through the eyes of
the end-user.
Most apps have a graphical user interface and so don’t fit the primitive recipe model I just
described. Most apps handle the user doing something - what we call user events. So to extend
our 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 dropdown
menu, 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
2. So with that in mind we can define an App Inventor project as a jigsaw puzzle where the
programmer (that’s you, or your students) needs to arrange a landscape of blocks to let the
device know how to respond to all relevant events.
The event handler is the event (user initiated or otherwise) AND the set of instructions that
is 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 query
the 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 web
Services.
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 web
services, and remember things
Apps must remember the data entered into them. With App Inventor you can create a way for
data to persist by using tiny web database, a special web service.
Educator Task - to be completed by 11/06/12
Complete the “to do list” app tutorial below, before you attend the training
To Do List App Tutorial
https://appsforgood.onconfluence.com/display/learn/ToDo+List+app
Please note: Just to reiterate: to get the most out of the live training sessions in a few weeks, it’s
important that you become familiar with these concepts. If you show up at the training without
doing them, you may find it challenging to keep up.
Additional Resources
App Inventor Book
App Inventor: Create your own Android Apps. Wolber Abelson,
Hard copy from Amazon
http://www.amazon.com/App-Inventor-Create-Your-Android/dp/1449397484
Ebook format:
http://shop.oreilly.com/product/0636920016632.do
3. Additional Information - The Steps involved in the course journey
AfG 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, you're
also learning about how to use tools that will help you to eventually build early stage-versions of
your solution.
Step 1:Problem Discovery
Apps for Good is all about solving problems students care about. This first step is about finding
out what those problems are. Students begin by learning about what’s possible with mobile
phones, 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 problems
that can be solved with apps. Through a series of exercises, puzzles and sessions, students
sharpen their skills in finding new opportunities. By looking at their experiences and those of
the people they know, teams can find a whole range of areas and outcomes to explore!
Step 2: Research
Here students look into the opportunities identified and talk to users, experts and people to
validate this issue. Students aim to understand what users need, and how they might be able to
add value with a solution. By the end of this stage students should have something which looks
more 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 Design
Solution 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 ways
to market the idea, and approach it like a business.
Step 4: Product Design
Once solution design is completed students begin describing how their solution will work. They
can do this in a number of ways, but all involve sketching wireframes. Here they can test you
prototype with potential users and respond to the feedback they get.
Step 5: First Build
Throughout the above steps students will also be learning how to build parts of the app/the
implementation, with tools such as App Inventor. Tools like these allow them to create working
apps that can be downloaded on Android handsets.