Dev Log #1

Lately, my YouTube recommendations are flooded with dev logs, showcasing the progress of building indie frontend projects or games. That inspired me to start logging my experience building Twine, my cross-platform RSS reader app or any of my programming explorations. But instead of doing a video, I have decided to write.

GitHub - msasikanth/twine: Twine: A multiplatform RSS reader built using Kotlin and Compose
Twine: A multiplatform RSS reader built using Kotlin and Compose - GitHub - msasikanth/twine: Twine: A multiplatform RSS reader built using Kotlin and Compose

So, why am I doing this? There are a couple of things I want to achieve with this

  • Capture different ideas and experiences I had when building Twine. I think this acts as a good way for me to keep track of my thought process, and explorations and potentially also helps others in their programming journey 🤞🏾
  • Improve my content writing frequency and ability(?). I am not that consistent with my content writing, nor am I that great at writing articles in my opinion. So, I feel like this kinda of helps me with that, I don't need to have the pressure of doing something "cool" and instead just capture my experience working on Twine for that week or since I have written last.

Let's start dev log for this week (Week 04, 2024). So, what I have been up to?

  • I have implemented the reader view for the app, it's been a long-requested feature, ever since I first open-sourced the project. So, it feels nice to finally close this one off.

To implement the reader view I had to fork Readability4J, to Kotlin multiplatform to process the RSS HTML content into a readable HTML. One thing that made this fork possible was fleeksoft/ksoup, which allowed me to replace Jsoup usages.

In terms of the reader view, I am just using a webview, to render the generated HTML. I had to write some HTML and CSS for formatting the reader view. It's been a while since I have done that, I felt so damn rusty 😂

  • In RSS feeds you don't always receive full post content. So, one thing I have done with my reader view is the ability to pull the article from the web and convert it into a readable view with a button press. It was pretty straightforward as I just loaded the HTML and passed it through the readability class to generate the HTML and render it. But this is definitely a really useful thing to have for me. Here is a sample showcasing that.
0:00
/0:31

Currently, I am waiting for a new webview release, which contains a couple of changes I contributed to. Once that is available I will push these changes to production.

  • Next up, I finally started working on tags implementation for Twine. While I do have an idea of how the DB implementation is gonna look and work, one thing that I have been mulling over from the start is how the user experience is gonna look. After trying out a few implementations of this on different projects, I think I have an idea of how Twine implementation is gonna look like. Finishing this will bring Twine to feature match with most of the RSS readers out there, and also allow me to explore integrations for the project. So, that's something I am looking forward to.
  • Apart from working on Twine, I have been playing Gran Turismo 7 and got Like A Dragon: Infinite Wealth today, so been playing those in my free time. As always been playing a ton of Overwatch 2 🥲

and that's it, for my first-ever dev log, and what I have worked on Twine this week. I will try to be consistent with these and at least try to write one every weekend. But I don't want to force myself if I haven't done anything instead decided to take a break.

Remember to subscribe so you can begin receiving more dev logs and other updates directly in your email.