martes, diciembre 30, 2014

Lanzamiento del nuevo release Plex 7.2

Ayer CA comunicó la disponibilidad del release 7.2 de Plex. Mucho se ha conversado sobre qué incluiría, pero nada es adelantado en el anuncio. Lo que sí es adelantado es algo ya conocido, pero igualmente muy prometedor: la adopción de una política de releases incrementales rápidos, y con participación directa de todos aquellos clientes que deseen sumarse al plan:
The CA Incremental Release Program is a customer-interactive delivery model where new product features are developed and released using the Agile development methodology. CA’s development teams work closely with customers to create product features for rapid implementation. Rather than spending years building a software release full of features, we work with customers and release features incrementally, as they are completed.
El lanzamiento de la versión 7.2 es una confirmación de esta política, acortando todavía más los tiempos de entrega ya vistos entre la versión 7.0 y 7.1.
De la documentación inicial se desprende que el grueso de los cambios se concentran en la variante .NET y en WCF Service Connectors, el agregado de soporte para Oracle 12, y la esperada actualización del soporte de Visual Studio...2010. Se afirma que es posible el soporte de versiones superiores, pero no está testeado (VS 2013). En cuanto a Java, continúa soportado hasta la versión 7 (ya existente en 7.1) y en cuanto a OS400, el soporte alcanza a IBM i 7.1.
Evidentemente, hace falta la participación de la base de clientes, si queremos ver otras nuevas características disponibles.
Plex 7.2 en la wiki oficial (CA).
Lista de fixes en la wiki oficial de Plex.
Matriz de compatibilidad de Plex 7.2 (requiere usuario).

sábado, diciembre 27, 2014

Una arquitectura de dos velocidades (McKinsey)

Un par de artículos publicados por McKinsey este mes de diciembre, (1 y 2, firmados por Oliver Bossert, Jürgen Laartz, y Tor Jakob Ramsøy), plantean una estrategia realista de adaptación en una empresa anterior al universo digital. Los autores proponen una estrategia de dos velocidades para sumar una capa digital a una empresa de corte tradicional. Si lo releemos un poco, podríamos concluír que el escenario descripto es común y mayoritario: las empresas nativas digitales son una minoría, aunque se hayan convertido en hegemónicas en muy pocos años. Excelente artículo para pensar estrategias.
El postulado de los autores es este:
Unlike enterprises that are born digital, traditional companies don’t have the luxury of starting with a clean slate; they must build an architecture designed for the digital enterprise on a legacy foundation. What’s more, while most companies would have been comfortable in the past going through a three- to five-year transformation and not implementing new features in the meantime, today’s highly competitive markets no longer allow players to alter architecture and business models sequentially. It is therefore important to realize that the transformation toward digital is a continuous process of delivering new functionality.
Para los autores, esta migración al mundo digital requiere hacerse fuertes en cuatro aspectos: Innovación en el desarrollo de productos y servicios, habilidad para atender múltiples canales, capacidad de análisis de datos y tendencias (big data), automatización y digitalización de procesos de negocios:
First, because the digital business model allows the creation—and shorter time to market—of digital products and services, companies need to become skilled at digital-product innovation that meets changing customer expectations. One such new offering for consumers is car-insurance policies enabled by geolocation-tracking technology, where the price of the policy depends on how much and how aggressively a person actually drives.
Second, companies need to provide a seamless multichannel (digital and physical) experience so consumers can move effortlessly from one channel to another. For example, many shoppers use smartphones to reserve a product online and pick it up in a store.
Third, companies should use big data and advanced analytics to better understand customer behavior. For example, gaining insight into customers’ buying habits—with their consent, of course—can lead to an improved customer experience and increased sales through more effective cross-selling.
Fourth, companies need to improve their capabilities in automating operations and digitizing business processes. This is important because it enables quicker response times to customers while cutting operating waste and costs.
El problema básico al que hay que encarar es el relacionado con la contradicción entre una empresa estable, con procesos de negocios manejados de manera conservadora, frente a la necesidad de ser flexible, ágil, rápido y variable en la atención de los nuevos procesos. Esto requiere otra manera de organizar las actividades de IT:
While a few players have overcome some of these hurdles, it is a big challenge for many IT executives to implement all four levers so customers can, for instance, purchase individually tailored products across multiple channels. One important reason is that the legacy IT architecture and organization, for example, which runs the supply-chain and operations systems responsible for executing online product orders, lacks the speed and flexibility needed in the digital marketplace.
Indeed, the ability to offer new products on a timely basis has become an important compe­t­itive factor; this might require weekly software releases for an e-commerce platform. That kind of speed can only be achieved with an inherently error-prone software-development approach of testing, failing, learning, adapting, and iterating rapidly. It’s hard to imagine that experimental approach applied to legacy sys­tems. Nor would it be appropriate, because the demand for perfection is far higher in key back-end legacy systems. Quality, measured by the number of IT system errors, and resilience, measured by the availability and stability of IT infrastructure services, comes at slow speed but is critical for risk- and regulatory-compliance management and for core transactional activities such as finance and online sales. In contrast, lower IT-system quality and resilience can be acceptable in customer-facing areas, for instance, when users participate in the testing of new software. For these reasons, many companies need an IT architecture that can operate at different speeds.
Los autores valúan como imprescindibles los dos tipos de procesos (tradicionales, difícilmente transformables, y digitales, con grandes requerimientos de agilidad, flexibilidad y rapidez de respuesta). En este marco, elaboran una serie de recomendaciones para mantener e interactuar entre ambos tipos de procesos y necesidades:
Manage a hybrid target architecture with very different platforms. Digital target architectures are heterogeneous, with trans­actional platforms managed for scalability and resilience coexisting alongside other systems optimized for customer experience. The transformation can be sustained only if a high-level target architecture and standards in critical areas such as cybersecurity are clearly described from the beginning. Without them, the transformation can be slowed down by the complexity of legacy and new hardware and application provisioning.
Plan for ongoing software delivery with blends of methodologies. There isn’t time to develop software by using a waterfall model and then separating the transformation into several long phases, as in traditional multi-year IT transformations. Nor is the solution to migrate all delivery to agile methodologies. The answer is to do both but blend the benefits of agile (iterative development, continuous delivery) into the waterfall model. Now, the software solution for each business challenge has to be constantly developed, tested, and implemented in an integrated fashion. This requires clear segregation of platforms into domains managed for fast iterative delivery (for example, for customer-experience applications) or for transactional integrity (for back-end transactional systems).
Develop the low-speed architecture, too. It’s important to establish a clear distinction between the two IT models from the beginning and not only focus on the fast-speed part but also develop the transactional back-end architecture. Those systems of record require rigorous development and testing methodologies and must be managed for resilience and scalability, with no compromises.
Build a new organization and governance model in parallel with the new technology. In the digital enterprise, business and IT work together in a new and integrated way, where boundaries between the two start to blur. This partnership has to be established during the transformation.
Change mind-sets. By transforming the architecture, technology can become a key fac­tor for a company’s competitiveness. Such a development requires increased management attention and usually a place on the board agenda. While IT efficiency clearly remains important, spending levels may well rise as companies transform IT from largely being a necessary expense to being a true business enabler. As such, expenses are managed as investments rather than just costs; this will often require a substantial mind-set shift for the organization.
Run waves of change in three parallel streams. In a two-speed transformation, it makes sense to have an implementation plan that runs in three parallel streams. The digital-transformation stream builds new functionality for the business, supported by the results of a short-term optimization stream that develops solutions that might not always be compliant with the target architecture (for example, using noncom­pliant interfaces). To ease the development of short-term measures and create a sustainable IT infrastructure, an architecture-transformation stream is the third necessary component.
Las técnicas descriptas pueden verse no sólo como aplicables a una estrategia de cambio hacia una economía digital, sino a cualquier escenario de una empresa grande, con una tradición establecida de procesos de negocios y soluciones tecnológicas establecidas pero anticuadas; la idea central que destaco de la visión de Bossert y otros es la de articular dos velocidades en el desarrollo de nuevos procesos y arquitecturas, dando a cada parte su importancia relativa, y manteniendo procedimientos diferenciados según de qué área se trate.
Recomiendo releer varias veces estos artículos, extrapolando cuando parezca necesario.

miércoles, diciembre 17, 2014

Michael S. Hart y el Proyecto Gutenberg

