Detectar teléfono vs tableta

¿Hay alguna forma de detectar si el usuario está usando una tableta o un teléfono? Como ejemplo, una persona que navega por la web usando una tableta (cualquier tableta Android con versión 3+ y iPad) seguramente le gustaría ver la misma versión no despojada que una persona sentada con una computadora de escritorio. Y un surfista por teléfono seguramente preferiría la versión simplificada del sitio porque es más rápida de cargar y puede ser más fácil de navegar con el pulgar. Esto podría hacerse comprobando el ancho de pantalla de oct de UserAgent que se encuentra aquí:

Cuál es la mejor manera de detectar un dispositivo móvil en jQuery?

Pero el problema viene con un teléfono como Google Galaxy Nexus que tiene la misma resolución que una tableta pero solo la mitad del tamaño de la pantalla. En mi opinión, sería mejor mostrar la versión móvil ya que la pantalla es pequeña aunque la resolución sea alta.

¿Hay alguna forma de detectar esto o tengo que hacer un compromiso?