[IMPORTANT] I’m back in front of my screen!

This is an important announcement / it’s been a long time!

I know guys, and I’m sorry for that, it’s been a long time I did not work on the Printoid Project.

In fact, I was very (very) busy during the last weeks months, so I didn’t get the time to work on the app. By the way I still received a lot of e-mails and I’m trying to treat them as fast as possible. I’m doing all my best to still provide you the greatest service ever.

Why this long silence?

I’m now working for a new french company. As you know, Printoid is not my full-time job. I’m working on it on my free time, trying to provide the best tool ever for your 3D printers 🙂

One important thing is that I really want to improve my development skills. As far as you know, Android is an open-source project from Google, and it evolves soooo quickly. Fortunately, that’s not a bad thing, because Google provides us a lot of new great stuff to make cool and beautiful effective apps.

For at least 5-6 weeks, I’ve learned a lot of things. How to enhance my apps. How to make an elegant architecture. How to make efficient UI. How to improve the UX.

I’m also working with Mathias Seguy. May some of you guys are also Android developers, and know them from his conferences at the Droidcon-s, the Android Makers, etc. all over the world. Mathias is one of these guys who’s a passionate Android code monkey. Don’t hesitate to follow him on Twitter.

Finally, I went to the Android Makers Paris this week. And that was amazing. Guys from Google (and worldwide companies) were so cool, so smart, so…everything. If you feel interested to the conferences, you can replay them on Youtube here.

This way, I’ve understood that Printoid needs to be partially re-written. Please let me explain you why.

UI improvements: ConstraintLayout

UI is a huge part of an application. That’s what you see when you use the app. That’s what, as users, you need to call the features of OctoPrint.

Google provides a great tool to make efficient interfaces for Android: ConstraintLayout.

In fact, there are a lot of layout you can use to make your UI. LinearLayout, to build stacked things. RelativeLayout, to places UI objects relative to each others. And a lot of others, of course. ConstraintLayout is a contract between the most used layouts, but without the most common constraints. With this last one, we can built responsive interfaces. And Google continues to enhance it, and encourages developers to use it as much as possible.

I’m already using it in the app; but not everywhere. The migration of my old interfaces to ConstraintLayout will improve a lot the way to load the views. And you’ll get a better app after that.

Estimated time: at least 2 weeks of work.

UI improvements: VectorDrawable

Dealing with icons and images in Android can be a mess since we have to handle all the different screen resolutions and densities.

VectorDrawable can improve a lot the application, providing an elegant and powerful way to display icons without any dependence on the screen parameters.

Vectors are SVG files: instead of providing PNG files for all the screen density, only one SVG file will be sufficient. The package (APK) size of Printoid will be positively impacted: I can remove at least 15MB from Google Play releases 😉

Estimated time: at least 2 weeks of work.

Architecture improvements: Kotlin

Android apps are (mostly) programmed using Java. Kotlin is a new language provided by Google, and it is officially supported since the end of 2017.

Kotlin is powerful. A lot of new concepts allow the developers to make amazing apps easily and bug-free (just kidding: no bugs = no more work, haha!)

That could be nice to migrate all the Printoid’s code to Kotlin, but it is utopian. That’s not possible to re-write the whole code, but I want to use Kotlin starting from now. So the new features will use this new language.

Estimated time: at least 3 weeks of training.

Architecture improvements: the Arch libraries

Google provides, since the end of 2017, a lot of powerful libraries to make a safe and powerful architecture for your apps. This includes things to manage the lifecycle of the app, the data persistence, and a lot of cool other things.

Integrating the Arch components in Printoid will help me to ensure that the app is reliable and robust.

Estimated time: at least 3 weeks of work.

Bugfixes: the core of my current job in Printoid, unfortunately!

Last but not least, I really need to hunt the bugs. Thanks to Crashlytics, I automatically receive a notification when the app crashes on your phone. It’s a cool tool to manage app’s vitals, to handle crashes and ‘Application does not respond’ (ANR) issues.

Crashlytics (from Fabric) is already integrated in Printoid since a while. So I’ll be able to understand what’s going wrong with the app, and try to give a max of bugs a fix. As soon as possible. That’s my priority today.

Estimated time: at least 2 weeks of work.

Conclusion

I’m back, but not to integrate new features in the app for the moment.

My main goal is to modernize Printoid. I want to make a powerful framework to control OctoPrint, then a responsive and elegant interface.

Things will change a lot for you guys:

  • The app will be really (really) smoother than actually
  • Things will be loaded at the speed of light
  • Crashes will not exist anymore (fingers crossed)
  • The UI will be modular and could change very soon!
  • The UX (user experience) will be greater than never!

Final time estimation: at least 12 weeks of work (3 months)

I will try to distill these improvements ‘on the fly’ for you guys. Probably 1 new release each months starting from now. You can still track the changes on my Trello board. It is public for all Printoid users, and more.

I hope you will enjoy the changes, and contribute positively the the future of the app 🙂

Don’t hesitate to send me your feedbacks at printoid.for.octoprint@gmail.com, and continue to promote the app with your friends and respective 3D printers communities: without you guys, Printoid is nothing.


3 thoughts on “[IMPORTANT] I’m back in front of my screen!

  1. Continue comme ça !
    J’imagine même pas le temps que tu as déjà passé sur cette appli pour notre grand plaisir !
    J’étais moi aussi à AndroidMakers, j’aurais vraiment aimé t’y croisé… peut-être l’an prochain! 🙂
    Bon courage pour toutes les « optimisations » que tu veux apporter sur ton code! 💪
    Un grand MERCI!!!! 😉

    Like

    1. Hello Alexandre! Merci pour ton commentaire 😉 pour être honnête j’ai arrêté de compter les heures de développement… Mais j’en suis à peu près à 20h par semaine en moyenne, depuis 2 ans !
      Effectivement, dommage qu’on ne s’y soit pas croisé ! D’habitude je poste un petit Tweet pour indiquer ma présence sur les événements mais là j’ai complètement oublié 😉
      Demain vers 15h je serais présent sur le concept store PIY3D sur Paris, dédié à l’impression 3D 🙂

      Like

Leave a comment