Build Your First App with MIT App Inventor
Build Your First App with MIT App Inventor
Tutorial 1 HelloPurr Click the [Link] file, click "Open,” and then click "OK.”
Step 5: At the upper left of your Chrome page, click “New Project,” enter the project name “HelloPurr” (with
Change the Button's Text property: Delete "Text for Button1", leaving the Button's text property blank
no spaces), then click OK.
so that there is no writing over the kitty's face. Your Designer should look like this:
Step 6: App Design - Adding the components:
(If the entire kitty picture is not showing up, you can fix this by setting the Height and Width
properties of the button to "Fill Parent.” To do this, click on the Button component, go to the right-
hand Properties pane, scroll down to the very bottom to where it says Width and click on the word
"Automatic..." to activate the drop-down list. Choose "Fill Parent.” Do the same for the Height
property.)
Adding label
o From the User Interface palette, drag and drop the Label component to the Viewer (#1), placing it
below the picture of the kitty. It will appear under your list of components as Label1.
Department of Information System, City University of Hong Kong pg. 1 Department of Information System, City University of Hong Kong pg. 2
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Step 1. On the left side of the Blocks Editor, click the Button1 drawer to open it. Drag and drop the
[Link] block in the work area (the open area on the right).
Adding sound
From the Media palette, drag and drop the Sound component to the Viewer (#1), it will appear
Step 2. Click the Sound1 drawer and drag the [Link] block and connect it to the "do" section of the
in the non-visible components.
when [Link] block. The blocks connect together like puzzle pieces, and you can hear a clicking sound
In the Properties window, add Source file 1.mp3 to Sound1. when they connect.
The purple blocks are called command blocks, which are placed in the body of event handlers. When
an event handler is executed, it runs the sequence of commands in its body. Your blocks should look
like this at this point:
Try It! When you click Kitty on Emulator/Phone, you should hear the kitty meow. Congratulations, your first
app is running!
Department of Information System, City University of Hong Kong pg. 3 Department of Information System, City University of Hong Kong pg. 4
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
The challenge is to have the cat purr when the button is clicked. Go to the Blocks Editor and open the
Sound1 drawer and drag the [Link] block and place it under the [Link] block.
Part IV: How to Test Your App Using MIT App Inventor 2
Note: the vibrate function will not do anything on an emulator or on a tablet! It ONLY works on a physical
phone.
Department of Information System, City University of Hong Kong pg. 5 Department of Information System, City University of Hong Kong pg. 6
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Step 5: Interact with Your App Part V. Installing Android Studio and Running the Emulator
Once your app is running via any of the methods above:
YouTube: [Link]
Interact with your app as if it was installed on your device.
Test all features and inputs to ensure they respond correctly. Android Studio is the official Integrated Development Environment (IDE) for Android app
Make note of any issues or bugs to address back in the App Inventor workspace. development, based on IntelliJ IDEA. Below is a guide to help you install Android Studio and run
the Android Emulator.
Step 6: Make Adjustments and Re-test
If you find any issues: Step 1: Download Android Studio
Disconnect your testing session. i. Go to the Android Studio download page.
Make the necessary changes to your blocks or components in MIT App Inventor. ii. Click on the "Download Android Studio" button.
Reconnect and test again to confirm that your changes had the desired effect. iii. Accept the Terms and Conditions and then click on the "Download Android Studio"
button again.
Step 7: Package Your App for Deployment iv. Save the installer file to your computer.
Once you're satisfied with your app's performance:
Use the "Build" menu to package your app. Step 2: Install Android Studio
Select "App (provide QR code for .apk)" to download the installable APK file.
i. Locate the downloaded installer file (e.g., [Link] for
Windows).
ii. Run the installer.
iii. Follow the installation prompts:
1. Choose an installation location for Android Studio or use the default suggested.
2. When asked to choose components to install, make sure "Android Virtual Device"
is checked.
3. Complete the installation.
i. When the welcome screen appears, go to "Configure" and select "SDK Manager".
ii. In the SDK Platforms tab, select the Android versions you'd like to develop for (the latest
version is recommended).
iii. Switch to the SDK Tools tab and ensure that you have the latest tools installed, including
the Android Emulator, Android SDK Platform-Tools, and Android SDK Build-Tools.
iv. Click "Apply" to download and install any updates or selected components.
Department of Information System, City University of Hong Kong pg. 7 Department of Information System, City University of Hong Kong pg. 8
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
v. Select a system image (e.g., the latest API level) and click "Next". If you haven't Part VI: Submit Your Work.
downloaded the system image, click "Download" next to the system image.
vi. Configure the AVD settings (e.g., RAM, VM heap, internal storage) as desired and click Go to Build – App (Save .apk to my computer), the file will be saved automatically to Computer –
"Finish". Downloads.
Go to Project – Export selected project (.aia) to my computer.
Step 6: Run the Emulator
i. In the AVD Manager, find the virtual device you just created and click on the green "Play"
button to launch the emulator.
ii. It may take a few moments for the emulator to start and boot up.
i. With the emulator running, you can now install apps or run projects directly from Android
Studio by clicking the "Run" button in the toolbar and selecting the running emulator as
the deployment target.
Additional Tips
ii. Make sure you have enabled "Hardware Acceleration" for the emulator to run smoothly.
Instructions can be found on the Android Studio website or during the emulator creation
process. Please submit the required files as follows:
iii. Always keep your Android Studio and SDK tools updated for the best performance and o Through the Canvas platform, locate the "Tutorial 1 Submission" assignment.
the latest features. o The deadline for submission is 23:59, one week after class. Be aware that any late submissions
will incur a penalty of 50% per day.
o Submit your source code in the .aia format, with the file named [Link].
o Include screenshots of the designer view and block’s view. These should be named
HelloPurr_DesignerView.jpg and HelloPurr_BlocksView.jpg, respectively.
o Ensure that your Student ID is clearly visible in both images.
Done!
Source:
[Link]
[Link]
Department of Information System, City University of Hong Kong pg. 9 Department of Information System, City University of Hong Kong pg. 10
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Tutorial 2 DrawSomething App From the Palette's Layout category, drag out a HorizontalArrangement component and
place it under the buttons. Change the name of this component from
If you did not attend the session in Week 1, you will need to start with "Tutorial 1: "HorizontalArrangement1" to "ThreeButtons.”
HelloPurr" before attempting this tutorial. In the Properties panel, change the Width of ThreeButtons to "Fill Parent..." so that it
fills the entire width of the screen.
Part I: Getting started on the second app -- DrawSomething
Move the three buttons side by side into the HorizontalArrangement component. Hint:
Step 1: Download [Link] or [Link] file from Canvas and save the file to Desktop. You'll see a blue vertical line that shows where the piece you're dragging will go.
Drag a Button component onto the Viewer and change the button's Text attribute to Step 3: Adding the Canvas and wipe buttons:
"Red" and make its BackgroundColor red.
Click on Button1 in the components list in the Viewer to highlight it (it might already be 1. From the Palette's Drawing and Animation category drag a Canvas component onto the
highlighted) and use the Rename... button to change its name from "Button1" to Viewer. Change its name to "DrawingCanvas". Set its Width to "Fill Parent" and set its
"ButtonRed.” Height to 300 pixels.
Similarly, make two more buttons for blue and green, named "ButtonBlue" and 2. Add a Background Image to the Canvas. Click on the field containing "None..." next to
"ButtonGreen,” placing them vertically under the red button. BackgroundImage in the canvas's Properties panel. You can use the same [Link] file,
or you can use another image at your preference.
Here's how this should look in the designer, 3. From the Palette, drag the final button onto the screen, placing it under the canvas.
Rename this button component to "ButtonWipe" and change its Text attribute to
"Wipe".
You've now completed the steps to set the appearance of your app. Here's how this
should look in the Designer. Next, you'll define how the components behave.
1|P a g e 2|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Part III: Add Button Event Handlers create a number block with a value of 5. Here's how the touch event handler should
look:
Step 1. In the Blocks Editor,
1. Open the drawer for ButtonRed and drag out the when [Link] block.
2. Open the DrawingCanvas drawer. Drag out the set [Link] to block
(remember that the set block of components is a dropdown, so PaintColor is a selection
in the dropdown) and place it in the do section of when [Link].
3. Open the Colors drawer and drag out the block for the color Red and put it into set
[Link] to. (Clicking on a color block after it's been placed will display
a table of colors that you can select from.) Try out what you have so far on the Emulator or the phone. Click/Touch a color button. Now
click/touch the canvas on your, and your click/touch should leave a spot at each place you touch.
4. Repeat steps 2-4 for the blue and green buttons. Touching the Wipe button should clear your drawing.
5. The final button to set up is the Wipe button. Make a click event handler for ButtonWipe
by dragging when [Link] from the ButtonWipe drawer. From the Step 3. Add Drag Events
DrawingCanvas drawer, drag call [Link] and place it in the do area of the
[Link] block. [Link]
1. From the DrawingCanvas drawer, drag the when [Link] block to
the workspace.
The blocks for the buttons should look like this:
2. Also, from the DrawingCanvas drawer, drag the call [Link] block into
the do slot of the when [Link] block.
3. Drag a get prevX block to the open x1 slot in when [Link]. Do the
same for the other spaces: y1 should be get prevY, x2 should be get currentX, and y2
should be get currentY.
In the Blocks Editor, open the canvas drawer and drag the when [Link]
block to the workspace. You may notice three argument names (highlighted in orange)
located at the top of the block x, y, and touchedSprite. These arguments are also known Test your work by trying it on the Emulator or Phone: drag your mouse around on the screen to
as local variables and can get accessed by using the get or set block found in the draw lines and curves. Touch the screen to make spots. Use the Wipe button to clear the screen.
Variables drawer and then selecting the proper variable in the drop drown menu.
Step 4. Creating Variables
For this touch event, make the canvas draw a small circle at the point with coordinates
(x, y). Drag out a call [Link] command from the canvas drawer and Next, we will try to control the size of the dots drawn on the canvas is determined in the when
place it in the do section of when [Link]. [Link] event handler where call [Link] is called with r, the radius
of the circle, equal to 5. To change the thickness, all we need to do is use different values for r.
Use r = 2 for small dots and r = 8 for large dots.
Move your cursor over the x variable (highlighted in orange). Find the get x block and
drag it into the corresponding x socket in the when [Link] block.
Start by creating names for these values:
Do the same for the y variable.
In the Blocks Editor, open the Variables drawer. Drag out an initialize global name to
You'll also need to specify the radius of the circle to draw. 5 (pixels) is a good value for
block. Change the text that reads "name" to read "small.” A yellow warning exclamation
this app. Click in a blank area of the screen and type the number 5 followed by return to mark might appear on the block.
3|P a g e 4|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
You need to fill in the socket with a number block that specifies the value for "small" -- 5. In the Blocks Editor, create a when ... Clicked event handler for ButtonSmall that changes
use 2 as the value. dotsize to be the value of small. To change dotsize use the set global dotsize to block
from the MyDefinitions drawer and plug in the global small block.
o To create the number block, type the number 2. A menu will appear, showing
you all the possible blocks that include "2" in their name. Click on the first one,
6. Make a similar event handler for ButtonBig. The two click event handlers should look like
which is the number 2 itself, and a number block with the value 2 should appear.
this:
Plug that into the initialize global small to block. The yellow warning mark will
disappear because the empty socket has been filled. (The second value listed in
the menu is the math block atan2 which you won't use here.)
Now go back to the touch event handler you set up in Part 1 and change the call to
DrawCircle block so that it uses the value of dotsize rather than always using 5.
In the Blocks Editor, open the Variables drawer. Pull out a get block and click on the
dropdown. You should see three new variables in the dropdown: small, big, and dotsize
Go to the when [Link] event handler and replaced the number 5 block in
call DrawCircle with the get dotsize block from the Variables drawer.
1. In the Designer, drag a HorizontalArrangement component into the Viewer pane below
the DrawingCanvas component. Name the component "BottomButtons.”
2. Drag the existing ButtonWipe into BottomButtons.
3. Drag two more button components from the Palette into BottomButtons, placing them
next to ButtonWipe.
4. Name the buttons "ButtonBig" and "ButtonSmall", and set their Text to read "Big dots"
and "Small dots", respectively.
5|P a g e 6|P a g e
IS2023 Mobile Application for Business
Part IV: Submit Your Work. IS2023 Mobile Application for Business
Use the snipping tool to capture the component’s view of your work. Please ensure
that your student ID and full name are clearly visible in the screenshot. Save the file
Tutorial 3 Kodular - Navigation Menu
as DrawSomething_ComponentsView_YourStudentID_YourFullName.jpg.
This tutorial will create an android app bottom navigation with Kodular and navigate between pages
Use the snipping tool to capture the blocks' view of your work. Again, make sure your
with cool animation transitions.
student ID and full name are clearly visible in the screenshot. Save the file as
DrawSomething_BlocksView_YourStudentID_YourFullName.jpg.
This tutorial introduces:
Submit both screenshots (Components View and Blocks View) to Canvas under the Kodular [Link]
"Tutorial 2 Submission Link". Ensure that your files are labelled correctly with your Space Component [Link]
student ID and full name to receive proper credit. Vertical Scroll Arrangement
[Link]
Deadline: You have one week from today to submit your work. Please be aware that New Screens [Link]
late submissions will incur a penalty, deducting 50% of the total marks per day. Icons [Link]
Bottom Navigation [Link]
navigation/
Animation Utilities [Link]
1|P a g e
7|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Part III: Designer View We can set up the Bottom menu using the blocks editor later, and we must find some
suitable icons for the Bottom menu. For example, create three menu items, List, Info, and
Next Screen.
Add Screen and Layout components. (You can find the icon from this website
[Link] and then download the
icon and upload it to the assets in Kodular)
After importing the project .aia file, you will see the login screen. Let's add a new screen. Click
add new screen, name it as "Home". Later, we will add another screen called “Screen3.” From Palette>Utilities, drag the Animation Utilities component; we will use this component
to make transition animation.
2|P a g e 3|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Part IV: Blocks and Event Handlers Create a variable list or array to store the vertical container.
For initializing the block, we will set up the Bottom navigation menu. This block adds the item
for Bottom navigation, and you need to put the id, title, and image for the icon.
When a user clicks on the Bottom Navigation Menu, first, set all the containers (Vertical
Arrangement) visible to false.
4|P a g e 5|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Then continue to extend this block, if user click of the 3rd menu item, it will open the When we navigate back to this home screen from Screen3, we need to update the tab
other screen named Screen3, if the user clicked on the 1st or 2nd menu item, the blocks position to the state that the user requested on Screen3. That would be based on the result
will display the Red/Blue vertical arrangement accordingly, plus a little animated effect. variable from Screen3.
6|P a g e 7|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Add a new screen. Click add a new screen, name it as "Screen3.” For initialize block, we will retrieve the value pass from the home screen. And we will set up
the Bottom navigation menu. This block adds the item for Bottom navigation. You need to
put the id, title, and image for the menu item.
Add a Label and put it inside the vertical arrangement, modify its Text property to "Please add
a new function of your own choice to this screen. You only need to design the UI components
— no need to implement its blocks."
8|P a g e 9|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Test run and debug your app! Tutorial 4 Kodular – Google Firebase Authentication
1. Navigate back to Sceen1, connect with your Android phone or an emulator.
2. Click the Login region at the bottom.
3. Input the username: Amy. This tutorial will explain the use of the "Firebase Authentication" component in your apps and its
4. Input the password: password. utilities.
5. Click the Login button.
6. Click OK to close the popup dialog box. This Tutorial Introduces:
7. Test your 3 bottom navigation menus.
Firebase Authentication is a Google Firebase service that allows users to log in and sign
up for your app. You can have a login service for free with this component/service.
Video: [Link]
Part V: Submit your work [Individual]
Submit your snipped screenshots i.e., the component's view and block's view for all your Part I: Setting up App Testing Environment:
screens to Canvas "Tutorial 3 Submission Link".
Include your student ID and Full Name on your design view’s screenshot. 1. To test this exercise on an emulator or on your Android device, you must first install
Deadline: 1-week time the .apk file.
2. This can be done by dragging and dropping the .apk file directly into the emulator window.
Done! 3. Once the file is dropped, the emulator should automatically proceed with the installation.
4. Alternatively, scan the Kodular-generated QR code to download the .apk file to your
physical Android device.
Reference:
1. [Link]
2. [Link]
10 | P a g e 1|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Part II: Input the Project Template: Part III: Firebase Configurations:
Download T4_sign_up_template.aia file from the Canvas week 4 folder, save the file to
Desktop. Add your Kodular APP to Firebase Console:
2|P a g e 3|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
If you are a returning user and have no existing projects, click 'Add project' button. If you have For new user:
existing projects, select one to continue working on it.
Create a project (Step 1 of 3).
4|P a g e 5|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Note: If you've reached the project limit, please go back to choose one of your existing projects. Remember NOT to enable Google Analytics!
6|P a g e 7|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
You are now in your Firebase Project dashboard. On “Your apps” section, click the “Android icon” to select the Android platform.
Click on the Project Overview “settings” icon and select “Project settings.”
8|P a g e 9|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
We need to find the name of the Android package from our Kodular project. Paste it back to Google Firebase Console's “Android package name.”
Click the “Download [Link]” button (it contains keys and identifiers), then click the
Go back to Kodular, click on the setting icon, choose the Project settings>Publishing. “Next” button.
Give a name for the Package and then Copy that Package Name. i.e., [Link]
10 | P a g e 11 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Now you are back to the “Project Settings” page with an “Android apps” created under “Your
apps” section.
12 | P a g e 13 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Import/Upload the [Link] to the Kodular Assets Manager folder. Enable login methods.
Note: The file name much be exactly as “[Link]”, no more no less! Back to the Firebase project, expand the Build menu, click Authentication, and click the “Get
started” button. (Or click the Sign-in method if you are a returning user.)
14 | P a g e 15 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
We will enable the Email/Password sign-in method. And then click the Save button. Back to Kodular to complete your Login system.
Check out the Users tab, and you have no registered users yet.
16 | P a g e 17 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Create the blocks for the btnSignUp event handler, NOT the btnLogin blocks. They may be These two blocks will handle the case where the sign-up process either succeeds or fails. If
hidden! successful, the user is redirected to another screen named 'Screen2'. Otherwise, a label and a
notification are used to inform the user that the sign-up has failed.
18 | P a g e 19 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Manually add a Screen2. Click Create Account to open the Create Account layout.
Email: should have the @ symbol and .com
Password: should have at least 6 chars.
After successfully testing the sign-up feature on your phone/emulator, return to the Firebase
Project Console to check your Users' records. You should see a new user added.
20 | P a g e 21 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Now create the three blocks related to the login process. When the login button is clicked, the blocks will check whether the username and password input
fields are empty.
Look for the btnLogin component and open it’s drawer, to drag out the [Link] event handler.
If they are filled, the Firebase Authentication 'EmailPassword Login' block will be asked to verify
the credentials.
If the credentials are correct, the user is forwarded to 'Screen2' with a start value that includes
the user's email address.
If the login fails, an error message will be displayed using both a label and a notification.
22 | P a g e 23 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
To submit your work for Tutorial 4, please adhere to the following instructions:
Fill the text boxes with your previously registered user email and password, then click the
'Login' button. 1. Capture screenshots of the following elements:
To fully test the authentication features, you should also try using an incorrect The block's view on Screen1, ensuring that your name and student ID are clearly
email/password combination. visible.
Done!
Reference:
[Link]
24 | P a g e 25 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Tutorial 5 – Simple Chat App [Kodular] Part II: Firebase Database Setup and Configurations.
This tutorial will explain using the Firebase Database, and ChatView components in your apps Step 2.1. Login to the Firebase console.
and their utilities. First, go to your Firebase console . ([Link] )
The Firebase Realtime Database lets you store and sync data between your users in real
time. This makes it easy for your users to access their data from any device: web or mobile,
and it helps them collaborate. Whenever you update data in the Realtime Database, it
stores it in the cloud and simultaneously notifies all interested devices in milliseconds.
Video: [Link]
Step 1.1: Download the T5_SimpleChat_template.aia file from the Canvas week 5 folder and
save the file to Desktop. It is a Kodula project file.
1|P a g e 2|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Note: If you've reached the project limit, please go back to choose one of your existing projects. Remember NOT to enable Google Analytics.
To create your APP, click on Add Project button, and complete ALL THE STEPS.
3|P a g e 4|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Click on Realtime Database. Select Start in test mode. And click Enable.
Highly recommended: If you want to further the testing for a more extended period, you may
edit the rules as follows.
Click Next.
5|P a g e 6|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Click on the Data tab and copy the address of your Realtime Database. Part III. Connect your Cloudinary cloud to Kodular.
Step 2.2 Go back to Kodular, look for all the Firebase_Database components on ScreenChat and
then paste the copied URL to the Firebase URL field.
To connect your Cloudinary cloud to Kodular, retrieve the following fields from the Cloudinary
dashboard: Cloud name, API key, and API secret.
Fig. Screen1
7|P a g e 8|P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Step 3.2. Copy and paste the 3 items to ScreenChat’s Cloudinary component properties.
Fig 3.4. Through your app, a selected image will be uploaded to your Cloudinary account’s
Media folder.
To test this app, join our live demo! A comprehensive walkthrough of all the Blocks will be
provided.
9|P a g e 10 | P a g e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
1. Amy, a new user who enjoys trying out new social apps, eagerly signs up for an account.
2. Initially, she discovers that there are no other users listed on the app. This leaves her
feeling a bit disappointed. [emotionally down ☹]
3. Amy decides to close the app temporarily and plans to give it another try later, hoping
that more users will join in the meantime.
4. When she logs in again at a later time, Amy notices that more users have signed up. This
brings a smile to her face.
5. Excited about the increased user base, Amy happily starts sending chat messages to make
new friends. [😊]
This customer journey illustrates Amy's initial experience, the minor setback she encounters,
and her subsequent positive reaction when she sees more users joining the app.
This Simple Chat app is an early prototype, but it covered all the MUST have requirements, and
Part IV. Firebase Database Management for the next development phase, we can target the SHOULD have and COULD have
After successful sign-up and chatting with your friends, you can go to your Firebase Project requirements:
Console to check your latest records.
1. Push notification/ in-app notification for new users’ invitations and new incoming
messages.
2. Double ticks to indicate read message.
3. Send a photo or send a video.
4. Add friends from phone contacts.
5. And many more…
We also provided some in-app reset buttons for you to easily reset different database records.
11 | P a g e 12 | P a g e
IS2023 Mobile Applications for Business IS2023 Mobile Applications for Business
Tutorial 6 (1%)
Mobile App Wireframe
Understand the mobile business ecosystems and mobile platforms for business innovations.
Acquire knowledge and skills for designing mobile applications in various business sectors.
Overview
In this tutorial, we will explore the use of wireframes to design mobile applications. We will focus on one use
case and create a wireframe diagram to illustrate the mobile app solution.
2. [From Video 1] Figma: A collaborative interface design tool that allows you to create and
share wireframes, designs, and prototypes.
[Link]
={partner_key}&link=homepage
Page | 1 Page | 2
IS2023 Mobile Applications for Business IS2023 Mobile Applications for Business
Use Case & Wireframe:
3. [From Video 2] Canva [Link]
4. Moqups: An online design and collaboration tool that allows you to create wireframes, mock- For this tutorial, you are required to use a storytelling style to present a use case and create UI
ups, and prototypes. [Link] wireframes to illustrate your mobile app solution. There is no page limitation for this part. The use
5. Axure: A design and prototyping tool that allows you to create wireframes, user flows, and case and wireframe should demonstrate how your suggested mobile app solution addresses the
interactive prototypes for web and mobile apps. [Link] identified pain point(s).
6. Sketch: A vector-based design tool that lets you create wireframes, designs, and prototypes
for web, mobile, and other digital interfaces. [Link] Example:
7. Adobe XD: A powerful design tool that allows you to create wireframes, designs, and
interactive prototypes for websites, mobile apps, and more. Use Case: Amy, a new user who loves trying new social apps, signs up for an account on the
8. InVision: A digital product design platform that offers features for prototyping, collaboration, mobile app.
and design management.
9. Balsamiq: A user interface design tool that lets you create low-fidelity wireframes quickly and Wireframe:
easily.
10. UXPin: A design and prototyping platform that lets you create wireframes, designs, and Screen 1: Welcome screen with a sign-up button.
interactive prototypes for web and mobile apps. Screen 2: Sign-up form with fields for name, email, and password.
11. [Link]: A web-based platform that allows you to create high-fidelity wireframes and Screen 3: Confirmation screen after successful sign-up.
prototypes for web and mobile apps. Screen 4: Home screen with a friend list showing no friends.
12. Justinmind: A design and prototyping tool that lets you create wireframes, designs, and Screen 5: Empty state screen with a message indicating no friends is available.
interactive prototypes for web and mobile apps. Screen 6: Home screen after some time has passed, showing multiple users in the friend list.
Screen 7: Chat screen where Amy can send a chat message to another user.
Page | 3 Page | 4
IS2023 Mobile Applications for Business
Sample (Hand sketch is acceptable): IS2023 Mobile Application for Business
1. For the Simple Chat app, when conducting app testing, what would be the ideal test
environment settings? Specifically, how many devices or emulators are required to fully
test the app's functionality? Can I utilize Kodular Companion (connected to Companion)
and an Android Studio Emulator (with the installed .apk) to exchange chat messages
between them?
2. Should we separate the login and sign-up processes into two screens, namely Screen1
(Login) and ScreenSignUp? What are the advantages and disadvantages of this
approach?
3. Where can I locate the database record(s)?
4. If we want to implement a group chat function, could you please explain how it can be
done? This includes discussing the assumptions made, the components used, event
handling, logical steps, and any other relevant details.
5. During user testing, what types of bugs do you typically encounter?
6. After completing the user testing, what improvements would you suggest for this app?
Consider the following suggestions:
a. Can the app support sending messages to multiple friends?
b. Is it possible to create a group chat feature?
c. Can users send media files through the app?
Reference:
[Link]
[Link]
13 | P a g e
Page | 5
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Tutorial 7 Kodular - mCommerce Catalog Based on the given diagram, try to duplicate all the visual and non-visual components.
Extension: Dynamic Component Component type Palette group What you’ll name it Purpose
Label User Interface LabelDebug Display hidden data for debugging purpose
Horizontal Arrangement Layout>General Horizontal_Arrangement To group the following 2 buttons
In this tutorial, we will guide you through the process of creating an mCommerce catalog using 1
Kodular and the Dynamic Component extension. We will load product data from a list of Button User Interface ButtonLoadShoppingIte To load products from a list of dictionaries
dictionaries and create a user interface design for the catalog. Then, we will build the necessary m
blocks to make the catalog functional. Button User Interface ButtonReset To reset the Card View
Horizontal Arrangement Layout>General Horizontal_Arrangement To group the following 2 buttons
2
This tutorial will guide you through: Button User Interface ButtonLoad To load 1 demo item
Button User Interface ButtonSetProperties To set property of the loaded item, i.e., text,
• Developing an mCommerce catalog.
image
Vertical Scroll Arrangement Layout>General Vertical_Scroll_Arrange A place holder for displaying Card view
• Implementing Dynamic Components in your application. ment1 dynamically
Card View Layout>General Card_View1 A Card like holder for displaying product
• Employing Dictionaries effectively within your project. information
Image User Interface Image1 Product image
Activity 1: UI Design and Import Extension Label User Interface Label1 Product name
Text Box User Interface Text_Box1 Stock
1. No templates are provided. Button User Interface Button2 Price
2. Start by designing the user interface for your mCommerce catalog. You can use Kodular Dynamic Component Extension DynamicComponents1 To generate different static components
Designer to create a visually appealing layout for your catalog. dynamically
3. Include components such as labels, images, buttons, and dynamic components to display
the product information.
4. Arrange the components in a way that is visually appealing and easy to navigate for the
users.
5. Retrieve the Dynamic Component extension from the Week 7 folder on Canvas.
6. Incorporate the "[Link]" extension into your Kodular
project.
7. Insert the newly imported extension into your phone editor by dragging and dropping.
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Activity 2: Constructing your blocks. Configure the properties of the dynamically generated components—like text, images,
and button actions—in accordance with the corresponding product data.
Import the Dynamic Component Extension by @yusufcihan to your Kodular project.
Use the Dynamic Component extension to create the necessary blocks for your
eCommerce catalog.
Implement the "Create" block from the Dynamic Component extension to generate
components dynamically, guided by the product data.
You may download the “[Link]” from our Canvas Week 7 folder.
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
The Reset button allows you to clear your CardView and start afresh. • Image URLs are sourced from the web:
[Link]
[Link]?auto=webp&quality=75&crop=1.91:1&width=1200
[Link]
[Link]?q=90
A 'for-each' loop is deployed to produce all the required CardView components derived
from the provided list of product data.
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Before submitting your application, it's crucial to ensure that it's functioning as expected.
In this activity, we'll walk through some steps for testing your app.
1. Initial Run: Start by running your app on your preferred device. Check that it launches
successfully and that the initial screen appears as expected.
2. Interface Check: Make sure all buttons, images, and text are displayed correctly and
are legible.
3. Functionality Test: Try out all the features of your eCommerce catalog, try load and
set property, try load from a list and reset the cardview. Make sure all these actions
work as intended.
4. Dynamic Components Test: Ensure that the dynamic components are working
correctly. Check that the right data is displayed and that actions related to these
components work as expected.
After you've thoroughly tested your app and you're confident that everything is working
as expected, you can proceed to submit it. Remember, it's better to discover and fix
bugs now than to have them found later by your users or during the evaluation process.
Good luck!
1. Take screenshots of your component view and block view for all the screens in your
mCommerce catalog.
3. Make sure to include your student ID and full name on the design view's screenshot.
Done!
Reference: [Link]
components-extension/80262
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Before submitting your application, it's crucial to ensure that it's functioning as expected.
This tutorial builds on the previous one, where we created an mCommerce catalog. In this In this activity, we'll walk through some steps for testing your app.
tutorial, we will add a keyword search feature, as well as the ability to insert, update and delete
products. We will also create previous and next buttons to allow users to navigate between You can watch a video named T8_demo that shows you an example of how to test your
products. invention.
In this tutorial, you will learn how to: After you've thoroughly tested your app and you're confident that everything is working
as expected, you can proceed to submit it. Remember, it's better to discover and fix bugs
• Implement a keyword search feature for your mCommerce catalog. now than to have them found later by your users or during the evaluation process. Good
luck!
• Add, edit, and remove Firebase records from your app.
• Create buttons to switch between the previous and next products. Activity 4. Submit your work!
1. Take screenshots of your component view and block view for all the screens in your
mCommerce search app.
Activity 1: Set up the project template and explore the app functionality. 2. Submit the screenshots to the designated Canvas "Tutorial 8 Submission Link".
1. You are provided with a complete app template named T8_Search_Template.aia. 3. Make sure to include your student ID and full name on the design view's screenshot.
2. On Screen1 and ScreenUpdateDB, please insert your Firebase URL, and Cloudinary API
4. The deadline for submission is within one week.
keys.
3. The app has two screens that you can switch between.
4. Test the app thoroughly and examine its blocks.
5. To learn more about the blocks, please check the slides for lecture 8.
Done!
Activity 2: Create buttons to switch between the previous and next products.
• You need to create two buttons that can show the next product and the previous Reference: [Link]
product. components-extension/80262
• You have to handle the situation when the user reaches the end or the beginning of the
product list.
• No more hints will be provided.
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Before submitting your application, it's crucial to ensure that it's functioning as expected.
In this activity, we'll walk through some steps for testing your app.
In this session, we'll be focusing on a critical visual feature of any data-driven application: Bar
Charts. Bar charts provide a simple yet efficient way to represent data in a visual format that is You can watch a video named T9_BarChart_demo that shows you an example of how to
easy for users to understand. They can effectively illustrate comparisons among categories, and test your invention.
in our case, display the user's overall ranking in our quiz app.
After you've thoroughly tested your app and you're confident that everything is working
In this tutorial, you will learn how to: as expected, you can proceed to submit it. Remember, it's better to discover and fix bugs
now than to have them found later by your users or during the evaluation process. Good
Establish a connection to your specific Firebase URL, luck!
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Interface
Tutorial 10 Sensors
MIT AI2: Android, where is my car? Display dynamic data: the current
label User CurrentAddressDataLabel address. Set its text to be
(Location sensor, Map, and Pedometer) Interface “Unknown.”
Component Palette group What you’ll name it Purpose HorizontalArrange Layout HorizontalArrangement4 Arrange the Remembered GPS
Type ment info.
Display the header, set its Label User RememberedGPSLabel Display the text “GPS”
Label User CurrentHeaderLabel text to “Your current Interface
Interface
location:” Display dynamic data: the
Label User RememberedLatLabel remembered latitude. Set its text
HorizontalArran Layout HorizontalArrangement1 Arrange the address info. Interface
to be “0.0”
gement
Label User Comma2Label Display the text “,”
Label User CurrentAddressLabel Display the text “Address:” Interface
1|Page 2|Page
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Set the Text property for the labels with fixed text as specified in the above Table.
Uncheck the Enabled property of the RememberButton and DirectionsButton.
Step 3. Add behaviors to the Components (In the Blocks Editor)
Check the [Link] property, so that the WebViewer will fit on the screen.
Get Current Address from GPS sensor:
The overall component’s view is as follows:
This is the
original
design.
*****************************************************
Test your app Stage 1:
Android device: If you use an Android device when you run the app, you
should see some GPS data appear. If you don’t get a reading, check your
Android settings for Location & Security and try going outside. You will
3|Page 4|Page
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
have to walk out of the room to see if there’s any change with your GPS Activity 2. Store the car location permanently on the user’s mobile device by using TinyDB.
reading.
Step 1: In Block’s view, modify RememberButton to be like follows:
The initial reading may take more than a few minutes.
***********************************************************
*******************************************************************
Test your app Stage 2:
Step 2: Add behaviors when a user opens the app, the remembered information will be
When the user (both Android and Emulator) clicks the
retrieved:
RememberButton, the current readings for the location sensor are
copied into the “remembered”labels.
********************************************************************
5|Page 6|Page
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
******************************************************************* Activity 3. You may use the Maps and Navigation components to replace the use of
Test your app Stage 4: WebViewer.
7|Page 8|Page
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
For the use of the Navigation component, you must apply for your API Key: We add a LineString on the map so that we can show a route to guide the user.
Don’t worry about the values in PointsFromString, we will deal with it in the block editor.
[Link]
[Link]
For your testing, you may use my API key for your exercise.
API key: 5b3ce3597851110001cf6248731df57a8db547efa1f36b3d0156febd
[Link]
It will zoom the map to the user’s
current location.
It will then set the start location and
the end location for the Navigation
component, and call the
[Link] to
show a route.
9|Page 10 | P a g
e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
1. Take screenshots of your component view and block view for all the screens
in your app.
2. Submit the screenshots to the designated Canvas "Tutorial 10 Submission
Link".
3. Make sure to include your student ID and full name on the design view's
screenshot.
4. The deadline for submission is within one week.
11 | P a g 12 | P a g
e e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
The following is the overall view of the blocks. Please read the book chapter7 for more detailed
explanations.
13 | P a g 14 | P a g
e e
IS2023 Mobile Application for Business
IS2023 Mobile Application for Business
How to prepare your ASO elements for your Group Project mobile application
On-metadata are the factors or elements that are 100% under the control of the developer: title,
developer name, short and long description, icon, screenshots.
Off-metadata factors are not controlled completely by a developer, but can be influenced, for
example installs volume, ratings, and user reviews.
Optimizing a listing for Google Play Store can improve rankings in search, conversion rate to install and
drive more organic downloads – so if you haven’t done it already, now is a great time to start.
Done!
o Reference:
[Link]
[Link]
Having an ASO-optimized Google Play Store listing can help you not only to boost visibility in the store,
but also in Google Web Search and App Packs.
Add keywords in the title (30 char), short description (80 char), description (4,000 char). Google indexes
almost all text that appears in the store listing. Google Play, when it comes to Search, is much more
similar to SEO.
15 | P a g
e
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Title is the first and one of the most important ASO on-metadata factors, because it influences both A short description on Google Play Store affects search and conversion rate.
search results and conversion rate to install. You can include up to 80 characters in the short description field, and it is very important to keep the
Since June 2017, Google permits to include up to 50 characters in the Title (while Apple has shortened balance and provide a clear description, including some of your main keywords that you want to rank
the App Name, instead, from 50 to 30 characters). To maximize the use of this space for your for.
optimization and improve keywords rankings, add some of your most powerful ones to your A well-composed short description provides a highlight about the virtues or a purpose of your app,
Title alongside brand name. clearly delivers a message about its value and catches attention so the user can expand it and go to see
Keep your brand name short, clear, and easy to spell for your potential users, and try to add emoji to the full description. Just like it is true for the Title, adding some emoji to Short Description will help
instantly grab users’ attention when they are browsing on the Google Play Store.
Don’t ignore localizing your store listing – you can add one Title for each language where you wish to
localize your app. Mobile world is global, and having a localized app can help you understand where the
demand for your product is coming from (and the results can surprise you)
Below you can find a few examples of a great, ASO optimized Titles:
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
Icon Video
Icon is the first visual element that the users see when they come across it in the search results page or You can also create a YouTube video about your Android app or game. In this case the video preview
Top Charts. Therefore, an icon plays directly affects click-through rate (how many users visit your listing thumbnail will become a feature graphic. This is how it looks like on the listing and in search results:
after seeing a preview in Search / Top Charts), and of course, conversion rate (how many users will
download the application after visiting listing).
There is no doubt that the icon is an element that has the most influence on user decision whether to
look and install or not. So, icon is an on-metadata factor responsible for Conversion.
Here you can see the view that the users get in the Google Play Top Charts and search results. A striking,
distinctive icon is what can really influence the users to try out your product.
For publishing a store listing on Google Play Store, you need a high-resolution image for your icon. These
are Google’s requirements for icon:
A few tips on how to optimize your icon: Video is a very simple to use, yet very powerful tool. To add a video, just paste the YouTube URL in the
Make sure your icon is clearly reflecting the main purpose of your app – don’t confuse “Promo video” field on your Google Play Store listing. Keep in mind these requirements:
the users unless you already have a strong brand.
Find your “style” – colors, typography, etc. – and stick to it, so your icon goes in alliance
Make sure to use an individual video’s YouTube URL, not a YouTube playlist or channel
with the other elements of your app.
URL.
Look at your competitors and do something different.
Don’t use an age-restricted video as your promo video.
Use vibrant and harmonizing colors and clear shapes, don’t overload your icon with too
many elements.
You can localize your video in all the languages that your app is available for. Upload one video for
Avoid having text in your icon.
each language, or just use transcripts in different languages, which Google will automatically show
Try adding borders to the icon to make it more eye-catching.
depending on user location or device settings.
Innovate and follow the design trends – remember when everyone got crazy about flat
One of the coolest things about adding a video to your store listing is that the views from Play Store
design?
count as YouTube views. This gives you higher YouTube rankings, and therefore, higher positions in
Don’t try to guess what icon your users will choose – use A/B testing tools to know Google web search results.
exactly what icon performs best.
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
IS2023 Mobile Application for Business IS2023 Mobile Application for Business
You can use your group project mobile app to complete and submit the
Like other graphic elements of listing, screenshots are the on-metadata elements that are responsible following table to Canvas under “Tutorial 11 Submission Link”. (Deadline: 1
for Conversion Rate. They don’t have such a huge visibility on Google Play (comparing with App Store), week time)
because the user must scroll through listing to get to see them. But still, the screenshots remain to be
essential for the users to see how the app looks like from inside.
Listing Tools you may use / hints Your Student
Just taking a glance at the screenshots, users will already decide if they want to try the application or elements Input in
not, so it is extremely important to make a great first impression on the users. Make sure you showcase charge
your best features on the first two screenshots. 20 Keywords: [Link]
On Google Play Store you can add up to 8 screenshots, with a minimum of 2 (but never stop on 2 App title: [Link]
screenshots) and has the following requirements: name-generator-ideas/
[Link]
JPEG or 24-bit PNG (no alpha)
Category: [Link]
Minimum dimension: 320px
android-app-categories/
Maximum dimension: 3840px
Short About this app and its main features
The maximum dimension of your screenshot can’t be more than twice as long as the
description:
minimum dimension.
(80 characters)
Description: The app description needs to bring a message.
(4000 The keywords placed on top will have more relevance for
characters) Google than the ones placed at the bottom.
You have to repeat the keywords throughout your short and
long description so that Google understands that it is a
keyword. The keywords should be used at least 3 times to be
seen as a keyword.
You shouldn’t repeat a keyword more than 8 times.
Don’t be shorter than 800 characters.
Icon: [Link]
(32-bit PNG with Alpha) 512px x 512px, file size: 1024KB
TWO [Link]
Screenshots:
[Link]
(JPEG or 24-bit PNG, no alpha) 320px-3840px
Video: [Link]
(YouTube How to create a Mobile App Demo Video - Wideo
video URL) And many others…
Follow these tips to rock your screenshots:
Put your best features or the most important messages into the first 2 screenshot slots.
Use all available screenshot slots, don’t stop on the 2 minimum required ones.
Use text to explain the information on the images to the users.
Follow your app’s general style and theme, experiment with creating storylines.
Provide a challenging copy to encourage users to install.
Show special offers or discounts to give them more visibility.
Done!
Localize screenshots
And never forget to A/B test them to find the best ones for your product.
Reference:
Department of Information Systems, City University of Hong Kong Department of Information Systems, City University of Hong Kong
[Link]