Qt Academy has now launched! See how we aim to teach the next generation of developers. Get started
最新版Qt 6.3已正式发布。 了解更多。
最新バージョンQt6.5がご利用いただけます。 詳細はこちら

The Qt Marketplace has landed!

Today marks a very special day for us as we are finally able to present you the Qt Marketplace. We have been working very hard for the past year to build the marketplace and to onboard the first set of fantastic extensions with the help of our great community. Huge thanks for everyone involved in the process! To make this our joint effort for #Qt we would like to invite you for populating it with all the fantastic extensions including Qt Creator Plugins, tools and modules … that has been done with Qt.

Qt Marketplace on computer monitor

 

Qt Marketplace is an innovation platform for our community. It brings together Qt developers and designers looking for new ways to enhance their Qt design and development workflow, and developers and companies who have already implemented extensions to Qt and want to make them available for everyone in the whole Qt ecosystem. Either for free or for a price.

In the initial release our theme is discoverability. To put this simple: We want the marketplace to become the #1 place for our community to find and share content for Qt. 

Kudos to Community!

Launching the Marketplace is a very large milestone and achievement for us, but without our active community it would be empty. We were very fortunate to have a dedicated bunch of early adopters both working with us during the development process and onboarding their extensions to the marketplace. We now have the first 100+ extensions there.
Here are a few extensions to highlight in alphabetical order:

  • Felgo, allows developers to accelerate development time and improve efficiency with 200+ additional Qt APIS and unique Qt tools for Desktop, Embedded and Web
  • Incredibuild, the Qt Creator users can utilize the CPU power of machines available in their network and dramatically accelerate their build times (10X faster)
  • Froglogic
    • Squish, drastically cut down the time spent on GUI testing
    • Coco, a multi-language code coverage tool
  • KDAB KUESA, provides an integrated and unified workflow for designers and developers to create, optimize and integrate 3D in a 3D or 2D/3D software user interface
  • KDE
    • KArchive, extremely convenient API for file compression 
    • Sonnet, spell checking solution, supporting many spell-checking plugins, such as HSpell, Enchant, ASpell, and HUNSPELL
    • and many other libraries from KDE Framework


What’s in it for Developers
The chapter above already revealed the gist of the story - marketplace is the central place where you can find, try, buy or use for free relevant extensions for Qt, Qt Creator Plugins, tools and modules. If you are for instance looking for solutions to enhance embedded, desktop or mobile development with new APIs, debugging and inspection capabilities, UI testing capabilities or tool to speed up your builds we have extensions available already. Large or small – it does not really matter, we would like you to publish also your extensions there.

We also want to make the integration of the marketplace seamless to your development process. We want to make it easy to discover relevant extensions while you are developing apps with Qt and then make them very easy to install and take into use. We are not there yet, but we’ll be working very hard to add more features to the Marketplace in 2020 and onwards.

What’s in it for Publishers

We wanted to make it easy for both individual developers and companies to publish extensions in the marketplace and to be able to reach the whole Qt ecosystem. Whether you are doing a new Qt module just for fun, want to find new ways to expand your existing product sales channels, or are thinking of trying a new business idea, we got you covered.

In the beginning, we’ll only allow companies to add paid extensions. There’s still some work to be done when it comes to automation of the publishing process and the financial process. Our goal is to make the necessary enhancements by the end of next year so that we can start onboarding paid content also from individuals. We will inform you about this later. 

Supported licenses

Our goal is not to mandate any specific license but leave this to be defined by the publisher. We, of course, promote the individual developers and companies to use standard “copy-lefts” ranging from GPL to MIT especially for free extensions to make it easy for the end-user to know what the terms are. For companies providing paid content, we allow their EULAs to be utilized. The License will also need to be clearly mentioned in the extension description. We will read through the licenses during onboarding, so no monkey business, please.

Revenue share

The business model for the commercial extensions is very simple:

  • During the first year, the publisher will receive 75 % of the price of sale
  • During the subsequent years, the publisher will receive 70 % of the price of sale
  • Payments to publishers are currently done once per month. We are looking for a solution to make this more immediate, especially when we start to onboard paid content for individuals.

We are aware that there are other marketplaces out there with smaller and higher revenue shares. We fund our marketing and future development efforts from our share. If we would make the publisher’s share larger, it would mean lower marketing and development efforts that would ultimately lead to worse sales performance. And in the end, Qt Marketplace is unique compared to other marketplaces as it gives the publisher access to the Qt ecosystem with roughly 1,5 million developers. 

Supported pricing models and currencies

