The Instant Purchase module contribution by Creatuity is an excellent example of community initiative. Creatuity took risks on their own and implemented the whole module from scratch without being certain whether it would be accepted to core.
This module allows all merchants on the Magento 2 platform to offer a streamlined, single touch process by which customers can make purchases. This feature utilizes the Braintree vaulted credit card method that’s native to Magento 2, allowing logged-in users to place an order with a single touch that’s billed and shipped to the default information already stored on their account.
Creatuity is excited to see our Instant Purchase functionality available to all Magento merchants in Magento 2.2.2. While we could have released this as a paid extension, at Creatuity we’ve made a commitment to open source. Key features such as Instant Purchase should be available to everyone that’s utilizing the Magento platform, and shouldn’t require the purchase or maintenance of a separate extension. We also feel that this feature will only be made stronger by contributing it to the Magento core, where other developers can enhance it, build on it and hopefully contribute their improvements back to the core as well. This open source foundation that the Magento platform rests on is one of the most powerful aspects of Magento – no other competing platform has this feature yet, but by allowing contributions from the community, Magento is able to be the first platform to offer this feature.
Our team greatly enjoyed working with the Magento Community Engineering team to bring this contribution into Magento 2.2.2. The experience of writing this feature, working with architects on the core team and getting solid feedback from Magento’s UX team helped us learn and improve our Magento 2 skills quite a bit while providing a valuable service to all Magento merchants.
Jan Polak, the Creatuity developer that wrote much of the Instant Purchasing module, elaborates:
The Instant Purchase module required a completely new flow for the checkout process. Working on such a complex module provided a great opportunity to learn and better understand the most critical modules of Magento 2 like: Order, Quote, Payment, Shipping and Vault. Thanks to Magento 2’s open architecture, implementing payment or shipping method choice features were quite straightforward. On the other hand, generating a quote and then an order based on that quote turned out to be a bit trickier than I thought they would be, mostly due to the level of complexity of those modules.
We can’t wait to see what features other agencies contribute back to the Magento core in 2018, and we’re already planning our next new feature contribution here at Creatuity.
Daniel Korzeniowski - Regional Manager at Creatuity Corp.
Once Joshua Warren posted a tweet, the feature caused so much excitement. At the same time, Creatuity created the pull request, and the Community Engineering Team began work on its acceptance. Tight cooperation between Creatuity engineers and Magento product owners, UX designers, technical writers, and the Community Engineering Team has improved the feature and brought it to a new level. This experience shows that combining the knowledge our solution partners have of merchant needs and expectations with Magento’s expertise in creating a highly flexible and customizable platform yields fabulous results.
Instant Purchase was a big step forward, as it was the first significant core code contribution from a partner. But, no one will be surprised to hear that Magento has a very energetic community. There are several other ongoing projects that are being spearheaded by solution partners.
Bartosz Herba from CTI Digital implemented more granular ACL for Admin Cache Management.
Aurélien Foucret from Smile is working on Elasticsearch 5.x support for Magento Commerce.
MageSpecialist is going to provide Two Factor Authentication and reCAPTCHA.
More features are coming!
If you have a great idea on how to improve Magento but don't know how to start, create a pull request, ping us in the Slack channel, or simply send email to email@example.com. We will be creating a dev blog post with the process details soon.