This thread to continue the welcome discussion started by George Economides
in his talk from MODXpo 2013 entitled, MODX Based, Industry Solutions Common Exploitation Framework
in which he proposed MODX developers and agencies could work together, offer complete solutions and collaborate on projects through a network and vetted solutions Marketplace.
We'd encourage further discussion on this topic to hopefully crystallize recommendations on how best to make this happen, as well as start a conversation on how to complete some of those projects that need to be genericized and packaged for distribution.
Author of zero books. Formerly of many strange things. Pairs well with meats. Conversations are magical experiences. He's dangerous around code but a markup magician
During George's presentation, one thought that kept popping into my head was the idea that even within an industry, their requirements will be slightly different, and the idea that we can walk into a client and install something and it be live the next day wouldn't work.
I understand that with something like a pizza-ordering website like Pappa John's versus Pizza Hut, the transition would be much closer. However, for other things, like for instance a general merchandise retailer, there could be massive differences in their approach because they sell much a different set of products. Or perhaps a better situation: an insurance company website where property and auto insurance use complicated rating engines that differ between countries as well as between different provinces and states, and there's no easy way to just transfer this over and be up and running in a short amount of time.
As a disclaimer, my work is on the application development side, not web site side, so my comments are jaded by my lack of actual web site development experience.
Being one who hates being the person who brings up a problem without proposing a solution, I would suggest that this be architected so that you have the base data in one layer, all business logic in another, and the presentation is in a third. Maybe I'm over/under thinking this.
In terms of a way of doing things, we should have a central receiving repository for candidate projects. Then they are re-engineered to be generic. Then a demo site is built on top of the generic one as a showpiece, so that potential buyers can see what the tool can do.
Those who contribute projects to the repository would just have to hand over what they did, the community could determine which projects (or parts thereof) to use. I think it's also a good time for those contributors to state what they expect in terms of compensation for their work on it.
Those who are looking into these projects would have to sign something to say that they won't just take the code and use it on their own without permission of the author. This prevents someone from signing up, taking the code and making money on it without compensation to the original author.
I think it is a good idea to talk to the community as to where there is a market for a given project. If a team takes on a cat psychologist generic website, it is unlikely to garner much revenue. Spending thousands of hours on such a website is probably not the best use of resources.
In addition, I think MODX should get a percentage of proceeds as a matter of principle.
All thoughts and comments welcome!
The concept of creating a market place was, I believe, widely accepted by Modxpo participants. The mechanics of how this should run is, I believe, up for discussion. The emphasis should be in establishing a framework and a step by step process of introducing new features to the marketplace at key stages.
My primary concerns are 2.
1. Marketplace publishers should be vetted by an authority (I assume the modx company).
2. Financially it must be a win - win operation, where all parties will gain (Modx company, publisher, buyer, end customer)
I do not want to get into how this will work as it is open to discussion and I think not really important at present.
With regards to how the marketplace will work, I proposed 4 different methods.
1. Off the shelf products. These will be core developments (templates for example, plugins, snippets etc).
2. Fully developed projects, such as a hotel booking engine or a restaurant ordering system. I agree that in all cases the end customer will require modifications and customization. I proposed 2 options here, first to engage the publisher to produce the customization or second the buyer will curry out customization. this may result in a branch of the original and may be re-submitted to the marketplace (each party maintaining a share of the revenue) for future sales. For example if I publish a hotel booking engine in the marketplace, a modx partner may modify it to result in a booking engine for apartments, resulting in a branch of the original and maintaining a percentage of the revenue. People will have the option of choose which one of the 2 to use.
3. Services subcontracting. It was evident from modxpo that the majority of modx users are privateers a lot of which with very good skills. Companies that work with modx may require the services of such individuals on project by project basis. We, for example, are always working at 100% capacity and have to turn down projects simply because we do not have the time. I would love to be able to subcontract some of the smaller projects to modx vetted professionals. On the other hand, it was apparent in Cologne that most of the people were afraid to undertake larger projects because they do not have the support or strength (financial or otherwise) to take on big projects. What better way to take on such projects than having the modx community at your fingertips.
4. Marketing & support.
Obviously there is a long way to go and a lot of technical issues to be resolved, guidelines being one of them, and quality of work being at the very top of the list.
I know that right now it feels like we have to clime a mountain to get to the ideal marketplace. Lets take it a step at a time, Rome was not build in a day.
The first thing we have to agree on is a road map and appoint a project coordinator.