Author Topic: I am not impressed  (Read 5786 times)


  • New to the forum
  • *
  • Posts: 3
I am not impressed
« on: June 16, 2016, 11:09:05 PM »
I am not impressed. Well, that's not the whole story. I am impressed. By the clever solutions the programmers have found. By the vast amount of work that must have got into making all these features and parallel builds. I am working as a software engineer and I think I can imagine how debugging such a complex embedded system would draw on a man's patience and mental health. Full laude for that!

But I am not impressed about the usability. Why did I have to install a nightly build instead of a well tested stable release? The result is as what I might have expected. Sometimes my camera is dead. Sometimes it has eternal life (can't switch it off). Sometimes it seems on but doesn't react to button events. The card led is flashing every other second without obvious reason (yes, I know about firmware versions and have made sure that I use the right one). Before I installed ML I don't think I ever changed batteries more than once on a day. Now the loader hardly gets a chance to cool down. There's an overwhelming array of features, most of which I will never use. If only because I don't make movies and not often use live view. Options that are must haves for me are so badly explained that I haven't yet succeeded in using it.

Now I am not writing this to flame you, makers and adept users. But speaking as a software engineer: I see mistakes made by the LM community that I feel sad about, for ML could be a wonderful thing for many:

  • Value quantity over quality. So many features, but also too many that are not ready. With not ready, I don't mean (always): technically immature or buggy. Also consider usability, consistency, ergonomics, and documentation. Well I know the excitement of inventing and implementing features that seemed not possible to have. Much more exciting that is than making thourough, failsafe, well tested software. But that's part of the job too.

    I am not giving you a full list of what I considered immature. Now I am judging as a potential user, not as a software tester. Also I think this contribution should not start a discussion about single issues, but about how to look at various aspects of ML to make it a mature product.

  • Bad documentation. Some feature are so simple that documentation is hardly necessary. An example of those is Audio remote, which I like a lot. Others have their documentaion hidden somewhere in this forum (e.g. dual_iso). Some have no documentation at all or at least, not somewhere where I or google could find it. An example of the latter is the Focus stacking, which is incomprehensible without explanation. It's also - at least for me - an extremely useful feature and the single reason I am lingering with ML.

    Documentation is also one thing that could most easily be  improved. Already the doc is in a wiki-system. Why not let the experienced users help to write it?

  • Lack of release management.  Nightly build are superb for those who want to be at the cutting edge of development. But others worry about their cameras, or just want to make pictures rather than beta-testing. I presume this community, by natural selection, has been reduced to the first kind of users. But if you are proud of what you have developed  and want other people enjoy ML as well, then offer stable releases.

I hope you will give these ideas your consideration and that it may start a fruitfull discussion.


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3564
  • Blunt and to the point
Re: I am not impressed
« Reply #1 on: June 19, 2016, 02:33:39 PM »
1.  You know what developers do?  They develop.  You know what users do?  They use.  The problem is getting the second group of people to discuss problems.  For instance, most people just say things like, "you have lots of stuff broken".

Test as if you were doing Quality Control for a company.

2.  User guide thread for the latest nightlies.  You can actually make a post in that thread with updates, ideas, suggestions or anything else that would help.  Once it's at state where it's deemed to be very useful, it can fairly easy be transferred to in camera documentation, wikis, or whatever. with fancy code from one of our developers.  This one is like a duplicate of number 1 above.  Opinions won't fix it, only contributions.

Magic Lantern now works on a rolling release development model.  The nightly builds can be considered somewhat stable.  The features in the nightly build have been well tested, with untested development moved to an branching system for testing before being included in the nightly builds.

Most of the bugs can be solved with an improvement in number 1 above.  The remaining ones (bugs) will be module based, and can be removed entirely from the card for daily use where the code from said modules won't ever touch the camera.  Congratulations, you basically just made a stable build. but we would really prefer contributions that benefit the community (see #1).

Read sticky threads.

This was in response to another issue, but it applies here too.
Quote from: a1ex
If you look at the number of ML downloads (it exceeded 1 million downloads, without counting the 5D3, 7D and most recent ports), you will realize right away that relaxing the license for my postprocessing code would be like saying "here you have the perfect recipe to make a small fortune from my work, just take it, it's all free".

Unfortunately for some of you, this is not exactly my intention, and GPL is just a tool to prevent such situations from happening. I could have given this code away as public domain, but I chose to protect my work from being used without giving back.

Instead, I'm trying to build a community that does not just consume whatever we give to them, but I want this community to actually participate in the development process, help each other, and share the knowledge. We gave you some free software, we gave you a proof of concept that you found useful, and now we expect you all to take this software at the next level, and let us build upon your work, in the same way as you have built upon ours. I'm quite far from this utopian goal though, but this is the direction I want ML to go.

You know the best thing about the project only having a handful of active developers?  It only takes a handful of other guys to double the development effort.