Habilitar el escritorio remoto multiusuario y multisesión en Windows8

Vuelvo de mi voluntario retiro bloguero para la segunda parte y continuación  de  Habilitar el escritorio remoto multiusuario y multisesión en Windows7.

Toda la explicación está en el artículo original. El procedimiento es exactamente el mismo pero con el nuevo archivo.

El funcionamiento es muy sencillo, se descomprime el fichero y se ejecuta el archivo install.cmd con privilegios de administrador. Para logarlo ya sabéis, botón derecho sobre el mismo y “Ejecutar como administrador”.

Si todo va bien cambiará la dll correspondiente por la parcheada y reiniciará el servicio de Escritorio Remoto con las opciones por defecto, es decir, permitir múltiples usuarios simultáneos.

Más información en el artículo original de Windows7.

Descarga aquí el archivo.

Blackberry Playbook ejecutando aplicaciones Android

Como ya sabéis, RIM me regaló a principios de año una tableta Blackberry Playbook para la que he hecho algunas aplicaciones.

Hace ya tiempo que anunciaron que en una actualización futura podrían ejecutarse aplicaciones Android sobre el Playbook, lo que sin duda abriría la puerta a una enorme cantidad de nuevas aplicaciones de las que carece el sistema actualmente.

Tras hacerse de rogar, a mediados de octubre publicaron finalmente Playbook OS 2.0 como una beta para desarrolladores con la esperada compatibilidad de Android. El comunicado inicial era que en noviembre se publicaría la versión final estable y todos los Playbook se actualizarían, pero tristemente han pospuesto el lanzamiento hasta febrero, una pena porque, en teoría, además de las aplicaciones Android, vendría con una aplicación nativa para correo electrónico pop/imap/exchange, algo de lo que carece hoy en día a no ser que la conectes con un smartphone Blackberry. Es decir, hoy por hoy, no se puede ver el correo en el Playbook a no ser que lo enlaces con un teléfono. Todo esto podría hacer de Playbook un aparato mucho más competitivo de cara a la campaña de Navidad y así podría vender muchos más PlayEpubs :P.

Hablando de Android puramente, lo que han hecho en realidad es embeber una máquina virtual Android que es la encargada de ejecutar las aplicaciones. Aquí podéis ver el “escritorio” de Android corriendo sobre Playbook.

IMG 00000269 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

La primera impresión, tras instalar algunas aplicaciones, fue tremenda ya que funciona relativamente bien. No puedo decir que sea 100% fluido ni estable, pero considero que vale la pena solo por la oportunidad de tener aplicaciones que hasta ahora no era posible, como un simple cliente SSH.

Pero no todo iba a ser tan bonito. No se pueden instalar directamente los .apk de aplicaciones, lo han “capado” y hay que instalarla como aplicaciones Playbook normales, si intentas instalar un .apk te indica que no es posible. Para ello han creado un sistema de reempaquetamiento de .apks en .bar. Una vez en el formato nativo ya se pueden instalar y aparecen tanto en el menú de la Playbook como en el menú de aplicaciones de Android.

IMG 00000270 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

Los teléfonos Android suelen tener tres botones que se han conseguido de distintos modos al trasladarlos a un Playbook sin botones físicos:

  • El botón “menú” de Android se convierte en el gesto “swipe down” de Playbook, con lo que la integración está bastante lograda.
  • El botón “back” se crea con la barra inferior que aparece en la imagen, es el peor logrado ya que implica añadir esa barra a la pantalla.
  • El botón “home” que lleva al escritorio se consigue con un gesto de 45º desde la parte inferior central de la pantalla, aceptable en cuanto le pillas el truco

IMG 00000271 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

Aquí cabe puntualizar que el “launcher” que trae por defecto el Blackberry Runtime for Android no permite acceder a las funciones básicas de Android (escritorio, menú de aplicaciones, etc), pero esto lo podemos solucionar instalando cualquier aplicación “launcher” (LauncherPro en mi caso) y tendremos a nuestra disposición un Android casi completo y, entre otras cosas, tendremos el cliente de email de Android, aunque podemos instalar cualquier otro :). Cabe decir que es poco probable que cuando se lance oficialmente RIM deje instalar otros “launchers” que no sean el suyo propio, con lo que habrá que seguir instalándolo igual que se hace en la beta.

