¿Por qué la búsqueda de la aplicación de correo de iPhone es tan mala?

Pensé que respondería esta pregunta para 2015. Divulgación completa: soy el fundador de SlideMail y he estado desarrollando una aplicación de correo electrónico para iOS por algún tiempo.

Respuesta corta
La búsqueda es realmente difícil.

De alguna manera damos por sentado que la búsqueda se da por hecho, ya que Google se ha convertido en el monopolio dominante en la industria de la búsqueda y han sido muy buenos en eso: cientos de miles, si no millones de resultados en centésimas de segundo. ¿Por qué no podemos simplemente aplicar esto al correo electrónico?

Busqueda local
A partir de 2015, parece que la aplicación de correo Apple iOS todavía almacena en caché solo varios cientos / miles de correos electrónicos a la vez. Para la búsqueda local, a menudo puede ser rápido, pero aún está buscando un cuerpo de búsqueda de cientos de miles de palabras. Básicamente, estás intercambiando una búsqueda profunda de velocidad.

Búsqueda de servidor
Después de buscar a través de sus correos electrónicos locales, intentará buscar el correo electrónico en los servidores de su proveedor de correo. Los resultados pueden variar según el proveedor de correo, pero aquí es donde generalmente se produce la desaceleración.

Debido a que IMAP es un sistema tan arcaico, primero tendrá que buscar las palabras clave, obtener una lista de ID que correspondan al correo electrónico, luego descargarlas, luego descargar su contenido y finalmente presentarlo. Cada uno de estos pasos puede tomar entre medio segundo a un segundo entero o más, dependiendo de su red. Puedes ver cómo esto se suma:

1. Encuentre ID de correo electrónico que coincidan con palabras clave
2. Descargar encabezados de correo electrónico del servidor de correo
3. Descargue el cuerpo del correo electrónico desde el servidor de correo
4. Renderice el HTML de los cuerpos de correo electrónico

Diferencia entre búsqueda web y búsqueda de correo
De lo que no nos damos cuenta es que con la búsqueda web de Google, en realidad hacen mucho trabajo para almacenar en caché y paralelizar sus búsquedas. Su contenido no es entregado por un solo servidor, no cientos, sino literalmente MILES si no DEcenas de MILES de servidores simultáneamente. Casi puedo garantizarle que cada término de búsqueda popular que se ha buscado ya se ha almacenado en caché y se entrega instantáneamente desde la memoria.

La diferencia es que con la búsqueda de correo, generalmente solo aprovechamos un solo servidor, y la mayoría de las veces sin los beneficios del almacenamiento en caché.

¿Cómo arreglamos esto? + enchufe descarado
En SlideMail, buscamos constantemente formas de mejorar la experiencia del correo electrónico. La búsqueda es un gran punto de dolor. Todavía no lo hemos aclarado, pero planteamos la hipótesis de que resolver el problema de búsqueda por correo electrónico será muy parecido a resolver el problema de búsqueda web y debe abordarse de manera similar. Como tal, estamos tratando de mejorar las velocidades a través de un mejor almacenamiento en caché local y utilizando la paralelización en el lado del servidor.

Al igual que Sebastien Page, iOS guarda solo unos pocos cientos / mil mensajes por cuenta en su teléfono. No es más o menos 50, es decir por carpeta, por cuenta más, dependiendo del número de carpetas.

Por lo tanto, Spotlight solo buscará en los mensajes almacenados en caché en su dispositivo. Esa opción Buscar en el servidor es realmente lenta, dependiendo del tipo de cuenta que use. La búsqueda a través de IMAP es en general lenta, IMAP es anterior a los días de Google y GMail. No todas las implementaciones admiten la búsqueda a través de cuerpos de correo electrónico, por ejemplo.

Mis cuentas principales están en Gmail, así que personalmente cuando necesito encontrar un mensaje, enciendo Safari, voy a la aplicación web de Gmail y busco de esa manera.

Hay muchas buenas razones por las que es malo (caché local versus búsqueda del lado del servidor, limitaciones de la búsqueda de palabras clave sin términos booleanos, limitaciones de cómo las aplicaciones se comunican con el servidor de correo y entre sí, etc.) pero ¿qué tal si ofrezco una solución?

Mi equipo y yo (actualmente parte del programa TechStars Chicago) acabamos de lanzar una aplicación diseñada específicamente para hacer que la búsqueda de correo electrónico en su teléfono … me atrevo a decirlo … una experiencia agradable.

Aquí está el enlace a nuestro sitio web -> Perder la ansiedad. Encuentra correos electrónicos y archivos rápidamente.
Enlace directo a la aplicación -> http://bit.ly/12LoISA