← Visualización de datos aleatorios | ↑ Principal | El análisis estadístico en el diseño →

Prototipado rápido en XcodeTutoriales

Escrito por Mark hace más de un año | 17 comentarios con 1 enlaces desde otros sitios

Uno de los aspectos más tediosos del desarrollo/diseño web es el diseño de formularios. Es inmensamente difícil hacer un formulario que:

  1. Sea fácil de usar
  2. Esté bien validado
  3. Esté protegido contra spam, XSS y SQL Injection
  4. Tenga consistencia visual entre navegadores
  5. Tenga código semántico y sea accesible

Para hacer un buen formulario hay que atacar el problema por etapas, y la más importante para el diseñador es el prototipado. Prototipar te permite verificaro o cambiar la información que le pides al usuario en un abrir y cerrar de ojos, si te pones a programar te va a ser más difícil hacer cambios por requerimientos de la arquitectura, o símplemente porque te encariñas con el código que ya escribiste.

Tip: nunca programes un formulario sin antes haberlo diseñado visualmente.

El lápiz y el papel sigue siendo el rey cuando se tata de prototipado rápido. Es indispensable para las etapas iniciales, pero una vez que tienes una buena idea de cómo va a ser el formulario, el salto entre lo esquemático (papel) y lo concreto (el código) es muy grande. Hace falta una etapa intermedia.

Hoy les voy a presentar el rediseño de un formulario mediante Xcode (en específico Interface Builder). Realmente lo puedes hacer con cualquier IDE que tenga soporte de GUIs. Me parece que bajo Windows, con Visual Studio .NET puedes hacer lo mismo y los principios son muy parecidos. Si tienes MacOS X, lo más probable es que no tengas Xcode instalado. Al momento de instalar MacOS es una opción que no está puesta por defecto, así que haz una búsqueda de "Interface Builder", y si no lo encuentras, vuelve a correr el disco de instalación con la opción para "Developer Tools" (o Xcode, dependiendo de la versión de MacOS que tengas. También lo puedes bajar gratuitamente pero al peso que tiene (924 MB), más vale que tengas una conexión rápida.

¿Ya instalaste Xcode? Entonces procedamos.

Abre interface Builder en la carpeta de Developer → Applications → Interface Builder, la primera pantalla que debes de ver es esta:

start.gif

Cocoa es el término que usa Apple para referirse a aplicaciones hechas específicamente para MacOS X, Carbon son las aplicaciones que funcionan bajo OS X y OS 9, pero el MacOS 9 está más que muerto así que no usen esta opción. En el diseño de formularios el punto de comienzo que más nos conviene es la subsección de CocoaChangablePaneDialog dentro de HIG, así que dale click y procede.

interface.gif

La ventana de "Preferencias de citas" es un formulario de ejemplo. Selecciona todo y bórralo. Luego, desde la ventana de Cocoa-text explora los íconos que vienen hasta arriba. Los páneles que más nos sirven son Cocoa-containers, Cocoa-data, Cocoa-text y Cocoa-controls:

panels.gif

Exploren todo, no hay manera de cagarla con Interface Builder. Sólo tienes que arrastrar los elementos desde estos páneles a la ventana de tu aplicación (en este caso "Preferencias de Citas"), y darle doble click para cambiar el texto. Interface Builder te pone guías para alinear y dejar espacios estándares de acuerdo a las guidelines de Aqua, los cuales son buenas referencias para el diseño web también.

Aquí hay un ejemplo de un prototipo de formulario que hice para rediseño del formulario de los comentarios de VallartaOnline:

prototipo.gif

Y el ejemplo ya programado y ajustado para web:

final.gif

Échenle un ojo al formulario en vivo para que vean cómo se comporta la validación y los detalles de javascript.

Gran herramienta, se las recomiendo muchísimo.

Comentarios Escribe un comentario

1. Alfredo Pinto
Escrito hace más de un año
Enero 17, 2007

Mil gracias por esta herramienta, esta excelente.
Permiteme devolver el favor con otra gran herramienta para hacer prototipos de sitios.
http://dub.washington.edu/denim/
Su nombre es Denim, personalmente me ha sido muy util cuando analizo los requerimientos con los clientes. espero les guste.

2. Jorge Cocompech
Escrito hace más de un año
Enero 17, 2007

Eres el puto master Mark

3. Sebastian
Escrito hace más de un año
Enero 17, 2007

Mark excelente dato lo voy a empezar a probar de inmediato. Lo único que siempre me pregunto con este tipo de herramientas es que si incluyen la programación de envío de los datos, es decir, si por ejemplo hago un formulario de contacto el sbmit queda funcionando o no?
Espero se entienda mi pregunta.

Saludos.

4. Sebastian
Escrito hace más de un año
Enero 17, 2007

Buuuu, el Xcode me dice que requiere Mac OSX 10.4.x. y yo tengo Mac OS X 10.3.x. que puedo hacer hay alternativas?

5. Mark
Escrito hace más de un año
Enero 17, 2007

Sebastián: de hecho Interface Builder no te sirve en nada para programar el formulario, sólo para "dibujarlo" antes de hacerlo a mano.

Si tienes el Panther (10.3) puedes registrarte gratuitamente en el Apple Developer Connection, luego buscar el Xcode 1.5 en los downloads. Esa es la versión que corre en el 10.3, y el funcionamiento de Interface Builder es casi idéntico.

Jorge: gracias por lo de master, pero no lo de puto, ja!

6. Sebastian
Escrito hace más de un año
Enero 17, 2007

Gracias Mark, instale Xcode y se ve que es una tremenda herramienta. En realidad para prototipar el diseño del sitio y sobre todo los formularios está rebueno y es bastante sencillo. Bueno como nunca está demás preguntar donde se pueden encontrar formularios de contactos programados? Saludos y gracias.

7. German
Escrito hace más de un año
Enero 17, 2007

Mark! QUita la liga de VallartaOnline de tu blog, se esta derritiendo el servidooooooooooooooooooooooor! OH NOOOooOOOOooOOOooooo!!!


Jajajajaja. =P
Chida la herramiento. Como dices, en efecto Visual Studio tiene un IDE drag n drop. TIP: Para desarrolladores, en VS puedes crear forumlarios ya programados con validacion, password, etc, con drag n drop, no solo "mockups". Y la interfaz es casi la misma para Win32 que para Web. Jijijiji.

Saludos!

8. Omi
Escrito hace más de un año
Enero 18, 2007

Super, pero me perdi. Cuando quise programar en Cocoa se mi hizo tan engorrosa la sintaxis y el dichoso modelito de Mac para programar, que despues de hacer dos intentos (en espaciados diferentes tiempos) de hacer el convertidor de grados de temperatura, acabe botandolo y jamas he vuelto a tocar el XCode Tools. Te digo esto porque no me quedo claro:

1) Pasar tu formulario a la liga que nos diste de review, quiere decir que existe algo tipo .net en mac? no sabia? Ojala pudieras explicarnos como se pasa (el proceso, en que se convierte) algo que se hace en el UI Builder a su forma web; estoy frito y muy interesado. Y hablo en general con otros widgets (combos, grids, etc)

