lunes, 15 de enero de 2018

Educando a un cliente.

Aquí os dejo un post que escribí y llegó a la fase final de un concurso de redacción de posts en nubelo.

¿A qué viene el concepto de “Análisis” en tu presupuesto?

Ésta suele ser una de las primeras preguntas que me suele hacer un cliente cuando le preparo un presupuesto. Cualquiera que haya estudiado algún curso o asignatura de programación, sabe que la primera fase de un proyecto debe ser el análisis. Nuestro error como profesionales suele llegar cuando damos por sentado que el cliente también lo sabe. Nuestra misión debe consistir en educar a nuestros clientes, haciéndoles comprender que un buen análisis requiere un tiempo. Dicho tiempo nos permitirá analizar, estructurar y preparar el proyecto para que su desarrollo sea más rápido y consistente. Evidentemente, ese tiempo se debe cuantificar dentro del periodo de desarrollo del proyecto y por lo tanto se debe facturar como parte de él.

¿Y el concepto de “Pruebas y corrección de errores”?


Cuando he conseguido hacer comprender al cliente la primera pregunta, siempre realizan la segunda. En cualquier proyecto de desarrollo de software, aunque utilicemos Desarrollo Orientado a Pruebas e Integración Continua, siempre, siempre, siempre hay errores. Para detectarlos hay que realizar pruebas. Una vez detectados hay que corregirlos. Una vez corregidos hay que volver a realizar pruebas. Todo esto significa tiempo, y como bien sabéis, tiempo significa dinero que se debe facturar. Tengo compañeros que optan por omitir este concepto en el presupuesto y lo camuflan dentro del tiempo de desarrollo. Yo soy de la opinión, de que intentar explicar estos conceptos al cliente les ayuda a tener una visión global de nuestro trabajo.

¿Me puedes añadir esto?


Típica pregunta/petición que suele realizar un cliente cuando el estado del desarrollo es avanzado o está terminado. La respuesta siempre debe ser la misma, “Claro, te lo presupuesto y si estás conforme lo hago”. Tras esta respuesta debéis estar preparados para una mala cara e intentad explicar la situación al cliente. Yo siempre pongo un ejemplo, “Imagina que vas a un bar y pides una tostada con tomate. Una vez que el camarero te la ha servido, le pides que le añada unas lonchitas de jamón”. Evidentemente el precio ya no es el mismo. Es exactamente lo que sucede con un proyecto de desarrollo de software. Para evitar estas situaciones siempre es aconsejable hacer un documento funcional con los requerimientos de nuestro cliente y firmarlo cuando se apruebe el presupuesto.

Si conseguimos educar a nuestros clientes para que comprendan nuestro trabajo, nuestra relación con ellos siempre podrá ser estable y duradera. Sin embargo, cuando no lo hacemos, los problemas con ellos se suelen enquistar y las relaciones laborales siempre terminan rompiéndose.



domingo, 23 de octubre de 2016

Cómo compartir pantalla desde tu MAC con el Apple TV

Hoy os voy a comentar un par de opciones para compartir la pantalla de vuestro MAC con el Apple TV.

Para la primera de ellas no necesitaremos ningún software de terceros. Simplemente tendremos que tener conectados el MAC y el Apple TV en la misma red wifi y seguir los pasos que enumeramos a continuación.

1. Abrimos "Preferencias del sistema". Como siempre si no lo tenemos a mano bastará con escribir en el Spotlight (la lupita de la esquina superior izquierda) el texto para que aparezca.





2. Pulsamos en el check de Pantalla de Airplay y seleccionamos nuestro Apple TV. Ahora podremos ver desde nuestro Apple TV el contenido de la pantalla de nuestro MAC.






La segunda opción es utilizando un software de terceros. Sabemos que hay muchas Apps que funcionan bien, pero yo os recomiendo Air Parrot, con un montón de funcionalidades.

Podéis utilizar una versión gratuita para probarla y después pagar sus merecidos 12,99 dólares.

http://www.airsquirrels.com/airparrot/


sábado, 17 de septiembre de 2016

UIImagePickerViewController no funciona en iOS 10

El artículo de hoy es exclusivamente para programadores iOS y como veis es bastante corto, pero útil. 

Si tenéis alguna App que utilice UIImagePickerViewController y tenéis pensado publicar alguna actualización en breve, os daréis cuenta que el controlador de las funciones de cámara se quedará frito.

La solución a este problema es bastante sencillo. Bastará con añadir nuevos permisos a nuestro plist.

NSCameraUsageDescription
NSPhotoLibraryUsageDescription

en iOS 10 hay que dar permisos a las Apps para utilizar diferentes frameworks. La relación de permisos la podréis encontrar en el siguiente enlace de Apple

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html


viernes, 6 de mayo de 2016

Cómo añadir fuentes en Mac OSX

Hoy os vamos a explicar un nuevo truco para OSX, cómo instalar una fuente nueva. Lo primero que tenemos que hacer es descargarnos la fuente que queramos añadir a nuestro catálogo tipográfico. Después buscamos en spotlight y abrimos el programa Catálogo Tipográfico.



Pulsamos sobre el botón + y añadimos la fuente que hayamos creado o descargado.

Ahora ya podemos jugar con las nuevas fuentes que hemos creado.

lunes, 18 de abril de 2016

JOYCAR o cómo funcionan las APPS en las PYMES

