Usuario
Feedback crítico hacia Microsoft y sus productos + plan de solución

Debate general
-
Quiero comenzar escribiendo este feedback exponiendo mi punto de vista crítico pero constructivo hacia Microsoft.
En la actualidad Microsoft no tiene muy buena fama y le ha costado mucho crear un empuje sobre su Store, si leemos un poco de noticias vemos temas tales como:
- Windows Phone no puede entrar al mercado, Lumia fue un fracaso.
- La mayoría de las personas no quieren migrar a las últimas versiones del Sistema Operativo.
- Windows Store no tiene una buena cantidad de aplicaciones
- Hacen falta personas que hagan desarrollos para Windows Store
- Etc...
Con respecto a esto tengo mi feedback personal.
Soy desarrollador de Software, tengo mas de 16 años de experiencia en el desarrollo de múltiples lenguajes de programación tanto del lado Microsoft como fuera de el, por ejemplo Java, .Net, Python, Ruby, PHP, Node, Asp, Jsp, MVC5, Spring, Django, Codeigniter, Express, Angular, etc, se trabajar con bases de datos SQL y NoSQL tales como Oracle, SQL Server, Postgre, MySQL, MongoDB, de desarrollar aplicaciones WEB, CLI (terminal), de Escritorio y Móvil (Android).
También soy Gamer, me gustan las consolas de videojuegos, también gusto mucho de jugar en el PC debido a que el performance y las graficas son mejores, utilizo Steam en algunos juegos, antiguamente jugaba en Windows 7, hoy juego en Ubuntu, por lo cual tengo un punto de vista muy claro sobre Windows v/s Linux.
También soy Administrador de Sistemas, tengo conocimientos sobre administración, implementación y mantención sobre casi todas las versiones de Microsoft Windows incluyendo Windows Server, GNU/Linux tales como Redhat, Debian, Ubuntu, Sistemas BSD tales como Solaris, OSX y otros.
No solo conozco sobre aplicaciones privativas sino también libres, tengo muchos años de experiencia sobre el uso del Software Libre y aplicaciones cerradas gratuitas y de pago.
-------------------
Primera restricción: La edad
Como todo mortal, mis inicios fueron utilizando Microsoft Windows desde la version Windows 95 hasta Windows 7, luego Windows 10 solo lo uso de manera virtualizada para trabajos específicos, cuando utilizaba Windows 95 no tenía la edad suficiente para pagar un Sistema Operativo, con suerte tuve mi primer PC con CPU 486 y Windows 3.1 (que nunca funcionó), fue un regalo de un amigo muy querido, por lo cual al inicio de mi vida informática tuve mi primera restricción: que siendo un menor de edad no tenía el dinero suficiente para acceder a la tecnología de Software, en este caso el Sistema Oprativo y Office.
Segunda restricción: El dinero
Al pasar de los tiempos pude trabajar y tener mi Sistema Operativo legal (Windows NT o 2000) y entusiasmado sobre el mundo del desarrollo comencé a averiguar y encontré algo llamado Visual Basic 6, pero lamentablemente era un editor de pago, pero como era muy costos y en ese tiempo ganaba lo básico y era de una familia con escasos recursos, tuve que conseguirlo descargado de manera gratuita en portales de descarga.
Tercera restricción: La documentación y el código cerrado
Con el tiempo aprendí mucho de visual basic, creaba mis aplicaciones de escritorio, hacía diseños personalizados, etc. No había mucha información disponible de manera oficial en internet por lo cual aprendí en foros y chats, pero mi principal ayuda fue poder descargar códigos de ejemplo de robots, virus y malwares de todo tipo, claramente no fue una buena decisión, pero pude aprender a cabalidad como se desarrollaban cosas complejas en visual basic. Ese conocimiento me ayudó a crear aplicaciones funcionales (no malwares) tales como sistemas de imágenes médicos, procesadores de vídeos, clientes de chat y otros.
Con el tiempo Microsoft fue creando portales de ayuda oficiales y comencé a aprender c#, claramente el editor de Visual Studio lo descargué parcheado por lo cual no lo pagué pero aprendí mucho sobre un lenguaje mucho mas robusto y comencé mi travesía en .NET 1, en esos tiempos me gustaba la seguridad por lo cual veía vídeos de Defcon Hacking Conference sobre vulnerabilidades en las primeras versiones de .NET, pero a pesar de esto c# me gustaba mucho.
Cuarta restricción: La portabilidad
Con el tiempo los virus me tenían harto, el uso de antivirus ahogaba mi computador y en los juegos eso era fatal, tenía que tener ram adicional solamente para poder correr bien un juego con el antivirus activo, pero en un chat un amigo me invitó a un foro donde se hablaba de Linux y entonces conocí el mundo del Software Libre y GNU y recién me di cuenta que si quería probar Ubuntu no podía utilizar mis Softwares recurrentes y era porque las aplicaciones nativas de Windows no son compatibles en ningún otro Sistema Operativo, por lo cual para mi como desarrollador era una patada en el estómago ya que me di cuenta que existían otros sistemas operativos donde mis aplicaciones no funcionarían tales como GNU/Linux y MacOS X, por lo cual comencé a aprender a desarrollar en lenguajes de plataformas cruzadas tales como Java en reemplazo de .NET, Python en reemplazo de BAT y VBS, y desde ese momento comencé a aprender muchos lenguajes que no dependieran de una única plataforma.
Quinta restricción: La migración
En algunos trabajos comencé a utilizar MAC porque me lo exigían para desarrollar, en otros utilizaba Windows, en otros GNU/Linux, por lo cual era difícil atenerse a un único tipo de tecnología, en mi hogar comencé a utilizar Ubuntu por varias razones, principalmente porque era mas fácil de modificar el entorno como por ejemplo los colores, estilos de ventana, etc, a demás me andaba mucho mas rápido porque ya no tenía que depender del Antivirus, pero lo mejor de todo es que de manera nativa tenía muchas mas herramientas disponibles para desarrollar que Windows, a demás no tenía que pagar, por lo cual era un entorno ideal para mi, una persona de escasos recursos con sed de aprender, Windows me restringía muchas cosas como por ejemplo el uso de la red a bajo nivel, modificaciones en el núcleo del sistema, protecciones, configuraciones, etc.
El principal problema y mi mayor dolor fueron:
- Los juegos
- Office
- Photoshop
- Nvidia
En GNU/Linux en esos tiempos jugar algo bueno era toda una proeza, con suerte el mejor juego que había era el de un pingüino (tux) que se lanzaba de cola en la nieve y eso me dolió mucho, OpenOffice en esos tiempos no era ni la sombra de Office y tampoco había un alternativo como hoy. Adobe no se porque pero extrañamente siempre se ha negado a lanzar Photoshop para sistemas Linux y Gimp en esos tiempos no era muy bueno, las tarjetas Nvidia también eran un dolor de cabeza porque oficialmente Nvidia no lanzaba drivers para Linux por lo cual me vi en la obligación de cambiar mi Nvidia por una Ati.
Pasé tantos problemas por culpa de la compatibilidad que desde ese momento decidí dejar de utilizar en lo posible Windows y todo lenguaje que dependiera de un único Sistema Operativo, por ejemplo Objetive C, .Net, etc, y desde entonces me enfoqué a la programación únicamente de lenguajes que pudiesen ser compatibles en múltiples sistemas, de esta manera los podía distribuir sin problemas y yo también podía utilizarlos estuviese donde estuviese.
Hace un buen tiempo que ya no le dedico tiempo a .NET, solo a trabajos específicos que me piden pero mi principal foco está en Java debido a que me sirve en Escritorio y Android, para CLI y servicios utilizo de preferencia Python y para WEB uso PHP, Java, Python o Ruby dependiendo de la embergadura del proyecto ya que cuando utlizas Windows Server con un proyecto ASP .NET es imposible migrarlo a otros sistemas como Redhat o Solaris y el costo es muy alto en Windows.
Mi feedback final:
Debido a lo cerrado que es Microsoft y a la exigencia siempre de un monto de dinero por acercar a la gente al mundo de la programación e informática en general ha perdido su principal motor que son los desarrolladores, hoy Google no vive de sus aplicaciones en Android sino de lo que desarrollan las personas, Google ha financiado un editor de pago el cual es JetBrains para que la gente lo pueda descargar sin costo y poder crear aplicaciones sin tener que pagar absolutamente nada, por lo cual se elimina la barrera de la edad y el estatus social, hoy una persona que desee desarrollar apps para Windows ya sea Desktop o Mobil debe primero pagar una licencia de Sistema Operativo, Microsoft es la única compañía que cobra por el Sistema Operativo, por lo cual al momento de querer iniciarse en el mundo del desarrollo no queda otra que optar por algo que esté al alcance de alguien de cualquier edad y ese no es Windows, luego el editor el cual no tiene un costo menor, o sea, me están diciendo: ven a ayudar a programar para mi pero primero cómprame el SO+IDE.
¿El problema principal?: Microsoft es una compañía que vela por el dinero mas que el usuario final. Asumir es de grandes.
¿Solución?: Para que Microsoft pueda tener el empuje en el desarrollo de sus aplicaciones e impulsar Windows Phone debiera entregar herramientas al alcance de todos, por ejemplo debiera existir un Windows Community Edition el cual sea un Sistema Operativo sin restricción de funcionalidades (para poder desarrollar como si el ambiente de desarrollo fuera producción) pero sin soporte a menos que pague el costo de una licencia y Visual Studio también debiera ser libre sin costo de uso, si quiero que todos programen para mi no les puedo cobrar el SO + IDE o si no dejo fuera a muchísima gente, hoy Eclipse es gratuito y puedes crear aplicaciones tan robustas como en Visual Studio con .NET y es gratuito (ser gratuito no significa que sea de código abierto) y si quieren soporte profesional para visual studio entonces que paguen el costo de la licencia, pero que de alguna manera si mi hijo que tiene 10 años quiere aprender a crear aplicaciones móviles no tenga que pensar en tener casi 300 dolares (SO+IDE) solo para ver si le gusta programar para Windows, de que hablar SQL Server el cual también tiene su costo a pesar de que existe la versión Express, por lo menos SQL Management no lo puedes tener si no compras la versión full de SQL Server, por lo cual tampoco puedes crear un desarrollo con base de datos si no pagas por SQL Server Studio.
En resumidas, si estuviera en mi mano lo que haría es lanzar un pack de aplicaciones para desarrolladores el cual no tenga límites de edad o estatus social:
- Microsoft Windows Community Edition (Free) + pago por soporte
- Visual Studio Full (free) + pago por soporte
- SQL Server Express (free)
- SQL Server Management (Studio, aparte del motor y del editor) (free)
- Documentación Online (free) multilenguaje regional
- Microsoft Service Monitor (servicio de monitoreo de servicios web y aplicaciones, de pago)
- Otros servicios complementarios de pago que no afecten el desarrollo de aplicaciones
Por lo cual separamos los mundos para el desarrollador y para el resto, donde el desarrollador tenga la libertad de crear y el usuario final de empresa o servidor pueda utilizar el aplicativo creado sin restricción de costos pero si que pueda adquirir servicios complementarios de pago, lo mismo para los usuarios finales de escritorio. Algunos de estos items ya existen, pero no de manera completa para separar las aguas e impulsar el desarrollo y el uso de los productos de Microsoft.
El negocio de las ventas del Sistema Operativo no se verían afectadas porque las empresas necesitan si o si soporte por lo cual van a tener que pagar las licencias correspondientes, pero no así los desarrolladores, el problema está en el consumidor de hogar el cual va a preferir la versión comunitaria, pero, ¿estaría dispuesto Microsoft arriesgar las ventas de Windows pagar hogar a cambio del empuje de Windows Phone y uso global de Microsoft Windows tanto de escritorio como para servidores?.
Saludos.
- Editado yan.uniko.102 lunes, 11 de septiembre de 2017 18:03