A propósito de la oferta de la Fundación de Software Libre, (elegir un regalo de un producto recomendado por la FSF), dando una recorrida sobre las sugerencias, se observa la oferta de libros electrónicos del Proyecto Gutenberg (junto a otros especialmente interesantes, como GIMP, Least Authority, o Trisquel GNU/Linux). Luego de revisar unos minutos el sitio del Proyecto Gutenberg, hay dos elementos que quisiera traer a primer plano: La noticia de la desaparición de su fundador, que desconocía, y la advertencia del Proyecto acerca de las negociaciones establecidas bajo el paraguas del TPP (Trans-Pacific Partnership), para asegurar la protección de derechos de autor globalmente.
Respecto a la desaparición de su fundador, Michael S. Hart, sólo me entero un par de meses después. Quizá se deba a desatención, pero me resulta curioso no haber conocido antes la noticia ¿relegada a noticia de tercer orden? no podría asegurarlo, pero no hay duda de que su actividad de por sí iba en contra de quienes tienen en sus manos difundirlo.Sin duda le debemos -y le deberemos- mucho a Hart, en la medida en que su esfuerzo ayudó a preservar un espacio abierto de conocimiento, y a contraponer otro modo de valorar la escritura y su difusión. Dice The Economist sobre Hart:
Everyone should have access to the great works of the world, whether heavy (Shakespeare, “Moby-Dick”, pi to 1m places), or light (Peter Pan, Sherlock Holmes, the “Kama Sutra”). Everyone should have a free library of their own, the whole Library of Congress if they wanted, or some esoteric little subset; he liked Romanian poetry himself, and Herman Hesse's “Siddhartha”. The joy of e-books, which he invented, was that anyone could read those books anywhere, free, on any device, and every text could be replicated millions of times over. He dreamed that by 2021 he would have provided a million e-books each, a petabyte of information that could probably be held in one hand, to a billion people all over the globe—a quadrillion books, just given away. As powerful as the Bomb, but beneficial.
En un contexto en que la obra literaria o científica es cada vez más manejada como un producto que se debe comprar, llevado a extremos que van contra miles de años de transmisión del conocimiento, el Proyecto Gutenberg nos recuerda que la Ilíada y la Odisea se transmitieron por siglos verbalmente, y que si se hubieran seguido los criterios que hoy se pretenden pasar por "naturales", ambas probablemente se hubieran perdido.
Por lo tanto, quisiera enmendar el olvido cometido con Hart, transcribiendo su visión de la misión del Proyecto:
The mission of Project Gutenberg is simple:
To encourage the creation and distribution of eBooks.
This mission is, as much as possible, to encourage all those who are interested in making eBooks and helping to give them away.
In fact, Project Gutenberg approves about 99% of all requests from those who would like to make our eBooks and give them away, within their various local copyright limitations.
Project Gutenberg is powered by ideas, ideals, and by idealism.
Project Gutenberg is not powered by financial or political power.
Therefore Project Gutenberg is powered totally by volunteers.
Because we are totally powered by volunteers we are hesitant to be very bossy about what our volunteers should do, or how to do it.
We offer as many freedoms to our volunteers as possible, in choices of what books to do, what formats to do them in, or any other ideas they may have concerning "the creation and distribution of eBooks."
Project Gutenberg is not in the business of establishing standards. If we were, we would have gladly accepted the request to convert an exemplary portion of our eBooks into HTML when World Wide Web was a brand new idea in 1993; we are happy to bring eBooks to our readers in as many formats as our volunteers wish to make.
In addition, we do not provide standards of accuracy above those as recommended by institutions such as the U.S. Library of Congress at the level of 99.95%.
While most of our eBooks exceed these standards and are presented in the most common formats, this is not a requirement; people are still encouraged to send us eBooks in any format and at any accuracy level and we will ask for volunteers to convert them to other formats, and to incrementally correct errors as times goes on.
Many of our most popular eBooks started out with huge error levels--only later did they come to the more polished levels seen today. In fact, many of our eBooks were done totally without any supervision--by people who had never heard of Project Gutenberg--and only sent to us after the fact.
We want to continue to encourage everyone to send us eBooks, even if they have already created some without any knowledge of who we were, what we were doing, or how we were doing it.
Everyone is welcome to contribute to Project Gutenberg.
Thus, there are no dues, no membership requirements: and still only the most general guidelines to making eBooks for Project Gutenberg.
We want to provide as many eBooks in as many formats as possible for the entire world to read in as many languages as possible.
Thus, we are continually seeking new volunteers, whether to make one single favorite book available or to make one new language available or to help us with book after book.
Everyone is welcome here at Project Gutenberg.
Everyone is free to do their own eBooks their own way.
Simple, y fundamental.
En otra nota hablaremos de la iniciativa trans pacífica, que requiere tiempo.

Fin de año con la Free Software Foundation

La FSF propone festejar las fiestas regalando productos de software libre, y publica una lista comparativa de regalos "libres", y sus equivalentes de orígen propietario. No es una lista extensa, pero no está de más revisarla, y tenerla en cuenta. Tanto como a la FSF misma.

lunes, diciembre 08, 2014

Plex en la transición de Visual Studio...(y otras transiciones)

Mientras Plex 7.2 continúa en beta, y nuevos cambios de arquitectura aparecen en el horizonte, me interesaría retomar una conversación iniciada en mayo: qué hacer con la variante c++ (WinC) de Plex. Como se mencionara entonces, existe una iniciativa expuesta por Simon Cockayne, product manager,  por actualizar el soporte de Visual Studio de 2005 (qué horror!) a Visual Studio 2012 "o el más reciente que exista". Algo más que necesario...Pero a partir de este punto, existen diferentes líneas de avance. Dos o tres ideas sobre esto:

Algunas respuestas sugieren pasar entonces directamente a una variante .NET, esto sería, dado que la línea principal de trabajo en CA Plex parece apoyarse en .NET, evolucionemos a ella. Pero esto presenta tres escollos, a primera vista: Uno, económico, ya que no se trata simplemente de reconfigurar el modelo para adoptar una nueva variante (cambiar el valor de un combo box en la ventana de configuración), sino de pagar nuevas licencias, una por cada asiento que vaya a trabajar generando en la nueva configuración. Aunque existan ofertas o paquetes de negociación, es un costo que hay que pesar.
Un segundo escollo de importancia es la migración: no se trata tan solo de migrar paneles, sino de inventariar el conjunto de APIs de bajo nivel que se hayan estado utilizando basadas en c++/win32, y probablemente reescribirlas. Se trata de tener en cuenta la diferencia de modelo de arquitectura (managed/unmanaged code; framework de .NET). Todos los interesados, (y aquí se debería incluír también al soporte de CA) deben pesar el impacto de migrar no solo el código evidente, sino también cualquier dependencia de ActiveX, OLE, COM y VBScript. Todo ha sido afectado por el modelo .NET.
Y el tercer escollo a tener en cuenta es .NET en sí mismo: este parece ser un buen momento de la arquitectura, considerando los planes para abrirla a la comunidad en general. Pero atendiendo a los adelantos informados, no está claro que la apertura sea suficiente ni exenta de nuevas contradicciones. Este es un tema que requiere ser tratado por separado. Pero además, tampoco está claro qué papel tendrá finalmente .NET en los planes futuros de Microsoft, considerando su evolución a la nube, y los cambios de arquitectura desarrollados a partir de Windows RT.

Entretanto, no sólo evoluciona la arquitectura de Windows en general, sino también Visual Studio y el propio c++, tanto el estándar en sí mismo como la interpretación de Microsoft: hoy c++ 11, con planes para c++ 17. ¿Cómo de integrados están los planes en curso? Considerando la experiencia pasada, me pregunto, con pocas esperanzas de que se pueda tomar un curso preventivo, si no hubiera sido estratégicamente preferible, largo tiempo atrás, mantener un núcleo del generador mas apoyado en el estándar y algo distanciado de los planes de desarrollo de Microsoft. La variante de Plex es WinC, e implica un compromiso con Windows ya en su nombre: así WinC se ha desarrollado apoyado en las MFC, en ActiveX y VBScripts, y en mucha menor medida, en OLE y COM. Ahora cualquier plan de evolución o migración debe partir de este hecho. Un escenario algo más mediado hubiera permitido ver el código c++ con un mayor grado de portabilidad. En fin, la encrucijada por .NET o no, es una propia de Microsoft, en un universo cada vez más abierto, y cuando el propio Visual Studio se ve obligado a contemplar extensiones para otros sistemas operativos. ¿Podría ser conveniente persistir en Visual Studio, y abordar a partir de allí la entrada a otros medios? en fin, la apertura de .NET se propone entrar en Linux y OS X . Apuesta dudosa...Pero esto requiere una nota aparte.

