El iPhone que gritó puta

Posted on Marzo 4th, 2009 by Brocoli Fresco
Filed under Curiosidades | 1 Comment

El iPhone que gritó puta

Desde que en último año de carrera decidiera ir a trabajar a Alemania (y tuviera que aprender el idioma para subsistir) vengo utilizando una increíble y potente base de datos de palabras y expresiones inglés-alemán llamada Ding (cosa en la lengua germana).

Esta base de datos viene siendo desarrollada por Frank Richter, de la Universidad Tecnológica de Chemnitz (supongo que en España apodaríamos esta Universidad como Politécnica). Frank trabaja en el dpto. de informática de esta institución desde hace muchos años.

Ding cuenta actualmente con más de 160.000 términos traducidos y todos y cada uno de ellos han sido insertados por Richter y colaboradores, de forma manual. Una ardua tarea llevada a cabo sin pedir nada a cambio.

El politécnico de Chemnitz ha esponsorizado desde el primer momento el desarrollo de esta base de datos y de software relacionado con la explotación de la misma. El propio Richter tiene un par de programas muy sencillos y majos que, utilizando el comando grep internamente, escudriñan, buscan y presentan traducciones al usuario. Quizás, la piedra angular entorno a Ding es Beolingus, un completo servicio Web para presentar los resultados de las búsquedas en un navegador. La página de Beolingus cuelga directamente de la página de la Universidad de Chemnitz: todo un honor y un bonito reconocimiento a esta altruista labor.

Somos poca gente los que conocen Ding… aunque hay software de explotación para todas las arquitecturas, pero… no lo había para iPhoneOS… al menos cuando tuve la idea de portar Ding a este atractivo dispositivo.

Se trataba de mi primera aplicación para iPhone. Opté por un visualizador de Ding porque conozco bien la base de datos y porque quería empezar por una aplicación sencilla y útil. Aproveché las vacaciones de navidad pasadas para implementarla, pagar a Apple la licencia de desarrollador, liarme con temas de números de la seguridad social americanos (SSN), números de identificación de empleados (EIN) de la administración federal y más papeleo y burocracia (que reconozco que le quita algo encanto).

Finalmente consigo probar mi propio programa en mi propio iPod Touch y mandarla a la App Store, a revisión. En aquel momento (hace casi un mes) lo consideré un simple trámite, pensando que jamás nadie de Apple pudiera reprochar nada a un simple diccionario Alemán-Inglés. Por supuesto, como la aplicación está basada en una lista de traducciones licenciada como GPL, así también lo está mi aplicación: todo aquel que la compre y solicite el código fuente, lo tendrá. Además, y por respeto, mantuve contacto por email con el propio Frank Richter, que me dio su beneplácito para continuar con el proyecto.

Tras ocho días de espera, recibí un correo de la gente del iPhone Developer Program que me dice que mi aplicación queda rechazada por contener material ofensivo. Me quedo alucinado. Cito textualmente el contenido del correo:

Thank you for submitting Pammac German English Dictionary to the App Store. We’ve reviewed Pammac German English Dictionary and determined that we cannot post this version of your iPhone application to the App Store because it contains objectionable content and is in violation of Section 3.3.12 from the iPhone SDK Agreement which states:
Applications must not contain any obscene, pornographic, offensive or defamatory content or materials of any kind (text, graphics, images, photographs, etc.), or other content or materials that in Apple’s reasonable judgement may be found objectionable by iPhone or
iPod touch users.

Les respondo solicitándoles que sean más explícitos, ya que no entiendo nada. ¿Qué tiene de ofensivo un diccionario? Tardan otros 8 días en responderme. Me hacen llegar un par de capturas en las alguien ha buscado términos como Follar o Puta (adjunto las capturas). Vuelvo a quedarme sin palabras. No sé qué hacer… finalmente decido eliminar todas las expresiones ofensivas de la lista de palabras de Richter. Gracias a Dios (perdón, gracias a R. Stallman), la GPL me permite modificar la obra del autor. Me paso varios días pensando y eliminando posibles términos obscenos… todo para pasar la censura de Apple. Peo, culo, pis, caca… por citar algunos.

Finalmente vuelvo a enviar la aplicación y, tras otros ocho días, es admitida. Cuando S. Jobs presentó el SDK del iPhone y la AppStore, no me pareció mal que se filtrara contenido con el objetivo de crear un método de distribución de software decente… ¿pero es necesario llegar hasta ese extremo? ¿No son follar o puta palabras recogidas en cualquier diccionario oficial? Quiero volver a insistir en que la lista de palabras Ding está siendo ahora mismo utilizada y fomentada por una institución pública germana.

Nada más, he aprendido la lección. Mi próximo diccionario de Árabe-Inglés ya está pre-censurado.

Alberto Corbí.

Referencias:
Diccionario Beolingus
http://dict.tu-chemnitz.de

Página de Frank Richter
http://www-user.tu-chemnitz.de/~fri/ding

Enlace iTunes a mi aplicación
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=304312845&mt=8

Página oficial de la aplicación
http://en2de.pammac.net

Carga de datos externos en el iPhone SDK

Posted on Enero 7th, 2009 by Brocoli Fresco
Filed under Programación | No Comments

En el iPhone SDK no es posible cargar datos desde URLs externas (NSData, AVAudioPlayer, etc.). Todos los métodos initWithContentsOfURL ó *WithContentsOfURL  reportarán que no han leído nada… La única forma es utilizar la clase NSURLConnection e implementar varios métodos delegados que son los responsables de la descarga de datos empaquetados en un objeto NSMutableData. Ejemplo:
NSURLConnection [...]

Router Telefónica e iPhone/iPodTouch

Posted on Enero 7th, 2009 by Brocoli Fresco
Filed under Trucos | No Comments

Si tienes un router Telefónica habrás comprobado que tu iPodTouch/iPhone se conecta a la red inalámbrica pero no puedes navegar. Esto sucede porque la información del servidor DHCP no es correcta. La solución es muy sencilla. Primero hay que decirle al dispositivo que olvide el nombre de la red de nuestro router (normalmente, WLAN_XX). Esto [...]

MacWorld 09: el movimiento mágico

Posted on Enero 7th, 2009 by Brocoli Fresco
Filed under Aplicaciones, Software Comercial | No Comments

Lamentablemente no pude seguir la Keynote en directo gracias a Faq-Mac (día de reyes, lo siento), pero ya he podido ver los resultados de la misma en la página de Apple.
Mi opinión. Respecto a Hardware, lo esperado: la versión “pro” del unibody de alumnio. Nada que comentar. Quien se lo vaya a comprar: enhorabuena.
Lo [...]

SQLite en el iPhone SDK

Posted on Diciembre 23rd, 2008 by Brocoli Fresco
Filed under Sin categoría | No Comments

Estoy muy sorprendido de que el soporte Cocoa de SQLite en el iPhone sea tan pobre. Básicamente Apple propone usar el interfaz C de toda la vida. Pensaba que existiría algún wrapper “fait à la maison”…, una especie de UICoreData. Eso sí, existen varios ejemplos (1, 2, 3 y 4) de este raudo método de [...]