Según la documentación, no todas las aplicaciones Android funcionarán, entre otras funcionalidades que no estarán disponibles están:

  • Widgets
  • Todo lo que tiene que ver con el teléfono propiamente dicho, llamadas, SMS, MMS, obvio ya que no tiene opciones de teléfono.
  • Bluetooth
  • Camara
  • NFC
  • VoIP
  • Apps that utilize native code bundled into their APK file
  • Linux virtual file systems (/proc and /sys will not be supported at the app level)
  • Add on libraries (all libraries defined by the tag in the app’s manifest other than “android.test.runner” are unsupported)
  • The following Java software packages:
    • Vending (In App Payments): com.android.vending
    • Cloud To Device Messaging (Push): com.google.android.c2dm
    • Google Maps: com.google.android.maps
    • Text to Speech: com.google.tts

Aunque dicen que no funcionará Google Maps, doy fé de que sí funciona. Eso sí, no es del todo estable, aunque creo que eso es problema del runtime en general.

IMG 00000274 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

Esto quiere decir que habrá muchas aplicaciones que no funcionarán, ya se ha encargado la gente de RIM de que no se instalen aplicaciones que puedan hacerles competencia. Por ejemplo, si intentamos acceder al menú de cuentas para configurar tu cuenta de Google, RIM amablemente nos indica que no se puede, con lo que no podremos sincronizar nuestros datos.

IMG 00000277 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

El nuevo sistema está disponible, por el momento, como beta para desarrolladores. Pero claro, al no poder instalar .apks directamente, seguimos sin tener aplicaciones para probar. Aquí es donde llega el efecto comunidad y se comienzan a liberar aplicaciones Android reempaquetadas, en playbookbars.com tenemos un listado completo de aplicaciones listas para instalar.


IMG 00000275 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android

Hay que puntualizar que para instalar las aplicaciones hay que hacerlo desde el SDK de desarrollo o usando BBHTool que lo hace todo mucho más sencillo. Como ya he comentado, imagino que seguirá siendo la manera de instalar muchas de las aplicaciones que RIM no querrá que nos instalemos, comenzando por el launcher.

IMG 00000273 300x175 Blackberry Playbook ejecutando aplicaciones Android tablet so smartphone playbook Móvil blackberry android
Mi opinión personal. Sin duda la compatibilidad con Android abre un mundo de posibilidades a la Playbook, ahora estoy mucho más satisfecho con él, sigue teniendo carencias, pero ahora menos, eso sí, el sistema NO es estable en general, el runtime de Android debería ir bien sobre el hardware de la Playbook teniendo en cuenta además que el S.O. es QNX, pero aún así tiene cierto aletargamiento que hace que la experiencia en juegos no sea optima. Angry Birds, por ejemplo, funciona correctamente, pero no es lo fluido que un juego como este requiere.

He puesto muchas de las capturas minimizadas para que se vea que debajo está la Playbook, sino podríais pensar que es un tablet Android ;).

Yo, de momento, no vuelvo al OS 1.7 :P.

Nuevo proyecto: PlayEpub, lector de ebooks para Blackberry Playbook

Ah!, que no os lo había contado, os tengo algo abandonados últimamente, pero es que he estado bastante liado, nuevo proyecto en la oficina y nuevo proyecto en casa :P. Research in Motion (más conocido como Blackberry) me ha regalado su nuevo tablet, el Playbook. ¿Adivináis por qué? ¡Sí! Por publicar Valenbisi para Playbook :).

valenbisiPlaybook 300x175 Nuevo proyecto: PlayEpub, lector de ebooks para Blackberry Playbook

No lo voy a negar, nunca me habría comprado un tablet si no me lo hubiesen regalado :P, y después de dos meses con él en casa, me confirmo, no le veo 500 euros de utilidad :P. El aparato en cuestión me parece muy buen cacharro, micro de doble núcleo a 1ghz, 1G de ram, salida HDMI y lo más sorprendente, sistema operativo QNX, un nuevo player en el mercado. RIM compró QNX, un sistema operativo en tiempo real, hace unos años y ahora ha aprovechado para incluirlo en su tablet. El rendimiento es espectacular, reproduciendo una película en HD, navegando y jugando simultáneamente sin notar ni un ápice de deterioro. Pero claro, todo tiene sus pegas :P. Desde mi punto de vista la mayor es la falta de aplicaciones. Aunque RIM anunció a bombo y platillo hace unos meses que se podrían ejecutar aplicaciones Android, lo cierto es que por el momento no, nos limitamos a las aplicaciones nativas. ¿Y cómo se desarrollan estas aplicaciones nativas? Pues más sorprendente aún, en Adobe AIR, por mi encantado :P, pero reconozco que tiene muchas limitaciones a la hora de poder hacer ciertas cosas, por ejemplo un cliente ssh. Aún así es más que suficiente para la mayoría de aplicaciones de usuario.

