-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[website] Add perpetual option to pricing page #35504
[website] Add perpetual option to pricing page #35504
Conversation
Netlify deploy previewhttps://deploy-preview-35504--material-ui.netlify.app/ Bundle size report |
Updated & consolidated info:
Draft 2In lieu of coordinating schedules, I put together a Loom presentation (but it had to be in 3 parts 😅 for now). Figma file for contextual comments 🗣 Feedback for this draft:
|
@gerdadesign Thanks for sharing this iteration. Thought on moving forward:
|
7968893
to
b280d37
Compare
@oliviertassinari, I believe we have a good first step to start iterating on the details. The current solution encompasses the following:
I'll leave the PR on draft for now because some parts of the code need a small refactory. |
892f456
to
85c62e6
Compare
bc2bbec
to
a9155ef
Compare
I have spent a few hours on this, I have pushed as far as I could, and I think that it's good enough :). I feel that it's typically the kind of changes for which we miss a design engineer, José or me going into the weed of these changes won't scale. |
Looking good so far! I made some small color and shadow adjustments for better contrast as well as more consistent hierarchy in dark. For easier Figma navigation, use cmd+click to deep select the object or frame and in the Figma right panel, select Inspect. That has all the style info. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the improvements, @oliviertassinari!
It's a good idea to display Perpetual first on the widget, and I love that it has an animation when using the tabs component.
It's a small difference, but I think we can consider having a different order for the key information section items, one that prioritizes a reading flow and the most important questions customers may have.
I'm thinking about the following one (even though it's not the most optimized in terms of height).
Is there a value to have 3 different sections for Annual vs Perpetual? It seems like we could condense the content into one description for Annual and one for Perpetual. Or one "Annual vs Perpetual" and have a clear & concise description here. Perhaps @samuelsycamore would be helpful to tease out these copy edits? |
Can we rethink the layout/structure of this section? This doesn't feel like the best way to convey this information, in my opinion, and the differences in length in each box leads to it feeling out of balance. It seems like there's a lot of overlap in the content here and in the FAQs further down. I would think that this section would answer all of the FAQs. Maybe we should consolidate these two sections into one somehow? Could it all be one big FAQ (or Key Information) section? |
@samuelsycamore, happy to hear what's your proposal. I ordered and grouped them based on the main questions the customers may have after seeing the price and what I thought was a good flow of reading. Perhaps, as @gerdadesign suggested, there's a better way to phrase/put the contrast between Annual and Perpetual.
I don't think the overlap of content is a problem in itself if they are adding up to the same concept and not getting contradictory. The redundancy might even be beneficial if it means we reach users journeying our pricing through different angles. |
Btw @samuelsycamore, they weren't separated before. Do you mean we should show them together as we do at https://mui.com/pricing/ currently? |
Jumping in here quickly, I've just pushed some changes:
|
@gerdadesign Interesting, I also feel that the contrast was a bit too light.
@joserodolfofreitas I felt that it was making a lot more sense, it communicates to the users it's taking a step back, in terms of renewals but also updates.
I wanted to use Joy UI initially, but because of the context isolation, everything was broken. I considered MUI Base but felt that Material UI's focus indicator was going to be great. For customization, the DX with Joy UI and Material UI felt the same, I think that it really depends on which one is closer to your target. Material UI has min-width, and min-height values which made it a bit painful. The keyboard as well:
This was the primary driver for the position of the blocks and the content itself inside these blocks. We can definitely try different variations but we can't have big gaps like in the screenshot.
The motivation to split them was two folds: 1. visual balance 2. breaking down the content to be easier to process. I think that there are 3 different things:
I think that the FAQ is great for frequent questions but that it's not good enough for very frequent questions. This feels like one of the most important aspects of pricing. |
|
||
const monthlyDisplay = annual; | ||
|
||
const priceUnit = monthlyDisplay ? '/ dev / month' : '/ dev'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make more sense to get rid of the monthly price?
After switching between Annual/Perpetual tabs, the first thing I did was calculate the price for Annual per year (15 * 12) to be able to compare it with Perpetual.
I didn't even notice "Billed annually at $180/dev." note below 😅
Screen.Recording.2023-02-23.at.17.23.56.mov
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make more sense to get rid of the monthly price?
Why not try to change the display but I don't think it should happen in this iteration. I think it's more important to measure the impact of the perpetual license with as few other variable changes as possible. Maybe this could have an important impact.
|
||
const monthlyDisplay = annual; | ||
|
||
const priceUnit = monthlyDisplay ? '/ dev / month' : '/ dev'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, these numbers do not add up: ($49 * 12) - 25% = $441
I understand that the difference comes from the rounding of the monthly price, but this seems like another reason to avoid monthly pricing given that it's billed annually anyway 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, we throw too many numbers at the reader all at once here. As an aside—how long is this "early bird special" going to last? It's been around for as long as I can remember now and is starting to feel not-so-early anymore. 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've had both of these same questions, too.
For reference, this is what was in design (I've had the same point about monthly vs annual too). @samuelsycamore I was told the reason for early bird still being there is because the Premium plan features are still not fully fledged out enough to consider it full price?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks much cleaner! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Big improvement for sure!
da4efdb
to
5ae3065
Compare
5ae3065
to
3bf3cf4
Compare
00e5429
to
9a02ff1
Compare
Summary
On the last iteration of the pricing model, we stepped in the direction of creating a subscription model to have better revenue planning/expectations based on renewals.
We removed access to perpetual licenses (for new customers) and created the concept of "perpetual in production" that applies to a subscription model.
Not having a perpetual license might have been one of the biggest factors impacting our sales growth, and in fact, we've seen a rise in support requests related to confusions regarding this topic.
Additionally, the MUI Developer survey 2022 is trending to show that more than 70% of users care about having a perpetual license (the rate seems to be bigger between Paid customers).
Problems
It’d be great if the prototype also accounts for the future possibilities:
Related meetings
Related issues
Design
Preview
https://deploy-preview-35504--material-ui.netlify.app/pricing/
Benchmarks