These are the changes scheduled for early to mid 2023 in the OctoMY™ project:
- Good bye Qt5 hello Qt6
- Refactoring of subsystems relating to media such as speech, video streaming etc
- Once-over of whole project
- New build system
This is the official blog about the development of OctoMY™, the robot platform for you!
These are the changes scheduled for early to mid 2023 in the OctoMY™ project:
I took a break from C++ and Qt for a few years as I was working on other stuff, and when I came back a unique opportunity presented itself; I could look at Qt from an outsider's perspective not being as biased as before. Well I am biased, Qt is my all time favorite platform so who am I kidding. But I have seen the world beyond and just maybe I can spot some trends where Qt moved while I was gone? This is in essence my mandatory rant on UX in programming tools, with Qt & QtCreator as a backdrop.
NOTE: I am looking at this from a community perspective. I am sure if you pay for Qt your experience will differ in some respects.
Installing Qt is still terrible, but a little better than it used to be. It still features an install wizard straight from the 1990s era, but at least it has green color to bring it into the future.
Seriously, the wasted potential is staggering. I wish someone would appoint me UX lead on the installer team, I would have a go at setting things straight. Seriously, get in touch! I will let the real-time html layout popping go I promise!
To be fair here are the options:
Migrating from Qt5 to Qt6 in my projects was actually not that bad. It took a day of search/replace/copy/paste for a fairly large codebase. Luckily I had lot's of tests to verify my changes but still the experience was good overal. QRegularExpression and QMedia* were the most hard to adapt.
The documentation spesific to migration was OK, but it could definitely have been much better. I would have loved to see a dropdown at the top of documentation pages where you could select the version you care about instead of fumbling around with google to find the relevant version. Also a collapsed comment on migration next to each deprecated member would be really helpful, instead of having all migration stuff collected on one big page.
Good documentation is one of the best sides of Qt so not complaining too much here!
CMake? SERIOUSLY?
I know this is a controversial topic. A lot of people like CMake, and a large minority dislike it. And I have a fairly strong opinion myself. Here is my breakdown;
I think that the people that like CMake like it for a completely different reason than why the other people dislike it. The people that like CMake are very pragmatic. They made it work with CMake and then it works and now we can go do something else. Or they were told by their non-technical boss to use CMake beacuse "customer X uses CMake and we must align with them".
The people that don't like CMake are more opportunistic and perfectionistic. I suspect there is a good overlap in this group with those that liked Qbs for this reason. They just can't look at CMake next to Qbs or qmake and think that CMake is the better choice. This group think (and I agree with them) while the rest of industry selected CMake, that alone is not a good enough argument to use it. Instead we should strive to surpass it on every metric beyond "popularity by mediocre middle managers" (to put it on point).
OctoMY™ is currently on a semi-hacked qmake setup that works great, but we are looking at Qbs to see if that could be even better. For OctoMY™ CMake isn't even remotely on the radar.This peeve goes way back. Unfortunately it has worsened over time. It has several facets. I will start with the most annoying and obvious for me.
I am not alone thinking about this, my question about encoding video from a sequence of QImages from 6 years ago has 63 votes and still no resolution.
Finally a list of minor anoyances in QtCreator that I felt needed to come of my chest after years of brooding.
OctoMY has pretty much been in hibernation through 2021, even more so than in 2021. Please rest assured that we are still on track with the original plan of securing funding for the project going forward.
I still can't disclose what exactly that means, and for now it is enough to say that really it is not important. The important however thing is that the project will be revamped and brought to the front again hopefully starting this year!
2 Years is eons in tech, and as expected a lot has happened. Qt6 has been released. Robots are everywhere and the need for OctoMY is growing by the minute!
Stay tuned!
Progress on OctoMY™ has as promised slowed down in year 2020. A lot has happened behind the scenes. and in this post I hope to better explain what has been going on.
In one sentence: I put development of OctoMY™ on hold temporarily while working on a project that can fund the future development of OctoMY™.
Why did I do this? I realized that organically growing the OctoMY™ project as an open source project as I first planned was not feasible from it's current state. I would have to devote all my time selling the concept to unsuspecting developers rather than advancing the development status and even then I would risk attracting very few and/or very junior resources to the project.
So I decided to switch gears and start another secret unrelated project that could generate some revenue. I will not disclose any details about this project because it is truely not relevant (and I do not wish to attract any attention to this project as it is a strictly commercial B2B project).
However after exactly one year of focusing 100% of my development time into this new project (Let's call this project "FK") I feel at least I owe blog readers a status update!
The status is that I have gone through development hell on FK, and I am finally emerging victorious on the other end. I created an MVP over 6 months ago and was ready to launch, but decided to create a second MVP (biggest nono in history of IT) that had major feature creep. We live and we learn. The important positive takeaways here are:
While working on the web-minify project, I had to figure out just how it is possible to deploy a Python package to PyPi from gitlab. Here are my findings, hopefully it is useful for someone else!
You can look at the .gitlab-ci.yaml and Makefile of the the web-minify project to see an example of how this is done.
Good luck!