AppCooker o cómo diseñar Apps para iOS desde el iPad

AppCooker Storyboard

Como desarrollador de Apps Móviles sé que la creación de una App va más allá del código, primero hay que tener una buena idea, luego hay que plantearla, diseñarla y por último programarla, normalmente es complicado hacer todo esto ya que nos basamos en diferentes herramientas, pues bien AppCooker es una App para diseñar Apps para iOS.

He probado la App y puedo decirles que es una pequeña maravilla, ya que abarca muchas áreas del desarrollo, nos permite por ejemplo definir la idea de la que partimos, clasificar nuestra App según las categorías de la App Store, tomar notas de las funcionalidades, requisitos y distinciones que va a tener nuestra creación, también incluso existe una sección para diseñar nuestro icono a manera de “Mockup” o “Bosquejo” para un posterior diseño en una aplicación específica, o si ya contamos con este diseño podemos importarlo para ver cómo se verá en los diferentes tamaños que se necesitan.

AppCooker

También podemos hacer un Mockup de las pantallas de las que constará nuesta aplicación, ya que AppCooker incluye muchos de los elementos gráficos que Xcode nos permite utilizar, de esa manera creamos bosquejos rápidos muy similares y a veces idénticos a lo que podemos realizar en programación, esto es excelente para presentarle un diseño previo ya sea a nuestros clientes o a nuestro equipo de trabajo.

¿Lo mejor? No sólo son bosquejos estáticos, sino que podemos hacerlos dinámicos para que nuestros clientes o colaboradores puedan ver cómo funcionaría a grandes razgos la App, esto creando transiciones y enlaces entre las diferentes pantallas y con ayuda de otra App llamada “AppTaster” la cual es gratuita de descargar y nos permite enviarle a diferentes personas el prototipo dinámico para que nos den sus opiniones, además de que AppCooker ya fue actualizada para iOS 7 incluyendo los componentes estilizados a la nueva interfaz.

La desventaja es que AppCooker sólo está disponible para iPad lo cual es bastante lógico debido a que nos permite mayor control sobre las diferentes opciones que nos presenta, sin embargo no estaría de más que hubiera una versión para iPhone para cuando se nos occuren ideas y sólo tenemos el teléfono a la mano.

AppCooker Storyboard

No es una App especialmente barata, cuesta $200 pesos mexicanos en la AppStore, sin embargo para los que nos dedicamos al desarrollo de Apps para iOS realmente lo vale, nos ayuda a través del largo proceso de desarrollo y más aún nos ayuda a crear algo visual antes de empezar a tocar código.

Ahora la sorpresa; En GigaBriones tenemos 5 códigos para descargar AppCooker completamente gratis y van para las primeras personas que sigan los pasos:

1.- Sigan a @GigaBriones en Twitter

2.- Mandar un tweet que diga “Quiero mi código para descargar gratis #AppCooker cortesía de @GigaBriones”

Cabe mencionar que tienen que tener un iPad con iOS 7 para que les funcione, y por favor no pidan el código si no van a utilizar la App, dejémos que los que la necesitan se beneficien.

Descargar AppCooker en AppStore

¡Disfruten!

 

Ubuntu 9.10 Se Acerca: Las Novedades

Ya han pasado casi seis meses desde que Ubuntu 9.04 Jaunty Jackalope vio la luz, por lo que ahora estamos a pocos días de la salida de la nueva versión de esta excelente distribución de GNU/Linux, me refiero obviamente a Ubuntu 9.10 Karmic Koala.

Hace unos días se ha liberado la única versión BETA que tendrá Karmic, y yo como buena víctima de la versionitis ya he actualizado mi versión sin necesidad de reinstalar. La verdad es que cada nueva versión de Ubuntu se parece bastante a la anterior, ya que Canonical no se ha caracterizado por ser atrevida en cuanto a cambios en el diseño, de hecho hace muchas versiones que se ha ido posponiendo el “cambio de cara” que merece, por lo que los cambios no se centran especialmente en el aspecto de Ubuntu, más si tiene una serie de novedades interesantes que me tomé la libertad de copiar de Muy Linux:

1. Adiós a Ekiga

