The HackerNoon Mobile app (available on Apple & Google ) released in 2023 Q4 with the purpose of increasing access to the entire HackerNoon library. The mobile app facilitates readership as it was one of the main motives of the app. Almost everything we do on the web, is simpler on mobile, since it provides a personalized experience, and you can enjoy the main feature of the app from anywhere at any time. Release 1.9, live today, is our largest improvement yet, most notably with 12 languages available and our in-app writing experience. Cheers to the world wide writer!
Main Features:
On the mobile app you can also see pages such as the TechBeat page with the trending stories of the day, Curation page with articles curated by the topics you like, category/tagged pages which also curate articles by topic, and more. With this 1.9 release, we’ve now added translations and writing on the app soon, so it just keep getting better.
From a developer perspective, the mobile app was much needed. It was mentioned in almost every HackerNoon product meeting prior to its release. For some reason, many conversations led to:
It will be good if we had a mobile app to do x y or z.
As a dev and someone who loves challenges, I always asked myself why is it so hard to just build a mobile app. After the fact, the answer was simpler than what I thought.
Turns out I came across the Ionic Framework a few years ago and thought it was interesting but never really wrote any code to test it out. At that time, the framework only worked with Angular which probably impacted my decision on trying it out, taking in consideration that I am more of a React developer. Back then, Ionic was not as popular, and just the idea of creating a hybrid application didn’t fit in a lot of people’s mind. Anyhow, one time while on a product meeting, they were talking about the mobile app and I decided to take a look back at Ionic and guess what, they have expanded their framework to Vue and React which either or, I am really comfortable with.
The first thing I did was to install the framework and create a quick Android app. I was impressed by how easy and understanding process was. Being able to just drop a few components and have a mobile app its crazy to think of, but Ionic made it possible to just run some commands and have an app build in multiple platforms including iOS and Android. I felt really comfortable with the framework and I kind of new at that moment that I was up to the challenge. The coincidence came after, as I saw a new project about creating the first HackerNoon mobile app. I quickly picket up and started working on it.
I first started by installing Ionic in my Linux machine, created a brand new app, and researched some of their documentation. Ran these magic commands to start developing: npm install -g @ionic/cli ionic start // create ionic serve // run locally After playing with it, I then started moving components from the HackerNoon web version into this new project. Within a few hours I created a few pages. The HackerNoon designers (@Devans & @Kien) really did a great job matching everything and giving the app a good essence and look. Most of it was developed the same way you would develop in react, except Ionic uses Typescript, good for them. My linux machine was a good starting point where I developed almost 50% of the app based on Android, but was having a hard time testing the iOS version. There was a work around with Linux which was to install Mac OS on a virtual machine, to then install XCode, and then test the app on IOS, but then I couldn’t deal with the lagging and slowness. Once I was confident with the progress of the app, I ended up making the decision of upgrading my MacBook Pro in order to start developing for iOS. So far, it was a good decision as it showed me in many levels the importance of developing for all platforms, even though I still love Linux. So working on this app with my new MacBook Pro was really eye opening.
This was a learning experience full of challenges to overcome. Even the simplest bug took hours to figure out. Gladly, I was documenting every time I got stuck, so that it doesn’t happen the next time. Being the lead developer of this project, I had to make some hard choices in terms of the infrastructure of the app, build the entire api, and at the same time learn Ionic and get used to it. Here were some of the main challenges:
The entire development process was so cool and I definitely recommend other developers to give it a shot. The more I worked with the app the more I got used to it and became more comfortable with the development process. It was really satisfying to see the app on my phone and navigating through all the pages. The most impressive feature to me was the playlist/player as its something organic by HackerNoon and one of the main features of the app. The push notifications was the feature that I probably learned the most as it was something totally new and I got to see how mobile notifications work, and such knowledge can definitely be applied in the future to other features.
If you don’t have it yet, please download the app and share your thoughts in the comments ⬇️. ✌️
Here is the Apple Version:
Here is the Android Version: