This one’s just a quick commercial interruption to let everyone know Pulse Storm has recently released Commerce Bug 3 for both Magento 1 and Magento 2 systems. Commerce Bug is a programmers debugging extension and in-browser IDE. The official press releases for the 3.0.0 and 3.0.1 versions are here and here, and if you’re curious what Commerce Bug 3 looks like for Magento 2 we’ve got two screencasts available.
Notes on Development
It’s been a long journey to Magento 2 support in Commerce Bug. We first gave this a beta try back in September of 2013 but quickly realized that Magento 2 was changing too much and too fast to keep up with development on a product with limited commercial appeal. Now that Magento 2 has been officially released, core development has slowed down/stabilized, and an actual market has emerged, it was finally time to get Commerce Bug working with Magento 2.
Our first attempts were a port/dual version support in one extension, but it quickly became apparent that Commerce Bug needed a ground up rewrite to work with Magento 2. We also swapped out the jQuery tabs for a more generic library, and the data visualizations are now using the great jQuery data tables
Commerce Bug 3 has actually been out for around a month, but our initial launch didn’t have the all important Layout Handle XML debugging features. It took us a few months to really get our heads around the changes to Magento 2’s layout DSL (domain specific language), but rather than hold up the extension for those few features it made more sense to release and iterate. These are early days for Commerce Bug 3 and Magento 2, so if there’s other missing features you’d like back, new features you think the extension could use, or you run into any bugs please let us know.
Magento’s multiple modes (DEVELOPER
, DEFAULT
, and PRODUCTION
also presented some unique challenges. The all important setup:di:compile
command for production deployments has a number of code lint checks and will block if your extension doesn’t strictly follow some undocumented guidelines.
Another challenge has been the state that PHP is in. Magento 2’s release came around the same time that PHP 7 was released. While the PHP group has done its usual bang up job to ensure PHP 5.6 code will run in PHP 7, there are a few unavoidable incompatibilities. This means every release cycle needs PHP 5.6 and PHP 7 testing. That said, its been a pleasure to finally be able to use PHP 5.4+ features like short array syntax ([]
).
Notes on Distribution
At this time we’re still distributing Commerce Bug as a stand-alone archive. We’re expecting an official announcement about Magento Marketplace (the replacement for Magento Connect) at this year’s Imagine conference, but from what we’ve heard so far it doesn’t sound like Marketplace is the right fit for our product.
“App Store” like distribution channels present a complex series of tradeoffs, and for a small independent software company the percentage that the App Store maintainer charges and the loss of direct customer communication are deal breakers.
We’re exploring other distribution channels, but for a developer centric tool like ours putting a simple archive into the hands of customers seems like the best approach. Pulse Storm is also exploring other product ideas that may be a better fit for Magento’s Marketplace, so we’re still excited for the upcoming official announcements along those lines.
Notes on Financial Support
If I can drop out of the company-oriented first person plural for a moment, Commerce Bug 3 feels like the culmination of a certain point in my (Alan Storm’s) career. Magento, the company, is clearly on a good track and is going to be a force in online retail for a long time to come. What’s a little less clear is what role open source programmers like me will have after the initial Magento 2 release and subsequent engineering iterations take place.
The products that Pulse Storm sells, and in particular Commerce Bug, are what allows me the time to keep researching and writing Magento tutorials. Without that revenue I literally would not have the time to spend doing the deep dives necessary to produce technically accurate and approachable documentation. This has been particularly true with the initial release of Magento 2 which, despite being labeled GA, is still in many ways a defacto-stable-beta with huge swaths of unknown and unmapped territory.
I believe that each and every product that Pulse Storm sells is a steal at the price and will make you a more efficient Magento and PHP developer, and allow you to complete your work faster, or do work that you otherwise couldn’t without them. However, if you’re on the fence about a purchase, please consider that purchases in the Pulse Storm store also keeps the Magento 2 programmer’s documentation train rolling, and there’s no one who produces this sort of technically in depth, but beginner friendly, content.
As always, thank you for your ongoing support.