sábado, octubre 04, 2014

Una wiki de Plex oficial

Desde hace ya ocho años aproximadamente, la comunidad de usuarios de Plex sostiene y ha hecho crecer una wiki que se proponía difundir el producto, y reforzarlo con artículos enfocados en aspectos difíciles de entender, o la descripción de variantes novedosas de uso del producto. Un gran esfuerzo sostenido especialmente por la gente de Desynit, pero acompañado por muchos otros, que dejaron un producto robusto, aunque difícil de navegar. No es la única que existe (también puede mencionarse más enfocada a la que AllAbout sostiene), pero es la más completa y profunda en sus contenidos.
Ahora, hace un par de días, CA, aparentemente en el marco de una política de "wikificar" todos sus productos, acaba de lanzar su versión oficial de una wiki para Plex. Contrariamente a la primera existente, esta no parece ser modificable por la comunidad de usuarios, sino sólo por la propia empresa. Por ahora, la invitación es a leerla y sugerir correcciones o ideas. Valga, no sería el único caso y tiene sentido defender la integridad de su contenido. La "antigua" wiki ha tenido que ir cerrando la participación de colaboradores externos después de ser blanco de centenares o miles de ataques de spammers, hasta el punto en que la participación es por referencias y conocimiento seguro de los participantes interesados.
Su contenido apunta bien, y digamos que CA tiene lo necesario para que esta wiki se convierta en una referencia primaria de Plex, especialmente considerando su carácter abierto, es decir, consultable por cualquiera que la acceda. Algo que no es tan simple si alguien desea abordar su documentación (bookshelves) conservada en el área de Producto de la web de CA. Un aspecto importante es que la wiki completa es descargable como pdf o epub (como pdf deja un documento de más de trescientas páginas).
Esta wiki está en sus comienzos, enfocada en la versión 7.1. No dudo que a través de sugerencias y críticas se irá puliendo y enriqueciendo, hasta convertirse en una referencia primaria para quienes quieran conocer el modelador y generador, y para nuevos desarrolladores que quieran entender cómo usarlo.
Por ahora, todavía un poco parco, y con algunas inperfecciones, como considerar la explicación del uso del diagrama de acción y el manejo de entidades relacionales como parte de los componentes de System i. De todas formas, muy recomendable, especialmente esperando su enriquecimiento futuro, que eso es lo que está en la esencia de cualquier wiki.

domingo, septiembre 28, 2014

Evaluando la comunidad oficial de Plex

En la comunidad de usuarios de CA Plex estamos atravesando la enésima modificación del sistema de intercomunicación entre el dueño del producto (CA) y sus usuarios (todos nosotros). A varios meses del cambio, ¿qué podemos destacar de positivo o negativo?
Primero lo positivo...
Mayor visibilidad: finalmente, parece que CA unifica una misma vía de comunicación con usuarios, distribuidores e incluso personal interno. No sé si a alguno de los community manager "on charge" les importa algo, pero ahora los productos de desarrollo de aplicaciones aparecen en el flujo de discusiones junto a las estrellas de la promoción del negocio. Un aspecto que a alguien podría llamarle a atención es el número de participantes en discusiones, suficientemente alto en Plex, 2E o Gen.
Acceso unificado al soporte, la documentación técnica o de divulgación. Existen mejores posibilidades de investigar la documentación de una incidencia o los artículos técnicos de formación. Parcialmente accesibles incluso en una búsqueda anónima en Internet.
Acceso externo a las discusiones de la comunidad de Plex/2E, tanto si se busca un problema determinado, como si se usan los alimentadores de noticias
Unificación de las dos líneas de colaboración: seguimiento de problemas y anuncios, y postulación de ideas de cambios o mejoras. Ahora ambas líneas de colaboración comparten la misma corriente de noticias, lo que favorece la participación de usuarios que antes quizá no eran concientes de que existía una vía directa de solicitud de mejoras. Quizá este sea el aspecto más interesante.
Y lo negativo:
Una vez más los cambios...algunos usuarios poco dados a conectarse a la comunidad, tardarán un tiempo en advertir que ya no sirven los viejos enlaces. Los alimentadores de noticias ya no funcionan, y hay que rehacer las direcciones usadas. El esfuerzo de comunicación puesto para facilitar la transición, muy escaso.
Los "community managers": si en las restantes comunidades se los ha seleccionado como a los de Plex/2E, tardaremos largo tiempo en tener una actividad de promoción de su parte. En nuestro caso, no parecen tener mucha experiencia en los productos. Por lo tanto, salvo dar hurras a la actividad de los usuarios, poco podemos esperar por ahora.
La transición de un producto de administración de la comunidad a otro, poco planeada (por lo menos para nuestros productos); adios a las etiquetas que previamente existieran asociando conversaciones con incidencias, y creo que adios a muchos documentos adjuntos. Al menos varias incidencias. Me resulta difícil entender que se planee un cambio y las incidencias de conversión queden para después.
La participación: por algunas semanas, mínima: quizá porque los usuarios debieran rehacer algún aspecto de sus perfiles, o quizá por falta de ubicación de las direcciones de cada cosa, o por el cambio en el manejo de incidencias. Luego ha aumentado, pero todavía sin llegar a la participación usual en el pasado.

¿El futuro? Espero que menos cambios formales, y más promoción y trabajo sobre los productos. En un momento tecnológico complejo y necesitado de este tipo de herramientas, esperamos más apoyo a la potenciación de nuestros modeladores y generadores de código.


sábado, agosto 30, 2014

IOT, ¿para cuándo?

Jean Marc Coté, 1899, el futuro
Andrew Binstock, en Dr Dobb's, pone un poco de realismo en el estado de IOT, (la Internet de las cosas): todavía estamos a distancia de su funcionamiento a pleno...¿cuanta distancia? Binstock habla de un buen tiempo faltante todavía, y es probable que así sea...
Binstock señala tres fuentes importantes de inmadurez: seguridad, infraestructura de red, y estándares:
In the case of IoT, the obstacles are significant: In addition to many secondary issues, network infrastructure, security, and data formats are the salient questions. The last two items, especially security, are important obstacles. Security violations will no longer mean just the simple, but now accepted, bother of waiting for new credit cards and monitoring your credit profile. Rather, a breach means access to very personal data about you, your family, your car, your home, your possessions. The danger is significant. If I can read sensor data in your house, I might well be able to know that despite the lights being on, the TV playing, and the car in the driveway, there is nobody home. And equally frightening, I might be able to issue commands to the various connected devices.
However, security alone is not a big enough obstacle to prevent the IoT. It's just one that will need to be handled before mass adoption. Network infrastructure, however, is a whole different story. If each device becomes an Internet endpoint, there is little doubt that IPv4 will run out of numbers almost immediately (as it's been on the verge of doing for much of this decade). While it's certainly possible that NAT will allow devices to operate behind a single IP address and then post data for retrieval elsewhere, this is not the design generally presented nor one that is particularly desirable. It seems fairly clear that for IoT to become a reality, the world needs to move to IPv6. Most ISPs today and most networked devices are IPv6-ready, but only a tiny fraction have actually switched over. This issue alone will add several years to full IoT adoption.
Finally, there are the questions about agreement over data formats, APIs, and programming conventions. As has occurred frequently in the past, whenever new important technologies arise, there is a first wave of standards that are mostly patches on the problem, followed by more robust and more widely accepted standards that truly enable interoperation. We are far from getting accord on those matters, in part because of the problem left unstated by so many vendors: Except for a few medical devices and the occasional smart thermostat — all of which are crude implementations of IoT — there is no large-scale implementation. Everything is experimental, prototype-stage, exploration. All of which is indeed good, but hardly suggests that significant roll-outs are at hand or even imminent. 

miércoles, agosto 13, 2014

Windows 9, ¿a vueltas y revueltas?

