iGlossary — Programming Glossary App

My First Solo Challenge in Apple Developer Academy

Ren
5 min readSep 27, 2020

In Academy, we use learning framework called CBLChallenge Based Learning” to solve real-world challenges. But in this journal I will not explain more about CBL. Instead, I will share you my solution to my friend’s problem on my frist (one week) solo challenge.

ENGAGE

During this Engage Phase, we will move from an abstract big idea to a concrete and actionable challenge using the Essential Questioning process. The goal is to personally connect with academic content through the identification, development, and ownership of a compelling challenge.
- read more

BIG IDEA

EMPATHY

ESSENTIAL QUESTION

How to help my friend through the academy journey?

CHALLENGE

Help my friend through the Academy journey

This will be our actionable challenge

RESEARCH & INVESTIGATION

SYNTHESIS

In this challenge, our Big Idea is an empathy. so, before I started to investigate my friend to know about her goals, obstacle and needs in Academy, I should know about the basic knowledge of empathy, like…

  • What is a good example of empathy?
  • How do I show empathy to my friend?

After I know the basic knowledge to understanding better how to to show an empathy to my friend, I generate some questions to seek the problem and to understand our challenge better .

  • How to find the real problem?
  • What are my friend’s goals on the learning journey in academy?
  • How to define the achievement of the journey?
  • Why going through journey is important?
  • What are the boundaries of helping my friend?
  • What are my friends main obstacles to be successful in academy journey?
  • What are the things that can help my friend become successful with her academy journey ?
  • And so on…

After interviewed my friend and got some findings, I use it to drew a conclussions to demonstrates a depth of knowledge and make a case of proposed solution.

My friend goals are able to improve her skill especially in people management. She loves to learn by searching more information outside the academy and learn together with friends who can share their knowledge with her.

My friend love all of Academy Chores, but she have difficulty in learning code in detail because it’s not easy to recognize the term in coding..

REFINED CHALLENGE STATEMENT

Based on my general research synthesis I created more specific statement into:

Help my friend to learn code.

FINAL SYNTHESIS

From the first synthesis and from more specific questions how to help my friend to learn code, I develop a final research synthesis.

My friend have difficulty to learn code because it’s not easy to recognize the term and my friend prefer learning by visual method with clear step by step process.

PERSONA

I created user persona to developing an accurate picture of my friend. It helps me understanding my friend’s goal and her problem.

user persona

SOLUTION

My possible solution for my friend’s problem is…

I will help my friend by collecting programming terms that she has or never heard before including the definitions and sources to learn.

So this is it!

A native IOS APP that can help my friend to understand the term that she doesnt heard before by making a programming glossary including source to learn so she can understand and learn more about it.

This is a solution to the challenge because the main problem with my friend is she’s never been coding before and she doesnt know any of the term.

MAIN FEATURES

After I know what I will build, I listed the feature list

INTERACTION DESIGN

TASK FLOW

I created a task flow to identified a key task my user will complete.

USER FLOW

There are three scenarios that my user can choose to see the definition of each programming term

  1. Search the term quickly
  2. Choose the term by the alphabet
  3. Scrolling down all the glossary to see before she selecting the term

UI DESIGN

PROTOTYPING

Moving from pencil and paper to digital, I used sketch to create prototype

STYLE GUIDE

Since I am doing it myself, I don’t think I need to create a design guideline.

My friend is a dark mode user, so I just use all the IOS system color, font and background. It will follow the user system preferences .

APP NAMING AND LOGO

This app is about programming glossary, so I called it iGlossary. Since we only have one week to finish this challenge including the development, so I don’t really have much time to ideate the logo, but Menlo font is literally catch my eyes.

LOGO

USABILITY TESTING

This app is not really answer the Goal, but my friend/user said this app is really usefull for her. I asked another friend too and they said it’s quite help.

DEVELOPMENT

APP DECONSTRUCTION

FRAMEWORK

First development:

UIKit and Story Board

Second development (was created on another challenge):

SwiftUI

TAKEAWAY

What I learned from this challenge

  • CBL is really help us to figure out almost every problem on every challenges we want to tackle.
  • Empathizing allows us to understand our user better, it also helps us to look deeper in a way that helps us to think and create solutions for the problems
  • I learnt to be a good listener
  • Setting aside my assumption is important, it’s help me not to jump into conclusion
  • Constant curiousity by asking What, How and Why.
  • Solution is not always be an app

Need to be improved!

  • My friend’s goal and her problems is totally different. Next time I should have dig deeper more about my user fact and find all the patterns during research & investigation.
  • Every problem has many possible solutions, but I only created one. Next time I should brainstorm with my friend (or team) as many as I can to create solution concepts.
  • I use Menlo font for the Logo. I should have checked any font I use in advance whether it’s legal to use or not.
  • Should be more creative to create more solution

Artefacts

Thanks to my Mentors, especially Ka Gerson, Agatha and Tafa.
Also my friend
Ihwan for helping me learning Swift on this challenge

--

--

Ren

I am passionate about solving the right problem & implementing an accessible solution, eager to learn every thing to remove every barrier in digital technology