In this blog post, we’ll examine the core features of smartphones, the role of applications, and how application programmers make smartphones “smart.”
Led by the introduction of the iPhone, smartphones have become the centerpiece of social innovation in just a few years. Once considered the exclusive domain of a small group of early adopters, smartphones are now a common sight on the streets, and the variety of models—including the iPhone, Galaxy, Vega, Optimus, and Nexus—has become extremely diverse. The number of smartphone users in South Korea has also far surpassed 10 million, and among the younger generation, it’s becoming increasingly difficult to find anyone who doesn’t own a smartphone. So what exactly is a smartphone that has people so enthusiastic about it and earned praise for completely transforming their lives?
Simply put, a smartphone can be viewed as a computer you carry in your hand. It’s not just for phone calls—you can search the internet, send and receive emails, easily check how many minutes until the next bus arrives, and even play games during breaks. Depending on how the user utilizes it, it can become a gaming device, a messaging app, or even a writing tool. Therefore, even though they may look the same on the outside, smartphones vary widely on the inside to suit each user’s individuality and needs. At this point, it’s fair to say they look the same on the outside but are different on the inside.
This characteristic is one of the biggest differences that distinguishes smartphones from traditional “feature phones.” Of course, even feature phones allowed users to play games and send and receive emails, albeit with limitations. However, feature phone users could only access a limited set of pre-installed programs. In other words, users could not freely add new features just because they wanted to. Smartphones, however, unleashed the pent-up desires of users. Users can now freely add new applications (apps) with the features they want. Applications—often referred to by the abbreviation “app”—are equivalent to computer programs. Just as users install a word processor to work on documents or Photoshop to edit photos on a computer, smartphone users must install the corresponding app to perform a specific function. If you want to take notes, you download a note-taking app; if you want to chat with friends, a messaging app; and if you want to watch a baseball game, a video player app. As apps are installed one by one, my smartphone transforms from a device capable only of making phone calls into a calculator, a compass, a camera, and an MP3 player. In other words, a smartphone is a box that holds these tools called applications.
So who creates these applications, which are the crown jewel of smartphones? Just like computer programs, applications are a type of software. Therefore, programmers who develop and research software are the ones primarily responsible for creating most smartphone applications. Among them, programmers who specialize in application development are called application programmers. They are the magicians who make smartphones “smart.” Application programmers aim to create useful applications based on their knowledge of computer science. However, they differ from traditional programmers in that they are more focused on finding ways to make better use of the portability and ease of access that smartphones offer.
Furthermore, what tools do application programmers use, and how do they craft applications? In short, programmers implement applications using “programming languages” by adopting effective “data structures” and “algorithms.” What on earth does this mean?
First, data structures are a field that determines how to handle the data used within a program; structures such as stacks and heaps are representative examples widely used in this context. To put it simply, it’s like figuring out how to categorize the data you have and how to efficiently organize it on a bookshelf.
An algorithm, on the other hand, is a set of instructions; by following them, you can solve certain problems or run a program. For example, to do laundry, you soak the clothes in water, rub them with detergent, rinse them again, and then shake them out before hanging them on a drying rack to dry. Similarly, a computer executes a program by performing various calculations according to the instructions provided by the algorithm.
Finally, a programming language is, quite literally, a “language” that a computer can understand. Just as you use Japanese to communicate with Japanese people and English to communicate with Americans, you need to know a programming language to communicate with a computer and give it commands. Representative examples include C and Java. For example, Apple’s iPhone uses a language called Objective-C to create applications. Does the statement, “An application is the implementation of data structures and algorithms using a programming language,” make a little more sense now?
Meanwhile, as smartphones have become deeply integrated into people’s lives in recent years, the app market is gaining attention as a “blue ocean” that generates new revenue models. A prime example is KakaoTalk, a messenger-style smartphone application that has replaced traditional text messaging. With the advantage of allowing users to communicate for free over Wi-Fi, it has gained such immense popularity that virtually every smartphone owner has installed it on their device. Having secured a broad user base, KakaoTalk is emerging as one of the most prominent small and medium-sized enterprises by generating revenue through game integration and message gifts.
The current app craze is carrying forward the venture company boom that swept through South Korean society in the past. As we’ve seen, it’s impossible to discuss smartphones without mentioning apps. A smartphone without apps is like a steamed bun without its filling—or a body without a soul. People are already living in a world dominated by smartphones and their apps, and even as we speak, a flood of apps armed with all sorts of creative and innovative ideas is pouring out. Isn’t taking an interest in apps the bare minimum of cultural literacy required for people to navigate life in today’s world?