Las responsabilidades de un desarrollador de complementos de WordPress
Publicado: 2020-06-05Se necesita mucho talento y habilidad para crear un complemento de WordPress que funcione. La mayoría de nosotros probablemente nunca comprenderemos completamente la cantidad de trabajo y dedicación que implica el proceso. Desde el desarrollo hasta el mantenimiento y el soporte, es una tarea bastante grande.
Pero más allá de las habilidades de programación, lanzar una pieza de software que cualquier persona en el mundo pueda usar también requiere algo de coraje. Cuando lo piensas, hay una enorme cantidad de responsabilidad que conlleva hacer que tu trabajo esté disponible para el público.
Por ejemplo, ¿te imaginas lanzar una actualización que termine dañando el sitio web de un usuario? ¿O la cantidad de apoyo que podría tener que proporcionar de forma gratuita? Aunque una buena cantidad de complementos se escriben como proyectos paralelos, el mantenimiento de un título popular podría ser similar a un trabajo de tiempo completo.
Quería profundizar y descubrir cómo algunos desarrolladores de complementos del mundo real manejan todo. Entonces, me senté con dos caballeros muy talentosos que tuvieron la amabilidad de compartir sus filosofías y experiencias.
Conozca a los desarrolladores
Matt Cromwell es el Jefe de Soporte y Alcance Comunitario de WordImpress. Son los desarrolladores de Give, un complemento popular que ayuda a las organizaciones sin fines de lucro a recibir donaciones en línea. También es conocido como uno de los administradores del grupo de Facebook de Advanced WordPress.
Robert DeVore es un desarrollador con sede en Michigan que ha creado varios complementos y temas de WordPress, incluido un nuevo complemento de contenido de Gutenberg llamado Pillar Press.
Les hice a cada uno de ellos el mismo conjunto de preguntas por correo electrónico. A continuación se encuentran sus respuestas, algunas de las cuales han sido editadas por razones de brevedad.
1. Ya sea que esté desarrollando un nuevo complemento o actualizando uno existente, ¿cuánto tiempo dedica a tratar de evitar conflictos con otros temas/complementos que un usuario puede estar ejecutando antes de un lanzamiento?
Matt Cromwell: Probamos con los temas más populares como Divi, Storefront, Avada, X Theme, así como con los principales complementos como Yoast SEO, WooCommerce, etc. Pero ese siempre es un objetivo en movimiento porque nunca se sabe cuándo lanzarán un nuevo actualizar. Nos apoyamos en gran medida en nuestro equipo de soporte prioritario (yo como jefe de soporte) para trabajar con los clientes en los problemas a medida que llegan.
Cuando surge un conflicto, tratamos de proporcionar soluciones alternativas y nos comunicamos con el otro autor para ver si podemos hacer que las cosas funcionen sin problemas. Los autores que son receptivos y realizan cambios rápidamente son increíbles y creamos relaciones cercanas con ellos.
Robert DeVore: El tiempo dedicado a posibles conflictos con temas/complementos realmente depende del trabajo que estoy haciendo actualmente. Por ejemplo, si estoy trabajando en algo relacionado con WooCommerce, me aseguraré de que funcione con el tema Storefront y cualquiera de los complementos oficiales de WooCommerce con los que pueda estar interactuando. Aparte de eso, construyo y ajusto las cosas en función de los conflictos a medida que me llaman la atención.
2. Con tantas combinaciones potenciales de complementos y temas, ¿tiene alguna expectativa de que algo se rompa?
MC: Sí. Las cosas se romperán, siempre. Esa es una realidad inevitable de proporcionar código a decenas de miles de entornos sobre los que usted tiene CERO control. Cada usuario tiene un entorno completamente único para el que es prácticamente impredecible prepararnos. Simplemente trabajamos duro para asegurarnos de que no somos el código en ese entorno que está creando el problema, tanto como sea posible. Una vez más, los problemas ocurrirán, por lo que nos apoyamos mucho en el soporte para determinar cuál es exactamente el conflicto y las posibles soluciones y luego crear problemas procesables para que el desarrollo los aborde.
RD: Sí, vivo por "esperar lo mejor pero esperar lo peor" con cada lanzamiento que publico :)
3. ¿Sientes presión cuando un usuario reporta un problema con uno de tus complementos?
MC: Actualmente impulsamos más de 40,000 sitios web en todo el mundo y, en general, todos son buenas causas que desean hacer el bien en el mundo. Si no pueden aceptar donaciones debido a un problema con nuestro complemento (o su combinación única de complementos, alojamiento y tema), entonces sí, sentimos una urgencia real de abordar el problema a través de Soporte lo más rápido posible. Por otro lado, cuando su problema es un problema de nicho, con un complemento de nicho, que solo afecta la conveniencia en su experiencia de administración pero las donaciones siguen fluyendo, hay mucha menos presión en ese caso.
RD: No lo describiría como presión, pero siento un poco de presión interna para tratar de solucionar el problema lo más rápido posible. Entonces, ¿tal vez es presión? jajaja
4. ¿Cuánto esfuerzo debe poner un desarrollador para admitir un complemento gratuito?
MC: Puede que esté en minoría aquí, pero creo al 100% en el apoyo gratuito. Ha sido absolutamente vital para el éxito de nuestro negocio y la sólida calidad de nuestro código. De nuestras más de 40 000 instalaciones activas, tenemos alrededor de 9000 clientes. Eso es menos de 1/4 de todos nuestros usuarios. El soporte gratuito es uno de los mejores lugares donde podemos interactuar con esos más de 31,000 usuarios (y) ayudarlos a tener una experiencia positiva con nuestro complemento.
Además de eso, el soporte gratuito es parte integral de ser parte de la comunidad global de código abierto que es WordPress. Cualquier negocio que dependa de WordPress debería estar contribuyendo al menos el 5% de su tiempo en los foros de soporte de WordPress de una forma u otra. Cuanto más educada sea la base de usuarios que tengamos, mejor será para todos.
RD: Personalmente, si es un complemento gratuito y SOLO un complemento gratuito (es decir, sin complementos comerciales o temas que lo acompañen), entonces creo que un desarrollador debería tomar en serio los avisos de errores/seguridad y buscar soluciones para ellos. Más allá de eso, cualquier solicitud de función/mejora se puede tomar con cautela, ya que es un complemento gratuito que se tomó el tiempo de crear y lanzar, sin mucho beneficio financiero para dedicar demasiado tiempo a respaldarlo.
5. En tu opinión, ¿cuál es la mayor responsabilidad que tienes al lanzar un complemento al mundo?
MC: Que sirva a la necesidad de quien quiera usarlo. Escribí un artículo sobre lo que llamo "La filosofía del propósito único" que dice que un complemento SOLO siempre debe hacer una cosa. Esa es responsabilidad del desarrollador. Haga que el complemento sirva para ese único propósito con eficiencia, claridad, sin complicaciones ni desorden y quítese del camino... Todos los ajustes, errores y compatibilidades vendrán con el tiempo; pero si no está sirviendo a su único propósito, entonces no hay razón para lanzarlo.
RD: ¡SEGURIDAD! Independientemente de si se trata de un producto gratuito o comercial, la seguridad del usuario siempre debe ser la n.º 1. Hay muchas "soluciones alternativas" que los desarrolladores usan para ahorrar tiempo y recortar gastos, pero terminan generando más problemas en el futuro para el usuario final y el desarrollador.
Mantenedores del ecosistema de WordPress
Cuanto más use y desarrolle con WordPress, más aprecio obtendrá por todos los que ayudan a mantenerlo funcional y flexible. Si bien no son necesariamente los mantenedores "oficiales" del ecosistema de WordPress, los desarrolladores de complementos juegan un papel muy importante en su éxito final. Los complementos útiles y bien mantenidos son parte de lo que hace que WordPress sea atractivo para los usuarios y una opción viable para los diseñadores web.
¡Muchas gracias a Matt y Robert por dejarnos echar un vistazo a su mundo! Si bien sus complementos, bases de usuarios y filosofías difieren, ambos han demostrado la dedicación requerida para satisfacer las necesidades de los usuarios.