1

I am building a portal for company users or single license users to manage their account for a 3D CAD application.

Due to low resources and lack of information on the project, the architecture was build in a way that we do not allow a a license to not be assigned, so whatever license exists it needs to be always assigned to a user.

If you have 150 licenses (this is a real case) all licenses will be assigned to either account owner or member.

enter image description here Check the dropdown on the right, every-time someone is unassigned, it becomes assigned to the owner automatically.

Preliminary testing with MVP:

  • Confusion with the license cannot be disconnected from someone
  • No indication that license is unassigned.
  • It does not inform the administrator (account owner) that the license is free to be given to someone.
  • When a team is big, it is even more confusing (I tested myself and I was lost).

Now, the second architecture solution would require significant change (higher dev costs):

enter image description here

To make able for a license to display as unassigned the license would have to be floating, so it still belongs to the company, so it is not used by anyone.

Major complications from this solution: the software uses a security dongle and has lots of security triggers that require the user to unlock (not just first-time run, but every 6 months and also with subscription renewal).

If the license is not assigned, that means the user will get another barrier that didn't exist before (worse experience) and will not be able to use the software he purchased, unless he/she assigns to himself. Including single license users who don't have a team, they will need to assign the license via a portal to allow themselves in order to use it, on top of activating it.

The business model is perpetual but also allows subscription for new features. With limited dev resources, we need to build backward compatibility to support old existing installations that do not want to upgrade.

The current that is running is failing due to technical debt, so major changes in the desktop application to have a bidirectional connection (like a login via software) is not possible.

  • 1
    What is the question here? I don't see as a single question mark in your post. – Rogue-OP Feb 9 at 1:22
  • Hey Rogue. I just edited the question. It's having floating license vs non floating license. Since my desktop software doesn't have a login screen, but just a button that request a license generation which forces the user to go to a portal to copy and paste a license, I need to decide on those cases and its implications. – Daniel Vianna Feb 9 at 18:34
  • You're completely misunderstood what a "floating" license is. It does not simply mean a license that is waiting for the administrator to assign it to someone. – Ben Voigt Feb 9 at 19:07
  • Ben, you are correct. I reviewed literature on the subject and corrected the topic name. – Daniel Vianna Feb 9 at 19:28
  • I still don't see a question mark anywhere. What are you trying to ask? – whatsisname Feb 10 at 3:53
1

The question as stated has already been answered by the details you provided. Of course allowing unassigned licenses is better than the current system for the reasons you stated, not least of all because it was confusing even to you.

Given enough resources, it seems clear that your team would go with implementing the better license model. The real problem is deciding how to proceed when stuck between a rock and hard place - between delivering a confusing application or devoting already limited dev resources to improving the usability of something which is technically already functional. How to proceed is dependent on the true cost of the implementation of the more intuitive license system and the priorities of the team.

You mention the high dev cost of implementing the better solution, but it's important to compare these options based on their long-term cost. The immediate cost of keeping the current solution is 0 because this is already in place, but the long-term costs are significant. Before any users can actually start using your software, they have to get the licenses sorted out. If that initial interaction is a headache for them, then the rest of the software doesn't just need to be good, it needs to be so good that it redeems the terrible experience they started with. Additionally, you can expect to have to waste resources addressing support tickets which will come up from people not knowing what's going on with their licenses. The fact that it gets more confusing the bigger the team is is another big consideration. This means that the more valuable a client is (assuming a bigger team pays more overall for their licenses), the worse your experience is for them and the more likely you are to lose them.

A potential solution

I'm not sure if this is feasible given the security and account systems the software uses, but one solution might be to simply create a user called "Unassigned" which gets all the licenses not allocated to other users. While this is a bit of a hack, it could be an opportunity to provide a more intuitive experience without having to devote a huge chunk of time to implementing it.

  • Question already describes having a user (the account owner) as a placeholder for unassigned licenses. Just automatically counting the number of excess licenses on the admin account and displaying that number somewhere is likely all that's necessary. – Ben Voigt Feb 9 at 19:09
  • Hello monwwalker. Thanks a lot for the feedback. Unassigned as a user might be an option. There were some discussions on that. I just need to make sure this won't become a messy data structure – Daniel Vianna Feb 9 at 19:20
  • @DanielVianna Yeah it's certainly not the cleanest approach and would be an annoying consideration to make for every part of the software that deals with user accounts, but it might be the most viable option considering the situation. Best of luck in getting through this :) – mowwwalker Feb 9 at 19:23

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.