La aplicación VoIP no es demasiado popular entre los usuarios de Ubuntu, y de hecho además de no ser utilizada por casi nadie, ocupaba una buena porción del espacio de la instalación. En Canonical han decidido eliminarla de la instalación por defecto -seguirá estando en los repositorios, por supuesto-, y eso hará que el impulso a Empathy (en favor de Pidgin, que también pierde relevancia) sea aún mayor.

2. Integración con Wine

La instalación e integración de aplicaciones de Windows con Wine bajo Ubuntu será mucho mejor en Karmic Koala gracias a una nueva serie de componentes que mejorarán esa transparencia con herramientas de Windows ejecutadas directamente bajo Linux.

Aproximadamente la mitad de usuarios de Ubuntu aprovechan Wine para instalar y usar alguna utilidad de Windows, pero en muchas ocasiones la instalación y ejecución no funciona tan bien como debiera y la desinstalación también puede ser problemática. Entre las mejoras están:

- Detección y gestión de versiones previas de Wine: de hecho se nos preguntará si queremos instalar Wine -si es que no lo tenemos instalado- cuando tratemos de pinchar en un ejecutable de Windows para instalarlo bajo Ubuntu.

- Podremos desinstalar aplicaciones de Wine a través de la utilidad “Añadir y quitar programas” de Ubuntu.

- Habrá un panel de control en GNOME para gestionar las aplicaciones de Wine.

- Los archivos .EXE dispondrán de un nuevo icono que se combinará con un pequeño icono de Wine cuando los veamos en Nautilus.

Además cambiarán las entradas del menú de GNOME para Wine, y por ejemplo el marcador para el disco C: virtual de Wine estará disponible en el menú de “Lugares”, y la opción de “Configuración de Wine” estará disponible desde Sistema -> Preferencias -> Wine Apps.

3. Asistente de migración mejorado

Como ya sabréis los que usáis Ubuntu, durante la instalación de las últimas versiones se presentaba un cuadro de diálogo para poder migrar documentos y preferencias de Windows (marcadores de Firefox, por ejemplo) a nuestra instalación de Ubuntu.

Sin embargo, ahora ese asistente se ha reescrito en Python para mejorar su gestión y desarrollo, y en lugar de aparecer durante la instalación la opción se presentará dentro del menú Sistema. Lo malo de esto es que no podremos migrar documentos durante la instalación, algo adecuado si queremos sustituir totalmente Windows por Ubuntu. Eso sí, esta opción es mejor para instalaciones duales en las que queramos mantener tanto Windows como Ubuntu.

Ese nuevo asistente de migración permitirá ahora:

- Soporte de migración desde diversos sistemas operativos, incluyendo de Windows XP a Windows 7, Mac OS X y otras distribuciones Linux.

- Tipos de documentos y fuentes de migración:

- Clientes de correo: Thunderbird, Outlook, Evolution (contactos, preferenias de las cuentas, mensajes de correo, calendario),

- Reproductores multimedia: iTunes Banshee, Rythmbox, Windows Media Player (tanto la música como las listas de reproducción),

- Navegadores: Chrome, Firefox, Internet Explorer, Safari, Opera (favoritos, página de inicio, historial),

- Clientes de mensajería instantánea: AOL IM, Yahoo! IM, MSN, Pidgi (cuentas, contactos, registros de conversaciones),

- Preferencias del sistema : fondo de pantalla, documentos, ficheros del escritorio, fuentes, imágenes, contraseñas de redes WPA/WEP.

4. Nueva interfaz para el gestor de conexiones

La revisión de la interfaz del conocido Network Manager permitirá eliminar todas las opciones redundantes y que provocan confusión, y también permitirá que el descubrimiento de nuevas redes y la conexión a ellas mucho más sencillo.

Revised Applet Dialog

Además el applet de conexión presenta nuevos iconos y una mejor organización.

5. Integración con redes sociales

Otro de los apartados a los que Karmic Koala prestará atención será el de la integración con servicios como Empathy, Evolution, o Gmail, sobre todo a la hora de mostrarnos como disponibles o no para poder chatear o mantener conversaciones de audio y vídeo con usuarios de estas alternativas.

messaging-menu-karmic

6. Asistente de limpieza