Hace unas semanas, en inup recibimos una petición de una PYME dedicada al sector de la venta de flotas de vehículos. Hasta ahí todo nos pareció medio normal, hasta que nuestro cliente nos comunicó que el público objetivo de este desarrollo no era global, sólo estaría destinada a profesionales del sector y ellos se encargarían de la difusión entre su "pequeño" grupo de clientes. Una APP como una herramienta más en el engranaje de la empresa de nuestro cliente ......... Great!






Una vez publicada la App tanto en iOS como en Android, nuestro cliente nos comenta que está entusiasmado con esta plataforma ya que, puede mandar ofertas mediante notificaciones Push al instante a los clientes que él desea.






Como todos sabemos, hoy en día la gente (sobre todo en sectores comerciales) pasan más tiempo con el SmartPhone que con el PC. Por tanto, es la mejor herramienta para su día a día en el trabajo. Debido a ello, nos están empezando a llegar peticiones de empresas que quieren sus desarrollos para utilizarlos como herramientas del día a día de sus trabajadores, no como la venta o muestra de un producto.




Aquí os dejo los enlaces de descarga:

iOS
Android 

sábado, 26 de marzo de 2016

¿Qué es CocoaPods?

Aviso, este artículo es para desarrolladores o proyectos de desarrolladores. Si no estáis interesados en la programación iOS podéis continuar leyendo el artículo, pero no os garantizo que podáis entender algo.

CocoaPods nos proporciona inyección de dependencias para iOS (también para OSX). En este artículo no entraré en la batalla de a favor o en contra de la inyección de independencias en un proyecto, simplemente me limitaré a explicar cómo hacerlo a través de cocoapods.

Tampoco vamos a explicar el patrón de diseño de DI (Dependency Injection), para eso hay numerosos libros y artículos por la red.

Lo primero que tendremos que hacer es abrir el terminal y escribir

$ sudo gem install cocoapods

Después creamos un proyecto en Xcode o utilizamos uno ya existente. En esta captura podéis ver un proyecto existente llamado inup donde tendremos que crear un archivo llamado Podfile con cualquier editor de texto. La otra opción es desde el terminal, en la ruta donde se encuentren el archivo del proyecto *.xcodeproj escribir el siguiente comando:


$ pod init


Vamos a añadir las dependencias necesarias para poder utilizar Google Analytics. La otra opción sería descargar el SDK y copiar los archivos y adjuntar las librerías necesarias. Pero como hemos comentado antes, en este artículo nos vamos a limitar al uso de cocoapods.

Para ello el archivo deberá contener lo siguiente:

platform :ios, '8.0'

target 'inup' do
  pod 'Google/Analytics', '~> 1.0.0'
end

Como podéis observar tenemos que indicar, plataforma, versión desde la cual será funcional, el nombre de la App (nombre del proyecto, NO el Bundle name aunque en la mayoría de las ocasiones coincide).

Podríamos añadir más dependencias tras la de Analytics y más comandos al archivo de configuración, pero lo dejaremos para un artículo posterior.

Volvemos a abrir el terminal y nos dirigimos a la ruta donde se encuentra el archivo Podfile y escribimos

$ pod install

Tras la ejecución de este comando si todo ha ido bien, si volvemos a la ruta del proyecto, veremos cómo se han creado una carpeta de Pod, un archivo Podfile.lock y un *.xcworkspace.



Pues bien, ahora podremos/deberemos abrir nuestro proyecto desde el archivo *.xcworkspace (también me dejo para otro artículo qué es y cómo trabajar con el *xcworkspace).

Si importamos 

#import <Google/Analytics.h> 

veremos como no salta ningún error ni ningún aviso y podemos trabajar directamente con la librería de Analytics (también me dejo esta librería para próximos artículos), sin necesidad de haber importado nada a mano (ejemplo práctico de inyección de dependencias).

Si queremos añadir otra dependencia bastará con añadirla a nuestro Podfile y con el proyecto cerrado desde el terminal escribir:

$ pod update

Si queréis más información en español habrá que esperar al próximo artículo. Mientras tanto y en inglés os recomiendo echar un ojo a cocoapods 



viernes, 25 de marzo de 2016

Bridzy, la App para novias

En inup hemos tenido la suerte de poder colaborar en un gran proyecto, Bridzy la red social para novias.

Si usted, querido lector, no se ha casado todavía, no se imagina la cantidad de preguntas, indecisiones y dudas surgirán desde que se da el "Sí quiero". Y tampoco se imagina la cantidad de quebraderos de cabeza y peleas que genera. Pues nuestro amigo Antonio Radován, se ha propuesto que la parte más complicada de esta emocionante etapa vital, sea más llevadera con la ayuda y experiencia de todas las novias que están a punto de pasar por capilla o ya lo han estado.

Las novias podrán chatear entre ellas, en salas comunes o en privado.


Podrán aconsejar diferentes lugares categorizándolos o ver las recomendaciones de otras novias.


¿Un Instagram propio sólo de novias? ¿Por qué no?



Como podéis ver, un gran proyecto que esperemos que ayude a todas las novias ........ y que los novios estén eternamente agradecidos.

 

Aquí os dejo los enlaces de descarga tanto de iOS como de Android así como sus diferentes Redes Sociales.

Web   iOS Android Twitter Facebook Instagram


Vídeo demo Bridzy from Bridzy App on Vimeo.