First, I tried to develop my own skillset and not merely focus on Flash. A lot of people are proficient in Flash, but not many can use it to create attractive designs. Instead of trying to become an expert in Flash, I tried to become a designer that could create quality output with great design, animation, transitions, and user interaction. Thus, my focus was on the content and not the platform. The technologies demanded by the market constantly change, so I thought it would be dangerous to depend on a single technology. Flash would someday become obsolete, and I wanted to develop a unique set of abilities that would not become outdated. These abilities allowed me thrive when creating things with HTML5.
Second, when I was about to graduate high school, my dream was to become a model maker that makes miniature models used in movies. At that time, I coldly appraised my talent for such work. I realized that expert model makers had to create models from scratch, but I was only capable of assembling and painting model kits. I was good enough to be a hobbyist but not a professional. In my opinion, to be an expert, one needs to be able to work at the most basic level. In programming, this consists of using code to design program structure and write one’s own programs. If one doesn’t understand code and merely uses tools or libraries to create things, this is like a hobbyist putting together and painting store-bought models.
Flash provides timeline-based authoring tools that allow anyone to create animations, even if they don’t know how to code. This is why Flash is popular among designers who can’t program. This has resulted in many designers using Flash tools to create button movements or detailed animations. While most people did things the easy way, I wrote my own code to make animations, even though this method was much harder and more time-consuming.
The same principle holds true for libraries. Libraries are “source files that can execute specific functions needed in programming”. The use of libraries is not a problem in itself. The problem arises when one uses a library and thinks the end product is entirely due to their own ability. This is a self-deception, and the designer may end up becoming a “collector”: someone who spends more time collecting libraries than honing their craft. This tendency may be acceptable in the early stages but as time passes it becomes a trap.
Beginners often use prototyping tools when learning how to program. Although tools are helpful to beginners, one must eventually go beyond them to make progress. Once you gain experience in programming, you should write your own code and stop using tools. Tools and libraries are convenient, but they prevent you from understanding code, and you are restricted to the functions they provide. Even if the tools are good and you understand them completely, the results will be limited. We must remember that tools and libraries themselves consist of code. Writing code—and not using tools—to create designs might be difficult, but it will give you a broader perspective and help you when transitioning to other programming languages.
Jongmin Kim is an international award-winning Interactive Developer & Designer, currently working as a senior UX engineer in Google’s Design Collective Team, developing futuristic ideas and creative works. He always tries to “pursue a minus design rather than plus designs” and keeps in mind that “form follows function.” His personal works reflect his approach to design.