LINE Engineering
Blog

  • Why we use Kotlin in LINE Creators Studio
    Freddie Wang 2017.07.20

    Currently working on Android development in LINE Fukuoka. I'm a zealous user of Kotlin.

    Before we begin

    Hi everyone, I am Freddie Wang from LINE Fukuoka's development team. I'm currently in charge of developing a new Android app called LINE Creators Studio. LINE Creators Studio is a sticker creation tool that lets anyone create his or her own stickers and sell them on LINE Store.

    In this blog, I'd like to talk about Kotlin, the programming language which the LINE Creators Studio app is built on. I will explain why we chose Kotlin as our main language and introduce some of the Kotlin features we are using.

    Note: LINE Creators Studio is currently available in Japan only. It will be released to other regions soon.

    Advantages and key features of Kotlin

    Why Kotlin?

    At Google I/O 2017, Google announced that Kotlin is now officially supported in Android Studio 3.0. When we kicked off the development project for LINE Creators Studio at the end of 2016, we were tasked with the challenge of growing it into an MVP (Minimum Viable Product) project in a very short time. Although Kotlin 1.0 had been released quite some time ago, no one in our team had the experience of using Kotlin. We spent some time to conduct a survey on Kotlin before starting the development and eventually decided to use Kotlin because of the benefits it provides as described below.

    100% interoperable with Java

    The most appealing aspect of Kotlin is that you can mix Kotlin code and Java code in the same project and continue to use all existing Java libraries. Although we don’t have any legacy Java code in our project, we wanted to use some awesome libraries such as Dagger 2, Retrofit, and RxJava.

    Concise syntax

    Kotlin is designed for solving problems. One of its main goals is to write clean code more easily than Java. This is the first and foremost essential factor for us when developing Android applications.

    Reduced dependencies

    Kotlin has a compact runtime library which can replace some large Java libraries such as Guava. Using large libraries may not be a problem in server or desktop environments but it can be problematic in Android. Because the Android environment puts 65K methods limit on Android apps, we should avoid using large Java libraries. Kotlin's stdlib library (version 1.1.3-2) has only 6306 methods, which means it has less impact than the Guava libraries in terms of the number of methods.

    Compatible with old Android devices

    Kotlin 1.0 is based on Java 6, which means it can support Android devices whose version is 2.3 or higher. This is another very important factor for Android developers.

    Kotlin Android Programming language

    Read More

  • Using LINE Notify to send stickers and upload images
    LINE 2016.11.30

    LINE Dev

    Hi, my name is Hasebe. I'm in charge of the development of LINE Notify.

    In a previous post, we introduced how you can use LINE Notify to send messages to LINE from the command-line. Today, I'm going to introduce two features newly implemented in the LINE Notify API. One is sending stickers and the other is uploading images.

    Sending stickers

    The use case demonstrated in the previous post was sending a build result from Jenkins to LINE by using LINE Notify. In that use case, an image of Moon laughing was used to show how it can notify us of a build failure. It was during that time that we came to wonder, "why not make LINE Notify send stickers as well as images?"

    We thought that sending stickers would make LINE Notify more "LINE-ish." That's why we decided to develop this feature.

    Sending stickers from the command-line

    Let's try sending a sticker by using the curl command.

    $ curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer
    YOUR_PERSONAL_ACCESS_TOKEN' -F 'message=test' -F 'stickerPackageId=1' -F 'stickerId=113'
    

    LINE Notify

    Read More

  • Using LINE Notify to send messages to LINE from the command-line
    Watanabe Hirofumi 2016.11.01

    He is in charge of the development of LINE Notify. 

    Foreword

    Hi, my name is Watanabe and I'm in charge of the development of LINE Notify. In this post, I'd like to share how developers can use LINE Notify to send messages to LINE straight from the command-line.

    Up until now sending system messages to LINE either required a Bot API Trial or Business Connect account. While both are improved by Messaging API and provide many great features, they require a high level of implementation.

    LINE Notify is an API that has a limited set of features, streamlining the whole process of sending messages to LINE.

    Sending messages using cURL

    By generating your own "personal access token" through LINE Notify, you can send messages by sending an HTTP POST request to the API endpoint. Any method can be used as long as it uses an HTTP request. In this post, let's go over how you can use the HTTP client cURL.

    LINE Notify

    Read More

  • How to provide stable "Loves"
    Kawakami Taiki (moznion) 2016.07.12

    He develops the LIVE service at LINE.

    Hello, my name is Moznion and I'm part of the team working on LIVE: a video-based social media service that connects stars and celebrities to their fans.

    On LIVE, users can watch their favorite stars participating in programs or performing concerts all in real-time. LIVE is currently available on iOS/Android and on PC web browsers, and quickly gaining popularity.

    In this blog post, I'd like to explain how we handle large amounts of consecutive requests sent on LIVE.

    Introduction

    Read More

  • try! Swift Presentation Report
    Inami Yasuhiro (Inamiy) 2016.04.28

    An iOS developer at LINE. A lover of functional programming.

    Hello everyone, my name is Inami (@inamiy) and I'm an iOS software engineer at LINE.

    A Swift developer conference titled "try! Swift" was recently held in Shibuya, Tokyo from March 2 to March 4. LINE was a gold sponsor of the event, which was a gathering of over 500 people (30% of which were from overseas). There were many female presenters in the event as well, making it one of the most diverse gathering of developers I've ever seen; the likes of which I haven't seen in any Swift/iOS study group! I was offered a chance to present at the event about "Parser Combinator in Swift", a functional programming method.

    Swift

    Read More