Un post de CA en Google+ pone sobre aviso:
We've already said goodbye to Windows XP and now we're saying goodbye to Windows 8. What's next for Windows devotees?
El post remite a una nota de Alex Wilhelm en TechCrunch del 10 de agosto (Saying goodbye to Windows 8) que básicamente adelanta una relativa vuelta atrás de la marcha hacia mobile en la siguiente versión, Windows 9, Threshold, o como finalmente se llame:
If Windows 8 was a dramatic lurch towards mobile computing, especially on tablets, Windows 9 appears to be heading for a more equitable balance between desktop muscle, and mobile capability. That fits into the larger picture of the computing environment, where PCs are stabilizing after a dramatically difficult period, and tablet growth is cooling.
Microsoft needs to ensure that its desktop-facing operating system manages to support the still-large demand for desktop-focused PCs well. That doesn’t meant that Windows, as part of Microsoft’s vaunted ‘one Windows‘ strategy can abandon tablets, but it does mean that the focus needs to be more even.
¿Es una vuelta atrás completa? Imposible, particularmente si tomamos en cuenta el cambio de arquitectura ya producido (WinRT):
So back to the desktop? Not entirely. Microsoft isn’t backing down from the Windows Store. It isn’t abandoning the Start Screen. Live Tiles do not appear to be going anywhere, on Windows or Windows Phone. Instead the company seems to be at once focusing on providing a Windows 7-quality desktop experience in Windows, while also tying that desktop life to its new mobile-friendly interface, and apps.
That’s why it’s widely expected that Metro apps will be able to run in a windowed-fashion on the desktop in Windows 9, better bringing the Windows Store into the most popular side of Windows.
¿Se trata de un movimiento inesperado (o mejor dicho inesperable)? Creo que no ¿Favorece a sus clientes y usuarios este camino errático? Seguramente tampoco.
Hay mucho tiempo para estudiar la transición...de la transición.
Más información de interés sobre Windows 9 en TechRadar.

martes, agosto 12, 2014

Internet Explorer ajusta el control de Java

Aunque semioficialmente en el blog de IE en MSDN se presenta como el comienzo del bloqueo de ActiveX obsoletos, y así lo puede encontrar anunciado en cualquier búsqueda, de lo que se trata en verdad es del bloqueo de versiones obsoletas de java, tal como Firefox, por ejemplo, también viene haciendo. Me interesé especialmente porque desde hace tiempo la tecnología de ActiveX viene siendo dejada más o menos de lado en Windows, y quizá esperaba ver alguna clase de búsqueda heurística que definiera qué parámetros determinarían el veto de un ActiveX. Pero parece ser que se trata de revisar una lista, formada sólo por versiones de java (¿se podría modificar la lista?).
Tratándose de algo relativamente simple, todas las versiones de IE activas (8 a 11) comenzarán a poner en práctica el bloqueo a partir del 9 de septiembre.
El alcance del control:
The out-of-date ActiveX control blocking feature works with:
  • On Windows 7 SP1, Internet Explorer 8 through Internet Explorer 11
  • On Windows 8 and up, Internet Explorer for the desktop
  • All Security Zones—such as the Internet Zone—but not the Local Intranet Zone and the Trusted Sites Zone