Cuando cayó en mis manos, lo primero que eché en falta fue un lector de ebooks que me permitiese abrir los epub que ya tenía y que suelo leer en el móvil o convertir a mobi para pasarlos al Kindle. Ni corto ni perezoso me dije, ¿por qué no hacerlo yo mismo? De eso hace dos meses y hoy os confirmo que ya está a la venta :).

IMG 00000036 175x300 Nuevo proyecto: PlayEpub, lector de ebooks para Blackberry Playbook

La verdad es que inicialmente pensé que sería mucho más sencillo, de hecho, tras estudiar el formato epub y tener el sistema de descompresión y lectura preparado, creía que lo tenía prácticamente hecho, ¡cuanto me equivocaba!. La parte de paginación tipo libro, es decir, click para página siguiente, click para página anterior, se me complicó muchísimo. Rehice el sistema cuatro veces desde cero ya que no encontraba la forma correcta de que todo funcionase como debía. Finalmente di con algo que funcionaba, me limitaba para hacer otras cosas, pero al menos la navegación y lectura eran fluidas y usables :).

La última semana de desarrollo  fue la más satisfactoria a nivel personal ya que, una vez superados los problemas de la paginación (mes y medio solo para eso), me dediqué a añadirle funcionalidades más vistosas y llamativas de cara al usuario, aumentar el tamaño de fuente, modo noche que hace el fondo negro y la fuente blanca, reducir y aumentar el brillo de pantalla, añadir marcadores para volver rápidamente a ciertas páginas, porcentaje de lectura…

IMG 00000020 175x300 Nuevo proyecto: PlayEpub, lector de ebooks para Blackberry Playbook

Creo que me quedó muy aparente :). En la imagen de abajo podéis ver la interactividad de la pantalla de lectura con 4 zonas sensibles para hacer click, cada una con una función distinta. Pero eso no es todo, si se hace un click largo, es decir, se pulsa con el dejo y de deja pulsado sin levantarlo más de un segundo, sale la opción para añadir marcadores (o eliminarlo si esa página ya lo tenía).

IMG 000000191 175x300 Nuevo proyecto: PlayEpub, lector de ebooks para Blackberry Playbook He de decir que la finalidad de la aplicación no es hacer negocio, la hice para leer mis libros, pero si entra algo… :P. Los primeros tres días a la venta generó casi 200 descargas a 2$. Tampoco me puedo quejar.

Y como siempre llego tarde a todas partes he de decir que me pasé estos dos meses de desarrollo controlando en la tienda de aplicaciones que no saliese otro lector de epubs. Pues bien, el mismo sábado que subí la mía apareció otra publicada. Encima tardaron una semana en validármela, con lo que la otra tuvo tiempo de copar el mercado, una lástima, pero como siempre, tarde a todas partes :P.

Más información en PlayEpub.

Nokia me regala un E7 en su nueva estrategia con los desarrolladores

Nokia ha cumplido la promesa que hizo justo después de anunciar que usará Windows Phone 7 en sus teléfonos de gama Alta, regalar un flamante Nokia E7 a todos los miembros del foro de desarrolladores, yo entre ellos :). El mío me llegó hace unos días directamente desde Finlandia. Justo cuando ya tenía mi Nexus S. Y es que no quieren que dejemos apartada la plataforma Symbian desde ya mismo :P.IMG 3369 300x250 Nokia me regala un E7 en su nueva estrategia con los desarrolladores symbian nokia e7 developer El teléfono me ha sorprendido gratamente, tanto la enorme pantalla como el acabado son excepcionales, todo metálico. Eso sí, lo hace pesar un poco, pero la primera impresión es genial.

Como ya comenté anteriormente (y aquí me llamareis friki), soy un Nokia-Fan desde hace mucho tiempo. El Nexus ha reforzado mi idea de que los teléfonos Nokia son mucho más sencillos de utilizar para el público general sin mermar en prestaciones, a mis hermanas les costaría muchísimo adaptarse a un Android, mientras que Symbian mantiene la esencia de un teléfono normal pero con con más cosas y táctil.

IMG 3372 300x199 Nokia me regala un E7 en su nueva estrategia con los desarrolladores symbian nokia e7 developer Aquí lo tenéis comparado con el Nexus S, como veis no tiene nada que envidiarle, todo lo contrario. La única pega es que la pantalla no es tan sensible como la del Nexus, pero eso sí, tengo que decir que el E7 aun tiene el plástico protector original, con lo que aún así el funcionamiento es adecuado incluso para jugar al Angry Birds.

