cocalc icon indicating copy to clipboard operation
cocalc copied to clipboard

simplify the new project creation dialog

Open williamstein opened this issue 1 year ago • 7 comments

During a recent user onboarding demo I watched a user struggling with our "create project" dialog.

The dialog looks like this.

image

Though the image and license options are sort of hidden, there is nothing to suggest they are advanced options, so at least that user we were onboarding, definitely felt compelled to open and study the menus:

image

The options are "Default", "Standard", and "Custom-beta":

  1. The word "standard" has a definition "used or accepted as normal or average.", so I would expect that to be the most likely thing you would want, but the description is "upcoming and archived versions", which is frankly scary! "Upcoming" means not released yet, and "archived" means old.
  2. The word "default" conveys no additional information in this context, because that option -- whatever it is -- is actually the default. Look at the actual description " large repository of software, well tested – maintained by SageMath, Inc., running CoCalc.". Doesn't every single thing it says there also apply to every image? They are all large, they are all tested, they are all maintained by SageMath, Inc, they all run on cocalc. This tells me nothing at all!
  3. Finally "Custom-beta" has been "beta" for 5+ years now.

How often are each of the above choices used? I just did a query, and I think only 8 of the last 50K projects created had a custom image, or less than 0.01%.

smc=# select count(*) from projects where created >= now() - interval '1 month';
-[ RECORD 1 ]
count | 49891

smc=# select count(*) from projects where compute_image not like '%ubuntu%' and created >= now() - interval '1 month';
-[ RECORD 1 ]
count | 8

smc=# select count(*) from projects where created >= now() - interval '1 month';
-[ RECORD 1 ]
count | 49891

smc=# select count(*) from projects where compute_image not like '%ubuntu%' and created >= now() - interval '1 month';
-[ RECORD 1 ]
count | 8

smc=# select count(*) from projects where compute_image='ubuntu2204' and created >= now() - interval '1 month';
-[ RECORD 1 ]
count | 49426

People almost never use the non-default.

The reality is that the license and standard/default software images can all very easily be configured and changed in any way after the project is created. In contrast, the Custom Image can never be changed and is the only thing that needs to be specified when creating a project. We should get rid of everything but "Custom Image" (which should be hidden under a clear "advanced label" or just deprecated entirely for new users), and just improve the experience of adding a license even more (e.g., a modal the first time you start a project without a license, if you own a license.)

williamstein avatar Feb 06 '24 14:02 williamstein

My initial thought after reading about the problem but before your suggestions - get rid of the image choice, but keep the license part and somehow make it more user friendly, like show only if the user has a license and have it opened by default.

To clarify - who is using custom images? Are these rare but well paying customers or it is something beta-experimental still? It would be great to get rid of it completely and let advanced users go into project settings if necessary.

For the license, the modal AFTER creating a project would be great, perhaps with the logic:

  • if the user has no active license, suggest creating one with a link to the store
  • if the user has exactly one active license, ask about applying it or offer to get a new one
  • if the user has more than one active license, ask which one should be applied or offer to get a new one

I guess having a list of all active licenses with a link to the store will serve all cases at once, but there may be some benefit in having separate components with different wording to show.

novoselt avatar Feb 06 '24 23:02 novoselt

To clarify - who is using custom images? Are these rare but well paying customers [...]

NO. There were a total of 54 custom image projects created out of 232K that were created in the last 6 months, and as far as I can tell NONE of those projects were paid for. At least as far as I can tell. Maybe I'm misunderstanding the database though. @haraldschilly can you look?

[...] let advanced users go into project settings if necessary.

Unfortunately, custom image is the one (and ONLY) thing about projects that can't be changed in settings. (OK, there is one other thing, which is who owns the project.)

I like your suggestions regarding making licensing easier.

williamstein avatar Feb 07 '24 00:02 williamstein

Can the needs of those who may desperately need custom images be better addressed using compute servers? In that case I suggest that they do it. If they can't, but they don't result in substantial revenue, then loosing some money by eliminating this option entirely is an investment into simplifying user interface and making it smoother for hundreds of thousands of other users.

novoselt avatar Feb 07 '24 00:02 novoselt

Can the needs of those who may desperately need custom images be better addressed using compute servers?

If 100% of those users pay us nothing, and compute servers are not free, I guess their needs can't be met. Technically they can be, since you can run any Docker image in a compute server.

I'm still not 100% sure I'm doing the right DB queries, so I'm curious if @haraldschilly has a good argument in favor of custom images.

williamstein avatar Feb 07 '24 00:02 williamstein

I meant precisely technical needs, not financial ones ;-)

novoselt avatar Feb 07 '24 00:02 novoselt

Technically, probably all of the custom images could just be compute server images (i.e., on dockerhub, and they get pulled), in some submenu. They are mostly just custom jupyter kernels and installs. There are 17, they are all pretty old, and they are I guess basically just some fork of a github repo from years ago, with software installed into it so that it works, whereas presumably the same content wouldn't work on cocalc (or maybe it would). It was meant to be similar to https://mybinder.org/, but got no real traction for some reason.

williamstein avatar Feb 07 '24 00:02 williamstein

The main difference from mybinder is that adding an image had to go through Harald. This ensured all images actually work, which is good, but also that there were no almost no images, which was bad.

williamstein avatar Feb 07 '24 00:02 williamstein