This feature does not warn about or block ActiveX controls in the Local Intranet Zone or Trusted Sites Zone.
Nótese que en Windows 8, sólo se menciona Internet Explorer for the desktop. Kurt Mackie, en Redmond Magazine, justifica esto en que no es posible instalar java en Metro (The blocking isn't happening for IE on the Windows 8 and Windows 8.1 Windows Store Apps ("Metro") side because the Windows Store Apps browser only supports the Adobe Flash Player add-on, but not other add-ons)
Versiones de Java vetadas en la lista:
J2SE 1.4, everything below (but not including) update 43 
J2SE 5.0, everything below (but not including) update 71 
Java SE 6, everything below (but not including) update 81 
Java SE 7, everything below (but not including) update 65 
Java SE 8, everything below (but not including) update 11
De las preguntas y respuestas:
Which outdated ActiveX controls are covered in this update?
No ActiveX controls will be affected when the feature is initially released in August. In September, only out-of-date Oracle Java ActiveX controls will be affected. All other ActiveX controls will continue existing behavior.
Is out-of-date Java the only ActiveX control being blocked by this feature in September?
In September, yes, only out-of-date Oracle Java ActiveX controls will be blocked by this feature. However, Internet Explorer will consider blocking additional common, but out-of-date ActiveX controls in future updates.
Can this feature be disabled if my enterprise requires an older version of the Java runtime?
Yes, there are several ways to disable this feature. Microsoft provides updated IE group policy administrative templates which include 4 new group policies to control this feature*. Two of these group policies can be used to disable this feature on a per domain basis or entirely.
My enterprise has line-of-business web sites that depend on out-of-date Java ActiveX controls in the Internet zone, will they be affected?
Out-of-date Java ActiveX controls will not be initially affected, giving customers thirty days to test and manage their environments. After September 9, when end users attempt to load the out-of-date Java ActiveX control, a prompt will be shown to the user (as described in earlier in the post). The end user will be able to click the “Run this time” option to load the out-of-date Java ActiveX control. Once loaded, the Java out-of-date ActiveX control will work as usual.
Can end users choose to override the prompt if a trusted application requires out-of-date Java use?
Yes, users can choose the “Run this time” option for internet sites requiring out-of-date ActiveX control use.
En fin, por ahora, el único peligro es Java. Tiene 30 días desde el 9 de septiembre para inventariar sus aplicaciones con versiones de java listadas, y buscar una solución. De todas formas, en el peor de los casos es posible deshabilitar completamente esta política. Una discusión sobre las políticas de exclusión en el comentario de Ed Bott.

lunes, agosto 11, 2014

.NET 4, end-of-service...

En el mismo artículo de Ed Bott mencionado antes, también se adelanta la finalización de soporte de el framework .NET 4, 4.5, 4.5.1 y 4.5.2 a partir de enero de 2016:
We will continue to fully support .NET 4, 4.5, 4.5.1, and 4.5.2 until January 12, 2016, this includes security updates as well as non-security technical support and hotfixes. Beginning January 12, 2016 only .NET Framework 4.5.2 will continue receiving technical support and security updates. There is no change to the support timelines for any other .NET Framework version, including .NET 3.5 SP1, which will continue to be supported for the duration of the operating system lifecycle.
La nota semioficial de Microsoft se puede leer en el blog .NET Framework. Por si no lo había notado:
The quick pace at which we’re evolving and shipping means the latest fixes, features, and innovations are available in the latest version and not in legacy versions. To that end, we are making it easier than ever before for customers to stay current on the .NET Framework 4.x family of products with highly compatible, in-place updates for the .NET 4.x family.

Internet Explorer, End-Of-Service


Tomado de The Ed Bott Report: Microsoft anunció este 7 de Agosto, cambios importantes en su política de soporte y actualización de sus versiones de Internet Explorer: a partir del 12 de enero de 2016, no habrá más soporte ni actualizaciones para IE 8, en cualquier versión (escritorio o servidor). Ni qué decir de versiones previas, aunque todos los días tenga noticias de copias de versiones anteriores.
Pero los cambios y finales de servicio también afectan a las versiones 9 y 10 de IE, limitados hasta su cese de soporte a versiones cercanas al fin de servicio también: Windows Vista o Windows Server 2008 y 2012, según una tabla algo dislocada, que debe revisar quien tenga compromisos con IE. En fin, la única versión con soporte asegurado en este momento es IE 11, en aquellas versiones de Windows que lo puedan soportar: Windows 7 y 8, Windows server 2008 y 2012, en sus R2. Un poco atravesado, pero coherente con el curso transicional en que se encuentra Microsoft. Pero además, IE 11 tiene sus particularidades: está funcionando la versión 11 como tal? Al menos en mi experiencia, internamente está funcionando en modo de compatibilidad con IE 8; y el mismo aviso de Microsoft de este pasado día 7, recomienda usarlo en modo Empresa (Enterprise mode, disponible desde abril de este año):
"Enterprise Mode…offers enhanced backward compatibility and enables you to run many legacy web apps during your transition to modern web standards. 
Today we are announcing that Enterprise Mode will be supported through the duration of the operating system lifecycle, to help customers extend their existing web app investments while staying current on the latest version of Internet Explorer. On Windows 7, Enterprise Mode will be supported through January 14, 2020. Microsoft will continue to improve Enterprise Mode backward compatibility, and to invest in tools and other resources to help customers upgrade and stay up-to-date on the latest version of Internet Explorer."
Pero, repito, al menos en mi experiencia, IE 11 funciona mejor en modo compatibilidad, que como IE 11. Llevo semanas tratando de testearlo en modo Edge, y recolectando problemas...hasta que concluímos que será mejor usarlo tal como está, en compatibilidad con una versión anterior, sea la 8, en mis casos recolectados, o en modo Enterprise, como recomienda Microsoft (aún no veo esta opción de emulación en mi instalación).
Concluyendo, sume a su calendario de actualizaciones de Microsoft, los cambios en marcha en IE. Revise sus aplicaciones, y mida el impacto sobre sus paquetes de Office, si los tiene (y sospecho que si usa IE, es porque usa Office).

¿Se debería actualizar? Por muchas razones, seguramente; valga la recomendación de Microsoft:
Developers benefit when users stay current on the latest Web browser. Older browsers may not support modern Web standards, so browser fragmentation is a problem for Web site developers. Web app developers, too, can work more efficiently and create better products and product roadmaps if their customers are using modern browsers. Upgrading benefits the developer ecosystem.
Users also benefit from a modern browser that enables the latest digital work and life experiences while decreasing online risks. Internet Explorer 11, our latest modern browser, delivers many benefits:
  • Improved SecurityOutdated browsers represent a major challenge in keeping the Web ecosystem safer and more secure, as modern Web browsers have better security protection. Internet Explorer 11 includes features like Enhanced Protected Mode to help keep customers safer. Microsoft proactively fixes many potential vulnerabilities in Internet Explorer, and our work to help protect customers is delivering results: According to NSS Labs, protection against malicious software increased from 69% on Internet Explorer 8 in 2009 to over 99% on Internet Explorer 11. It should come as no surprise that the most recent, fully-patched version of Internet Explorer is more secure than older versions.
  • Productivity – The latest Internet Explorer is faster, supports more modern Web standards, and has better compatibility with existing Web apps. Users benefit by being able to run today’s Web sites and services, such as Office 365, alongside legacy Web apps.
  • Unlock the future — Upgrading and staying current on the latest version of Internet Explorer can ease the migration to Windows 8.1 Update and the latest Windows tablets and other devices, unlocking the next generation of technology and productivity.

domingo, julio 20, 2014

En el filo de la nueva era...

Renovadas apuestas sobre la estrategia y ruta de desarrollo de los negocios de Microsoft. La reciente conferencia de Satya Nadella a todos los empleados ha confirmado que habrá novedades de gran porte en las estrategias de Microsoft, pero deja todavía dudas y dificultades para materializar en productos, áreas de ocupación o servicios que serán priorizados...o desechados.
Dice Mary Jo Folley:
Microsoft CEO Satya Nadella is working to focus the company on fewer, key areas where it has a better chance of winning. The areas where Microsoft is trumpeting its wins at this week's Worldwide Partner Conference are largely in the cloud -- with Azure, Office 365, Dynamics CRM Online -- and Office, Windows Server and business intelligence/SQL Server on premises.
(...) Microsoft is in the midst of attempting to pivot and remake itself as a "productivity and platforms" company, rather than a devices and services company. That change is more than semantic. In the post-Ballmer Microsoft, hardware is interesting only insofar as it "lights up" productivity software and services.
Nadella lanzó una palabra, "experiencias", para hablar de un nuevo paradigma de contrucción y funcionamiento de aplicaciones y servicios. Comenta Folley:
The focus on productivity -- and "platforms" -- is the newest focus for Satya Nadella's Microsoft. Just last week, Nadella outlined Microsoft's shift from a devices and services company to one focused on productivity and platforms. (...) Microsoft wants to offer a "complete suite of Microsoft experiences preinstalled on any device, on any platform"
Cuando Nadella habla de "experiencias", tiende a apuntar a la interacción entre aplicaciones de empresa y socialización, tratando de establecer herramientas de interconexión que hacen borrosas las diferencias entre actividad de negocios y actividad informal ¿será este un camino lleno de "experiencias"?
Entretanto Microsoft redefine sus objetivos, esta semana que termina se anunciaron 18000 despidos en el futuro próximo, lo que comenzará a convertir las ambiguas directivas en cortes y reubicaciones elocuentes. Esta cifra significa alrededor del catorce por ciento de su personal, aunque doce mil corresponden a la herencia de Nokia (25000 empleados reducidos a la mitad), lo que reduce el corte general a 6000, alrededor de un cinco por ciento (1). No sólo una gran reorientación de negocios y objetivos, sino también un compromiso financiero de cerca de quince mil millones de dólares en indemnizaciones.
Escalando la transición forzada por el gran cambio en los negocios habido en el mundo (2), todo es incierto en Microsoft, desde las tecnologías de sustento, hasta el objetivo de los negocios. Téngalo en cuenta cuando estime sus planes de desarrollo de tecnología, y sus próximas compras y compromisos de larga duración.

jueves, julio 10, 2014

Microsoft End-of-service: prepare su cronograma


Comentado por Mary Jo Foley esta semana: Microsoft comunica el fin de soporte de varios de sus productos para este 2014, y los planes para los próximos años. Es oportuno estar al tanto de este cronograma, para organizar las propias estrategias: Windows 7, Windows Server 2008, Exchange Server 2010 y Windows Phone 7.8  pasan a soporte extendido en enero de 2015 (El soporte extendido dura 5 años e incluye actualizaciones de seguridad gratuitas y soporte técnico con revisiones de pago. Además, Microsoft no aceptará solicitudes de cambios de diseño o nuevas características durante la fase de soporte extendido, según indica el propio anuncio de Microsoft). Foley recuerda que este año también pasan a "soporte extendido" Office 2010 y Sharepoint 2010:
Support for Office 2010 with Service Pack 1 ends on October 14, 2014, as does support for SharePoint 2010 with SP1. Support also is ending for Forefront Unified Access Gateway 2010 with SP3 and Visual Studio 2012 Remote Tools, Test Professional, and Express for Web, Windows 8 and Windows Desktop.
pero además, que finaliza todo soporte para Windows Server 2003:
Complete end of support for Windows Server 2003 is approaching next year, as well. On July 14, 2015, Microsoft's extended support period for that product cuts off, which means the company won't be issuing patches, updates or fixes of any kind for that operating system (unless users have pricey Custom Support Agreements in place). A number of small businesses are still running Windows Server 2003. Microsoft officials are hoping to convince them to move to Windows Server 2012 R2 and/or Azure
Es decir, en sólo un año más, todo la comunidad de instituciones, negocios e individuos que mantiene algún tipo de licencia de Microsoft, se encontrará en la encrucijada de quedar fuera de soporte (o recibir un soporte reducido) , o escalar a un nuevo modelo de sistema operativo, con todas sus conexiones e implicaciones. No se trata de cambios graduales, sino de largas listas de incompatibilidades, ausencias de soporte y documentación, sorpresivas incidencias por recursos perdidos, ignorados, desaparecidos. En el nuevo modelo al que todos los usuarios se asoman hay un corte radical con una escasa posibilidad de integración del patrimonio preexistente de aplicaciones y herramientas. No es algo que salte a la vista, pero es algo que está presente donde se enfoque la atención.
Es decir, activamente conozca el alcance de los cambios, y planee una ruta; examine su patrimonio y estime su plan de acción futuro...Quizá, si su patrimonio está muy comprometido, sea hora de estudiar otra alternativa global.

viernes, junio 20, 2014

Nueva dirección de la comunidad oficial de Plex

Desde hace pocos días la comunidad de usuarios de Plex/2E/Gen tiene nueva dirección. Esta es la segunda reorganización general de las comunidades de usuarios de CA. Afortunadamente, en general se han mantenido las discusiones pasadas, aunque han cambiado los enlaces, probablemente haya problemas con los adjuntos que se hayan pasado, y los feeds deben volver a cambiarse. Los perfiles de usuarios se han mantenido, así como los contactos. No veo las etiquetas asociadas a las discusiones, aunque veo etiquetas existentes.  Un aspecto positivo es que las discusiones técnicas se han entroncado en una sola corriente de entradas junto a las ideas, es decir, las propuestas de mejoras al producto. Y parece ser que existen herramientas para crear una idea a partir de una discusión.
Actualice sus marcadores con la nueva dirección.

domingo, junio 15, 2014

El objeto CDO y Office: ¿obsolescencia programada?

 Revisando algún otro asunto (algún fallo ajeno en el uso de MAPI), topé con un anuncio que en particular nos afecta en más de una instalación; digamos que en general puede afectar a cualquier usuario de Plex, pero supongo que su alcance es más amplio, más allá de la estrategia propia de Plex, para cualquier instalación basada en mensajería de Microsoft. El anuncio tampoco es nuevo: refiere a Office 2010: Collaboration Data Objects (CDO) 1.2.1 no es soportado con Outlook 2010 y versiones posteriores. CDO es una librería basada en el modelo COM de Microsoft, accesible por medio de C, C++, VBA, VB, C#, usada ampliamente para el envío de mensajería en sistemas Windows. En el mismo sitio del anuncio CDO es definido como  a client library that provides a thin wrapper over Extended MAPI functionality. This library is typically used to add email messaging functionality to custom programs. This library allows those programs to perform functions such as sending email through MAPI, working with calendars, and accessing various data in Microsoft Outlook or in Microsoft Exchange.

Posiblemente el API de MAPI haya sido intermediado por el uso de CDO ampliamente desde su aparición; bien definido, bien documentado, consistente, capaz de ser invocado desde casi todos los lenguajes ejecutables en Windows, y particularmente desde las propias implementaciones de Microsoft para el lenguaje de propósito especial de Office (VBA).
Sin embargo, a partir de Office 2010, nos encontramos que CDO no es instalado, y es desaconsejado su uso para interactuar con Office a partir de esta versión, debido a cambios de arquitectura en la suite de oficina:  
Microsoft Outlook 2010 and later versions include many architectural changes to the client-side MAPI subsystem. Of particular concern are scenarios in which Outlook is configured to use multiple Exchange accounts. Also, CDO 1.2.1 is a 32-bit client library and will not operate with 64-bit versions of Outlook. Given all these factors, CDO 1.2.1 is not supported for use with Outlook 2010 or Outlook 2013, and we do not recommend its use with Outlook 2010 and later versions.
¿Podemos considerar esta decisión una violación de los principios de arquitectura del modelo COM? Una vez más, el concepto de compatibilidad y continuidad del soporte de Microsoft opta por la vía rápida: se elimina su instalación, se ralea la información y documentación a partir de ahora "legacy", y se recomienda calurosamente el cambio a la nueva versión. Microsoft tiene una solución a su patrimonio de funciones construidas usando CDO:
Programs that use CDO should be re-designed to use other Application Programming Interfaces (APIs) instead of CDO (...) Developers should use the Outlook 2010 and later object model instead of CDO 1.2.1. Also, developers can still use Extended MAPI (which requires unmanaged C++) in some scenarios where CDO was required. However, if it is possible, we generally recommend that the Outlook object model be used instead of Extended MAPI. Microsoft product support can help developer customers migrate custom programs from using CDO 1.2.1 to using other APIs. However, Microsoft will not provide support for any scenarios in which CDO 1.2.1 is used with Outlook 2010 or Outlook 2013. 
Simple, entonces: busque todos los casos en que usara CDO, y rediseñelos para usar el modelo de objeto Office. Justo cuando Microsoft está en transición entre Win32 y WinRT, para descubrir que dentro de un par de años WinRt determina otro modelo de objeto, y, sin más trámite, todo su patrimonio sea discontinuado de nuevo.
Sin duda usted podrá seguir usando CDO, en un marco limitado, recurriendo a modificaciones de la instalación, a condición de cómo administre su instalación de Exchange (vea el punto More information en la página del anuncio de Microsoft). Pero no será soportado, y cada día encontrará menos documentación para arreglárselas por su cuenta. Si lo va a seguir utilizando, tome una medida de precaución: conserve como documento off line todo lo que pueda conseguir todavía de guía de referencia y soporte de Microsoft. Como en muchos casos, pronto encontrará que las (escasas) referencias que se conserven, lo conducirán a páginas muertas. ¿CDO funciona? digamos que sí. Lo que ha cambiado es Office, y la compatibilidad hacia atrás parece que es secundaria: cambie de modelo de API. La mejor explicación acerca de las razones del conflicto de versiones la he encontrado en lo analizado por Matt Stehle, en los MSDN blogs. Matt apunta a la existencia de dos modelos de manejo de memoria: el de MAPI/CDO, y el de .NET, que pueden producir intermitentes problemas de asignación de memoria:
MAPI has its own memory management model that conflicts with and is incompatible with the .NET runtime. This the primary reason that MAPI and CDO 1.21 are not supported running in a .NET process. The common symptoms you will see are seemingly random Access Violations and very often memory leaks (especially with CDO 1.21). There is no methodology for avoiding or managing these symptoms by using interop libraries or managing references in a particular fashion in your .NET code – it just won't work.
The trap is that CDO 1.21 and .NET can "appear" to work and you can get pretty far in your dev cycle before you run into problems. Many times we see this come up in soon after a solution is released to production, in late cycle performance testing, or in a pilot program. Opening a critical case with Microsoft when you have end users complaining of crashes or project managers short on budget is not a good time to find out that your solution is unsupportable.
Matt se extiende sobre el alcance de éste conflicto, reconociendo que realmente sólo a partir de Office 2007 existen mejores reemplazos de CDO, y que por lo demás, ambos serán excluyentes (The simple answer is you either need to not use .NET or not use MAPI or CDO 1.21). Puede leer la nota completa de Matt en su blog. No se arrepentirá, especialmente si sigue la acotación que apunta Matt a lo que Patrick Reehan dice acerca de qué significa "no soportado" para Microsoft.

En nuestro caso, el impacto sería reducido (por otra parte en ningún caso los servidores de Exchange han provocado conflictos todavía), porque CDO/MAPI están sumamente encapsulados, y no conviven procesos .NET con CDO. Todo nuestro manejo de mensajería pasa por un solo objeto, y las interfases entre un modelo y este objeto son exclusivamente de datos, sin ningún condicionamiento técnico. Bastará con redefinir las actuales llamadas, adecuándolas a los nuevos requerimientos, y recompilarlo y distribuirlo. No hará falta tocar nada más. ¿Pero esto es así en todos los casos? seguramente no, y probablemente en muchas empresas habrá (o hubo) trabajo inesperado.

sábado, mayo 31, 2014

Microsoft reenfocándose


Una noticia reciente poco comentada, pero quizá importante, ha sido la de abrir .NET y C# a proyectos open source, digamos, en mayor medida de lo hecho anteriormente. Recogido por Mary Jo Foley a comienzos de abril, pocos comentarios más se vieron en casi dos meses. Siguiendo a eWeek, Microsoft anunció en su conferencia Build 2014, sus planes en open source: la creación de una fundación (.NET Foundation), veinticuatro proyectos para iniciar actividades, y la conformación de una dirección integrada por funcionarios de Microsoft, de la subsidiaria Microsoft Open Technologies, y Miguel de Icaza. Entre los proyectos puestos en open source, está .NET Compiler Platform ("Roslyn"), y un par vinculados a Xamarin, la implementación de Miguel de Icaza de la plataforma de desarrollo.NET para dispositivos Android, iOS y GNU/Linux (el desarrollo completo en el comunicado de la fundación). En eWeek:
Microsoft formed the .NET Foundation to foster further innovation across the .NET ecosystem. The .NET Foundation will start with 24 .NET open-source projects under its stewardship, including the .NET Compiler Platform (previously known as "Roslyn") and the ASP.NET family of open-source projects, as well as the MimeKit and Mailkit libraries from Xamarin.

"We are going to be delivering a preview of the Roslyn compiler as a service," Somasegar said. "The most interesting thing that we're doing there is we are making both our C# compiler and our VB [Visual Basic] compiler open source. You want to be able to work with the community, you want to be able to take contributions back from the community, and you want to be able to work in the open. The other thing we are doing is adding support for .NET in Azure Mobile Services." - 
Tanto de la lectura de los comunicados iniciales, como de los comentarios de Foley o Tim Anderson, se puede decir que lo más importante a la vista es la mayor colaboración con Xamarin e Icaza, y por lo tanto, un frente más en la apuesta por ganar un lugar en las tecnologías móviles. Tim Anderson pone especialmente el acento en este futuro móvil:
The focus now though is on mobile, and interest in C# is stronger, mainly from Microsoft-platform developers reaching beyond Windows. There is also Unity, which uses C# as a scripting language for developing games for multiple platforms, including iOS, Android, Windows, Mac, Linux, Xbox, PS3 and Wii – PS4 is coming very soon.
Microsoft has now consciously embraced multiple platforms, as evidenced by Office for iOS as well as the Xamarin collaboration. “We want C#developers to build great applications across different form factors and different device platforms,” said Jay Schmelzer Director of Program Management for Visual Studio.
You might observe that this position has been forced on the company by the rise of iOS and Android, a view which likely has some merit, but the impact it has on C# and .NET itself is still real.
Una nueva acción  en el sentido de adecuarse al rumbo actual y próximo del mercado tecnológico, como los movimientos de apertura de Office o los intentos de mejorar la posición de sus tabletas. ¿Con qué alcance? probablemente, destinado a ofrecer una alternativa al mercado propio en el ajeno de Android o iOS.
¿Hasta qué punto este nuevo lanzamiento es open source?  Si atendemos al inicio, en cuanto al carácter abierto de la fundación, su directiva es casi completamente Microsoft:
The new foundation will be initially staffed by Microsoft and third parties, including a representative from the Microsoft Open Technologies subsidiary and someone from the .NET organization, as well as Miguel de Icaza, CTO and co-founder of Xamarin, which is partnering with Microsoft on a related effort, Somasegar said.
"There will be a board of directors," he said. "There are going to be a couple of people from Microsoft that are going to be on the board. There will be one person from MS Open Tech that's going to be on the board; there will be one person from the .NET team that will be on the board. We are also getting Miguel de Icaza to be on the board, so we'll have at least one third-party person on the board from Day 1. And we'll have a couple of third-party projects, including efforts from Xamarin and others. Our plan is, over time, to expand the board to include more people. There will be a board that will govern the .NET Foundation. Microsoft will initially have a strong presence, but it will not be exclusively Microsoft."
Mi primera impresión fue de sorpresa, ya en que demasiadas ocasiones las grandes empresas mandan a open source los productos que dejan de ser centrales en sus proyectos: una manera de reducir fondos a un producto que no está en sus planes, descargando en una comunidad el esfuerzo futuro de desarrollo. Sin embargo, en este caso, existe un deseo de mantener un control estricto sobre la conducción de la fundación, y existe un área de sumo interés futuro. En los artículos de Foley hay parecidas impresiones:
I have to admit that I wasn't sure if Microsoft's decision to open-source more of .Net would be met by cheers or jeers by those attending Build last week. I was curious if developers might see the move as an indicator that Microsoft no longer considered .Net valuable enough to keep in-house as part of its collection of crown jewels. Most of the devs with whom I spoke at the show seemed upbeat about the move, however.
Hejlsberg told attendees of a press panel during Build that Microsoft is not abandoning .Net.
"We are actively investing in .Net going forward," Hejlsberg said, in response to an audience question as to whether Microsoft was putting .Net on the back burner.
"It's not going away," Hejlsberg said. "We are all in on .Net."
El tiempo, más rápidamente que lo que nos podríamos pensar, irá diciendo a dónde va esta iniciativa. La competencia actual no da lugar a muchas dudas.

sábado, mayo 17, 2014

IBM: Liderazgo en fuga?

IBM 360, en computerhistory.org
Adam Hartung, en Forbes, comenta la evolución financiera y de bolsa de IBM reciente, poniendo en evidencia la errática conducción de la corporación, y su inexplicable estrategia...Hartung pone en el centro de sus decisiciones descaminadas, la baja de su inversión en investigación, lejos de lo que fuera por décadas, y la recompra de acciones, incluso recurriendo a endeudamiento. Hartung apunta a un problema de conducción de la empresa, focalizando en su actual CEO, aunque probablemente podamos hablar de más tiempo...
Why You Don't Want to Own IBM
IBM just finished a tough week.  IBM fell 2% after announcing earnings on Wednesday, dragging the Dow Jones Industrial Average (DJIA or Dow) down over 100 points.  And as the Dow reversed course to end up 2% on the week, IBM continued to drag, ending down almost 3% for the week.
Of course, one bad week – even one bad earnings announcement – is no reason to dump a good company’s stock.  The vicissitudes of short-term stock trading should not greatly influence long-term investors.  But in IBM’s case, we now have 8 straight quarters of weaker revenues.  And that HAS to be disconcerting.  Managing earnings upward, such as the previous quarter, looks increasingly to be a short-term action, intended to overcome long-term revenue declines which portend much worse problems.
This revenue weakness roughly coincides with the tenure of CEO Virginia Rometty.  And in interviews she increasingly is defending her leadership, and promising that a revenue turnaround will soon be happening.  That it hasn’t, despite a raft of substantial acquisitions, indicates that the revenue growth problems are a lot deeper than she indicates.
CEO Rometty uses high-brow language to describe the growth problem, calling herself a company steward who is thinking long-term.  But as the famous economist John Maynard Keynes pointed out in 1923, “in the long run we are all dead.”
Today CEO Rometty takes great pride in the company’s legacy, pointing out that “Planes don’t fly, trains don’t run, banks don’t operate without much of what IBM does.”  But, powerful as that legacy has been, in markets that move as fast as digital technology any company can be displaced very fast.
Just ask former CEO Scott McNealy and his leadership team at Sun Microsystems.  Sun once owned the telecom and enterprise markets for servers – before almost disappearing and being swallowed by Oracle in just 5 years (after losing $200B in market value.)  Or ask former CEO Steve Ballmer at Microsoft, who’s delays at entering mobile have left the company struggling for relevancy as PC sales flounder and Windows 8 fails to recharge historical markets.
Managing earnings is not managing for long-term success
CEO Rometty may take pride in her positive earnings management.  But we all know that came from large divestitures of the China business, and selling the PC and server business to Lenovo.  As well as significant employee layoffs.  All of which had short-term earnings benefits at the expense of long-term revenue growth.  Literally $6B of revenues have been sold off just during her leadership.
Which in and of itself might be OK – if there was something to replace those lost sales.  Even if they didn’t have any profits – because at least we have faith in Amazon creating future profits as revenues zoom. But IBM was far late to the cloud, and hasn’t shown it has anything to leapfrog industry leaders.
The REAL problems – R&D cuts, higher debt, massive stock buybacks
What should terrify investors about IBM are two things that are public, but not discussed much behind the hoopla of earnings, acquisitions, divestitures and all the talk, talk, talk regarding a new future.
CNBC reported that 121 companies in the S&P 500 (27.5%) cut R&D in the first quarter.  And guess who was on the list?  IBM, once an inveterate leader in R&D, has been reducing R&D spending.  The short-term impact?  Better quarterly earnings.  Long term impact????
The Washington Post reported more this week about the huge sums of money pouring out of corporations into stock buybacks rather than investing in R&D, new products, new capacity, enhanced marketing, sales growth, etc.  $500B in buybacks this year, 34% more than last year’s blistering buyback pace, flowed out of growth projects. To make matters worse, this isn’t just internal cash flow spent on buybacks, but companies are actually borrowing money, increasing their debt levels, in order to buy their own stock!
And the Post labels as the “poster child” for this leveraged stock-propping behavior…. IBM.  IBM
“in the first quarter bought back more than $8 billion of its own stock, almost all of it paid for by borrowing. By reducing the number of outstanding shares, IBM has been able to maintain its earnings per share and prop up its stock price even as sales and operating profits fall.
The result: What was once the bluest of blue-chip companies now has a debt-to-equity ratio that is the highest in its history. As Zero Hedge put it, IBM has embarked on a strategy to “postpone the day of income statement reckoning by unleashing record amounts of debt on what was once upon a time a pristine balance sheet.”
In the case of IBM, looking beyond the short-term trees at the long-term forest should give investors little faith in the CEO or the company’s future growth prospects. Much is being hidden in the morass of financial machinations surrounding acquisitions, divestitures, debt assumption and stock buybacks. Meanwhile, revenues are declining, and investments in R&D are falling. This cannot bode well for the company’s long-term investor prospects, regardless of the well scripted talking points offered last week.

sábado, mayo 10, 2014

Actualizando Visual Studio en Plex

Esto es de particular interés para los usuarios de Plex: hay abierta una votación  para conocer el interés de la comunidad de usuarios por llevar la versión de Visual Studio a la última disponible. En la comunidad de usuarios de CA, en la sección de ideas, o informalmente en el foro de Plex. Muy probablemente  más bien funcionará como una encuesta y un sondeo de opinión. Considerando el abismo abierto entre la versión soportada actual (2005) y la versión oficial (entre 2012 y 2013), es imposible anunciar una actualización sin consultar a los usuarios. A esta altura, a los pro evidentes, hay que sumar el costo del retrabajo necesario para subir la versión. ¿Cuánto es este retrabajo? Es de interés de cualquier empresa que haya trabajado en una arquitectura con clientes WinC (o funciones servidoras WinC) participar en la discusión, y aportar su visión del impacto esperado.
(Para acceder a los enlaces debe tener un usuario registrado en las Comunidades. Si no lo tiene, regístrese)

domingo, mayo 04, 2014

Tendencias: IOT


El 6 de junio de 2012 se produjo el Lanzamiento Mundial de IPv6, inicio explícito del nuevo y reformulado protocolo de Internet. "IPv6" no se trató simplemente de atender la explosión social de Internet, sino que fue un paso necesario para atender a otra explosión: la perspectiva ya inmediata de extender la red de internet potencialmente a cualquier recurso susceptible de aplicarle inteligencia. Esto es, la Internet de las cosas (IOT), es decir, la posibilidad de que enormes cantidades de objetos puedan disponer algún grado de inteligencia, una dirección propia para comunicarse, y posibilidades inagotables de interrelacionarse con el mundo circundante. Sumémosle el mundo ya lanzado de la movilidad, y tendremos un universo de recursos de potencialidad sin límite. Ian Skerrett, de la Fundación Eclipse, expuso ayer mismo en pocas líneas su visión sobre el alcance de IOT. Creo que vale la pena reproducirlo, por su claridad, profundidad y síntesis:

How to categorize the Internet of Things

I was recently asked how to categorize the Internet of Things. IoT is so broad and multi-dimensional that I am not sure if there is one easy answer or set of categories. However, here is my current thinking…

1. IoT Hardware

A lot of the excitement in IoT and the maker community starts with the cheap, easily accessible hardware. Arduino, Raspberry Pi, BeagleBone are the poster kids in the space. Now there are a ton of new hardware solutions be made available, ex Parallela (16 cores for $99) , Galileo from Intel

2. IoT Standards and Protocols

There is a lot of talk about IoT protocols and which one will win. It is too early and I agree not any one protocol will win. One thing I do know is that closed proprietary solutions are not going to win. We do need to work on having a common set of standards like CoAP, MQTT, Alljoyn, SensorML, etc  Of course, we also need to make sure that we have open source implementations for these standards and protocols. That is why Eclipse IoT is so important for an Open IoT.
There will also be a lot of vertical standards that will be developed for IoT, like OneM2M, Continua, etc.

3. IoT Gateway Software

The typical IoT solution architecture will have some type of gateway solution that connect the sensors and actuators to the Internet. Eclipse Kura and Mihini are good examples of this but there are certainly others.

4. IoT Middleware

Companies like IBM, Axeda, Sierra Wireless, 2lemetry, ClearBlade, Microsoft, Eurotech, Thingworx, Litmus Automation and others are providing IoT platforms/middleware solutions. This is definitely an emerging space where all platforms are not equal. I expect to see a lot more startups and the big enterprise middleware vendors driving the innovation for IoT middleware.

 5. IoT Databases

The amount of data generated by IoT solutions has the potential to be Huge Data, not just big data. AS pointed out by Matt Asay, the exists a massive opportunity in analyzing IoT data.  Splunk seems to be the leader in this space but I expect a lot of innovation in this space.

6. IoT Solutions: IoT & Humans vs Industrial Internet

There are also a lot of  industry specific and user-case specific IoT solutions. Tim O’Reilly wrote a recent article titled ‘The Internet of Things and Humans‘ which does a very nice job summarizing the human impact of IoT. In fact a lot of the hype for IoT is around wearables and home automation.  Nest is the poster-child for IoT&H but you can’t go a week without finding another home automation solution being launched on kickstarter.
There is no doubt the human side of IoT will be important but I find the Industrial side to be a lot more compelling. SCADA systems like the London Tube system , Nespresso providing remote management of coffee machine, the work GE is doing for hospitals, aircrafts, etc. are the things  are fascinating and exciting opportunities. This is also where a lot of the profits in IoT will be made.

In the last 6 months the activity/hype around IoT has exploded. It will be fun to watch how these categories emerge and merge in the next 1-2 years. Of course an Open IoT is what is needed for all this to be successful. Eclipse IoT will be an important part of the solution.
Es hora de adelantar(se) en este escenario; ¿nuestras herramientas serán capaces de operar sobre este conjunto? ¿conocemos los recursos, infraestructura, estándares, proveedores, con los que habrá que interactuar? ¿tenemos la comprensión adecuada para transmitirla a quienes serán sus beneficiarios? Creo que sin duda, esta es la hora de los DSLs y de los modeladores y generadores de código, y comparto la expectativa de Skerrett en el papel que Eclipse pueda cumplir, por su flexibilidad y la extensión de su comunidad de usuarios y proveedores.

sábado, abril 26, 2014

A propósito de una API de c++

Hace algunos días me pidieron que estudiara alguna manera de validar que una fotografía cumplía con ciertos requisitos de densidad y medida en pixeles: un requerimiento simple, que exige acceder a metadatos de la imagen. Desde el punto de vista de nuestros modelos de Plex, esto significa usar un API, ya que no existen dentro del conjunto de funciones propias del producto, ni tampoco en ninguno de sus patrones de tecnología, alguna función preelaborada que permita obtener esa información.
Un API es un trozo de código específico de una plataforma que funciona encapsulado: en su interior resuelve una necesidad específica, en este caso, tratar metadatos de una imagen, intercambiando información con el modelo a través de parámetros. Así, el modelo se mantiene a nivel abstracto, y se relaciona con código específico de plataforma a través de un marco de inicialización que resuelve la relación entre el nivel del modelo y el del código encapsulado. El marco de las APIs que Plex maneja es relativo a plataformas específicas: c++ para clientes Windows de código no administrado (en términos del marco .NET) u ODBC, un motor de VBscript incrustado para VBscript, c# para  .NET, y java o RPG para las variantes respectivas. Ya hace tiempo existe en la comunidad de Plex el estilo de definir un API de tal forma que responda a múltiples plataformas, por medio de metaoperaciones, que permitan intercambiar los parámetros entre el modelo y el código encapsulado, que será uno distinto por variante, y se resolverá en tiempo de compìlación según metaoperaciones que interroguen al modelo acerca de qué lenguaje se ha configurado. De esta forma, un sólo objeto API permite representar en un modelo su solución para tantas variantes como sea necesario y posible.
¿Estas son las únicas variantes posibles? Aunque hasta donde conozco, nadie lo ha intentado, existe una posibilidad de "sobrecargar" Plex para agregar APIs de otra plataforma o lenguaje: Plex sigue el modelo .COM, y permite importar un componente, y utilizar sus métodos y variables públicas como parte del modelo. Es entonces posible añadir transformaciones que habiliten otra variante, al menos al nivel puntual de una API. Utilizando elementos similares por otra vía, Websydian primero, y Webclient después, permitieron agregar capas de arquitectura web completas a un modelo de Plex.

Pero ahora, volviendo al pedido de lectura de metadatos de imágenes...Primero, restringimos el alcance del API a una aplicada a un modelo WinC, es decir, uno de plataforma Windows de modelo Win32, al menos para su primera versión: el horizonte de aplicación abarca por lo menos los próximos tres años. No está claro si en el futuro la aplicación continuará sobre Windows o Java, y en el primer caso, si sobre Win32 o WinRT. Digamos de todas formas que WinRT todavía no está soportado sobre Plex, lo que estrechaba el marco de posibilidades. Ahora bien, ¿qué alternativas hay disponibles para trabajar con imagenes escritas en c++ o c? En una primera revisión, encontré varias alternativas; Adobe XMP Toolkit, ExifTool (en modo de línea de comandos), Exiv2, y especialmente el Windows Imaging Component, o el objeto PropertyItem (en System.Drawing.Imaging Namespace) , ambos de Microsoft. Con algo de entusiasmo, comencé pesando las posibilidades de estas dos alternativas de Microsoft. Trabajando con Visual Studio y sobre una plataforma Windows ¿qué alternativa más "natural" puede considerarse que la del propietario de la plataforma? Sin embargo, luego de revisar la documentación (algo escasa en general), encuentré su uso demasiado exigente para el caso que debíamos atender: En primer lugar, la clase PropertyItem parecía más simple y directa de usar (a pesar de que tampoco estamos hablando de pocas líneas de código), pero aparecieron un par de observaciones (1, 2) que es necesario tener en cuenta, sin hablar de las posibles dependencias de versión del framework .NET. En el caso de WIC, examinando la documentación claramente marchabamos a matar moscas a cañonazos. Tanto por la complejidad relativa al objetivo a resolver, como también por la ambigua situación de evolución y deriva de .NET, Win32 y WinRT,decidí volver a evaluar otras opciones de código abierto, y finalmente adopté Exiv2, pero aún de una manera más simple: no recurriendo a la librería c++, sino usando el comando de consola exiv2, que permite acceder a la mayoría de los estándares de metadata...sin necesidad de asegurarse de que estén instalados los codecs adecuados...
En fin, resuelta la estrategia, en un par de días cerramos el problema con un código simple, reducido, y fácilmente ampliable a la obtención de otros atributos. En una situación de transición de la plataforma de Windows como la actual, es preferible quedar libre de dependencias y compromisos, si es posible. En tanto, ActiveX, VBA, VB for Office, c++ y en alguna medida .NET y .COM, atraviesan la borrosa frontera entre Win32, WinRT y otras alternativas que puedan sumarse a "un solo Windows"...