Request for feedback - Avalonia Accelerate 🚀 #16997
Replies: 39 comments 116 replies
-
I have a few questions:
Overall a lot of these sound fairly useful. |
Beta Was this translation helpful? Give feedback.
-
Amazing! Really looking forward to some of these new features, even if I think some of these (like the Markdown Renderer in particular) could be a free offering as well. Also, I assume the "Enhanced Code Completion" in IDEs will come for free users, as well? It'd seem a bit weird to me if there were 2 separately maintained products for this. All in all, I'm really happy to see the commitment to further Avalonia development! 🚀 |
Beta Was this translation helpful? Give feedback.
-
I hope dev tool related (devtool, designer, hotreload) and complex controls can be purchased separately. |
Beta Was this translation helpful? Give feedback.
-
.app (and all the associated nonsense that goes with it) : It should support universal binaries (x64 and Apple silicon). I dit it (manually then in our CICD) but it is pain in the a$$... :) |
Beta Was this translation helpful? Give feedback.
-
When will it be launched? |
Beta Was this translation helpful? Give feedback.
-
Hello @MikeCodesDotNET I would like to ask, if there is more improvement on going for touch and animations? As you know I recently focus to work more on Shell, and sync between animations and touch gesture is missed today. And solution to control the animation timing. Thanks in advance. |
Beta Was this translation helpful? Give feedback.
-
Hi, Regarding the TreeDataGrid, will there be any bug fixes before that licensing change? I currently use it in both hobby and professional codebases and I want to mention that it is in a state where I personally do not feel like it would be worth paying for. To me, it could be (easily perhaps) if 2 issues were addressed
|
Beta Was this translation helpful? Give feedback.
-
Also just a confirmation question: the previewer is planned to stay outside of this right? However, the current Rider extension is much more powerful (and actually very helpful) compared to the VS extension. Is there a plan to make the VS one as "rich" as the Rider one? |
Beta Was this translation helpful? Give feedback.
-
Great to see all the work on new features planned above! A lot of it makes sense and I'm sure it's going to be a big boost for both developers and Avalonia growth itself. My primary concern is with license model changes. I never like to see a license change from MIT to something much more restrictive. I'm talking specifically about the TreeDataGrid control in this case (for commercial use). I know the team really debated even putting the source code out there in the beginning under MIT so some leeway has to be given here. It's a lot of unpaid work so to speak. However, several companies (some of which I work with) view licensing changes unfavorably. While this certainly isn't a bait-and-switch it is still difficult to stomach. If you can justify doing this for one control, that type of thinking can always be expanded to other areas. It puts up a caution flag for sure. A lot of companies see this type of thing and immediately deprioritize or move away from certain software modules as well. We've seen countless examples of this over the last few years: Unity, ImageSharp, etc. that has resulted in a lot of blowback and negative press. Of course that is the extreme and we are only talking about one control here. Personally, I think the problem comes down to the subscription model itself tied to Avalonia Accelerate. As discussed before, I'm not sure you will allow unlimited lifetime use of the version that was first subscribed to. That essentially means applications have to keep paying for a license even if they don't need the latest code or aren't updating the software themselves. That becomes extremely cost prohibitive over time. Keep in mind there are a lot of passion projects out there that aren't open source but also operate in the red. Having to pay for a license in perpetuity in this case just doesn't make sense -- it would be taking on a lot more losses. There are two options that would work while keeping a subscription model:
|
Beta Was this translation helpful? Give feedback.
-
Are you considering a different pricing for small businesses similar to how QT works? https://www.qt.io/pricing/qt-for-small-business |
Beta Was this translation helpful? Give feedback.
-
Thanks for all the effort. But I believe Android AOT should be free because it is foundamental to dotnet ecosystem. |
Beta Was this translation helpful? Give feedback.
-
No official Webview for Avalonia Hybrid? |
Beta Was this translation helpful? Give feedback.
-
For most people, Avalonia is expected to remain free, but I understand that any business needs profits to keep operating. But in the long run, I am not sure what the direction and goal of Avalonia's operations are. I personally feel that the Avalonia team is now in a hurry to realize. I am not sure whether the operational pressure from wages, R&D costs, etc. on the Avalonia team is really great. Simply put, I am worried that Avalonia will change its subscription rules significantly in the future, just like Unity and Oracle, and even include the part that originally belonged to MIT in the subscription. Or in the future, will the part of Avalonia that belongs to MIT be changed to commercial licensing, etc.? Why are we worried about this? Because for most people, especially small and medium-sized enterprises, the occurrence of unpredictable costs may cause the business to stop operating. Even rewriting the software on hand in other programming languages is a huge workload. |
Beta Was this translation helpful? Give feedback.
-
Interesting. Lot's of good stuff. Would it be possible for the developers behind this initiative to simply form a new company that markets and sells these products? Perhaps XPF as well? Would that not be less confusing to explain? |
Beta Was this translation helpful? Give feedback.
-
Company I’m curious about your company “AvaloniaUI OU”. Do you plan to market products and services under that name, or is it the same entity that receives donations for the open-source initiative? Clarifying this would help us understand your approach better. Clarification Sometimes it’s a bit challenging to distinguish when you’re speaking as “Mike the businessman” versus “Mike the open-source steward”. Providing clearer distinctions could help avoid any potential confusion or uncertainty. Inclusivity I appreciate the complexity of wearing multiple hats, and I understand it can be tricky to balance different roles. Some community members might be concerned that the open-source project could be adjusted to favor a single business, possibly limiting other options. For example, with features like Hot Reload, one could imagine it might be implemented in a way that excludes both free and paid alternatives. Perhaps having a separate company that markets and sells these products under a different name could help navigate this delicate balance. |
Beta Was this translation helpful? Give feedback.
-
In our technical stack selection for a large project, I previously chose Avalonia from among MAUI, UNO, and Avalonia. Today, we suddenly discovered Avalonia Accelerate, and now the team is re-evaluating our choice. What I want to say is that the change in licensing has indeed raised some concerns for us. |
Beta Was this translation helpful? Give feedback.
-
One thing more that hasn't been discussed is how to handle conflicts of interest. Avalonia is careful to discuss with control vendors to make sure they don't step on any toes. However, what about conflicts of interest with the community itself? I'll give some examples:
Finally, keep in mind what happened with C# hot reload / edit and continue itself when Microsoft attempted to take it fully closed source and block other IDEs who relied on it. Open core is a great principle but all have different ideas of what "core" is. How will you handle things when the community disagrees with the direction of the company? In cases like these everyone is going to think their viewpoint is the right one and it can get difficult to reconcile. I'm voicing these concerns here ahead to time to try to smooth things over long-term. The more direction/viewpoints are understood by everyone the easier things are to manage without major disagreement. |
Beta Was this translation helpful? Give feedback.
-
Given the pushback against making TDG a paid component, perhaps the best course of action would be to archive the repository and encourage forks (though not under the Avalonia namespace, as then we'd be responsible for its maintenance). It's unlikely that we'd make a ton of money off it anyway, and it'd be a lot of work to get it up to a state where it has all expected features. |
Beta Was this translation helpful? Give feedback.
-
Reading the comments yesterday has been incredibly frustrating. There is an undertone of entitlement from a minority of users. I think it's worth being clear: if you're not a paying customer, we have zero obligation to provide you with anything not available today. While we want to improve Avalonia and see the user base grow, we do this by ensuring the project is sustainable. I don't have the time nor the energy to answer everything said yesterday, but I'll respond to a few comments:
We've always been clear that Avalonia will stay open-source. Period. Your comments suggesting we can't be trusted aren't just off-base; they're disrespectful. We've consistently shown our commitment to transparency and openness. We've said Avalonia will remain OSS, and we stand by that. If you don't believe us, that's your call, but remember that words have an impact. Hearing we can't be trusted is pretty hurtful, especially considering how hard we've worked for the entire community.
Let me set the record straight: we do accept PRs and fix issues but prioritise paying customers (though we also do merge community PRs occassionally). This isn't about holding back the control. It's a practical business decision. Steven is the only one working on this control, and his time is incredibly valuable.
It's tiring to keep hearing the 'WPF has it, so Avalonia should have it' mindset. We're not Microsoft. Comparing us to them is like comparing a local coffee shop to Starbucks. We can't just churn out free controls because they do. If the community want those controls? Great. The community is welcome to step up and build them. Or, alternatively, they could support us so we can do it. I ask that the vocal minority in the community drop the 'you owe us' attitude. We don't. We're working incredibly hard to give you a solid framework. Anything extra? That's a bonus, not a birthright.
The priority is to ensure the long-term sustainability of the project. We have always been very transparent about that. If the community wishes to replicate every feature we ship as part of Avalonia Accelerate, so be it. We can't stop people from doing that, though I'd hope that people understood how detrimental undercutting us could be to the sustainability of the project.
We'll make sure it continues to work as-is. We obviously won't be investing any significant energy in adding new features.
We're considering archiving the project and directing folks to an external fork. We've been upfront about the economics, but it seems there's pushback against paying for improvements. Fair enough. If that's the consensus, the community's welcome to take the reins. But let's be clear: it won't be under the AvaloniaUI umbrella.
Please see above. We have always been very clear that we will work with our customers on the TDG.
We've been offering this for five years already. We even tried cheaper tiers because some vocal community members insisted it would boost demand. Spoiler alert: it didn't work out as planned. Those lower tiers? They only brought in about €10k, which is nothing compared to our enterprise deals. Worse, it had the unintended effect of cutting into our revenue as larger enterprises wanted to purchase the indie tier. We learned the hard way that lower prices don't always mean more business. We're not trying to exclude anyone, but we need to be smart about pricing to keep Avalonia growing and improving for everyone. ConclusionWe aren't a big company. We reinvest every euro the business generates back into the project and have always been very open about the challenge of making Avalonia sustainable. We cannot grow the team without an increase in revenue. Not growing the team means PRs not getting timely reviews, issues being ignored and a general inability to keep up with the increase in community engagement. The hard truth is that our team is driving Avalonia forward. We've created most of the value you're using in your projects. Most advancements and improvements to Avalonia come from the team we employ to work on it, not the community. It's pretty jarring to see individuals who've contributed one or two minor PRs behaving like we should be deeply indebted to them. Let's keep things in perspective here. As we've discussed before, more often than not, a community PR costs us money, both to initially review but also to maintain going forward. Lastly, a note on donations. If every user this year had donated €50, we'd have millions sitting in the bank and not be discussing building Avalonia Accelerate. We'd be building and shipping everything as OSS. |
Beta Was this translation helpful? Give feedback.
-
Is the feedback session over now? If so, just do it. Commence operation Avalonia Accelerate. There will be plenty of opportunities to adjust the course as you go. Avalonia couldn't be in better hands. |
Beta Was this translation helpful? Give feedback.
-
What about the secret projects? Any clue 🤗? Any 3D object model viewer |
Beta Was this translation helpful? Give feedback.
-
Welcome change for TreeDataGrid (for how its described in first post). What about DataGrid? Does/will it have a different purpose? Will TreeDataGrid get functionality of DataGrid and DataGrid will be de facto deprecated? Or will DataGrid will be deprecated for real? |
Beta Was this translation helpful? Give feedback.
-
I want to give a small update based on the feedback we've already received. TreeDataGridAfter carefully considering the community's feedback regarding our proposed dual licensing model, we have decided to suspend this change. Instead, we will archive the current TreeDataGrid project and direct users to a community-maintained fork. We believe this approach aligns better with the community's interests. Pricing (A ballpark figure)From the survey results, we think an initial price between €150 and €200 is the sweet spot. As we've previously said, we will increase the price with each phase of release. Importantly, we're committed to rewarding early adopters by grandfathering their subscription rates, ensuring they receive maximum value for their early support. Subscription vs PerpetualBased on the feedback, we will offer a perpetual fallback license to Avalonia Accelerate. We have yet to decide on the price, but it will be a multiple of the subscription price (between 3-5x). Sneek PeakThis is very early days, but here's a sneak peek of one of the new Devtools features 👀 metrics.mp4ThanksI would like to express our sincere gratitude to everyone who has taken the time to complete the survey and share their opinions with us. We truly appreciate having an open dialogue with our users. If you haven't had a chance to complete the survey yet, don't worry; it will remain open for the foreseeable future. Your input is important in shaping our decisions, so we encourage you to participate! |
Beta Was this translation helpful? Give feedback.
-
I've created DotnetPackaging. It has everything you need to create DEB and APPIMAGE files for Linux. Just tell me if you need help using the library. |
Beta Was this translation helpful? Give feedback.
-
I think the current plan will cause significant concerns, such as how much the price will change in the future? The parts that will enter the paid list in the future are unknown and uncontrollable. Will the free parts still be actively maintained? These seemingly vague concerns may cause some new teams to abandon Avalonia, and there may also be some forks of Avalonia to create new communities, exacerbating the confusion. |
Beta Was this translation helpful? Give feedback.
-
Thank you for creating Avalonia and making so much of your work-product free and open. You have solved a big problem for me and I have nothing but appreciation and gratitude for the efforts you've made. I teach media coding at a university. We use Unity because it addresses so much of what our students want to do, and it runs on Windows and Mac. Avalonia lets me teach things Unity makes hard, while still using C# seamlessly across Windows and Mac. FWIW, my students will go into their professional lives with a high likelihood of suggesting Avalonia to their employers who aren't already using it. |
Beta Was this translation helpful? Give feedback.
-
@MikeCodesDotNET I am rather new to the open source community so I don't really have much experience. My take away from reading this thread is that:
Talk about being stuck between a rock and a hard place. I really don't know what to tell you, I totally understand and appreciate that you also have families to take care of; however, I just feel really sad for the community, the real community, the hobbyists that really did want to learn Avalonia and someday be worthy to make contributions, like me. While features like FlowDocuments, RichText, Printing and a Visual Designer control are really projects massive enough to warrant professional/corporate levels of funding and support, I really can not say that today, I personally (as a lower middle-class hobby developer) can justify $225/year+ for the rest of eternity or even the one-time fee that is about 1/24 of my yearly income. I am still trying to save up $600 to buy the blue prints for the earth bag house I want to build my family in the future because I will never afford a house built out of anything else. That said, it is more than a fair price point for a big corporation that will get far more value out of the software that they write with it than the control costs them. For me, I can not justify that kind of money per year just to maintain my own open-source Avalonia Prism demo application just on the off chance someone sees it and decides to offer me a job! It seems to me that the whole open-source experiment really doesn't work and that at some point the project simply dies out or that someone with money comes in to back it financially. I am just glad that I found out early enough that you all really do not even want my contributions before I wasted hundreds or thousands of hobby hours learning Avalonia and trying to port FlowDocuments just to find out that my contribution is too much trouble for you to even look at. Thanks again for your great work on Avalonia! I really do hope that you are blessed and that your funding efforts really do make Avalonia better for everyone! GOD Bless! |
Beta Was this translation helpful? Give feedback.
-
@MikeCodesDotNET I actually thought that with ReSharper you always had the option to cancel your subscription and revert to a perpetual license at whatever version you started with? Maybe I am misunderstanding you but this you can either pay a subscription forever OR you can pay pay many times the sub fee for a perpetual license really just makes it kind of scary. What I mean is that FlowDocuments are really important to me and upon further reflection would be willing to pay the $225/year for say 3 years while you complete the FlowDocuments, if I knew that once FlowDocuments were complete I could drop my subscription and have FlowDocuments to play with; however, in your proposed scheme I'd just loose access to everything I paid for the last few years and would essentially be totally wasting my time and my project would just be locked forever unless I wanted to turn around and give you another approx $1,200 to upgrade to the perpetual license. It is really too much risk for me, what if my wife gets sick and I can't afford to renew my subscription then all of a sudden my open source prism demo is no longer maintainable? On the other hand if you made the subscription option less scary and nothing catastrophic happened to my family in that 3 years, it is highly likely I would continue to go ahead and keep my sub active after I got FlowDocuments because you would surely come out with something else I would be really excited for by then and I would already be used to that hit on my pocketbook every year. Come to think about it how could one even use your new stuff in an open-source project at all? |
Beta Was this translation helpful? Give feedback.
-
Avalonia Accelerate Update 🚀 Development is progressing well and we're on track for Phase 1 release in early 2025. After consulting with customers on feature priorities, we're confident in our roadmap ahead. Here's a preview of our refreshed Dev Tools UI (work in progress) which showcases the level of polish we're bringing to Accelerate: |
Beta Was this translation helpful? Give feedback.
-
We need your help.
As many of you know, Avalonia has grown significantly over the past few years in terms of monthly active users and our team size. Seeing many developers and organisations build complex, rich applications for different platforms from a single codebase is fantastic! We're incredibly proud of what we've built together, but we've been thinking hard about how to keep this momentum going. To this end, we're developing a new offering with a working title of 'Avalonia Accelerate'.
What is Avalonia Accelerate?
Avalonia Accelerate is a collection of tools designed to enhance your development workflow and boost efficiency.
Our goal is to enable Avalonia developers to be more productive while ensuring that we continue to have the resources needed to grow and invest in improving Avalonia for everyone.
We hinted yesterday at one of the features, a visual, drag-and-drop designer, but we've currently 16 different tools either in active development or in the roadmap.
Avalonia Accelerate is about providing additional tools that can significantly enhance your productivity and streamline your development process. Our aim is to create a suite of tools that offer clear and tangible benefits to our users. We believe that the value these tools provide will be evident, offering a strong incentive to subscribe.
What features will it include?
Transparency is a core value for us. While there's been discussion about how much to share, I believe in being as open as possible about both our project roadmap and the business aspects that support Avalonia's development. We're committed to keeping you informed every step of the way.
First things first, we're taking a phased approach to releasing these features. Of the 16 planned tools, nine are currently in active development at various stages. By releasing incrementally, we aim to deliver value to you sooner and incorporate your feedback along the way. This approach allows us to be more responsive to your needs.
In no particular order.
Enhanced Dev Tools
The enhanced Dev Tools is packed with new features that make debugging your application UI much easier! A few of these features include:
App Packaging
Many of our users have little to no experience with the complexities of packaging for macOS and Linux. Our app packaging tool makes it incredibly easy to ship your Avalonia for both platforms. Simply open your Avalonia project, tick some boxes and click the package button! Its features include:
One of our stretch goals for the app packaging tool is to enable the signing of macOS binaries directly from a PC. This would be a game-changer, allowing developers to package and sign Mac applications without needing a Mac device!
Visual Designer
We love XAML, and we know many of you do, too. But we also recognise that it can be a barrier for newcomers. To grow our community and make Avalonia development more accessible, we're excited to be developing a drag-and-drop visual designer. Its key features include:
We expect to have an early preview of the designer ready in the first half of 2025. This tool represents a significant improvement in making Avalonia development more accessible without compromising the power and flexibility that advanced users love.
Hot Reload
We're excited to announce that Hot Reload is on our roadmap, slated for the final phase of our development cycle. We want to be transparent: this feature represents a significant engineering challenge, which is why it's scheduled for later in our timeline. Hot Reload will enable you to:
This feature will dramatically streamline your workflow, boosting productivity and allowing for more rapid iteration of your designs and code. While it's a complex undertaking, we're committed to delivering a robust, high-performance Hot Reload capability that lives up to your expectations
OnScreen Keyboard (for Embedded).
We've seen a huge amount of growth with Avalonia being used in embedded scenarios. As we've spoken to more and more organisations building for embedded devices, a theme has emerged. Most require an onscreen keyboard.
Web Dialog Control
A common request is the ability to render web content as part of an Avalonia application. A common scenario is supporting user authentication. There are various solutions for this in varying states of completeness. Our Web Dialog is intended for simple workloads, such as when you need to display an authentication window. Initially we only support Windows, macOS, iOS and Android.
For those who require advanced functionality or the ability to embed web content inside your Avalonia views, we recommend using DotNetBrowser, as it's the most featureful option, powered by Chromium, supporting Windows, macOS and Linux.
Media Player
Implementing high-performance video playback across multiple platforms presents significant challenges. While various open-source solutions for Avalonia exist, they often fall short of expectations. Leveraging our expertise in composition and rendering stack internals, we've developed a robust, performant solution to address these challenges.
Our media player supports the following:
TreeDataGrid
We're announcing a significant change to our TreeDataGrid control licensing model. We recognise this may impact some of our users, and we want to provide a clear explanation of our decision.
We've long aspired to make the TreeDataGrid a robust, feature-rich component for our users. However, we haven't been able to dedicate the resources necessary to improve it as quickly or comprehensively as we'd like. This has resulted in slower development and limited support, particularly for users outside our paid support services.
The crux of the issue lies in the complexity of the TreeDataGrid. It demands the attention of our most senior engineers, whose time is at a premium. Under the current licensing model, it's been challenging to justify allocating resources to its development, especially given the lack of direct return on investment. This has led to a situation where we can only review PRs and address issues from paid support customers, potentially making it expensive for some users to get the help they need.
To address these challenges and ensure the continued development and support of the TreeDataGrid, we've decided to implement a dual licensing model. The control will remain available under a AGPL-3 license for open-source projects, while commercial applications will require an Avalonia Accelerate license. This change will allow us to allocate resources to improve the control, benefiting all users through more frequent updates, better support, and faster issue resolution.
We plan to implement these licensing changes later this year, providing ample notice to ensure a smooth transition for all our users. We appreciate your understanding!
Markdown Renderer
As we work on improving our text rendering capabilities, one of the features coming soon is a control to render markdown content. This development is a key stepping stone in our broader initiative to implement a comprehensive rich-text editor. By adding Markdown support, we're laying the groundwork for more advanced text manipulation and formatting options in future releases.
Rich Text Box
The RichTextBox is one of our most requested controls, addressing a key community and customer request. This complex control supports FlowDocument content, including images, paragraphs, tables, and more.
Inspired by WPF's capabilities, our implementation represents a significant engineering effort to bring advanced text editing features to our platform. While ambitious in scope, this control will greatly enhance your ability to handle text within your Avalonia applications.
Printing
In response to growing enterprise adoption, we're pleased to say that we're working on enabling printing support with Avalonia. This feature addresses a key request from our enterprise users and enhances Avalonia's versatility across our supported platforms.
FastDroid (Android AOT)
We've previously shared our experiments with improving the performance of .NET on Android. We've two potential routes to explore further, but we're committing to providing our users with a route to shipping lightning-fast Android applications built with Avalonia. From our preliminary testing, we've seen a 68.30% improvement in startup performance.
Phased Release Strategy
We're taking a strategic approach to rolling out these features, to get tools into your hands as soon as they're ready. Here's what you can expect:
Licensing and Pricing Model
Avalonia Accelerate will be offered as a licensed product with a yearly subscription on a per-seat basis. Our initial pricing will reflect the early access nature of the offering, with prices adjusting as we add more features. Early adopters who subscribe during the early access phase will have their price locked in for at least two years as a thank-you for their support and feedback.
We're committed to accessibility across our community:
Your Feedback Matters
We need your help in determining a fair price for Avalonia Accelerate. Please complete our pricing survey - your input is crucial. Survey participants who provide their email will be added to our beta-testers list and receive a discount code when licenses become available.
Complete the survey here
Subscriptions will directly support the ongoing development of both Avalonia Accelerate and the core Avalonia framework. We're committed to balancing accessibility with sustainable development, ensuring we can continue to innovate and improve the platform for everyone.
We've shared this roadmap because your feedback is invaluable to shaping the future of Avalonia. As users of Avalonia, your thoughts will guide our development and help us ensure we're building things you genuinely need to be more productive. We're eager to hear your perspectives on these plans.
Update
While we're still accepting feedback, the preliminary results can be found here.
Beta Was this translation helpful? Give feedback.
All reactions