Making WordPress.org

Changes between Version 5 and Version 6 of Ticket #4160, comment 6


Ignore:
Timestamp:
02/12/2019 04:19:07 PM (6 years ago)
Author:
KestutisIT
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4160, comment 6

    v5 v6  
    14143. **EDUCATE THE WORLD**. 10 years ago nor Mayors of the Cities, nor Ministers at the Parliament had any idea about how the WordPress is different from Symfony, or PHP from JAVA. Today they have that knowledge. WordPress leads the **33% of the whole internet** - so that also put a lot of responsibility and ability to educate the world - educate them about **security**, **coding-standards**, **programming languages**, **frameworks**, **micro-framorks**, **principles** and **techniques**. So the main question is here - do we want to make the world smarter, if so - then let we give our customers more details about micro-framework and coding standards used - not everybody will dig-down to it, but **people and curious** - that is given to use by the nature, they will Google or ask - their friend or in plugins support forum - what it is, and how to eat that. And the message will spread.
    1515
    16 4. **CUSTOM-WORKS TO PLUGIN & STATS OF "TYPICAL WP PLUGIN BUYER" IN 2019**. By taking an example of mine Reservations plugin sold on Envato for ~2000 times, I can say, that only 15 people of those 2000 (less than 0,1%) had no idea of what they doing - meaning they tried to upload plugin as a theme, or whole package ZIP, not just the plugin's ZIP. 500 customers (20%) were individual developers, doing the website for their customer - they really did cared about security, and scalability-ensuring patterns (like BCNF-database structure and MVC). Then the majority of customers - 1500 customers, where the **Agencies** (with 3-10 employees, of whose 1-8 were developers), who are doing websites for their end-customers, which is often is medium to enterprise companies (100-1000 employees). 50% of them did **custom-works** to the plugin. And they bought the plugin just because they **can do the custom works** with it. Meaning they needed the **MVC**, **S.O.L.I.D.** and plugin support for **Unicode CLDR** (Key=>VALUE pairs) to add the Geo-Data in their language i.e. country names, city names, phone area names and so on, on what they are working, and they changed the plugin's behaviour to fit their medium/enterprise business customer needs, i.e. a business rule, that if object is rented in state X, for a Y days, and it was returned before the noon, then do not charge additional day costs - the rules that you cannot predict by filters or hooks - or you would need 100,000 filters and hooks support and 1 million pages documentation for all them. That would not work for the larger business, as nobody would want to learn now to hook to and what is the filter names of each bigger plugin.
     164. **CUSTOM-WORKS TO PLUGIN & STATS OF "TYPICAL WP PLUGIN BUYER" IN 2019**. By taking an example of mine Reservations plugin sold on Envato for ~2000 times, I can say, that:
     17 a. **Only 15 customers of those 2000 (less than 0,1%)** had no idea of what they are doing - meaning they tried to upload plugin as a theme, or whole package ZIP, not just the plugin's ZIP.
     18 b. **500 customers (20%)** were individual developers, doing the website for their customer - they really did cared about security, and scalability-ensuring patterns (like BCNF-database structure and MVC).
     19 c. **1500 customers (75%)**, where the **Web-Development Agencies** (with 3-10 employees, of whose 1-8 were developers), who are doing websites for their end-customers, which is often is medium to enterprise companies (100-1000 employees). 50% of those adencies did **custom-works** to the plugin. And they bought the plugin just because they known **how to do the custom works** with it, withouting learning anything new. Meaning they needed the **MVC**, **S.O.L.I.D.** and plugin support for **Unicode CLDR** (Key=>VALUE pairs) to add the Geo-Data in their language i.e. country names, city names, phone area names and so on, on what they are working. So they changed the plugin's behavior to fit their medium/enterprise business customer needs, i.e. a business rule, that if object is rented in state X, for a Y days, and it was returned before the noon, then do not charge additional day costs - the rules that you cannot predict by filters or hooks - or you would need 100,000 filters and hooks support and 1 million pages documentation for all them. That would not work for the larger business, as nobody would want to learn now to hook to and what is the filter names of each bigger plugin.
    1720
    18215. **WHEN FILTERS & HOOKS ARE GREAT**:
     
    2831}
    2932}}}
    30  e. And here the **GreatSystemPaymentMethodInterface** has all the required method and in documention is cleary described what each method implementation does. So there is no need then to write a 10,000 pages documentation with 10,000 filter names, just make one class that is testable and suitable for TDD (Test-Driven-Development) and can be tested with PHPUnit on PHPStorm via "/wp-content/plugins/GreatPluginTests/" plugin, if that payment methods comes pre-installed or from '/wp-content/plugins/PayPalForGreatSystemTests/Init.php'.
     33 e. And here the **GreatSystemPaymentMethodInterface** has all the required method and in documentation is clearly described what each method implementation does. So there is no need then to write a 10,000 pages documentation with 10,000 filter names, just make one class that is testable and suitable for TDD (Test-Driven-Development) and can be tested with PHPUnit on PHPStorm via "/wp-content/plugins/GreatPluginTests/" plugin, if that payment methods comes pre-installed or from '/wp-content/plugins/PayPalForGreatSystemTests/Init.php'.
    3134 f. So with my, **enterprise-ready**, plugin I may hook to cross-plugin type plugin like WPML but not vice-versa.
    3235