They are real Xcode project names.

But this time, I bravely chose an online course for learning Objective-C and Swift. Of course, I failed. Even though I could follow the examples, It never felt like that I’m creating something. ‘Being a parrot’ would be the perfect way to describe this feeling — it’s not your knowledge, you’re just mimicking.

There must be an easier path for me!

This was the only thing I created by myself with Xcode + Swift.

The only memorable lesson I learnt from the iOS dev course was that there are many programming languages and they are not the same. The diversity of programming languages is similar to real languages in the world!

I studied Japanese and English at high school. At first, I found English was extremely difficult. It had too many weird concepts that don’t exist in my native Korean. On the other hand, Japanese was easier to learn because it was similar. Learning Japanese was more motivating for me. I could chat to a Japanese tourist, and read comic books. It was really fun! After realising the joy of learning a new language, I finally got the courage to learn English as well — and here I am. So I decided to take a similar approach to programming languages.

ActionScript, JavaScript, jQuery… they are script languages. Therefore, if I picked a similar language, it would soften the learning curve. I altered my plan to instead learn Framer (which uses CoffeeScript) for making prototypes. I instantly noticed it was much easier to understand compared the time I struggled with Swift. I changed my path of learning.

Made with Framer — and this was what I wanted to create!

Arrays! I finally understand Arrays!

Arrays were the most difficult concept in programming for me to understand. I always made a list by using for loop , and then got stuck because I didn’t know how to animate a layer when you click. I asked for help from the Framer community. A few minutes later, a kind person created a revision for me! It was exciting.

I sat down at my dining table, after drinking some beer, and tried to figure out what was happening inside of this prototype. There seemed to be a step-by-step process.

1. Making an empty array.

2. Creating a for loop with layers.

3. Creating an Event (Click).

4. Specifying which layer will have the animation by using the index of a layer.

FYI — I took a pain killer whilst reading the code.

A Function is similar to a Photoshop Action!

In contrast of learning array , I found it was much easier to understand function . It was like Photoshop Actions for designers. You define a work flow, then apply it to an object, many times. Creating functions was fun. I made an upgraded version of the previous prototype to practice this new technique.

Incorporating for loop , array , and function together enabled me to create high-fidelity prototypes.

It solved communication problems!

As soon as I started to create interactive prototypes, it changed my entire design workflow. The biggest benefit I had was that I can show working concepts before fully polishing the design!

Even though it is not finished, the dev team still can reference the design to build the UI.

You can create a fully interative wireframe with commonly used UX patterns.

This was amazing. Whenever I have some ideas, I make a prototype, kind of like a wireframe. I bring it to the project managers and they plan a user testing session. I bring it to developers and they start making plans, researching any needed technical requirements. Whilst everyone understood how it works, the rest was up to me. Make it beautiful!

Comics I drew for promoting my talk (check out the link if you want!) at Melbourne Cocoaheads.

Our entire team saved so much time. Clients started giving more valuable feedback, and somehow they’re trusting me more. Now, I start designing everything in code.

Let’s make something silly, and enjoy learning something new everyday.

I’m aware that should a designer code? is a heavily debated and sensitive subject in the design community. The question itself has a point, but I don’t agree with the way it forces or criticises designers to learn programming. Because we can’t learn well when we are already stressed.

Learning is full of failure. There are stressful moments. Making something silly helps you to be relaxed, and it lets you to be creative. We tumble a lot when we learn how to walk, don’t we?

Am I getting closer to create Bristol Stool Chart app?💩

Being silly sometimes lets you to make something clever. Like my slide to unzip prototype. That justifies me to stay silly because I can learn something eventually.

I’m still a beginner, and a very lazy person as well. My developer colleagues told me that the way I learnt coding had opened up a different perspective for them. I found the courage to write up this story as a result. Hope you enjoyed reading it!

If you want to try your hand at Framer, you can download a free trial from their website.

You can follow my twitter (@arle13) to check out all the small silly things I’m doing.