tag:blogger.com,1999:blog-70113593784934289672024-03-05T05:20:49.584+01:00ZalakainTecnología, emprendedurísmo, metodologías... de todo un pocoZalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-7011359378493428967.post-59055056631306604832016-08-05T13:45:00.000+02:002016-08-05T13:45:06.858+02:00Proyectos MDM: errores y razonamientos (y II)<div style="text-align: justify;">
Continúo tras un paréntesis con el siguiente post sobre <a href="https://en.wikipedia.org/wiki/Master_data_management" target="_blank">Master Data Management</a> (MDM) y en concreto sobre los errores más</div>
<div style="text-align: justify;">
Como ya comenté en mi <a href="http://zalakain2010.blogspot.com.es/2016/06/proyectos-mdm-errores-y-razonamientos-i.html" target="_blank">primer artículo sobre este tema</a>, me he basado en un artículo de "<a href="http://hubdesigns.com/" target="_blank">Hub Designs</a>" al respecto. Sobre este, hago mi visión particular del tema, donde divido los errores en errores comunes a todo Proyecto TIC y errores específicos de proyectos MDM/PIM. Toca en esta segunda parte hablar de</div>
<div style="text-align: justify;">
<br /></div>
<h3 style="text-align: justify;">
Errores específicos de Proyectos MDM/PIM</h3>
<div style="text-align: justify;">
Si consideramos debidamente cualquier proyecto MDM habremos realizado un análisis que como mínimo nos indicará:</div>
<div>
<ul>
<li style="text-align: justify;">objetivo: qué es lo que queremos lograr con el proyecto; descrito en "lenguaje comprensible por todos" y con el nivel de detalle que sea preciso </li>
<li style="text-align: justify;">cómo medir el resultado: qué indicadores mirar, cómo obtenerlos y qué valores son los deseados así como los aceptables (que no tienen por qué ser necesariamente los mismos)</li>
</ul>
</div>
<div style="text-align: justify;">
Esto de nuevo es común a cualquier proyecto TIC. El "añadido" que nos podemos encontrar en muchos proyectos MDM/PIM es que el propio proyecto en sí sea interdependiente de otros proyectos "paralelos" y a los cuales se dé más o menos importancia: creación de una plataforma de eCommerce, creación de una nueva Web, creación de un nuevo catálogo digital... Si este es el caso habrá que prestar una <b>atención adicional a los puntos de "integración/interconexión"</b> entre proyectos y esto en ocasiones es muy complejo (por motivos como políticas de empresa/departamentos; recelos entre integradores; complejidad excesiva de alguno de los proyectos...). En estos casos podemos (¿debemos?) aplicar una <a href="https://es.wikipedia.org/wiki/Lean_manufacturing" target="_blank">metodología LEAN</a> y lograr que la integración funcione (por cierto, qué difícil resulta encontrar en Internet referencias de LEAN que no tengan que ver con las Startup... vale, de acuerdo que a las Startup también les aplica, y mucho, esta metodología pero ¡también a muchos otros procesos y proyectos! Simplificar, Aligerar, MVP... eso debería ser parte de las tareas de cualquier proyecto que quiera tener éxito). Si no es así, entraremos en la "typical spanish" fase de echar la culpa al otro...</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Bueno, centrémonos de nuevo en lo que nos ha traído hasta aquí, los Errores específicos de Proyectos MDM/PIM que nos quedaban por comentar del post anterior. "Al lío"...</div>
<h4 style="text-align: justify;">
No crear un Grupo de Data Governance</h4>
<div style="text-align: justify;">
Esto es un error en el que es muy fácil caer, después de todo ¿a quién le apetece que le digan que tiene más trabajo que hacer? Y no obstante es muy importante evitar este error. Porque en caso contrario más pronto que tarde nos encontraremos en una situación donde determinar cuál es el origen de los datos válido o con precedencia sobre los demás quedará en las manos de un Desarrollador que estará presionado y limitado en el tiempo para decidir y que puede o no tomar la decisión adecuada (pero que en ningún caso debe ser responsabilizado por ello). Y darse cuenta de que hay un error grave en la calidad de los datos una vez hayamos terminado el Proyecto y puesto el mismo en producción es un gran fallo, uno además con un coste elevado para solucionar (pensar sólo en el tiempo que va a llevar conseguir determinar dónde está el error...). Esto es algo que se puede solucionar si establecemos desde el principio un grupo de Data Governance, con unos participantes con conocimientos no sólo de la plataforma y del negocio, si no también de a dónde queremos que se dirija este negocio (visión de futuro) ya que podrán aportar valor que si no será necesario incorporar más adelante (y no queremos andar haciendo un proyecto MDM tras otro, ¿verdad?).</div>
<div style="text-align: justify;">
Pienso hablar más adelante sobre qué es un Grupo de Data Governance por lo que no me extenderé más por ahora en este punto. Sólo comentar dos características que debe tener:</div>
<div style="text-align: justify;">
<ul>
<li><b>Ser capaz de tomar decisiones</b>: las reuniones de este Grupo deben ser las necesarias, de la duración precisa (y no más), y concluyentes: si se requiere una decisión, se toma y se acepta. No se trata de hacer reuniones por hacer, eternas o que no valgan para nada. Todos tenemos cosas mejores que hacer que participar en grupos inútiles.</li>
<li><b>Ser accesible/convocable por los PMs de todos los proyectos</b> relacionados con los datos del MDM: si hay una "ceremonia" que dificulta a los PMs el pedir algo a este Grupo, al final no se convocará y las decisiones que se tomen en los Proyectos podrán no ser las más acertadas. Por tanto estamos poniendo en peligro el/los proyectos y colaborando a dinamitar el valor de este Grupo. </li>
</ul>
<h4>
Implantar un MDM en modo "big bang"</h4>
<div>
Este fallo por suerte parece que cada vez se da con menos frecuencia, pero aún así hay proyectos donde a pesar de carecer de todo conocimiento previo sobre qué es un MDM, para qué sirve, cómo usarlo mejor, etc. se decide que la implementación sea un "big bang", un cambio radical y completo de toda la gestión previa de los datos en una empresa.</div>
<div>
Esto desde luego que generará ruido, y también con mucha probabilidad hará "explotar" todo... en el mal sentido.</div>
<div>
Demasiadas veces nos encontramos con numerosas dificultades en los proyectos que desaconsejan esta aproximación. La principal de ellas es la diferencia lingüística (que no de idioma, que esa puede ser otra...) entre Negocio y Desarrollo/Sistemas. Lo que un departamento entiende por "dato maestro" puede no tener nada que ver con lo que entiende otro. Y esto muchas veces se deja en manos de Consultores que tienen una enorme carga de trabajo y un tiempo muy limitado para desarrollarlo, por lo que para cuando se detecta que esto es un problema y se pretende corregir ya es demasiado tarde: un modelo de datos malo y no adecuado a la tarea que se precisa; un diseño de la solución que no se beneficia de las ventajas que la plataforma MDM aporta; una complejidad excesiva en todos los casos para acomodar situaciones "y si", etc. En definitiva, una solución pobre y mal implementada, que como poco causará animadversión a los usuarios.</div>
<div>
La solución a este problema en realidad son dos posibilidades:</div>
<div>
<ul>
<li>pasar muchísimo<b> tiempo en la fase de Análisis del Proyecto</b> si contamos con un equipo de Consultoría experimentado y capaz (en caso contrario, es mejor no intentar este camino), con la esperanza de que se llegue al nivel de entendimiento perfecto entre las partes y se diseñe y realice una buena solución MDM ("safe & sound").</li>
<li>o ser realista y aproximarnos al <b>desarrollo de la solución de una manera cíclica</b>, que permita aprender según se va avanzando y lograr el mejor valor posible de la solución en cada momento del ciclo de vida del proyecto. ¿A alguien le suena esto a Metodologías Ágiles? Exactamente, esa es la idea. Una aproximación tipo <a href="http://www.proyectalis.com/documentos/KanbanVsScrum_Castellano_FINAL-printed.pdf" target="_blank">SCRUM o incluso Kanban</a> al proyecto puede lograr que el resultado final sea mucho más satisfactorio que hacer un "big bang". </li>
</ul>
</div>
</div>
<h4 style="text-align: justify;">
Considerar sólo una dimensión</h4>
<div>
<br /></div>
<div>
Por último, aquí entramos en la parte más "analítica" del proyecto MDM, en la que nos debemos plantear qué datos tenemos, cuáles queremos gestionar, cómo son (qué información contienen), cómo interactúan entre ellos, y cómo queremos acceder a los mismos. Por supuesto que todo esto desde dos puntos de vista: cómo lo hacemos actualmente y cómo querríamos hacerlo.</div>
<div style="text-align: justify;">
Y aquí es donde entran las distintas "dimensiones" de las que hablamos. Es decir, si nos planteamos un proyecto MDM sólo desde un único punto de vista (por ejemplo, manufacturing) tendremos el problema de que aunque la solución satisfaga éste no podremos fácilmente satisfacer otros que añadamos posteriormente (p.e. marketing; o web; o mobile...) si no los hemos pensado antes e incorporado sus requerimientos al diseño de la solución MDM. Esto en sí es un proceso complejo y creo que justifica por sí sólo la existencia de una <b>fase de "Análisis MDM" en el proyecto</b>, que se ocupe de trabajar con todas las dimensiones que haga falta, con la suficiente importancia y alcance como para garantizar unas mínimas capacidades "multidimensionales" a la solución desarrollada.</div>
<div style="text-align: justify;">
En caso de no hacerlo, tendremos el problema de que lo que se haya implementado, por bien que se haya hecho (y seguramente caro), no va a ser la solución que sirva para otras necesidades de la empresa. Y esto hay que evitarlo a toda costa, se trata de implementar proyectos MDM sólidos, duraderos y estables (al fín y al cabo, en muchos casos van a ocupar el lugar de los antiguos OS/360, que aunque "feos" pueden perfectamente definirse con esas palabras).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y hasta aquí mis comentarios sobre estos errores en proyectos MDM. Espero haber aportado algo al respecto, y desde luego estaré encantado de cualquier opinión sobre el tema.</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-29137703993220038062016-06-24T14:13:00.000+02:002016-08-05T13:44:48.690+02:00Proyectos MDM: errores y razonamientos (I)Comienzo con este post a escribir sobre el tipo de sistemas con los que trabajo actualmente, los sistemas MDM (<a href="https://en.wikipedia.org/wiki/Master_data_management" target="_blank">Master Data Management</a>).<br />
<br />
<div style="text-align: justify;">
Recientemente leí un artículo que trataba sobre las "8 peores prácticas en Master Data Management y cómo evitarlas" escrito por "<a href="http://hubdesigns.com/" target="_blank">Hub Designs</a>". Me parece un tema interesante y quería aportar mi propia visión sobre el tema, ya que por desgracia después de tantos años los Proyectos Informáticos siguen tropezando en las mismas piedras...</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
La visión que daba el artículo, si lo traducimos al castellano y lo simplificamos es esta:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOcMbyReMbEfzEvj2jK8PpVXe0vy-rCDYyWxWLzxD-3S_t0QZShjTIiIlqzpBl1fcHPlnXTRbLSIc8jZbXFejf_wGsFGeGulhik6l6iGnf0NV4cby9liMbxYRxd2nRhG31Itsk5IJqf-E/s1600/8Errorres+PM+MDM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="494" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOcMbyReMbEfzEvj2jK8PpVXe0vy-rCDYyWxWLzxD-3S_t0QZShjTIiIlqzpBl1fcHPlnXTRbLSIc8jZbXFejf_wGsFGeGulhik6l6iGnf0NV4cby9liMbxYRxd2nRhG31Itsk5IJqf-E/s640/8Errorres+PM+MDM.png" width="640" /></a></div>
<div style="text-align: justify;">
<br /></div>
<br />
<div style="text-align: justify;">
En general estoy de acuerdo con los errores que se detallan, pero he realizado una pequeña modificación: los círculos en naranja representan<u> errores comunes a todo proyecto TIC</u> mientras que los azules tratan de errores específicos de proyectos MDM/PIM.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Veamos más en detalle cada uno...</div>
<h3 style="text-align: justify;">
Errores comunes en proyectos TIC (IT)</h3>
<div style="text-align: justify;">
La gestión de los proyectos TIC, y casi de cualquier proyecto, es una tarea muy compleja como bien saben mis amigos del <a href="http://www.angp.eu/" target="_blank">Asociación Navarra de Gestión por Proyectos</a>. La toma de requerimientos, la gestión de los recursos, los plazos... son tareas que pueden resultar enormemente complejas y requerir mucho esfuerzo, y que si no se llevan a cabo correctamente darán al traste con el proyecto.</div>
<div style="text-align: justify;">
Lo que sí conocemos y de lo que voy a hablar aquí, son una serie de errores que si no los corregimos pronto harán que nuestro proyecto fracase sin importar el esfuerzo que dediquemos al resto de tareas. (Aclaro que entiendo por "fracaso" el hecho de que un proyecto no se reconozca como éxito o beneficioso, a pesar de que se haya entregado por completo, en tiempo y en costes; vamos, que si no nos reconocen el resultado ¿para qué hemos trabajado?)</div>
<h4 style="text-align: justify;">
Olvidarse del caso de negocio</h4>
<div style="text-align: justify;">
O, dicho de otra manera ¿para qué estábamos haciendo esto? Aunque parezca mentira, a veces los proyectos desarrollan soluciones que no son lo que se necesitaba o no solucionan completamente el problema que se pretendía solucionar. Sobre esto, las <a href="https://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software" target="_blank">Metodologías Ágiles</a> como SCRUM ayudan enormemente a no cometer este error ya que siempre se mantiene el foco en lo que el cliente quiere solucionar en todo momento. De este modo el resultado es lo que el cliente espera (y por tanto supondremos que es lo que le soluciona sus problemas :) ). Otra técnica, más simple y que no implica necesariamente cambiar el proceso de desarrollo que tengamos implantado, es la <a href="https://es.wikipedia.org/wiki/Lean_software_development" target="_blank">metodología Lean </a>y sobre todo el concepto de <a href="https://es.wikipedia.org/wiki/Lean_startup#Producto_m.C3.ADnimo_viable" target="_blank">Producto Mínimo Viable</a> un concepto que debería ser obligatorio en todo desarrollo software y que comprendí mucho mejor de la mano de expertos como <a href="https://es.linkedin.com/in/lopezdeavila" target="_blank">Mario López de Ávila</a> o <a href="https://es.linkedin.com/in/rcorral" target="_blank">Rodrigo Corral</a>: (simplificando el concepto muchísimo) desarrolla la solución necesaria mínima, e itera sobre esta.</div>
<div>
En cualquier caso, hay que tener siempre presente lo que buscamos solucionar y asegurarnos de hacerlo, sin florituras. El resto, para más adelante.</div>
<h4>
Sin Sponsor ejecutivo</h4>
<div style="text-align: justify;">
Esto es un problema que demasiadas veces se obvia en los proyectos, y luego causa enormes dificultades: ¿quién es la persona (o personas) dentro del cliente que apoya este proyecto y tiene capacidad para hacerlo? Si no la hay sinceramente sería mejor no realizar el proyecto. Porque cuando haga falta buscar aprobaciones, información, respuestas, apoyos, formalizaciones, firmas... si no existe esta figura vamos a tener que perder mucho tiempo (y dependiendo del cliente puede ser mucho-mucho...) y esfuerzo para conseguir algo que debería ser muy simple.</div>
<div style="text-align: justify;">
Esto, que puede parecer trivial, nos va a causar dos problemas mayores:</div>
<div style="text-align: justify;">
<ul>
<li>Si somos estrictos en nuestros requerimientos, va a causar retrasos y más retrasos en el proyecto (que potencialmente podrán encima ser achacados a la tarea del PM...)</li>
<li>Y como PMs tenemos muchas otras tareas en las que dedicar nuestro esfuerzo y nuestro tiempo. Soportar estos temas es más que probable que nos cause una percepción negativa del proyecto.</li>
</ul>
<div>
Por tanto, aunque parece algo trivial este error nos puede causar unos problemas muy graves. Así que lo trivial debería ser determinar esa figura.</div>
<h4>
Tecnología errónea</h4>
<div>
Esto sí que está claro, sin duda :) El elegir una tecnología errónea para una solución nos va a dar muchísimos dolores de cabeza. En ocasiones no es fácil o posible conocer de antemano qué es lo que nos interesa más, por lo que se hace preciso realizar un buen <u>análisis de las soluciones existentes</u> para conocer cómo solucionarían el problema concreto.</div>
<div>
Además, también es muy conveniente tener en mente una visión amplia de <u>hacia dónde queremos</u> que evolucione en el futuro nuestra solución o plataforma, de tal manera que no nos quedemos "atados" a sistemas legacy o con muy poco recorrido a futuro.</div>
<div>
Aquí me permito hacer una pequeña "cuña publicitaria": <a href="http://www.stibosystems.es/solution/step-overview" target="_blank">STEP de Stibo</a> es la mejor solución de MDM del mercado, para ambos puntos ;) </div>
</div>
<div style="text-align: justify;">
<br /></div>
<h4 style="text-align: justify;">
No planificar el cambio organizativo y cultural</h4>
<div style="text-align: justify;">
Esta es una parte que los programadores "de siempre" hace años pensábamos: "ya se adaptará el usuario y si no que aprenda". Y aprendimos a las duras que eso no es así, y que encontrarnos con un grupo de usuarios finales que hecha pestes del proyecto no es bueno, y trae problemas...</div>
<div style="text-align: justify;">
Así que hay que preocuparse de esto debidamente, planificarlo, desarrollarlo, etc. como un subproyecto del proyecto, con su propio PM si es preciso, recursos, tiempos, etc... </div>
<div style="text-align: justify;">
El asegurarnos de que el usuario final entiende y conoce cómo utilizar nuestro desarrollo es una parte esencial si luego queremos lograr ese reconocimiento del resultado. En esto un proyecto es como cualquier otro negocio: si entregas algo mal y sin instrucciones claras lo más posible es que no te valoren "5 estrellas"...</div>
<h4 style="text-align: justify;">
Sin métricas para evaluar el resultado</h4>
<div style="text-align: justify;">
Este es el último de los problemas "genéricos" de cualquier proyecto, el que podemos traducir como "ni sabemos dónde estamos ni dónde queremos llegar". Y es que en muchas ocasiones (demasiadas) los proyectos nacen de una "idea feliz" o impresión sobre que algo es necesario, pero no se sabe muy bien ni por qué ni para qué. Sólo unas <b>métricas adecuadas</b> (y nunca "impresiones") pueden aclarar esto debidamente. Y siempre es posible determinarlas. Todo software proporciona valores o datos que son medibles. Toda actividad de una persona puede representarse de acuerdo a algún parámetro que se puede medir. Por tanto, por complicado que parezca esto, es posible. Y muchas veces nos encontramos con que los proyectos no se miden de ninguna manera más que por el tiempo y el coste de los mismos. ¿Y qué hay del resultado?</div>
<div style="text-align: justify;">
Por eso las métricas son necesarias, para conocer y documentar lo qué se ha hecho y por qué se ha hecho. Y en consecuencia que se reconozca el éxito del proyecto.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Hasta aquí esta entrada, en la próxima me centraré en los errores más "puros MDM". Espero haber aportado un poco sobre este tema, y por supuesto que cualquier comentario, crítica u opinión es más que bienvenida. Entre todos mejoramos :)</div>
<div style="text-align: justify;">
<br /></div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-16379282278521095892015-11-04T09:43:00.000+01:002015-11-04T09:43:09.457+01:00More Hybrid Apps please!<div style="text-align: justify;">
Finally after a couple months' work, I've finished my new Hybrid App for Android, "<b><a href="https://play.google.com/store/apps/details?id=com.sanferminquiz" target="_blank">San Fermin Quiz</a></b>"(perhaps to be published for WindowsPhone and iOS, though the "tax" Apple charges discourages me to publish a free App). As with my previous development, "<b><a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank">CPE Tráfico</a></b>", I used <a href="https://cordova.apache.org/" target="_blank">Apache Cordova</a> (the open source version of <a href="http://phonegap.com/" target="_blank">Adobe Phonegap</a>) for development. This is the third hybrid App that I publish, and I consider it new because it is a complete re-make of the previous version of "<b><a href="https://play.google.com/store/apps/details?id=com.sanferminquiz" target="_blank">San Fermin Quiz</a></b>", though that one too used Cordova/Phonegap plus jQuery Mobile for the front-end. In this case, however, I wanted to work with <a href="http://ionicframework.com/" target="_blank">Ionic Framework</a> (instead of <a href="http://onsen.io/" target="_blank">Onsen-UI</a> that was my framework for "<b><a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank">CPE Tráfico</a></b>"). Both are modern presentation frameworks that use <a href="https://angularjs.org/" target="_blank">AngularJS</a>, Google's MVW framework which I've fallen completely "in love with" after these projects. And if there is just one thing both have taught me is to run away from jQuery like the plague! :D I also learned some more details that I want to talk a bit about on this post, in case it can be of somebody's use.</div>
<br />
<div style="text-align: justify;">
So, let's start saying that IMHO it keeps gettings clearer that Hybrid Apps are the future of Apps. "Clear as water". "Wasting time" nowadays (sorry if anyone thinks I'm wrong) developing with Swift, Java or any other "mono" platform is, at least, unproductive. <b>Cordova</b> / <b>Phonegap</b> offers everything it requires to develop quality applications on any platform, and only requires JavaScript knowledge. On top of that we can add that developing with <b>JavaScript</b> + <b>AngularJS</b> grows one's toolbelt future-proof (as they have become the "de-facto standard" for any development: web server, web client, IoT, ...), so the benefit is multiplied. It is true that there are some cases that may require the development of a truly "native" App: for example, one that must interact with "intents" not covered by Cordova / Phonegap or done for a very specific device; or those in which tight control of code is a must (such as POS Apps). But what could be the percentage of such cases? 5%?... Therefore, it is very difficult to justify the extra effort to develop "native".</div>
<br />
<div style="text-align: justify;">
Regarding the use of Ionic compared <b>Onsen-UI</b>, I have mixed opinions. On the one hand, I liked <b>Onsen-UI</b> initially. Its elegance "out of the box" together with some very good examples of code that could be used straigth away in any App(read "copy & paste") to make its skeleton, were some things I quickly appreciated. When I used this framework to develop "<b><a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank">CPE Tráfico</a></b>" I felt comfortable from the start: I liked what I saw, it integrated with <b>Cordova</b> / <b>Phonegap</b> faultless, it helped me understand the basics of <b>AngularJS</b>... Overall I had few problems. But one thing that I found "difficult": <b>Onsen-UI</b> is a development of the Japanese company <a href="https://monaca.io/" target="_blank">Monaca</a>, and the information available on the web about this platform is scarce: the truth test is to look for the term "onsen-ui" in Stackoverflow.com which returns 1,213 hits, while searching for "ionic" returns 10,970... True, Monaca is trying to solve this with new products (Cloud Monaca, Monaca Debugger, <a href="https://monaca.io/localkit.html" target="_blank">Monaca LocalKit</a> ...) and adding more members to its team to train and support users (for example Fran Dios <a href="https://twitter.com/frandiox" target="_blank">@frandiox</a>). And also if you know how to look around and search for information, everything is solved :)</div>
But when I've used I<b>o</b>nic... that's activity! Among the entries in Stackoverflow, their <a href="http://blog.ionic.io/" target="_blank">blog</a> and products (<a href="http://lab.ionic.io/" target="_blank">Ionic Lab</a>, <a href="https://market.ionic.io/" target="_blank">Ionic Market</a>, ...) and some of the authors who are writing articles about it (<a href="http://www.raymondcamden.com/" target="_blank">Raymond Camden</a>, <a href="http://coenraets.org/blog/" target="_blank">Christophe Coenraets</a>, <a href="http://gonehybrid.com/" target="_blank">Ashteya Biharisingh</a>, <a href="http://devdactic.com/" target="_blank">Simon Reimler</a> ... and many more) it is not uncommon to find information and direct solutions to any problem. Truth is there is no comparison in on this point (well, at least for now). Another difference is the way to develop a project. Ionic installs on your development machine a handy CLI which allows immediately running the development App in your own local web server, whilst monitors the code and automatically updates itself when code is changed. You can also compile the app (although I prefer to do this on my own with <b><a href="https://build.phonegap.com/" target="_blank">Phonegap Build</a></b>) and deploy it on an emulator or on a physical device connected to the machine. A very good way to accelerate development times and simplify testing (Monaca has created something similar for Onsen-UI, <a href="https://monaca.io/localkit.html" target="_blank">Monaca LocalKit</a>, but I could not test it). And something more "invisible" but ultimately helpful: Ionic CLI creates a structure of files and folders to start our project in an organized manner. With Onsen-UI this is done manually thus there can be differences between projects that can negatively impact development ("Where is the library I created for ..."). This is in Ionic side becomes clearer (though one can screw things up if wants to, of course). Something I don't like about Ionic? Well, his OOTB visual style is ugly, very weak compared with Onsen-UI where everything is more visually pleasing (plus Onsen-UI lets you use <a href="http://fortawesome.github.io/Font-Awesome/icons/" target="_blank">Font-Awesome</a> icons besides <a href="http://ionicons.com/" target="_blank">Ionicons</a> for your project, though this can also be achieved in Ionic with some effort). But apparently this is part of the business strategy of Ionic, as they have recently launched Ionic Market where you can buy themes, plugins and packages for your Ionic starter applications. Luckily I found <a href="http://ionicmaterial.com/" target="_blank">Ionic Material</a> which is a free and simple way to implement Material Design on my Apps.<br />
<br />
Ultimately both are very good frameworks, but <b>Ionic</b> today is much more accessible. Will this be like VHS and Beta? Who knows, maybe. I could not make a more thorough comparison that would be more appropriate to opt for one or the other (hey, I am a "one-man-shop" Apps developer using my spare-time!:) ): functionality, performance (this would be <u>especially important to know about</u>, so if anyone has information about this: please share!), supported platforms and versions, tests on real devices, update frequency, error resolution, future planning...<br />
<br />
Maybe / certainly the next projects I have in mind will help me learn more: an app for Market Research, another app for Camera fans... Hybrid rules!Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-47808625720576422552015-11-03T12:02:00.000+01:002015-11-04T09:17:21.975+01:00Más Hybrid Apps!<div style="text-align: justify;">
Por fin tras un par de meses de trabajo, he terminado mi nueva App híbrida para Android,<b> <a href="https://play.google.com/store/apps/details?id=com.sanferminquiz" target="_blank">San Fermín Quiz</a></b> (quizá la publique en WindowsPhone y iOS, aunque el "sablazo" de Apple me molesta mucho pagarlo para una App free). Como en el caso de mi desarrollo anterior, <b><a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank">CPE Tráfico</a></b>, he usado <a href="https://cordova.apache.org/" target="_blank">Apache Cordova</a> (la versión open source de <a href="http://phonegap.com/" target="_blank">Adobe Phonegap</a>) para su desarrollo. Se trata de la tercera App híbrida que publico, y la considero nueva ya que es un completo re-make de la versión anterior de San Fermín Quiz, que aunque también estaba basada en Cordova/Phonegap empleaba jQuery Mobile para el front-end. En este caso sin embargo quería trabajar con <a href="http://ionicframework.com/" target="_blank">Ionic Framework</a> (en vez de <a href="http://onsen.io/" target="_blank">Onsen-UI</a> que fue mi elección para <a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank"><b>CPE Tráfico</b></a>). En ambos casos se trata de frameworks de presentación modernos que hacen uso de <a href="https://angularjs.org/" target="_blank">AngularJS</a>, el framework MVW de Google del cual me he enamorado completamente tras estos proyectos. Y si algo me han enseñado ambos es a ¡huir de jQuery como de la peste! :D También he aprendido algunos detalles más que quiero comentar un poco en este post, por si es útil.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En primer lugar destacar que cada vez tengo más claro que (en mi opinión) las Apps Híbridas son el futuro de las Apps. Claro como el agua. Hoy en día "perder el tiempo" (perdón si alguien piensa que me equivoco) desarrollando con Swift, Java o cualquier otra plataforma "monocolor" es, como poco, improductivo. <b>Cordova/Phonegap</b> ofrece todo lo que se necesita para desarrollar aplicaciones de calidad y multiplataforma, y sólo requiere conocer JavaScript. Si a eso añadimos que al desarrollar con JavaScript+AngularJS estamos haciendo crecer nuestro abanico de herramientas de futuro (ya que es un "estándar" practicamente para cualquier desarrollo actual: web server, web client, IoT,...) el beneficio se multiplica.</div>
<div style="text-align: justify;">
Es cierto que sí hay algunos casos en los que pueda requerirse un desarrollo de App "nativas": por ejemplo las que deben interactuar con "intents" no cubiertas por Cordova/Phonegap o muy específicas de dispositivo; o aquellas en las que se quiera tener un control férreo del código (como TPVs o algunas Apps de empresa). Pero si pensamos que estos casos representarán como un ¿5%? del total de proyectos de Apps, resulta muy complicado justificar el esfuerzo extra de desarrollar "nativo".</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Respecto al uso de <b>Ionic</b> comparado con <b>Onsen-UI</b>, tengo opiniones encontradas. Por un lado, Onsen-UI me gustó mucho inicialmente. Su elegancia "out of the box" unido a unos ejemplos de código en su página muy utilizables (léase "copy & paste") para hacer un esqueleto de App en poco tiempo fueron de agradecer. Cuando utilicé este framework para desarrollar <a href="https://play.google.com/store/apps/details?id=com.logitical.cpetrafico" target="_blank"><b>CPE Tráfico</b></a> me resultó cómodo desde el principio: me gustaba lo que veía, se integraba con Cordova/Phonegap sin fallos, me ayudaba a entender lo básico de AngularJS,... En general tuve pocos problemas. Pero una cosa sí que me resultó algo difícil... <b>Onsen-UI</b> es el desarrollo de la empresa japonesa <a href="https://monaca.io/" target="_blank">Monaca</a>, y la información disponible en la web sobre esta plataforma es escasa: la prueba del algodón es buscar el término "onsen-ui" en Stackoverflow.com que devuelve 1.213 resultados, mientras que buscar "ionic" devuelve 10.970... Es cierto que Monaca está intentando solucionar esto, con nuevos productos (Monaca Cloud, Monaca Debugger, Monaca LocalKit...) y añadiendo más miembros a su equipo para divulgar y dar soporte a los usuarios (por ejemplo Fran Dios <a href="https://twitter.com/frandiox" target="_blank">@frandiox</a>), y que sabiendo buscar y programar un poco todo se soluciona :)</div>
<div style="text-align: justify;">
Pero cuando he usado <b>Ionic</b>... ¡menuda actividad! Entre las entradas en Stackoverflow, su <a href="http://blog.ionic.io/" target="_blank">blog</a> y productos (<a href="http://lab.ionic.io/" target="_blank">Ionic Lab</a>, <a href="https://market.ionic.io/" target="_blank">Ionic Market</a>,... ) y algunos de los autores que tienen escribiendo artículos para ellos (<a href="http://www.raymondcamden.com/" target="_blank">Raymond Camden</a>, <a href="http://coenraets.org/blog/" target="_blank">Cristophe Coenraets</a>, <a href="http://gonehybrid.com/" target="_blank">Ashteya Biharisingh</a>, <a href="http://devdactic.com/" target="_blank">Simon Reimler</a>... y muchos más) lo raro es no encontrar información y soluciones a cualquier problema. La verdad es que en esto no hay comparación (por ahora). Otras cosas distintas son la manera de desarrollar el proyecto. <b>Ionic </b>instala en la máquina de desarrollo un CLI muy útil, con el que ejecutar de manera inmediata en tu propio servidor web local la aplicación que estemos desarrollando, y que además monitoriza el código y se actualiza automáticamente cuando hay cambios. También puede compilar la App (aunque yo esto lo prefiero hacer por mi cuenta con <b><a href="https://build.phonegap.com/" target="_blank">Phonegap Build</a></b>) y desplegarla en un emulador o en un dispositivo conectado a la máquina. Una manera muy buena de agilizar nuestros tiempos de desarrollo y simplificar las pruebas. (Monaca tiene algo parecido para Onsen-UI, <a href="https://monaca.io/localkit.html" target="_blank">Monaca LocalKit</a>, pero no he podido probarlo). Y algo más "invisible" pero que a la larga ayuda: Ionic crea una estructura de archivos y carpetas para comenzar nuestros desarrollos de manera organizada. Esto con Onsen-UI se realiza de manera "manual" con lo que podemos tener más diferencias entre un proyecto y otro que pueden complicar el desarrollo ("¿dónde está aquella librería que creé para...?") mientras que en Ionic la cosa está más clara. ¿Algo que no me guste de Ionic? Bueno, su estilo visual ootb es malo, muy flojo comparado con Onsen-UI donde todo resulta más agradable visualmente ( y Onsen-UI permite usar iconos de <b><a href="http://fortawesome.github.io/Font-Awesome/icons/" target="_blank">Font-Awesome</a></b> también, además de los de <b><a href="http://ionicons.com/" target="_blank">Ionicons</a></b>, aunque esto también se puede conseguir en Ionic con algo de esfuerzo). Pero según parece esto es parte de la estrategia comercial de Ionic, ya que recientemente han lanzado Ionic Market donde se pueden comprar temas, plugins y paquetes starter para nuestras aplicaciones Ionic. Por suerte yo encontré <a href="http://ionicmaterial.com/" target="_blank">Ionic Material </a>que es una manera gratis y simple de implementar Material Design.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
En definitiva cosas buenas en ambos frameworks, pero puestos a elegir <b>Ionic </b>tiene a día de hoy mucha más información accesible. ¿Será esto como VHS y Beta? Quién sabe, puede que sí. No he podido hacer una comparativa más exhaustiva "al uso" que sería lo adecuado para poder decantarse por una u otra: funcionalidades, rendimientos (esto sobre todo sería <u>importante conocer</u>, si alguien tiene información al respecto por favor que la comparta), plataformas soportadas y versiones, tests en dispositivos reales, frecuencia de actualización y de resolución de errores, plan de futuro... Al fin y al cabo, soy un "one-man-shop" desarrollando Apps en part-time!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Quizá/seguro que con los siguientes proyectos que tengo en mente aprenda mucho más: algo para Estudio de Mercado que en el Marketing se invierte mucho, algo para los aficionados a las Cámaras,... Hybrid rules!</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-89826904688776738632015-04-07T10:31:00.000+02:002015-04-07T10:31:06.767+02:00Review of "Rapid Flask", by Gareth Dwyer from Packt Publishing<div style="text-align: justify;">
After having tried Python's most well-known framework (yep, that's Django), I wanted to try and see the difference between that and one of the tiniest and newest contenders in town, Flask. So, to know about it I watched "<a href="http://bit.ly/1yBhseM" target="_blank">Rapid Flask</a>" (<a class="yiv1085749607moz-txt-link-freetext" href="http://bit.ly/1yBhseM" id="yui_3_16_0_1_1428263410764_29650" rel="nofollow" shape="rect" style="background: rgb(255, 255, 255); color: #196ad4; font-family: 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; margin: 0px; outline: none; padding: 0px;" target="_blank">http://bit.ly/1yBhseM</a>) video from Packt which is a very good introduction to this framework. About 42 mins of video showing the use of Flask to develop a simple yet fully usable "Weather web site", that shows how simple it is to create a Web app in Python with it. Some of the Flask features covered are Jinja templates usage (the "AngularJS-like" HTML template that Flask provides), use of cookies for session-based access, and GET and POST routing. Some pointers too are given about database support, user session management and security. Personally I would have liked to have some samples about these features, to be able to implement a more complete/complex web app with Flask, something more like what can be done with Django. But this is a "Rapid" video training, which helps getting to learn Flask, so the pros outweigh the cons. </div>
<br />
All in all, a set of videos in clear english that can be watched in a single afternoon whilst learning how to start with Flask nicely. <b>4 out of 5 for me</b>.Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com031621 Sarriguren, Navarra, España42.812778 -1.597499999999968242.811322000000004 -1.6000214999999682 42.814234 -1.5949784999999681tag:blogger.com,1999:blog-7011359378493428967.post-88419574280505563402013-11-18T00:09:00.001+01:002013-11-18T00:09:44.855+01:00Review of "CSS Fonts", by Eric A. Meyer from O'Reilly Media<div style="text-align: justify;">
It's been a while since my last review, having changed jobs recently I've had to move away from front-end development and back to the "dark-side" of O.S., DBs and backend applications. However, a book like "<a href="http://shop.oreilly.com/product/0636920030836.do" target="_blank"><b>CSS Fonts</b></a>" is a very easy and short read.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjupBttxWBjTdCF2pFxGMUr87b6E67wRlBFhhVsGG5ZXLebPw6SljINvJQ_ohPYN34UEUfR0DCkIEkpNTDeDL-88aY_VhyY1bc4SrTelA_8ilFDDDMeK_9jzJSO6nMgh1RLYvDs4dIO6SQ/s1600/thumb.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjupBttxWBjTdCF2pFxGMUr87b6E67wRlBFhhVsGG5ZXLebPw6SljINvJQ_ohPYN34UEUfR0DCkIEkpNTDeDL-88aY_VhyY1bc4SrTelA_8ilFDDDMeK_9jzJSO6nMgh1RLYvDs4dIO6SQ/s1600/thumb.gif" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
If you are ever considering the use of CSS Fonts in any project (web, mobile...) this little one of 58 pages is a must. You will find no black magic here, but a great primer on how and where to add some CSS code and "hey presto!" have a much nicer looking web page. All using standards, everything from Font families, faces, weight, styles, etc. It even covers font matching, a rather unfrequent technique used to guarantee the most similar UI font experience on any user agent.</div>
<div style="text-align: justify;">
The book is full of little code bits that serve as good base for your own CSS stuff. I missed a more complete example, kind of a "walk through" sample showing what can be achieved with the use of CSS fonts (well, one can always revert to Google for that I guess). This makes this book more a quick-guide style than anything else.</div>
<div style="text-align: justify;">
Not much more to say, it's a short one you can read in a relaxed afternoon and since the book is all-standard, you will sure make use of some of it's contents sooner rather than later.</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-49964984872980792322013-04-21T23:45:00.001+02:002013-04-21T23:45:22.336+02:00100, 150... y contando!<div style="text-align: justify;">
Cuando publiqué la App que mencionaba en <a href="http://zalakain2010.blogspot.com.es/2013/03/en-marcha.html" rel="nofollow" target="_blank">mi anterior post</a> (y que algunos habéis tenido la amabilidad de descargar y probar ¡muchas gracias!), pensé que sería interesante hacer otra entrada en mi blog cuando llegara a las 100 descargas activas (bueno, si llegaba...) comentando la experiencia que supone. No pretendo con ello decir que conozco la "fórmula del éxito" con esto ni mucho menos, sólo quiero anotar lo aprendido con la experiencia y si a alguien le sirve de algo, fenomenal!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Antes de seguir adelante, me voy a permitir "hinchar un poco el pecho" porque a día de hoy las estadísticas hasta ayer (Google siempre te da las estadísticas "a día de ayer") dicen que hay 158 instalaciones activas de la App, sobre un total de 214 instalaciones. Si bien toda estadística puede leerse de dos maneras, y la mala me dice que tengo un 25% de usuarios que no han encontrado lo suficientemente interesante la aplicación como para mantenerla en sus dispositivos, creo que me quedaré con la buena, la que me dice que 157 personas además de mí tienen la aplicación instalada. Para ser una App tan específica y creada con una herramienta tan básica como <a href="http://appinventor.mit.edu/" target="_blank">AppInventor</a>, ¡creo que no está nada mal!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Y ahora que ya me he permitido meter mi cuñita, empiezo con lo aprendido:</div>
<div style="text-align: justify;">
</div>
<ul>
<li style="text-align: justify;">Lo primero de todo es que <b>se empieza "fuerte"</b>, no sólo en el ánimo, sino también en las descargas. En cuanto al ánimo me refiero a lo contento que se queda uno cuando empieza a ver que la gente se descarga tu aplicación, los primeros comentarios, las primeras valoraciones... La verdad es que da cierto "gustito" ver que realmente algo que has hecho como una especie de hobby, a ratos, para probar... resulta ser útil para algunas personas y que encima probablemente son más de las que te esperabas. Lo cierto es que <b>eso es Internet</b>: mucho más de lo que parece y <u>un canal de comunicación enorme y disponible</u> para todos. Esto te da mucha idea de hasta dónde realmente se puede llegar con esfuerzo (<i>con esto quiero decir que ya hay un montón de ideas más en esta cabeza...</i>).</li>
<li style="text-align: justify;">La "<b>fuerza en las descargas</b>" es algo que ya está estudiado por mucha gente, y a fondo: el modelo típico empieza con una gráfica ascendente más o menos empinada, que dura no mucho tiempo, y a partir de ahí se llega a una "zona plana" donde se estabiliza la cosa: bien un poco hacia arriba si la App es buena y merece la pena "vivir", bien un poco hacia abajo si los usuarios poco a poco la van desinstalando con lo cual acabará "muriendo". En el caso concreto de "<a href="https://play.google.com/store/apps/details?id=appinventor.ai_raflyo.CPArt384&feature=search_result#?t=W251bGwsMSwyLDEsImFwcGludmVudG9yLmFpX3JhZmx5by5DUEFydDM4NCJd" target="_blank">Código Penal Artículo 384</a>" todavía parece que no he alcanzado ese plano, sigue teniendo una cierta tendencia incremental, pero muy suave (es decir, lentamente). Esto es algo que ya me esperaba, por tanto aunque los resultados eran buenos lo importante es que realmente <b>cumplían mis expectativas</b>. Ya dije en mi anterior post que esta App no es ninguna revolución, pero eso no quita para que me fijara un objetivo realizable de descargas (100), que es el que me interesaba ver cómo se cumplía. Con esto quiero decir que aunque siempre haya "hechos esperables" (cosas que pasarán sí o sí, tal y como muchos eruditos han estudiado y demostrado) lo importante es a<b>prender sobre cómo suceden, si hay o no desviaciones, por qué se dan, si son corregibles/mejorables/deseables, etc.</b> Como digo para mí todo este proceso de publicar una App es un proyecto de aprendizaje, por lo que ya sólo por esto estoy muy contento.</li>
<li style="text-align: justify;">Al hilo de todo esto, hay que decir que <b>la promoción bien hecha de la App siempre ayuda</b>. Personalmente no he realizado una promoción activa de la App más allá de este blog y los enlaces que se generaron automáticamente en Twitter y Facebook cuando publiqué la entrada anterior (¿he dicho ya que no creo que sea una "killer-App"? :) ), pero me consta que el amigo que me pidió que la desarrollara sí que se ha tomado la molestia de publicar comentarios en foros que él visita, decírselo a más conocidos, etc. y de hecho en ocasiones podemos asociar los incrementos en las instalaciones a hechos concretos donde él ha promocionado la App. Lo cierto es que <b>desarrollar una estrategia de promoción de la App</b> puede ser no sólo interesante sino también necesario para lograr una buena cantidad de instalaciones. De hecho, ya existen en Internet cursos on line para aprender a desarrollar estas estrategias (por ejemplo <a href="https://www.udemy.com/mobile-app-marketing/" target="_blank">este de Udemy</a>), así que para determinadas Apps yo contemplaría esto <b>como una parte del proyecto</b> de desarrollo de las mismas.</li>
<li style="text-align: justify;">En cuanto a temas más concretos, el hecho de tratarse de una App "de nicho" (para un conjunto muy específico de usuarios) tiene sus ventajas e inconvenientes. Por el lado de las <u>desventajas</u>: poca base de usuarios (si nos referimos al total de usuarios de smartphones, por ejemplo); temática de interés muy determinado; que estos usuarios no nos conozcan como un "desarrollador autorizado" (por así decirlo) al que merezca la pena considerar... Pero también tiene sus <u>ventajas</u>: si la App funciona bien, el "boca a boca" es más sencillo y efectivo; la posibilidad de detectar nuevas necesidades en este nicho que podamos satisfacer facilmente con otra App (esta podría ser de pago...); que pueda ser un sector "poco explotado"por otros desarrolladores donde poder crecer facilmente, etc... En definitiva: <b>trabajar con un nicho</b> tiene ventajas e inconvenientes,<b> como todo</b>. Es cuestión de cada uno querer ver la botella medio llena o medio vacía (yo ya sabéis cuál me quedo!).</li>
<li style="text-align: justify;">Como esta App surgió como una "prueba de concepto" para un nicho concreto, me permití el lujo de utilizar <b><a href="http://appinventor.mit.edu/" target="_blank">AppInventor</a></b> para su desarrollo. Esta herramienta originalmente la desarrolló <a href="https://developers.google.com/" rel="" target="_blank">Google</a> pero hace un tiempo se la cedió al <a href="http://www.mit.edu/" rel="" target="_blank">MIT</a> (que es quien la mantiene actualmente), y es un ejemplo de cómo se puede construir software a base de bloques tipo puzzle. Por una parte AppInventor me ha resultado demasiado simple y en ocasiones poco estable para lo que yo quería realizar. Sin embargo, es cierto que lo que empecé diciendo que iba a hacer y lo que he acabado desarrollando es bastante diferente. Por tanto no diré que la herramienta es mala, sino que <i>no la he usado para lo que está diseñada</i>. Aún así, creo que la App resultante es bastante presentable y que con un poco de imaginación los problemas de AppInventor o sus limitaciones pueden ser solucionados. Además, tiene una ventaja adicional: ¡no hay <b>ni un sólo fallo o "error no recuperable" registrado</b> en la App! Y eso, dado el número de usuarios, es algo que está muy bien y debo agradecer a haber utilizado AppInventor. Eso sí, para todo lo demás... usaré algo más potente.</li>
<li style="text-align: justify;">En cuanto a cosas que tengo pendientes, la principal (que espero cubrir en breve para sacar la versión 1.1) es proporcionar a los usuarios un mecanismo válido de soporte, a través de una página o portal Web. Esto, aunque tal y como he dicho antes la aplicación no presenta actualmente errores y pueda parecer innecesario, es muy importante no sólo desde el punto de vista del soporte en sí, sino de conocer a nuestros usuarios y poder interactuar con ellos: desde plantear cuestiones a través de la web a los que accedan a la misma para decidir qué nuevas características añadir a la App o qué nuevas App crear, a obtener datos analíticos de valor mediante herramientas como <a href="http://www.google.com/analytics/" target="_blank">Google Analytic</a>s, <a href="http://www.crazyegg.com/" target="_blank">CrazyEgg</a>, etc. El motivo es muy simple: <b>los datos siempre nos aportan valor y por tanto debemos registrarlos y, por supuesto, analizarlos. </b>No hacerlo es un lujo que no nos podemos permitir en un mercado como Internet y las Apps.</li>
<li style="text-align: justify;">Está claro que esto implica que también debemos esforzarnos en tener una web como Dios manda, con todo el trabajo que eso implica, lo cual puede parecer que nos aleja de nuestro objetivo inicial que era simplemente "hacer Apps"... Pero es que lo uno no puede ser sin lo otro, sería como dedicarse a hacer procesadores sin que tengan un ordenador donde funcionar... </li>
<li style="text-align: justify;">Por último, y esto lo añado tras las últimas lecturas que he hecho, está claro que dentro de las Apps también hay clases, y no me refiero al tema de cada una sino a su modelo de "negocio" (si lo tienen): una App gratuita probablemente tenga poco que ver con una App de pago, y tampoco con una "freemium" (las que son gratuitas pero que te ofrecen comprar algo en cuanto quieres avanzar; un ejemplo muy claro son la gran mayoría de Apps de juego actuales). Sin embargo creo que todos los pasos que se aprenden lanzando un App gratuita sí que son comunes en todos los demás casos.</li>
</ul>
Así que ahora tendré que plantearme conocer alguno de esos otros modelos de App...<br />
<br />
<div style="text-align: justify;">
Seguramente me habré dejado algo por comentar, así que si cualquiera de los lectores de este post quiere añadir algo más, ¡bienvenido será!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-51823732745675872212013-03-30T01:04:00.000+01:002013-03-30T01:04:29.235+01:00En marcha!<div dir="ltr" style="text-align: justify;">
Finalmente hoy he publicado <b><i>mi primera App para Android</i></b> en el market de Google, está disponible <a href="https://play.google.com/store/apps/details?id=appinventor.ai_raflyo.CPArt384&feature=search_result#?t=W251bGwsMSwxLDEsImFwcGludmVudG9yLmFpX3JhZmx5by5DUEFydDM4NCJd" target="_blank">aquí</a>.</div>
<div dir="ltr" style="text-align: justify;">
La verdad es que me ha gustado hacerlo, me ha recordado buenas (y algo viejas ya) sensaciones, cuando creaba programas que servían para algo... Lo cierto, y lo que es mejor, es que he aprendido unas cuantas cosas en este "viaje", por lo que las anoto en este Blog para que no se me olviden.</div>
<div dir="ltr" style="text-align: justify;">
Lo que comenzó siendo una POC (proof of concept) sencillita para un amigo, acabó cogiendo más cuerpo y complicándose según se me iban ocurriendo muchas mejoras para la idea inicial. Al final tuve que tomar una decisión y "parar de añadir mejoras" a algo que todavía no "existía" como tal. Ese es un fallo típico de los proyectos informáticos, que se debe que evitar: <b>no definir claramente dónde parar</b>. Es decir, qué tiene que tener el producto para que se "entregable" al menos en la versión actual. Y todo lo demás deberá ir en las siguientes versiones. O no hacerse, si el primer producto demuestra no ser bueno y no se sigue iterando en él. Esto sigue la línea básica de las Metodologías Ágiles: iterar, iterar, iterar... Eso sí, si uno es creativo lo mejor es tener a mano una buena pizarra blanca para anotar todas las ideas/mejoras que se le van ocurriendo, y puntuarlas por interés o necesidad, para determinar en qué orden acometerlas.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Total, que en vez de hacer caso a mi amigo <a href="http://www.linkedin.com/in/lopezdeavila" target="_blank">Mario López de Ávila</a> y seguir su muy sabio consejo de crear siempre primero el producto <b>MVP (Minimum Viable Product)</b>, alargué este desarrollo de una idea simple a un producto más completo. Bueno, el resultado desde luego ahora es muy útil, eso creo. Esa para mí es una de las premisas que debe cumplirse siempre: <b>todo producto informático debe ser siempre útil. </b>Será más o menos bonito, rápido, ligero, perfecto... pero siempre debe ser útil. Es decir: si nadie lo usaría para nada... ¿para qué usarlo? Para hacer porquería ya está la televisión... :D</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Donde sí decidí aplicar la idea del MVP (tras darme cuenta de que había errado al no usarla en la App) fue en los "productos laterales": todo aquello que uno considera que tiene que tener, pero que no es "el producto" en sí. En mi caso era la necesidad de tener una presencia web, que creo que hoy en día es indispensable. Al principio me lié, quería montar una web guapa, con una plataforma de comunicación 2.0, enlazada con todo, rollo CMS, multilenguaje (hay que vender a todo el mundo, con lo cual inglés sí o sí)... Me lié a montar una en inglés con Drupal, otra en castellano con Joomla, una en Wordpress para aprenderlo también... Hasta que me di cuenta de que todo eso, para la App, eran "productos laterales" y sólo me ralentizaban. Así que, <b>técnica de MVP para los "productos laterales"</b>: una web simple "uni-página" donde poner un email para contactos y consultas y punto. Eso sí, con el código de Google Analytics: los datos valen mucho siempre!!</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Así que nada, la aventurilla está en marcha. Vamos a ver qué tal van las cosas estos días, y a ver qué más aprendo ahora!</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com2tag:blogger.com,1999:blog-7011359378493428967.post-79338495544861148112012-10-25T10:19:00.000+02:002012-10-25T10:19:38.092+02:00Review of O'Reilly's "Drupal for Designers", by Dani Nordin<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOhvkQ4g6prKXdBeeOoq2GXeWi3vftriRX7nniBqX4cVMbZu3agq_DthEDc6iDAHIygZ13CHZVhRyc71BRtCm7ddnVjsHiSMahnd6wVlAoCJI-b7XktC4AexT-jP8E9VTwQOu3nDCaYXM/s1600/Drupal+for+Designers.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOhvkQ4g6prKXdBeeOoq2GXeWi3vftriRX7nniBqX4cVMbZu3agq_DthEDc6iDAHIygZ13CHZVhRyc71BRtCm7ddnVjsHiSMahnd6wVlAoCJI-b7XktC4AexT-jP8E9VTwQOu3nDCaYXM/s1600/Drupal+for+Designers.gif" /></a><br />
<div style="text-align: justify;">
This time I'm into <a href="http://drupal.org/" rel="nofollow" target="_blank">Drupal</a>, the opensource CMS of choice. Based on the usual xAMP stack (that means, anyOS capable of running Apache, MySQL and PHP would do), it's a very powerful web system that runs on some of the most viewed sites on the Web (<a href="http://www.economist.com/" rel="nofollow" target="_blank">The Economist</a>, the <a href="http://www.whitehouse.gov/" rel="nofollow" target="_blank">White House</a>... there're plenty of web examples <a href="http://drupal.org/case-studies" rel="nofollow" target="_blank">here</a>). However, getting to that maturity level takes some time and effort, and that's where Dani Nordin's book fits in.</div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNyOWFE9npi4QqEol2YYh0HbJ-ZwEdc1tlHpbEuqqjdnhWeZ0NR0B3P_4jfybPWdqYszvC7rpeD4bPB26P0URCixiJNz4TyxutfbiqD-L4jSG0g1fDDSmbjmGQePWVm3HSqLIqhkvRbcI/s1600/dani_nordin.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNyOWFE9npi4QqEol2YYh0HbJ-ZwEdc1tlHpbEuqqjdnhWeZ0NR0B3P_4jfybPWdqYszvC7rpeD4bPB26P0URCixiJNz4TyxutfbiqD-L4jSG0g1fDDSmbjmGQePWVm3HSqLIqhkvRbcI/s1600/dani_nordin.jpg" /></a><br />
<div style="text-align: justify;">
Dani is a Drupal Designer (all capitals) working as a freelancer and her own business called <a href="http://tzk-design.com/" target="_blank">the zen kitchen</a> who has a lot of experience (and very valuable contacts) in the Drupal world. That's where she has taken the stuff to write this book as well as three more (published by O'Reilly, <a href="http://www.oreillynet.com/pub/au/4776" target="_blank">here</a>). Doing so guarantees all the things see wrote in the book are accurate and (most of them) to the point.</div>
<br />
<div style="text-align: justify;">
The book covers Drupal 7, but some of the chapters can be applied to Drupal 6 if you are into the old version. I've found it a very enjoyable reading, I like Dani's writing since it seems personal and "real, not talking about things that seem "too niche". This might be just because we are talking here about a system that anyone can set up in their own desktop or laptop, even virtualized (there are many VMs around free to download to play with, for example: <a href="http://drupal.org/project/quickstart" target="_blank">Quickstart</a> or <a href="http://bitnami.org/es/stack/drupal" target="_blank">BitNami</a>) or then download a proper DAMP (<a href="https://network.acquia.com/downloads/7.x" target="_blank">Acquia</a>'s or others) to avoid the virtualization blues. Dani covers the setup process with great detail on the book, anyway.</div>
<div style="text-align: justify;">
On to the book then. I've found it very interesting, covering subjects that the reader will need to know about one moment or another. It is however a bit of a "mixed bag" of things, ranging from plain Drupal installation and setup tasks all the way through Project Proposal's recommendations. As such, it is a book I think I will keep close as reference since Dani's clear language helps understanding many different project's tasks. I missed a bit a complete step by step Drupal project description, however. Dani touches some tasks of a couple different projects in the book, but none of them are fully reviewed (I mean, from the Content Type definition steps all the way up to the first steps of data loading). However, here and there the book offers most of the process' steps any designer (plus developer? solo team?) must perform to create a nice Drupal site:</div>
<div style="text-align: justify;">
</div>
<ul>
<li>There are chapters (with doc samples, thanks a lot Dani!) covering Project Proposals and "how to deal with customers" recommendations (chapters 20 and 21)</li>
<li>Also, some deal with the Discovery Phase (2) with a practical chapter (4)</li>
<li>Others with the User Experience and Wireframing design phase (imho 3 and 5)</li>
<li>Then jumps into the tools needed or recommended for a Drupal development environment (8)</li>
<li>Drupal-only tool Drush (chapter 9). But also Drush Make and installation profiles are covered on chapter 19</li>
<li>Git (chapter 10), covered with enough detail</li>
<li>Some chapters cover the layout and themes (6 and 16). A practice on Layout design using Fireworks is provided too (chapter 7).</li>
<li>There is a practical chapter dedicated to propotyping in Drupal (12) that talks on Content and Content Types.</li>
<li>Into development duties, Modules (13) and Views (chapters 14 and 15)</li>
<li>CSS and the Less tool are covered with detail on chapter 17. Dani recommends the use of Responsive Design, so <a href="http://drupal.org/project/omega" target="_blank">Omega theme</a> lovers will be at ease here (I do!).</li>
<li>One chapter deals with setting up all the Drupal environment, but mix with with setting up some Modules with Drush (chapter 12). I would have divided this into two: one before chapter 8 and another after chapter 13. I think it would have been clearer.</li>
<li>There is also a chapter that deals with Features (chapter 18), I understand Dani's idea was to link it with chapter's 19 Installation profiles as the path to follow when migrating Drupal environments from Development to Test and finally into Production servers.</li>
<li>Finally, the last chapters talks about Retrospectives and their value (22)</li>
</ul>
<br />
<div style="text-align: justify;">
That's a lot! Concepts such as Agile, Retrospective, Responsive Design, version control... tools like Drush, Less, Git... all "flavoured" with Drupal. Yummy! :D Furthermore, Dani adds here and there some "interviews" with colleagues from the Drupal community with varied topics, related to the chapter where they are inserted. Some of them provide some value, others are just informational. It's a nice personal touch that she adds to the book anyway, and somehow makes the read more enjoyable.</div>
<div style="text-align: justify;">
As said, I've learned a lot with this book (and not just with it but also with the "informational pointers" provided, such as the norwegian folks from <a href="http://nodeone.se/en" rel="nofollow" target="_blank"><b>NodeOne</b></a> which I strongly recommend you to know about if you are into Drupal), and though sometimes I've felt a bit like "missing the path" I recommend its read to those who feel like they know about Drupal but want to become real experts on it.</div>
<div style="text-align: justify;">
Finally, reviewing the TOCs of the other Dani's books seems like those cover some of the themes that this one does in deeper detail, maybe that's just what I need now:</div>
<div style="text-align: justify;">
</div>
<ul>
<li><a href="http://shop.oreilly.com/product/0636920020264.do" rel="nofollow" target="_blank">Planning and Managing Drupal projects</a>: Discovery, planning, proposals,...</li>
<li><a href="http://shop.oreilly.com/product/0636920020295.do" rel="nofollow" target="_blank">Design and Prototyping for Drupal</a>: Theming, Layout...</li>
<li><a href="http://shop.oreilly.com/product/0636920020301.do" rel="nofollow" target="_blank">Drupal Development Tricks for Designers</a>: Drush, Git... </li>
</ul>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Calle de las Bárdenas Reales, 31486 Egüés, Comunidad Foral de Navarra, España42.810388368114388 -1.597566604614257842.804564368114391 -1.6074371046142577 42.816212368114385 -1.5876961046142579tag:blogger.com,1999:blog-7011359378493428967.post-46373634001178324522012-09-12T13:35:00.001+02:002012-09-12T13:35:52.564+02:00Review of O'Reilly's "Civic Apps Competition Handbook"<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnMWIMQd4rWgvnSXYH1DNc27PMrAa0DBpD66iWd0qojgI7EHhMg__rmf9naxm3VT9LGH1ev9M0eQf5Wm3nCgv5wtzVMa0x7TSd6VdOuBpB4ZNtmI3lE0Ipz_MGhDI8GJFicMd_HaAi4A/s1600/cat.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnMWIMQd4rWgvnSXYH1DNc27PMrAa0DBpD66iWd0qojgI7EHhMg__rmf9naxm3VT9LGH1ev9M0eQf5Wm3nCgv5wtzVMa0x7TSd6VdOuBpB4ZNtmI3lE0Ipz_MGhDI8GJFicMd_HaAi4A/s1600/cat.gif" /></a></div>
<div style="text-align: justify;">
I decided to read this short (77 pages) handbook just for the simple reason that I am interested in Open Government/Data and Apps, so the mix always rings a bell.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The handbook is a concise read written by <a href="http://www.eylerwerve.com/kate/" target="_blank">Kate Eyler-Werve</a> and <a href="http://www.linkedin.com/pub/virginia-carlson/8/462/a0b" target="_blank">Virginia Carlson</a> based on their experiences running the Apps for Metro Chicago contest.</div>
<div style="text-align: justify;">
Filled with advices and, best of all, common sense judgements (do you really need a huge budget to run a valuable contest? where does the real value of the contest reside?) that can be taken home. All it takes to read it is just more than an afternoon, but the way it is organized (7 chapters, starting on the ROI elements of a CAC contest and finishing on how to build on top of any contest's outcome) is so logical that all the main aspects that must be known in order to run a CAC contest (or any software-related contest, to be honest) are covered.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<b>A read I recommend if you are into CAC or want to push on the use of Open Government in your community.</b> (Just don't expect to find a plethora of ideas for your next killer-app, though! ;).</div>
<div style="text-align: justify;">
<br /></div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Sarriguren, Egüés, España42.812928 -1.597661542.807104 -1.607532 42.818751999999996 -1.5877910000000002tag:blogger.com,1999:blog-7011359378493428967.post-89766335004918733072012-08-30T11:21:00.001+02:002012-08-30T23:53:01.093+02:00Review for O'Reilly's "Where Conference 2012: The Business of Location: Complete Video Compilation"<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXIW6qf-sBYfQswUZRXo9TeI82OVzUlDYQthPjLchkmK0CgzSSH23IU1vcxeqa42yDmWKp9AqZdglDKNtaOTAxKHGRzYs_KiFG2po2zzX79Uv-TRVm2tddEAJMSOukik3m2L4Ru6wv7oQ/s1600/s.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXIW6qf-sBYfQswUZRXo9TeI82OVzUlDYQthPjLchkmK0CgzSSH23IU1vcxeqa42yDmWKp9AqZdglDKNtaOTAxKHGRzYs_KiFG2po2zzX79Uv-TRVm2tddEAJMSOukik3m2L4Ru6wv7oQ/s1600/s.gif" /></a></div>
<div style="text-align: justify;">
I know, I know: I am late. By the time I've written this post most of the stuff shown at O'Reilly's Where Conference (OWC from now on for short) will be well known... Or not? This maaaaaaaasive video collection boasts for almost 47 hours of pure knowledge. Want to know about Location? This is the place!</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
123 videos will cover each and every aspect of using Location technologies in any software application (mobile - mostly - or not): from the basics of library and APIs usage to the usage of the location capabilities to reach your market and sell more.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I have to admit that so far I haven't been able to see all the videos... that's a huge task! Having become first-time father lately it's a bit difficult for me to find those times when I could just relax and watch technical videos 100% focused on them :) However, given the numerous different videos and their length, there's always some moments one can find.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
IMHO, the compilation is very very good. Is as close as one can get to physically being there (oh, and by the way, I'd love to!). The technical quality of the videos is very good: lighting, sound, camera focus, etc. are great. And the guys know their business: most (though not all, we are humans after all) f the public's questions are repeated by the speakers on the mic, so we (the ones on this side of the screen) can understand them clearly. So, this aspect gets 5 starts from me.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Now, to the proper content itself. It's soooo varied (even though all the talks are related to using Location in software) that it's somehow difficult to give it a unique rating. Some of the videos are great (like "Putting Place in Social, Putting Social in It's place" from the Google folks, or "Prototyping Location Apps With Big Data" by Matt Biddulph), whilst others just don't make the mark (the PhoneGap's talks, the guy from Dwolla -again, the chap is more ubiquous than Google :D-, the lady from Paypal - pure marketing *cough*!, etc.).<br />
<br />
These are some of my notes on a bunch of videos:<br />
<blockquote class="tr_bq">
<div class="p2">
<b>Native vs HTML5 & an Argument to Incorporate Both - Bo Fishback and Eric Koester</b></div>
<div class="p1">
Folks from <a href="http://www.zaarly.com/" target="_blank">Zaarly</a> talk about their progress from Html5 to native... With some bits of html. It depends on the funnels of user acquisition, the response is not (in most cases) as good in HTML5 as others. They've used their web site to test new User eXperience tricks, that if tested ok would make it to their native apps.</div>
<div class="p1">
So, their point is: take as much as possible from both worlds!</div>
<div class="p2">
<br /></div>
<div class="p1">
</div>
<div class="p1">
<b>The New Age of Interactive Marketing: Creating One to One Relationships with Mobile - Dorrian Porter</b></div>
Dorrian Porter from <a href="http://www.mozes.com/" target="_blank">Mozes, Inc</a> gives the marketing company view on how the new technologies (smart-located devices) can help marketing companies fill up our life with personalized "just for you" ads... Nothing very new here, but somehow scared me as to how much they'll be able to flood us with marketing :)<br />
<div class="p2">
<br /></div>
<div class="p1">
</div>
<div class="p1">
<b>Hey Startups, SoLoMoCo is No Longer 'Emerging'. Stop Acting Like It Is - Mike Schneider</b></div>
Mike Schneider, @ScheinderMike -talking perhaps a bit "as if in a hurry" although maybe it was fine since the talk was early morning- gives a very "felt" talk on how startups should use SoLoMoCo to get profile data, since that is what can and has to be sold to marketers! I agree, it's no longer of interest to know how many users you have, but how they are, and that's where SoLoMoCo really can help, startups must have as best APIs to provide that data as possible, and that's a great value. Another great advice: don't go for check ins, go for natural flow and get the data from it.<br />
<div class="p2">
<br /></div>
<div class="p1">
</div>
<div class="p1">
<b>HTML5: Advanced data visualization with Google Maps API - Josh Livni and Brendan Kenny</b></div>
Josh Livni and Brendan Kenny from Google show some code! How to use WebGL to benefit using graphics cards from HTML5 to be able to present a big amount of data in a very fast and interactive way. They expose some very interesting examples on top of maps, along with some tricks to load data. A bit long but interesting video.</blockquote>
<blockquote class="tr_bq">
<div class="p1">
Note: this doesn't apply on mobile, though... It runs, but at 4fps... </div>
</blockquote>
<blockquote class="tr_bq">
<div class="p2">
<b>A Deep Dive Into Using The HTML5 GeoLocation API with PhoneGap - Steven Gill</b> </div>
</blockquote>
<blockquote class="tr_bq">
<div class="p2">
Well, to be honest I believe those two videos are very poor, I expected much more. They provide very few content on using the mapping API with PhoneGap. Luckily there's very good content of the subject that can be found in the web.</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p2">
<br /></div>
<div class="p1">
<b>Hunch Global: Mining and Visualizing the Local Search Taste Graph - Harold Cooper</b> </div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
Well, this is a very interesting talk. Pity it just shows what <a href="http://hunch.com/" target="_blank">Hunch</a> can achieve but doesn't get into what's behind (hard, soft, platforms...). But makes a very good point showing that Location is the "core" and user's preferences the "engine" that runs Hunch.</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
<b>Prototyping Location Apps With Big Data - Matt Biddulph</b></div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
Tries to show how to incorporate data analysis with Hadoop and Pig into any aplication. It gets to the point of it, but becomes a bit too "intense": good for the ones that can follow the talk (knowledgeable on AWS, Hadoop, Pig...), but the rest (I include myself) can get lost on the way.</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
<b>Building Imaginary Worlds: SketchUp and Custom Street View - Mano Marks and Adam Hecht</b></div>
<div class="p1">
Didn't like this one too much... They talk about Google SketchUp, the tool they use to create 3D models (for example to be used in Google Earth), how to model a warehouse, etc. Given that this has nothing to do (directly) with location, seems like free marketing stuff for Google...</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
<b>Case Study Paypal - Elena Krasnoperova</b></div>
<div class="p1">
Focused on mobile location payment. She shows some apps using Paypal as payment platform, like Toysrus. But not a single detail on how it's done, or best uses or anything interesting for that matter. And then some "show off" of their new payment app... that is said to geolocate surrounding merchants... Not worth watching, tbh.</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Putting Place in Social, Putting Social in It's place - Mano Marks Google, Julia Ferraioli, Google</b></div>
<div class="p1">
This is a very good talk on Google+ and Google Maps. How to get geolocated data from any Google+ profile, clustering or segmentation, why and how use GPS data via web (PC) is less accurate than GPS device, etc. They show very basic Javascript embedding of the GoogleMaps API. Also the use of the Google+ Platform: Public data API, RESTful calls giving JSON answers; key based or Oauth2. They carry on with their definition of an Activity (user's action). The <a href="http://developers.google.com/+" target="_blank">Google+ Developers site</a> has all the info available. They also show some Plugins (with a brief "free-promo" on Google+ buttons...) and how to use Google Hangouts: some promo on the hangouts and then show a Hangout App done in HTML/CSS/JavaScript.</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Data and algorithm driven commerce - Mok Oh , Paypal</b></div>
<div class="p1">
Unexpectedly nice talk. Mok shows that Data + Science&Algorithms is the way to go. Funny statement he makes: "Data, data, Everywhere…. but not a byte to eat". The figures are massive: there are 200 Million online transactions per month on Internet, and that's increasing.</div>
<div class="p1">
He doesn't focus on location at the beginning, till he shows some demos: watching black friday on a map of US online transactions is a real flash! :D He shows as well a globe with dynamic Paypal transactions through the world, very interesting.</div>
<div class="p1">
For Mok, Data Science is still on v. 1.5, neither 1.0 (that is the analysis and algorithm phase), nor the 2.0 (the would-be big boom-social)</div>
<div class="p1">
Basically states that DATA is VALUABLE, is one of your company's values. And invest in a data scientist is a necessity.</div>
<div class="p2">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXt41GdmwOeVpnRVqsPob6CR9LcUgiUpaOCc_iO8giKoqMQQLKmYUwYKOdYAVNlgqLce4r-9xwnjJ4_hZ0cF5Uc-m_TfFjIEv76S-vgsyaMjSgQddLQZILqEn-aFXQ5DJ1WpvT-gHPclk/s1600/60-data-and-algorithm-driven-commerce-mok-ohmp4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXt41GdmwOeVpnRVqsPob6CR9LcUgiUpaOCc_iO8giKoqMQQLKmYUwYKOdYAVNlgqLce4r-9xwnjJ4_hZ0cF5Uc-m_TfFjIEv76S-vgsyaMjSgQddLQZILqEn-aFXQ5DJ1WpvT-gHPclk/s320/60-data-and-algorithm-driven-commerce-mok-ohmp4.png" width="320" /></a></div>
<br /></div>
</blockquote>
<blockquote class="tr_bq">
<div class="p2">
</div>
<div class="p1">
<b>New Lines on the horizon - Josh Williams, Facebook</b></div>
<div class="p1">
Josh shows how location evolved in the Facebook platform. First location was a tag that you could add to anything in FB. Now it's been added to their OpenGraph and TimeLine features. Given that they say to get 2 billion monthly locations, seems logical.</div>
<div class="p1">
He mentions that FB plans to augment their OpenGraph, Place editing API and geo-coding and reverse geo-coding capabilities in the near term.</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
<b>How open is open? Five years later…. - Ian White, Urban Mapping Inc</b></div>
<div class="p1">
Well, Ian explains the whole history about his legal issues getting location data of the NY Underground… My God, it's somehow hard to believe nowadays that those things happened... and still do in some places (yes, some european places I mean).</div>
<div class="p1">
Then he explains interesting examples of strange privatization process of public data: all public data that is given to private companies to be made publicly available... only to become privatized in some way so developers (or others) have to pay to use them. Ian resumes the "Privatization of public data": there are two ways to be open, one like "open sesame", open door, etc. vs. open as a clinched fist.</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Platform, APIs and Apps: Building the "where" ecosystem - Gary Gale, Nokia</b></div>
<div class="p1">
<div style="text-align: justify;">
This talk is a must watch. Nokia believes completely that Location is a must. And people has many devices, so the need multiplies by a factor. The use of location data is to identify patterns and trends: know your customers/users.</div>
</div>
<div class="p1">
<div style="text-align: justify;">
Nokia has created what they call "The Where platform": one of the biggest assets of Nokia; and why this video is worth watching.</div>
</div>
</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASNWgO8BpfzaG3VKVmqNMivwpnNddLZJHNfT5QyVs9Ogj4MrgYQM0Cdn4R87aHB8OR5X6lTLngldsQPLuUU_lbV23rKuv7WUZyRgfuCBuWdqzYs794OleGItj785uVXRgD9JeOJCFv6M/s1600/67-platform-apis-apps-building-the-where-ecosystem-gary-galemp4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhASNWgO8BpfzaG3VKVmqNMivwpnNddLZJHNfT5QyVs9Ogj4MrgYQM0Cdn4R87aHB8OR5X6lTLngldsQPLuUU_lbV23rKuv7WUZyRgfuCBuWdqzYs794OleGItj785uVXRgD9JeOJCFv6M/s320/67-platform-apis-apps-building-the-where-ecosystem-gary-galemp4.png" width="320" /></a></div>
<br />
<blockquote class="tr_bq">
<div class="p1">
<div style="text-align: center;">
<b>Reference Data + Activity Data = Smart Data</b></div>
</div>
<div class="p1">
<div style="text-align: justify;">
The Where Platform has lots of API, already available. In Q1 2012 they had 4.6 Billion hits per month! Their commitment is that they can provide their mapping and location services on all kinds of screens: HTML5 is the solution.</div>
</div>
</blockquote>
<blockquote class="tr_bq">
<div class="p1">
<div style="text-align: justify;">
Some customers of their platform:</div>
</div>
</blockquote>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg17BnhPvmXodIDTlNdGN0gNXTNrZr3aXaqOQp_h20YzG3saekf87bu_XSywPCCTKf97vMWL0EKwJanBfHazt0_X5Fuw4vA2jXmTuiTYsXfc1g3R7PUR30-33MhbjwFNOavrszCbuZIEzg/s1600/67-platform-apis-apps-building-the-where-ecosystem-gary-galemp4-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg17BnhPvmXodIDTlNdGN0gNXTNrZr3aXaqOQp_h20YzG3saekf87bu_XSywPCCTKf97vMWL0EKwJanBfHazt0_X5Fuw4vA2jXmTuiTYsXfc1g3R7PUR30-33MhbjwFNOavrszCbuZIEzg/s320/67-platform-apis-apps-building-the-where-ecosystem-gary-galemp4-2.png" width="320" /></a></div>
<br />
<blockquote class="tr_bq">
<div class="p1">
<div style="text-align: justify;">
The Places API has already over 75 million places registered, and can be used straight away as a Web Service!</div>
</div>
<div class="p1">
<div style="text-align: justify;">
All the info can be found at <a href="http://developer.nokia.com/maps">developer.nokia.com/maps</a></div>
</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>StreetEasy's Stack - Sebastian Delmont, StreetEasy.com</b></div>
<div class="p1">
StreetEasy is a real estate search service for NY, with 22M+ views per month…</div>
<div class="p1">
Sebastian gets into the details of how they migrated their infrastructure from GoogleMaps to OpenStreetMaps. How they created their own maps, very interesting if looking for ways to create your own maps with OpenStreetMaps platform: TileMill, MapBox,… One key giveaway: you must use an abstraction layer, for example Mapstraction on the Javascript side or some abstraction layer on the server side.</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Uber's Stack - Curtis Chambers, Uber</b></div>
<div class="p1">
Uber is an on demand transportation service. Curtis details how to architect a location-based web service: mongo, node.js, phyton, javascript… </div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Twitter's Stack - Raffi Krikorian, Twitter</b></div>
<div class="p1">
Geolocated tweets, geolocated POIs in the US… Very complex and fast explanation of (just) the infrastructure that supports RockDove: the service inside Twitter that deals with all location data: RubyOnRails, Cassandra, Lucene……</div>
<div class="p2">
<br /></div>
<div class="p1">
<b>GeoIQ's Stack - Andrew Turner, GeoIQ CTO</b></div>
<div class="p1">
Try to solve three things: how to Acces, Visualize and Analyze data.</div>
<div class="p1">
They support a platform called <a href="http://geocommons.com/">geocommons.com</a> that anybody can use. It's a VM that can scale up to Cloud as needed. Another really complete and powerful stack: RubyonRails for the core platform spatial data ETL, Lucene and Solr for index, PostgreSQL for spatial data management, Mapnik for map rendering, Modestmaps and Polymaps for front end, AcctionScript and Appcelerator for mobile, Node.js and MongoDB for streaming, workers Ruby and OpenSource GeoStack, and Hadoop in some cases.</div>
<div class="p1">
OpenStandards: REST; GeoJSON; OAuth, LDAP, OpenSearch-Geo…</div>
<div class="p2">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRLA8uqFmiXcj_liO6nJLed3xCwRsJ9fh22Qg7mOvOgpfRj5IcWnZSiYCtZHlf1XIZQZLX21kxUysr4gU2tcEt-tKlZSKm7iMmL_Iomz4cOZhVGjJ42qfuU35kr3UUcG_BQw1C4fqnc8/s1600/76-geoiq-s-stack-andrew-turnermp4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRLA8uqFmiXcj_liO6nJLed3xCwRsJ9fh22Qg7mOvOgpfRj5IcWnZSiYCtZHlf1XIZQZLX21kxUysr4gU2tcEt-tKlZSKm7iMmL_Iomz4cOZhVGjJ42qfuU35kr3UUcG_BQw1C4fqnc8/s320/76-geoiq-s-stack-andrew-turnermp4.png" width="320" /></a></div>
<br /></div>
<div class="p2">
<br /></div>
<div class="p1">
<b>Gaming Reality - Will Wright, Stupid Fun Club</b></div>
<div class="p1">
This guy worked on SimCity! :D</div>
<div class="p1">
Games use maps-location, but also it could use the player's locations to focus on the player. </div>
<div class="p1">
A smartphone is like Star Trek's tricorder, haha!! Will tries to expose the way from "augmented reality" to "blended reality", where geolocation is a must. </div>
</blockquote>
</div>
<div style="text-align: justify;">
Nice touch as well by showing some Startups in the "Startups showcases". Some where a bit basic (at least what they exposed) but others where interesting. I'm curious to see what they can become in the future (close one, hopefully! :).<br />
<br /></div>
<div style="text-align: justify;">
If you, like me, think that Location-based services, apps and software are one of the "next big things" in IT, this video compilation will have your mind flooded with ideas and knowledge so you'll get excited to use it in your next project.<br />
<br />
<i>Note: found some minor issues with the links though, some links to download videos wrongly pointed to other videos instead. Maybe O'Reilly folks can double check the links on the product's page ;) Thanks!</i><br />
<br />
<i>Note2: You can find most of the presentations' slides and some of the Videos available for free here: <a href="http://whereconf.com/where2012/public/schedule/proceedings">http://whereconf.com/where2012/public/schedule/proceedings</a></i><br />
</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Sarriguren, Egüés, España42.812928 -1.597661542.807104 -1.607532 42.818751999999996 -1.5877910000000002tag:blogger.com,1999:blog-7011359378493428967.post-18552549457660824522012-08-17T08:55:00.000+02:002012-08-17T08:55:18.256+02:00SSD OCZ Agillity3 en MacBook Pro 13 (2011)<div style="text-align: justify;">
Incorporar un SSD a un MBP es uno de los upgrades más interesantes que he visto, y siendo de naturaleza curiosa, me animé a hacerlo. Escribo este post como breve reseña de los pasos con los que conseguí que funcionara, no tanto de la parte de conexiones y tornillería (para eso ya hay muchos buenos por ahí), sino del funcionamiento en OS X Mountain Lion, que no fue tan sencillo como pensaba.</div>
<div style="text-align: justify;">
Compré un <a href="http://www.ocztechnology.com/ocz-agility-3-sata-iii-2-5-ssd.html" target="_blank">SSD OCZ Agility 3</a> <a href="http://www.ocztechnology.com/" target="_blank">http://www.ocztechnology.com/</a> en <a href="http://www.mercadoactual.es/" target="_blank">MercadoActual</a> (el precio más barato y la primera vez que compraba; sorprendido gratamente por su rapidez y buen servicio, muy recomendable). Además, ya que no quería perder el SuperDrive y necesitaba montar el SSD en una plataforma para ponerlo en el Mac, compré vía Amazon un pack con lo necesario (esto sí me pareció caro, pero es lo que hay... <a href="http://www.amazon.es/gp/product/B008AVL74O/ref=oh_details_o00_s00_i00" target="_blank">Amazon</a>). Con todo listo, y mis archivos más "sagrados" a buen recaudo en una copia de seguridad) abro el Mac para empezar el trasteo.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY6M175i4TiUo8BkFHyzK-1qAXFlQgZQYB2yZqdmTBbIgZXjamXRzLDna8m7QZpU_acILljFqUvG9T3qsYZI22cZ_Y9G_hcClS4GbnpYlGQS5TQn5NWNvy4KfDKD2jfHDn5DYUDHgnXeI/s1600/IMG_20120814_104050.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY6M175i4TiUo8BkFHyzK-1qAXFlQgZQYB2yZqdmTBbIgZXjamXRzLDna8m7QZpU_acILljFqUvG9T3qsYZI22cZ_Y9G_hcClS4GbnpYlGQS5TQn5NWNvy4KfDKD2jfHDn5DYUDHgnXeI/s320/IMG_20120814_104050.jpg" width="320" /></a></div>
<div style="text-align: justify;">
Bien, en muchos sitios he visto que la gente cambia el HDD (abajo a la izquierda de la foto) por el SSD y monta el HDD en la plataforma para sustituir al SuperDrive (arriba a la izquierda). Yo no quería hacerlo, en mi caso no he comprado un SSD para cambiarlo por el HDD porque sea lento (no me lo parece, al menos aún...), sino que en el SSD quiero meter mis máquinas virtuales (W8, W7, XP, Linux de colores...) por lo que pensaba que simplemente cambiar el SuperDrive por el SSD sería más sencillo. Manos a la obra; hay que tener mucho cuidado con no perder tornillos, mover los cables lo menos posible y en la desconexión/conexión de los cables SATA a la placa base (las tiras negras que se ven en la foto). Y también que no se meta ninguna "mierdilla" en el Mac, porque estando todo como está de "ajustado" vete a saber qué pasaría... El cambio es cuestión de unos 30-40 minutos, yendo con cuidado.</div>
<div style="text-align: justify;">
Hecho esto cerramos y reiniciamos y comprobamos que el OS X reconoce el SSD (o podemos comprobar antes de cerrar, como os apetezca).</div>
<div style="text-align: justify;">
¡Listo! pensé, Disk Utility informa de un medio no reconocido, "Inicializar..." ... y <b>aquí empiezan los problemas.</b> No había manera de que el Mac OS X reconociera y formateara como debía el nuevo SSD. Y sin embargo estaba ahí, y estaba bien (SMART perfecto):</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh76GXm8Mvi7GqgwbRvby6QXz44We_bnOxL7qapiPAqob-fm4hpzk8PAw31-7l3MAwuuThjC5_Iv-m9V0N9h7Qj6TGbZAaC3nXG-xlqjMdqo19X42_pcAR6-yhXR707NBFFZR1NxoUJvu4/s1600/Informacion--OCZ-AGILITY3-Media.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh76GXm8Mvi7GqgwbRvby6QXz44We_bnOxL7qapiPAqob-fm4hpzk8PAw31-7l3MAwuuThjC5_Iv-m9V0N9h7Qj6TGbZAaC3nXG-xlqjMdqo19X42_pcAR6-yhXR707NBFFZR1NxoUJvu4/s320/Informacion--OCZ-AGILITY3-Media.png" width="320" /></a></div>
<div style="text-align: justify;">
Bueno, tocaba investigar. Durante un par de días intenté de todo Disk Utility, diskutility (desde el terminal), todo lo que encontré por Google, StackExchange, los foros de Apple (sirven para algo?), un montón de "utilidades" de pago que no sirven para nada (iPartition, DriveGenius, Drive Wizard, DiskTools Pro..)... utilidades de Trim mode que tampoco hacen nada... En fin, cuando ya empezaba a estar desesperado pensando que iba a tener que volver a abrir el Mac y cambiar el SSD por el HDD (aquello de lo que hablaba al principio, ¿recordáis?... Maldito Murphy) ya que en todos las páginas que encontraba decían que es la única manera en que un SSD puede funcionar en OS X, pasé por las páginas de OCZ Technologies. Allí tienen <a href="http://www.ocztechnology.com/ssd_tools/SandForce_Based/" target="_blank">medio escondida entre un montón de cosas</a>, una pequeña utilidad para discos SSD basada en Linux. En <a href="http://www.ocztechnologyforum.com/forum/showthread.php?99275-NEW!-Bootable-tools-for-OCZ-SSD-s" target="_blank">la guía</a> de esa herramienta hay otro enlace que lleva a la <a href="http://www.ocztechnologyforum.com/forum/showthread.php?103483-MAC-ONLY-Firmware-update" target="_blank">guía para Firmware Update de los SSD en Mac</a>. ¿A que no es fácil de encontrar?...<br />
Bueno, pues lo intenté, ¿por qué no? Al fin y al cabo otra prueba... Flasheamos un USB, arrancar... y con un ratón USB (el Trackpad no va en esa versión de Windows) puede empezar a hacer cosas:<br />
<br />
<ul>
<li>Firmare Update: comienza... y al 7% da error. No sé si porque ya tenía la última versión, o por lo que sea, pero el caso es que no llega al 100%</li>
<li>Bandwith Fix: instalado</li>
<li>Apple Fix: instalado</li>
</ul>
<div>
Sin mucha convicción reinicio... OS X reconoce el disco como sin formatear, aplico el formato... ¡y funciona!!!!! Por fin tengo mi SSD en uso como es debido!</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGQ2TndI0VNkbN21Ay4hL8vaC8YU2xS2LmVf1asVNxsrgeRvQnIWEyjRyAv_kXvAK5tmCCe3j7Z0cS_bLzuhncpsxUjXgSm5ZVaZCFuoTTxb3AVT0cCsGB2hm603yDDyJQztsRbmQjvKA/s1600/Macintosh-SSD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGQ2TndI0VNkbN21Ay4hL8vaC8YU2xS2LmVf1asVNxsrgeRvQnIWEyjRyAv_kXvAK5tmCCe3j7Z0cS_bLzuhncpsxUjXgSm5ZVaZCFuoTTxb3AVT0cCsGB2hm603yDDyJQztsRbmQjvKA/s320/Macintosh-SSD.png" width="320" /></a></div>
<div>
En definitiva, no sé cual de los tres pasos es el que soluciona el problema (quizá actualizar al 7% es suficiente? :) pero sólo con la utilidad de OCZ se puede usar el SSD Agility 3 correctamente en Mac OS X.</div>
<div>
Por si sirve a alguien ;)</div>
</div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Sarriguren, Egüés, España42.812928 -1.597661542.807104 -1.607532 42.818751999999996 -1.5877910000000002tag:blogger.com,1999:blog-7011359378493428967.post-66620373652917215802012-08-14T09:20:00.002+02:002012-08-14T09:44:47.415+02:00Consejos de un emprendedor para tener éxito con un VC<div style="text-align: justify;">
Entre los muchos consejos que hoy en día se pueden encontrar por la red de todo tipo sobre cómo tener éxito con las reuniones con los VC para capitalizar una Start-up, he encontrado esta entrevista con Nick Smoot de <a href="http://twitter.com/hereonbiz" target="_blank">@HereOnBiz</a> que me ha parecido interesante y por eso lo comparto. No porque los consejos sean especiales o únicos, sino porque son <b>básicos, muy lógicos y </b>relativamente <b>fáciles de llevar a cabo.</b></div>
<b><br /></b>
En la entrevista, de <a href="http://anthillonline.com/" target="_blank">Anthill Magazine Online</a>, Nick Smoot da 3+1 consejos que ellos han usado para lograr su ronda de capitalización con los VC de Silicon Valley. Son los siguientes:<br />
<br />
<ol>
<li style="text-align: justify;"><b>Know your mark: Conoce a quién te diriges.</b> Saber todo lo posible sobre la empresa/VC/persona con la que quieres contactar te ayudará a encontrar puntos en común donde poder incidir y desarrollar una relación. Ten en cuenta que lograr la participación de un VC en tu proyecto es como hacer un nuevo "muy mejor amigo Bubba" en palabras de Forrest Gump (y recuerda, Forrest se montó en el dólar con Bubba). Así que todo lo que puedas conocer de antemano (perfil, empresas en las que ha invertido, intereses, qué opina de esa nueva gran tecnología en la que le quieres hacer participar...) va a ser material que puedes usar para ayudarte en esa relación.</li>
<li style="text-align: justify;"><b>Play dumb, ask for help: Pide su ayuda.</b> Recuerda, aunque creas que no el VC ya está ahí antes que tú. Quiero decir que sabe (o cree saber) mucho más de tu mercado, tu producto, y tu idea.. que tú. Pero si consigues que te ayude, seguro que entre los dos lograréis hacer un proyecto mucho más competitivo. No te muestres superior a nadie (eso sería un error fundamental; ni Zuckerberg iba de "pollo listo del corral" al principio...), necesitas ayuda de todos (y especialmente de los VCs) para lograr tu meta.</li>
<li style="text-align: justify;"><b>Go above and beyond: </b>Haz más de lo esperado, y luego más todavía. Puede que la relación con VC implique hacer algún trabajo o muestra de tu capacidad para él. Puede ser un "entragable" (una aplicación, un objeto, una herramienta...) o un documento (un análisis, una propuesta, una evaluación del mercado...). Sea lo que sea, da lo mejor de ti que puedas. Aunque no te paguen, Aunque creas que tu tiempo vale € y se los están llevando gratis... Da igual. ¡Hazlo siempre excelentemente! Ten en cuenta que en función de ese trabajo puede salir el proyecto adelante. Mantén eso siempre en tu mente y te ayudará a trabajar con toda la calidad que puedes dar.</li>
</ol>
Y un "extra":<br />
<br />
<ul>
<li style="text-align: justify;"><b>Be social. Esto no lo traduzco </b>;) Nick destaca este aspecto como lo primero. Es cierto, nunca sabes qué o quién va a darte esa oportunidad que buscas para sacar adelante tu proyecto. Así que siempre tienes que estar ahí, ser social, contactar, ser contactado, compartir ideas, conocer las de los demás, hablar de experiencias, etc. A mí a veces se me olvida... quizá por eso he escrito este post :D</li>
</ul>
<div style="text-align: justify;">
Bueno, pues ahí está todo. En mi caso particular no he conocido muchos VCs (o Business Angels, o Inversores,o llámalo como quieras), pero estoy seguro de que con <a href="http://www.linkedin.com/in/luismartincabiedes" target="_blank">Luis Martín Cabiedes</a> nos hubiera ido mucho mejor si hubiésemos trabajado los puntos 1 y 2 mucho mejor. Quizá con eso habríamos llegado al punto 3 y ¡quién sabe dónde estaríamos ahora!</div>
<div style="text-align: justify;">
<br /></div>
Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Sarriguren, Egüés, España42.812928 -1.597661542.807104 -1.607532 42.818751999999996 -1.5877910000000002tag:blogger.com,1999:blog-7011359378493428967.post-91817054864351778192012-06-14T19:50:00.001+02:002012-06-14T20:44:01.245+02:00Mobile Emulators & Simulators: The Ultimate Guide<div><p>Great post by Maximiliano Firtman listing each and every single mobile emulator that exists (well, if not all, almost!) and how to install them. Unvaluable stuff I had to keep for my records! <br>
<a href="http://www.mobilexweb.com/emulators">Mobile</a><a href="http://www.mobilexweb.com/emulators"> </a><a href="http://www.mobilexweb.com/emulators">Emulators</a><a href="http://www.mobilexweb.com/emulators"> & </a><a href="http://www.mobilexweb.com/emulators">Simulators</a><a href="http://www.mobilexweb.com/emulators">: </a><a href="http://www.mobilexweb.com/emulators">The</a><a href="http://www.mobilexweb.com/emulators"> </a><a href="http://www.mobilexweb.com/emulators">Ultimate</a><a href="http://www.mobilexweb.com/emulators"> </a><a href="http://www.mobilexweb.com/emulators">Guide</a></p>
</div>Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0Sarriguren, Sarriguren42.812927 -1.5976615tag:blogger.com,1999:blog-7011359378493428967.post-9281776013641094382012-05-23T16:44:00.001+02:002012-05-23T18:26:04.953+02:00How Scott Rafer met the co-founders of MyBlogLog on LinkedIn<iframe allowfullscreen="" frameborder="0" height="344" src="http://www.youtube.com/embed/K98MtTlxlkI?fs=1" width="459"></iframe><br />
This is an interesting video on how Scott Rafer, a "serial entrepeneur", found funding through LinkedIn... Maybe it finally has a use! :DZalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-38726074204430799082012-05-08T19:58:00.000+02:002012-05-08T20:20:48.604+02:00Review of “Beginning PhoneGap”<blockquote> <p> </p> </blockquote> <h2>Ok, the title says “Beginning…” but even so, not a book I’d buy</h2> <p> </p> <p align="justify"><img alt="Beginning PhoneGap" src="http://akamaicovers.oreilly.com/images/9781457108150/thumb.gif" />Being interested for various reasons on all that HTML5 can bring to the mobile world, and in particular on the PhoneGap framework I had just discovered, I read this book with some expectations, looking for it to become my reference on the subject, for any attempts I might try out or any questions on the subject I could receive.</p> <p>I found much more complete and accurate the proper PhoneGap’s (or Nitobi’s, or whoever) information available on the web. The examples there and the ones provided by the book are quite similar, but the ones on the web have the added benefit of being correct and up-to-date. That’s something that although I understand the book can’t accomplish I’d have least expected it not so have so many typos here and there. The code fails in some places, the explanation others… well, at least they have got assured that the reader pays close attention, otherwise she will be completely lost!</p> <p>Ok, based on my notes here are some things that I found particularly weak:</p> <ul> <li>PhoneGap for Android setup, not very clearly covered. I presume the one for iOS is ok, but this (the one I know about) seemed really poor.</li> <li>The examples on events are very much the same repeated “n” times with some minor changes, not big differences between them. So, why not go through an example covering all (or a batch of) them altogether? Would have seemed logical.</li> <li>The exercises on page 100 are a good point on the book’s side. +1 here</li> <li>Typos here and there, incomplete code (some missing function calls), calls to wrongly named functions,…. Maybe  was I reading the “draft” version I wonder?</li> <li>Missing or weak examples, for instance what could the magnetometer be used for? Or address access through the Contacts list. More info about FileTransfer, something that most developers will use one time or another. Or more valuable info added, such as links to where up-to-date information could be found.</li> <li>Using “Final App listing” nowadays just seems like filling stuff, they don’t give any value since you can download the code from the book’s site (IMHO). <br />Furthermore with the complete Phonegap.js listing… what for?</li> <li>Wouldn’t it had been much more interesting to show a complete App creation process with PhoneGap? Basic implementation, event management, device capabilities, notifications… a 360% approach, much more valuable than a mere “show and tell” list of examples. </li> </ul> <p>So, honestly I can’t recommend this book. I have been really disappointed with it and suppose will fall in my “not read again” stack. Sorry.</p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-74266240407240785102012-02-08T13:11:00.000+01:002012-02-08T13:58:09.852+01:00Review of “Introduction to iOS Programming: From Getting the SDK to Submitting Your First App”<p align="justify">From zero to publishing in less than 2 hours </p> <p align="justify"><img src="http://akamaicovers.oreilly.com/images/0636920021018/cat.gif" />It’s been a while since my last post, due to some work outburst. Nevertheless I had a lot of interest in watching this video from O’Reilly author <a href="http://shop.oreilly.com/product/0636920021018.do#tab_04" target="_blank">Alasdair Allan</a> because I am (was?) a complete ignorant on native iOS development.  The video, about 1:45 hours long in total, covers the whole development process of any iOS based application. As the video’s subtitle states, Alasdair guides us from the very basic steps like registering on Apple’s Development platform, downloading the required SDKs and setting them up, etc. all the way to publishing our very first App on the Apple Store.</p> <p align="justify"> </p> <p align="justify">This is done whilst creating our first iOS/iPhone app, on a Mac. So, after the first steps we will be watching code being typed to create the app. For those already versatile in Objective-C this will be “piece of cake”. For the rest of us it takes some time to get used to the mechanics and interface so as to be able to follow Alasdair’s work, but once you get used to it, it’s not that hard.</p> <p align="justify"> </p> <p align="justify">There is no detail on how to develop UIs for apps, nor in-depth how to code with Objective-C (btw, who was the devil that created that monster? Bit ugly, IMHO), but this video is not the place to look for that info nor it should be. However, Alasdair makes a “stop” trying to explain how to code with Objective-C, which turns out to be somehow hard to follow although it is just a basic approach to the language. This “aside” is not really efficient on its purpose, but must be praised for the effort and some may welcome it.</p> <p align="justify"> </p> <p>The quality overall is good though I found two glitches on it:</p> <p>- the sound sometimes is a bit too low, and given most of the people watching it will use a mobile device nowadays to do so this can be a bit annoying as listening Alasdair is difficult sometimes.</p> <p>- and second, sometimes Alasdair gets into some small “stopping point” because of code failures or development interface nuisances. These he manages to solve, but sometimes it feels a bit wrong watching “undo time”.</p> <p> </p> <p>All in all, a good video on the complete procedure of start-to-publish your iOS apps that any newcomer to Apple’s development restrictive world will benefit from. Maybe some “freebies” such as sample code and worksheets would have provided it better value. You can find <a href="http://shop.oreilly.com/product/0636920021018.do" target="_blank">the product here</a>.</p> <p> </p> <p>3/5</p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-37272755633239604652011-06-01T09:11:00.000+02:002011-06-01T09:15:51.933+02:00Review of “Data Analysis with Open Source Tools” by Philipp K. Janert<p>An in-depth book on data analysis with graph tools. </p> <p align="justify"><a href="http://oreilly.com/catalog/9780596802356/" target="_blank"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="bkt" border="0" alt="bkt" src="http://lh3.ggpht.com/-E286tlRG1pc/TeXnJ_w2pjI/AAAAAAAAAGU/wIMkds-AhFg/bkt%25255B3%25255D.gif?imgmax=800" width="89" height="116" /></a>First of all I have to state clear that this book has “run over me” <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sonrisa" src="http://lh5.ggpht.com/-zB7QDqbqTxo/TeXmekANr8I/AAAAAAAAAGQ/vk_rYo3ujPc/wlEmoticon-smile%25255B2%25255D.png?imgmax=800" />It is a very good and comprehensive exercise by Mr Janert on how to produce “readable” graphs (read information) on top of massive data volumes, all with open source tools such as gnuplot, matplotlib, R, numpy, chaco, etc. So what has made it somehow hard for me? The fact that I mistook it for what it is not: this is not a book showing samples or “how-to” code that you can run easily on your app (HTML- or OS-based). Instead it goes much deeper than that, explaining the math that supports the data analysis, lots of the statistical theory underlying the data analysis processes, etc. Don’t get me wrong: I really think that’s great value! And thank Mr Janert for that. But given that I read the book during commutes or trips on my Kindle it’s been a bit “though” to be on the “thinking mode” that is required to fully appreciate the value of this book. So, if you plan to read it whilst at home or in a quiet place, giving it the care and attention if deserves I am sure you’ll find the book a great one.</p> <p align="justify">There are also many good things about it too: the Workshops provided are very good step-by-step descriptions of the process taken by Mr Janert to solve them. Given that the subject of the book is dense, as said, this seems like the best idea to help understanding what has been talked about.</p> <p align="justify">Many kinds of graphs (like  jitter plots, scatter, mosaic plots, kohonen maps, etc.)  and the logic underlying them (logarithms, pareto, regression, estimations, Monte Carlo simulation, etc.) are covered in this book. So I find it a great source of information that can be perfectly used as a superb reference book when developing a projects requiring graphical analysis tools on big volumes of data. </p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-30101532946227062222011-03-14T17:01:00.000+01:002011-03-14T17:03:06.245+01:00Review of O’Reilly Breakdown’s video “Offline Mobile Web Applications in HTML5” by David Griffiths<p align="justify"><em><font size="3">The quick way to get a really fast knowledge on what HTML5 has to offer for those developing the new breed of HTML apps, both online and offline.</font></em></p> <p> </p> <p align="justify">David Griffiths, senior IT author for O’Reilly, and Brett McLaughlin one of their senior editors, offer a very good and quick overview on the capabilities and benefits of using HTML5 to develop HTML-based applications which are not necessarily intended for an “always-connected” to Internet use.</p> <p align="justify">First things first I have to say that I’ve been happily surprised by the very clear English both speakers talk. Given that the video is recorded such as if they were a couple of friends sharing a “learning afternoon”, it is very welcomed being able to understand both of them clearly and effortlessly (which sometimes is needed in some of the other videos of the O’Reilly Breakdown series I have to say).</p> <p align="justify">Now, let’s get to it. The video is divided in 5 parts most of them about 20 minutes long:</p> <ul> <li> <div align="justify"><strong>Blue Collar HTML5</strong>, which provides and overview of the main new features of HTML5, how the different browsers behave when interpreting the code, etc.</div> </li> <li> <div align="justify"><strong>Creating HTML5 forms</strong>, with more info on the new input capabilities of HTML5 and how they work between the different browsers (David makes a good work showing how each example works on Safari (webkit), Firefox (Mozilla), Opera…). So for example now we have new data types available (date, number, range…), some new properties for them (autofocus, required,…), etc. </div> </li> <li> <div align="justify"><strong>Moving an App to the browser’s cache</strong>, or how to easily set up a web app to make use of caching capabilities provided by the web browser avoiding unneeded downloads, and force them if we want to! Also, how can we easily know if we are connected or not using events on our JavaScript code.</div> </li> <li> <div align="justify"><strong>Caching data with local storage</strong>, showing the local storage capabilities that HTML5 provides, a “new and different” version of the cookies’ system that allows storing string-ified data in the browser’s PC (thankfully we can use JSON "stringify" and parse methods to help us with this).</div> </li> <li> <div align="justify"><strong>Syncing local storage to a server</strong>, or how and what to do in order to make sure data entered whilst on- or off- line will be properly synched to a server, something really important for any serious enterprise-intended mobile app which can be easily done using HTML5 (timestamps, that’s the key).</div> </li> </ul> <p align="justify">One thing I’m missing is the possibility to download any sample code. Not much of a problem though since the example used is very simple and easy to follow. Nevertheless, it would be even easier having the code handy. </p> <p align="justify">On the plus side, I liked the subtitles that have been added to the video that from time to time show valuable URL resources or tips that we can benefit from. </p> <p align="justify">So briefly a <u>recommended video to watch if you want to attain quick understanding of how HTMl5 can help when developing apps that might be connected to the Internet, or not.</u> Not much samples nor code here, but some simple examples that show most of the important bits that must be considered (with very good explanations by David Griffiths). </p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-85082553711277161052011-03-03T08:42:00.000+01:002011-03-03T08:42:07.001+01:00InfoQ: Visualizing Agile Projects using Kanban Boards<a href="http://www.infoq.com/articles/agile-kanban-boards">InfoQ: Visualizing Agile Projects using Kanban Boards</a><br />Muy buen artículo presentando diversas visiones del uso de Kanban según niveles así como de una herramienta (Trichord) desarrollada por Kenji Hiranabe y su equipo para gestionar estos "Kanban por niveles".Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-67353662578216356402011-02-10T12:29:00.000+01:002011-02-10T12:49:49.135+01:00Review of Data Source Handbook by Pete Warden<p align="justify">If you ever need a quick and short guide on web data sources that can be used (mostly) in any application to give it “top value”, this is the book for you.</p> <p align="justify"> </p> <p align="justify"><img style="margin: 5px; display: inline; float: left" alt="Data Source Handbook" align="left" src="http://covers.oreilly.com/images/9781449303143/s.gif" /></p> <p align="justify">This is a very short but loaded guide on available Data Sources with information on Websites, People, Locations, Companies, Books, Films… Overall, 57 different data sources are listed and categorized, and the author has also made a good effort pointing out the main drawbacks that a developer can face when using them (yes, Google has some restrictions too <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Sonrisa" src="http://lh6.ggpht.com/__1BYs807xQk/TVPNOiRgcCI/AAAAAAAAAFc/cvoopu3aGB0/wlEmoticon-smile%5B2%5D.png?imgmax=800" />)</p> <p align="justify">Not many examples are provided though: here shortness is a premium over completeness. However, all the book is filled with links to the relevant web pages where more detailed information and examples can be found, so this is not a problem. Kudos to Pete Warden on this subject too!</p> <p align="justify">How long these data sources might remain valid or available as stated might impact the book’s value, however <u>as of now</u> is a great and cheap acquisition that can be easily read on a weekend (or afternoon for the die-hards) and the next monday will start giving back its value.</p> <p align="justify">One of those books that shouldn’t be kept too far from your development desk. It can be found here: <a title="http://oreilly.com/catalog/9781449303143/" href="http://oreilly.com/catalog/9781449303143/">http://oreilly.com/catalog/9781449303143/</a></p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-73211071101164602092011-02-03T20:41:00.001+01:002011-02-03T20:41:18.354+01:00HTML5 in VisualStudio 2010<p>Nice post on how to set up HTML5 validation on VisualStudio 2010</p> <p><a title="http://www.raihaniqbal.net/blog/2010/08/html5-support-in-visual-studio-2010/trackback/" href="http://www.raihaniqbal.net/blog/2010/08/html5-support-in-visual-studio-2010/trackback/">http://www.raihaniqbal.net/blog/2010/08/html5-support-in-visual-studio-2010/trackback/</a></p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-71217006257782709862011-01-29T19:00:00.000+01:002011-01-29T19:01:07.268+01:00Review of The Facebook Marketing Book by Dan Zarrella and Allison Zarrella<p align="justify">After watching the too much bloated movie on Facebook’s beginnings, I had the impression that to be a successful web-entrepreneur you have to be either a total nerd or the luckiest guy around, not having a clue on how and if that “Facebook” is a real business or not.</p> <p align="justify"> </p> <p align="justify"><a href="http://lh3.ggpht.com/__1BYs807xQk/TURV3-MTV3I/AAAAAAAAAFQ/jmGzeE9xMm8/s1600-h/clip_image001%5B3%5D.gif"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" align="left" src="http://lh4.ggpht.com/__1BYs807xQk/TURV4SdaAAI/AAAAAAAAAFU/GIJq0_959FU/clip_image001_thumb.gif?imgmax=800" width="244" height="184" /></a></p> <p align="justify">Then I had the chance to review Zarrellas’ “<strong>The Facebook Marketing Book</strong>” which finally helped me finding out. It is not a silly attempt to create an interesting history from a dull money-making one, as the movie is, but rather a clean and practical way to learn what can be done with Facebook in order to perform a good Web 2.0 marketing attempt. A word of advice though: no magical recipes are going to be found here, any marketing effort just gets as good as the persons doing it. </p> <p align="justify"> </p> <p align="justify">The book is a very easy reading: each topic covered has an accompanying screenshot of real life Facebook’s examples, which gives also some hints on what companies to follow or “mimic” when doing your own marketing efforts. The book covers in 12 chapters the main aspects of Facebook: Profiles, Pages, Groups, Events, Analytics… etc. After reading each chapter a clear idea is obtained of what the purpose of each of those elements is in Facebook’s world, when, how and what for they can be used. And upon closing the book I really think I now understand where the money in Facebook can be found and why so many companies are there trying to get as many “Fans” as possible.</p> <p align="justify">There are a couple things missing on the book that I would have really love to have found included, and thus my rating of it doesn’t get too high:</p> <ul> <li> <div align="justify">First, nowhere in the book I found a good basic guide of a Web 2.0 marketing campaign using Facebook. A chapter covering a simple “how to” once all the main Facebook’s components have been explained would have really rounded up the book, even considering that there’s no “one size fits all” advice. But given that the book seems to have been thought as a “newbies” guide into Facebook’s marketing, I missed this. </div> </li> <li> <div align="justify">Second, I found that the Application devoted chapter was too bleak not giving too much value on how to actually program those apps. Ok, this is a marketing focused book and it does actually talk about what can be done with Facebook apps so as to get more “marketing revenue” so, well, I cannot really complain about this. But being the IT kind of guy that likes trying everything, I missed it, just a bit. </div> </li> </ul> <p align="justify">All in all, a good reading which doesn’t require a big effort to get through, gives a good bunch of good advices and examples and can give you a good idea of what really is that Facebook about (the money, that is!).</p> <p align="justify">The book is here <a href="http://oreilly.com/catalog/9781449388485/">http://oreilly.com/catalog/9781449388485/</a></p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com3tag:blogger.com,1999:blog-7011359378493428967.post-89188333705327114572011-01-17T23:59:00.001+01:002011-01-17T23:59:54.768+01:00Tapworthy or keys for great iPhone (and other) apps<p align="justify">Just had some time to watch this O'Reilly Webcast: <strong>Tapworthy - Designing iPhone Interfaces for Delight and Usability</strong> (<a href="http://www.youtube.com/watch?v=QU5Il9qVfbM&utm_content=em-orm-Webcast+PR+-+Tapworthy+2+Recording+Available&utm_campaign=Webcasts+PR&utm_source=iPost&utm_medium=email&imm_mid=068d84&cmp=em-orm-Webcast+PR+-+Tapworthy+2+Recording+Available" target="_blank">Link</a>) and found it really useful, so thought it would be a good idea to share it and also keep it on my Blog for future reference.. Josh Clark (Twitter @globalmoxie and web <a href="http://www.globalmoxie.com">http://www.globalmoxie.com</a>) makes a quick resume in just about 1:20 hours of key points of an iPhone application, but that can also be applied to any mobile platform as well. </p> <p align="justify">Key aspects to consider:</p> <blockquote> <p align="justify">What makes an app mobile? <br />- Micro tasking app.: small apps for small (but relevant) tasks  <br />- Local: apps to enhance my local experience  <br />- Bored: “pastime” apps.</p> </blockquote> <blockquote> <p>How can we create “Tapworthy” apps: <br />- Focus on mobile context <br />- Optimize for micro-tasking <br />- Use sensors to enhance local context <br />- Create opportunities for exploration <br />- Complex != complicated <br />- Do one thing and do it well</p> </blockquote> <blockquote> <p>And finally work on “Finger-friendly” design: <br />- Use the thumb's hot zone <br />- Design to a 44-point rhythm (font size) <br />- Be generous with space <br />- Content at top, controls at bottom <br />- Avoid scrolling where practical <br />- Put secondary controls behind hidden doors</p> </blockquote> <p align="left">As said, very interesting bits of information that suggest reading Josh’s book must be worth it! In the meantime, the video is a fast and free way to get some very good advice. </p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0tag:blogger.com,1999:blog-7011359378493428967.post-32854794429767162552011-01-14T08:48:00.001+01:002011-01-14T08:48:59.287+01:00A por los libros digitales<p>Finalmente he caído y he comprado el <a href="http://www.amazon.com/gp/product/B003DZ1Y7M/ref=oss_product" target="_blank">Kindle de Amazon</a>. Es un pedazo de eBook por lo que he leído por ahí y tengo unas ganas enormes de tenerlo y empezar a usarlo, que se me están acumulando los libros para leer!</p> <p>La única “pega” es que el tiempo de entrega de Amazon para este dispositivo es de 9 días desde la compra… ¡se me va a hacer larga la espera!</p> Zalakainhttp://www.blogger.com/profile/00160932674114067166noreply@blogger.com0