Esta utilidad permite dejar nuestra instalación limpita de documentos y aplicaciones redundantes o que no usamos, y tal y como se puede comprobar en la página wiki de la documentación, su interfaz también sufrirá cambios para que la interfaz sea más clara y podamos eliminar paquetes y elegir con cuáles nos quedamos de una forma más sencilla.

7. Ubuntu One

El servicio de integración de documentos y preferencias de Canonical también sufrirá un cambio relevante en Karmic, ya que la integración con la distribución será mucho mayor. Aunque este servicio estilo DropBox permite ya ser utilizado desde Ubuntu -pero no desde otras distribuciones o sistemas operativos, lástima- su inclusión y uso en Karmic Koala hará que la integración sea más natural.

8. De Wubi a una instalación completa

Una de las novedades más interesantes será sin duda las mejoras realizadas en Wubi. Este sistema permitía instalar Ubuntu dentro de una imagen de disco virtual bajo Windows, de modo que pudiéramos instalar Ubuntu sin tener que modificar el mapa de particiones que ya tuviéramos realizado en Windows.

Ahora Wubi dará la opción de migrar esa instalación virtual y convertirla en una instalación real en una partición dedicada, lo que permitirá ganar rendimiento y acceder a un sistema Linux completo, con todas las ventajas.

Cuando se inserte un CD de instalación de Ubuntu en un sistema Wubi, se detectará ese medio y el sistema preguntará al usuario si quiere migrar su instalación existente o instalar una versión nueva de Ubuntu, y por ejemplo se resolverán los conflictos con el fichero /etc/fstab, que se reescribirá desde cero para la migración.

9. Empathy o Pidgin

La decisión sobre la inclusión de Empathy como cliente de mensajería instantánea y video-audioconferencia sigue siendo uno de los debates más candentes entre los usuarios de Ubuntu, que estaban acostumbrados a Pidgin.

Y ahora que este cliente de mensajería ha ganado soporte preliminar para conferencias de audio y vídeo puede que la decisión de Canonical cambie. SI bien Empathy parece ser definitivamente el elegido en Ubuntu 9.10, la evolución de Pidgin podría marcar su vuelta a la instalación por defecto. Como siempre, también podremos instalar Pidgin desde los repositorios.

10. XSplash para el arranque

El futuro del sistema de visualización del arranque en Ubuntu pasa por la utilización de XSplash, un sistema que proporciona mejoras visuales importantes que de hecho se han incorporado a Karmic Koala justo antes de la congelación de características de esta edición.El sistema es similar a Plymouth, la alternativa utilizada por Fedora, y supondrá otro de los cambios que afectan al aspecto visual.

Al ser una versión BETA aún, no es recomendable actualizar a menos que te puedas dar el lujo de experimentar errores y posibles cuelges del sistema, por mi parte siempre me ha gustado probar las ultimas versiones a riesgo de tener problemas, pero es decisión de cada quien. Por lo pronto espero ansiosamente para la versión final que se espera el 29 de Octubre y así reinstalar desde cero.

Concurso: Crea Un Header Para GigaBriones

Muchos de ustedes habrán notado que hace tiempo cambié el aspecto del blog, y la verdad es que buena falta le hacía lo malo es que con el cambio vienen los problemas y es que el header que tengo actualmente ya no se ve bien con el nuevo estilo de GigaBriones, no cuento con fondos para pagar el diseño un nuevo header, sin embargo les tengo una tentadora oferta a los diseñadores que quieran participar.

El header actual es este:

La meta es crear un header para GigaBriones que quedé acorde al nuevo theme del blog, ¿que ofrezco a cambio?:

  • Para el primer lugar: 1 Banner en GigaBriones y en Humor Friki durante 2 meses en cada uno.
  • Segundo lugar: 1 Banner en GigaBriones y en Humor Friki durante 1 mes en cada uno.
  • Tercer lugar: 1 Banner en GigaBriones durante 20 días.

La mecanica que se me ocurre es sencilla, simplemente elaboren un header de la manera que prefieran, siempre que el diseño tenga que ver con Tecnología, Internet y/o Linux , y obviamente lleve el nombre y el slogan del blog:

