This article was translated from Japanese by Claude Code.
※ In Notes articles, I write down (roughly) in English the content of English session videos or podcasts. This article is intended to be read as a reference while watching the video. Some Notes articles contain rough memos or transcription-like content. I hope this article is helpful when you actually watch the video. (If there are any errors or typos in the content, please feel free to let me know.)
This article is about Fragmented Podcast: 105: Jake Wharton on the Android Kotlin Guides.

TL;DR#
Jake Wharton working on android/kotlin-guides on GitHub
Influenced by Google Java style guide
Hosting on GitHub makes it easy for people to not only access but also contribute
Different from JetBrains’ style guide; following this style guide has no conflict with following JetBrains’ style guide, but may not be vice-versa
Style guide to provide a set of rules to follow, and Interop guide to provide practices and things to care for those developers who…
Introduce Kotlin into existing Java project
Consume Kotlin code from Java
Provide APIs in Kotlin that may be consumed from Java
About android/kotlin-guides#
Q. Is this the de facto style guide for Kotlin? What was the reason for it?#
There are two guides: Style guide and Interop guide
Style guide for regular Android app developers to style code structure and new Kotlin files
Interop guide for developers to easily co-exist both Kotlin and Java code without feeling awkward, especially when calling codes from one language to the other.
Reasons:
Android has never had a style guide for non-Google developers
There was AOSP style guide but it was only for ASOP developers. And Android has been around for 10 years; most apps have Java code, so there needs to be something that people can follow to feel natural when introducing Kotlin code into existing Java codebases or consuming APIs of Kotlin language from Java codebases.
Q. Why NOT Google Kotlin Guide, and Android specific?#
Currently Google makes use of Kotlin language for Android platform, so we want something tailored for it, fairly quickly, rather than something very general.
It is influenced by Google Java style guide
Q. What about current JetBrains’ style guide?#
android/kotlin-guides is consciously made not to have conflict with the guide from JetBrains. However, following JetBrains’ Kotlin style guide does not mean it is 100% valid for android/kotlin-guides because JetBrains’ kotlin-guide is more focused on Kotlin language itself and its future, but android/kotlin-guides cares about natural, comfortable interaction between Java and Kotlin languages as well.
IntelliJ platform does not support code formatting exactly as style guide recommends. (Information from KotlinConf)
Q. How did you start making android/kotlin-guides?#
Goal:
- Easy to access
- Easy to contribute
Docs on android.developer.com are difficult to contribute for developers, so starting with Google docs → internal review → API counsel…eventually to github.com with Jekyll
Q. How did you decide what to put in kotlin-guides, especially controversial ones as personal preference or non-logical reasons?#
Looking up
Feedback from people from JetBrains who are making their guide in parallel
Q. One of the difficult choices? - for example, 2 spaces → 1 tab(4 spaces)#
Google Java style guide specifies 2 spaces
JetBrains’ kotlin guide specifies 1 tab
The almost all codebase at Square was also 2 spaces when Jake joined
“It seems everything is so far apart”
Q. Why “Style Guide” and “Interop Guide”?#
Style Guide#
Style guide aims to have rules that are unambiguous and can potentially be enforced or even formatted by an automated tool.
- Meant to be ‘Hard rules’
- Everything should be deterministic, unambiguous, just single way of doing something
Interop Guide#
‘Rules but a bit of interpretation’
Something you need to think a bit about
For people to have mixed (Java & Kotlin) sources
Eventually adding something more subjective:
- Design patterns
- Best practices or patterns
- Something people can decide whether or not they apply