IMG 3380 300x241 Nokia me regala un E7 en su nueva estrategia con los desarrolladores symbian nokia e7 developer Pero no todo iban a ser maravillas. En los pocos días que lo tenemos en casa lo hemos utilizado para cacharrear un poco y para jugar y se nos ha colgado y reiniciado varias veces. Ya veremos cuando mi pareja lo utilice habitualmente, miedo me da. Espero que lancen alguna actualización pronto ya que el teléfono me parece sencillamente genial.

A la interfaz le han dado un lavado de cara interesante, han mejorado el sistema de widgets y su gestión en el escritorio, han añadido escritorios virtuales que se desplazan lateralmente (a lo Android), en definitiva, un híbrido entre lo que era Nokia y esas cosas modernas :P.

Si a todo ello le sumamos el sistema de mapas Ovi, simplemente excepcional y el comedido consumo de batería tenemos un dispositivo a tener muy en cuenta, y es que aquí radica para mi una de las grandes ventajas de Symbian, con Bluetooth, gps y datos activados tienes teléfono para varios días. En Android, para unas horas. Esa es la gran diferencia.

Mi primer webservice en PHP (chispas)

Tras mucho tiempo consumiendo webservices de otros me ha tocado crear mi primer servidor SOAP en PHP y, la verdad, me ha parecido realmente sencillo e intuitivo. Creas una clase con los métodos que vas a exponer en el ws y se crea automáticamente el servicio sobre ellos, tan sencillo como eso.

  1. <?php
  2. $wsdl="miclase.wsdl";
  3. $soap = new SoapServer($wsdl);
  4. $soap->setClass(‘MiClase’);
  5. $soap->handle();
  6.  
  7. //clase que gestiona el ws
  8. class MiClase {
  9.     public function MiClase(){
  10.       //tu código
  11.     }
  12.  
  13.     /**
  14.      *
  15.      * @param string $email
  16.      * @return string
  17.      */
  18.     public function is_email_available($email){
  19.         //tu codigo…
  20.         return "OK";
  21.     }
  22.     /**
  23.     *
  24.     * @param string $phone
  25.     * @param string $email
  26.     * @return string
  27.     */
  28.     public function register_user($phone, $email){
  29.        //tu codigo…
  30.        return "OK";
  31.     }
  32.     /**
  33.     *
  34.     * @param string $phone
  35.     * @return string
  36.     */
  37.     public function downgrade_user($phone){
  38.        //tu codigo…
  39.        return "OK";
  40.     }
  41. }
  42. ?>

Con esto se crea automáticamente nuestro webservice con los tres métodos públicos. Pero espera, falta algo, arriba de todo defines un “miclase.wsdl“. ¿Qué es eso? ¿De dónde sale?

En efecto, ese es el principal problema al crear un webservice SOAP con PHP, no se genera el WSDL automáticamente sino que hay que escribirlo ¡a mano!. Para solucionarlo tenemos la librería PHP WSDL Generator a la que únicamente debemos pasarle la clase de la que queremos extraer el WSDL y lo hace por nosotros :). Para que todo funciona bien es necesario que los métodos de nuestra clase estén bien documentados tal y como aparecen en el ejemplo anterior, de esta manera WSDL Generator sabrá configurar los tipos de datos de los parámetros de entrada y salida de los métodos.

Veamos un ejemplo:

  1. <?php
  2. require_once("wsdl2php/WSDLCreator.php");
  3. $test = new WSDLCreator("miclase", "http://ws.tudominio.com/wsdl");
  4. $test->addFile("miclase.php");
  5. $test->setClassesGeneralURL("http://tudominio.com");
  6. $test->addURLToClass("MiClase", "http://ws.tudominio.com/miclase.php");
  7. $test->ignoreMethod(array("MiClase"=>"MiClase"));
  8. $test->createWSDL();
  9. $test->saveWSDL(dirname(__FILE__)."/miclase.wsdl", false);
  10. ?>

Este pequeño código nos generará el archivo WSDL de nuestro webservice. Como veis simplemente le indicamos el archivo con nuestra clase (el que escribimos anteriormente), la clase que queremos mapear con la URL del webservice (el endpoint) y, además, le indicamos que ignore el constructor de la clase ya que no será un método de nuestro webservice. Eso es todo.

Si ahora probamos el servicio web, por ejemplo desde el Web Service Explorer de Eclipse:

wseclipse Mi primer webservice en PHP (chispas) webservice soap PHP Tras darle la ruta del wsdl, http://ws.tudominio.com/miclase.php?wsdl, veremos los tres métodos que hemos expuesto y podremos probarlos y utilizarlos.

Nunca había tenido la necesidad de crear un servidor SOAP pero ha sido realmente sencillo. Ahora estoy buscando la manera de devolver tipos de datos complejos, pero eso será en el próximo capítulo :P.