2) Hasta donde puedo NO usar cocoa y hasta donde SI puedo usarlo para programar aplicaciones tipo .net; webapps que jalen pa la gente de windows pero que realice en la comodidad de mi mac. Has trabajado en algun caso similar? Por que si es rentable, entonces ese seria un buen motivante para programar en cocoa para cualquiera que tenga mac y no atorarse con una IDE popular bajo Windows.

De cualquier forma, chido por el post. Creo que debo dejar de ver tanta TV y sentarme a hacer cosas productivas. Ja!

9. ceronne
Escrito hace más de un año
Enero 18, 2007

Definitivamente quedó MUCHO mejor que la anterior versión :-)

Saludos Mark y Germán.

10. Mark
Escrito hace más de un año
Enero 19, 2007

Omi: jaja, tu comentario me recuerda a este tutorial de cómo dibujar. En realidad no se puede hacer un formulario web desde Interface Builder, para lo único que sirve es para hacer un prototipo. De hecho le puedes correr la interfaz y llenar los campos para ver si tienen el tamaño adecuado y cositas así, pero no va a exportar el formulario a HTML como lo hace Visual Studio.

Para hacerlo en tu Mac probablemente lo que más se asemeja es WebObjects, pero la neta es una plataforma bastante obsoleta y Apple la va a descontinuar en cualquier momento.

11. Omi
Escrito hace más de un año
Enero 20, 2007

No comms...

12. superdtd
Escrito hace más de un año
Enero 21, 2007

Buen post, pero falla un poco el punto 4 con esta solución que propones, no?

13. Miguel
Escrito hace más de un año
Febrero 27, 2007

Hola a todos mil disculpas sino es el sitio adecuado para hacer la siguiente pregunta, tengo una G5 con el sistema Tiger 10.4.8, quiero instalar un programa pero primero tengo que instalar el DARWINPORTS y antes de eso instalar primero los Xcode tools, luego de intentarlo muchas veces, en el terminal al digitar:
cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login

cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od co -P darwinports

y que se supone deberia de instalarme unas librerias me sale siempre el mensaje

Last login: Tue Feb 27 18:29:43 on ttyp1
Welcome to Darwin!
Gilberto:~ gilberto$ cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login
Logging in to :pserver:anonymous@anoncvs.opendarwin.org:2401/Volumes/src/cvs/od
CVS password:
cvs [login aborted]: connect to anoncvs.opendarwin.org(204.152.186.41):2401 failed: Operation timed out
Gilberto:~ gilberto$

Alguien me podria dar una ayuda o por lo menos una pagina para poder leer y encontrar mi error.

Gracias por la atencion ojala me puedan ayudar.

14. Mark
Escrito hace más de un año
Febrero 27, 2007

Hola Miguel, suena a que la dirección del servidor está mal o desactualizada. Ese "Operation timed out" significa que el servidor no responde.

Desde terminal pon "ping anoncvs.opendarwin.org" y si no te responde, busca la versión actualizada del servidor CVS.

15. Miguel
Escrito hace más de un año
Febrero 28, 2007

Hola Mark, agradesco tu respuesta, hice lo que me dices y mira el resultado :

Last login: Wed Feb 28 14:23:36 on ttyp1
Welcome to Darwin!
Gilberto:~ gilberto$ ping anoncvs.opendarwin.org
PING anoncvs.opendarwin.org (204.152.186.41): 56 data bytes


imagino que encontro el servidor, ahora entonces cual puede ser el parametro que esta mal cuando pongo :

cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login


estoy buscando los comandos del terminal para ver que esta mal tipeado, si tuvieses alguna informacion mas te lo agradesco, para que tengas una idea de que pagina que estoy revisando estos comandos :

http://www.faq-mac.com/mt/archives/007161.php

Escribe un comentario

(opcional)

(opcional)