GigaBriones | La Informática Nunca Fue Tan Sencilla

Para participar solo tienen que dejar una entrada en esta entrada anunciando que desean participar, una vez terminada su propuesta de header, pueden mandarmela mediante el formulario de Contacto.

Aún no sé como decidir al ganador, una opción es que yo escoja el header que más me agrade e ir otorgando los lugares, otra opción es que yo escoja los tres que más me gusten y luego haga una votación para que sean los lectores los que elijan el mejor.

Los banners que ofrezco son los que aparecen a un lado del blog, de 125 x 125 y con más de 1200 visitas diarias en GigaBriones y más de 400 en Humor Friki puede resultarles muy efectivo.

¿Te animas a participar?

13 Consejos Para Comentar Tu Codigo

1. Comenta a varios niveles

Comenta los distintos bloques de los que se compone tu código, aplicando un criterio uniforme y distinto para cada nivel. Puedes, por ejemplo, seguir un modelo como:

  • En cada clase, incluir una breve descripción, su autor y fecha de última modificación
  • Por cada método, una descripción de su objeto y funcionalidades, así como de los parámetros y resultados obtenidos

En realidad, lo importante es ceñirse a unas normas (comúnmente aceptadas si se trata de trabajo en equipo) y aplicarlas siempre. Las reglas concretas pueden ser elegidas a la conveniencia de cada cual.

Obviamente, una solución bastante aceptable e incluso aconsejable es utilizar las convenciones y herramientas (como XML en C# ó Javadoc para el mundo Java) que ayudan y facilitan esta tarea.

2. Usa párrafos comentados

Como complemento al punto anterior, es recomendable dividir un bloque de código extenso en “párrafos” que realicen una tarea simple, e introducir un comentario al principio de forma que se guíe al lector, precediéndolos, además, de una línea en blanco que ayude a separar cada uno del anterior.

  ...

  // Comprobamos si todos los datos
  // son correctos
  foreach (Record record in records)
  {
     if (rec.checkStatus()==Status.OK)
     {
        ...
     }
  }

  // Ahora pasamos a realizar las
  // transacciones
  Context ctx = new ApplicationContext();
  ctx.BeginTransaction();
  ...

3. Tabula por igual los comentarios de líneas consecutivas

Si tenemos un bloque de líneas de código donde existe por cada una de ellas un comentario, es buena costumbre tabularlos todos a la misma posición, de forma que quedarán alineados y serán más sencillos de leer, sobre todo si forman parte de la misma frase.

  const MAX_ITEMS = 10; // Número máximo de paquetes
  const MASK = 0x1F;    // Máscara de bits TCP

Ojo a las tabulaciones. Hay editores que usan el carácter ASCII (9) y otros, en cambio, lo sustituyen por un número determinado de espacios, que suelen variar según las preferencias personales del desarrollador. Lo mejor es usar espacios simples o asegurarse de que esto es lo que hace el IDE correspondiente.

4. No insultes la inteligencia del lector

Debemos evitar comentarios absurdos como:

   if (a == 5)     // Si a vale cinco, ...
      counter = 0; // ... ponemos el contador a cero
   ...

Este exceso necesita mucho tiempo a la hora de su creación, lo necesitará para su mantenimiento y, además, la mayoría de las veces distraerá al lector con detalles que no es necesario conocer o que pueden ser deducidos echando un vistazo al código.

5. Sé correcto

Evita comentarios del tipo “ahora compruebo que el estúpido usuario no haya introducido un número negativo”, o “este parche corrije el efecto colateral producido por la patética implementación del inepto desarrollador inicial”.

El uso de este tipo de comentarios no dice nada a favor de su creador, y, además, nunca se sabe quién los va a leer en el futuro. Emarts, en “Sapos, culebras y código fuente” muestra ejemplos de comentarios de este tipo.

Otro tema relacionado y, a mi entender, igualmente importante: cuida la ortografía. El hecho de que los comentarios no se vean desde el exterior no implican que puedas descuidarlos. Una ortografía correcta mejora la calidad de la expresión escrita y, por tanto, de la comunicación, que es de lo que se trata.

6. No pierdas el tiempo

No comentes si no es necesario, no escribas nada más que Continuar leyendo

Tips Para Programar Mejor

Estudio ingenieria en sistemas computacionales, y una de las cosas que se les dificulta a muchos de mis compañer@s y amig@s es la programación, por lo que al encontrar estos tips de programación, no dude en postearlos, tal vez alguno de ellos los lea y les sirva, del que mas estoy de acuerdo es del primer punto, no programes porque tienes que, programa porque quieres ;) :Geek Frustrado