In the beginning, we will support the following content: 

  • Free content produced by individual developers and partners (registered companies)
  • Paid content produced by registered companies. Paid content can be defined as single-time purchases or recurring subscriptions with a flat rate price. 
  • USD is used as currency in the beginning. 

We will be looking for a solution to allow also individuals to provide paid content, but our processes are pretty manual in the beginning, so apologies for any delays in the beginning.

The hunt for extensions

We would need your help to identify and add great and relevant content to the marketplace. If you happen to know good extensions we haven’t yet added to the marketplace, now’s the time to act. If the extension is developed by you, check the chapter below and we’ll help you to get your extension(s) published. This will allow you to get maximum visibility for your work. If the extension is not being developed by you, just leave a comment below and we’ll do our best to make it available. You can hint us about great extensions also by emailing us marketplace@qt.io.

Start developing and publishing your extensions today!

In the beginning we will focus on a smaller set of extensions:

  • Libraries for Qt, which the developer can add to their projects to extend functionality from convenient utilities to new UI controls. Check for instance our Qt Lottie Add-on https://doc.qt.io/qt-5/qtlottieanimation-index.html to get an idea what it could be.
  • Plug-ins for Qt Creator, can improve existing or provide new functionality to extend editing capabilities, language support or code visualization. If you are interested in developing these, check https://doc-snapshots.qt.io/qtcreator-extending/first-plugin.html
  • Tools, that will make the life of a Qt developer easier. Can range from simple command-line helper tools to fully-fledged build tools with GUI.

 If you are unsure whether your extension fits to the description above, just send us a short description of the extension and we’ll let you know. The publisher guidelines are in https://wiki.qt.io/Qt_Marketplace_Publisher_Guidelines and the publisher page to submit the extension description is in https://www.qt.io/market-place-extension-qt.

We will broaden the available extension categories in the future, but our goal is still to focus mainly on extensions that enhance the Qt developer workflow and experience. We’ll also start providing some of our own add-on libraries, plug-ins and supporter tools via the marketplace in the future. We are planning to release the first new Qt add-on library via marketplace soonish, more about that later.

Technical bits and pieces

We adopted the approach of utilizing existing services and technologies as much as we could instead of building everything on our own. This has allowed us to keep the investment small, time-to-market short and to make the marketplace a reality.

For the marketplace platform we have selected Shopify due to its easy operability, customizability, extendibility and wide 3rd party app support.  One of the most important selection criteria for us was the support for both good front-end out-of-the-box and headless commerce for future flexibility. We didn’t want to end up in a situation where instead of focusing on the Qt related specifics, we would end spending a lot of time developing the basic plumbing and would also be forced to maintain the whole thing. With Shopify we have been able to set-up and customize the Marketplace front-end in the matter of weeks and have very flexible access via APIs to develop both, the necessary connection to our infra and the Qt Creator support.

It has also been easy to integrate the necessary services like Stripe for purchase transaction handling and to develop some missing functionality such as the Provisioning API, which the companies use to get events related to purchases and subscription life cycle. 

Also, large part of the complexity that typically is not considered, comes from the operational functionality (how easy it’s to operate the marketplace on day-to-day basis); extend to new extension types, make modifications to existing collections, individual extensions or tags, run marketing campaigns, view and measure key performance indicators and so forth.

Constant flow of UX improvements.

We are very aware that we have holes in user experience in the beginning when it comes to both publisher and user journeys. Our goal is to start improving these bit by bit and roll our improvements as they come available. Whenever you run into any issues, just let us know and we’ll fix them.

Qt Creator support.

We’ll first focus on making the marketplace accessible via Qt Creator, this will happen already with 4.12. We are however aware that the current plugin installation experience is not exactly optimal. To improve this, we are looking to make the APIs both more stable in short term and to provide a truly cross-platform plug-in API in long term. One idea is to provide the API using Python, but this is just one of the ideas. If you have any good ideas on this, let us know by leaving a comment below. 

New extensions.

We are also looking at new extension categories we could support in the future, here are few to give ideas: 

  • Qt Design Studio Bridges, how about support for Gimp? 
  • Qt Board Support Packages for new boards
  • Extensions for Boot 2 Qt such as OTA support
  • 3D visual assets and shader effects

Expanding beyond extensions.

While our goal is to keep the focus on extending the Qt experience in the beginning, we are also thinking to expand the offering with products build with Qt, especially the ones that offer an SDK that can either be used to develop extensions for that particular product or used to enhance products created with Qt. As an example, there are multiple great location and mapping products created with Qt that offer an SDK that many Qt developers are using. 

You can find the marketplace from qt.io/marketplace so go ahead and give it a try!


Blog Topics:

Comments