Lottie4J Meets LottieFiles: A Conversation with Naail Abdul Rahman

Lottie4J Meets LottieFiles: A Conversation with Naail Abdul Rahman

Lottie animations run on Android, iOS, and the web. Getting them working on the JVM is a different story. Lottie4J started as a question: can JavaFX render them without a WebView? That question turned into a library with a first release in March 2026! Since then, I received the first pull requests, recently added headless unit testing with JavaFX 26, and now this: a video conversation with Naail from the LottieFiles team.

I got to sit down with Naail Abdul Rahman, R&D engineer at LottieFiles, the company behind the Lottie animation platform. We talked about where the format came from, where it is going, and what that means for a Java implementation like Lottie4J.

What we talked about

The conversation covers a lot, so here is a quick overview of the topics if you want to jump to a specific part:

Lottie: from Bodymovin to everywhere

One thing I always find interesting about the Lottie format is that it did not start at LottieFiles. It started as Bodymovin, an After Effects plugin for exporting animations to the web. Airbnb picked it up, built their Android player around it, and the name Lottie stuck. From there the format spread across platforms, communities, and now also into Java.

The open-source specification lives at lottie.github.io, driven by the Lottie Animation Community (LAC). That is the reference Lottie4J works against.

dotLottie: the format worth paying attention to

Most Lottie work today happens with .json files. The dotLottie format (.lottie) is a ZIP container that can hold multiple animations, theming through slots, and interactive state machines, all in one file. It is where things are heading, and it is definitely what I need to add proper support for in Lottie4J.

The difference matters practically. A .lottie file compresses much better than the equivalent JSON, it can bundle assets cleanly, and the slots and states features open up real interactivity that a static JSON animation just cannot do.

What this means for Lottie4J

The conversation pushed me to think concretely about where to take the project next. Three areas stood out as important steps:

Another important moment in the conversation: Naail noted that interest in Lottie for desktop applications is growing, including from projects like KDE. JavaFX is in good company there! Even more right now, considering the recent announcement by Oracle that are now offering extended JavaFX support. This is something Azul has done for years.

Conclusion

The conversation confirmed something I suspected: Lottie4J is not a niche experiment. Desktop animation is getting serious attention across the Java and Linux ecosystems. If you want to help shape where Lottie4J goes next, head over to lottie4j.com. Pull requests, bug reports, and questions are all welcome in the comments of the video or in the Lottie4J GitHub project.