Bueno hoy les quiero compartir unos “tips” que les pueden servir mucho a la hora de programar, sobretodo a los que apenas van iniciando en ese campo. No soy un programador perfecto, pero en base al tiempo que llevo programando estos puntos me han servido mucho.

  • Lo primero que uno necesita para programar mejor es tener gusto para programar sin gusto es muy dificil que aprendas aun pagues el curso mas caro.
  • Necesitas tener iniciativa, un programador con iniciativa es alguien que se adelanta a los hechos, que investiga, que tiene un afan de ser mejor, un ejemplo puede ser la busqueda constante de nuevas tecnologías, librerias, el aprender a utilizar cierta libreria antes de que se le pida.
  • Ser abierto a escuchar otras opiniones, no siempre nuestras formas de resolver las cosas son las mejores.
  • Entiende y analiza bien las cosas antes de ponerte a codificar. Busca ejemplos similares, preguntale a alguien que haya hecho algo semejante, has pruebas de las ideas que tengas para solucionarlo. Siempre es mejor empezar con una idea de lo que se quiere.
  • Cuando analices un problema busca los pros y contras de todas las posibles soluciones, de manera que puedas escoger la mas segura y la que mejor se adapte a tus necesidades.
  • Si no sabes algo investiga para eso tenemos a nuestro amigo google y si el no te responde preguntale a alguien que ya haya tenido ese problema.
  • Si tienes algun problema piensa que muchas otras personas han tenido ese mismo problema, investiga en google alguna solución no te quedes pasmado y quebrandote la cabeza por algo que de seguro encontraras solucionado.
  • No inventes el hilo negro ten por seguro que si necesitas alguna libreria o función ha algun otro ya se le habra ocurrido hacerla investiga! si no encuentras una que te resuelva todas tus necesidades al menos encuentras una que te de una idea para que puedas realizar la tuya.
  • Lean blogs, aprendan nuevos lenguajes, librerias, frameworks. Si te quedas con lo que has aprendido el trabajo puedes quedar obsoleto.
  • No esperes a aprender algo si no lo pruebas primero (a menos que seas un genio y solo con ver las cosas ya te las sabes).

Trata siempre de seguir estas etapas en todo lo que programes:

  • Análisis: En esta etapa analiza y entiende bien lo que te estan pidiendo, pregunta, resuelve tus dudas. NO pases de esta etapa sin antes haber entendido bien lo que quieres hacer y el objetivo al cual quieres llegar.
  • Diseño: Una ves entendido el problema ahora tienes que encontrar una lógica para resolverlo, plantealo en papel, utiliza UML en el mejor de los casos, prueba las librerias que piensas necesitar, documentate de las funciones o librerias que vas a necesitar, para que cuando pases a la codificación no te detengas ni pierdas tiempo para a aprender a utilizar algo.
  • Codificación: Ya que tienes la lógica, y has probado todo con anticipación ahora toca el turno de codificar. Creeme que si has seguido las etapas anteriores ahora se te va a hacer mas sencillo la codificación
  • Pruebas: Esta etapa es la mas importante de todas, prueba cada una de las cosas que realizes no esperes a terminar todo el proyecto, prueba cada módulo y no pases a otro hasta que te haya dado los resultados esperados. De nada sirve haberlo terminado de codificar sin errores si no obtienes los resultados que querias.

Recuerden no hace falta conocer perfectamente un lenguaje, el programar no es conocer un lenguaje, el programar es tener lógica para resolver un problema para esto utilizando un lenguaje. Creanme que si tienen esa lógica y ya estan acostumbrados a utilizar un lenguaje de programación, el dia de mañana que tengas que pasarte a otro lenguaje no vas a tener mucha dificultad en adaptarte.

Fuente: Webadictos