Detectar telefone vs tablet

Existe uma maneira de detectar se o usuário está usando um tablet ou telefone? Como exemplo, uma pessoa que navega na Web usando um tablet (qualquer tablet Android com a versão 3+ e iPad) certamente gostaria de ver a mesma versão não simplificada de uma pessoa sentada em um computador desktop. E um surfista por telefone certamente prefere a versão simplificada do site, porque é mais rápido para carregar e pode ser mais fácil navegar com o polegar. Isso pode ser feito com a verificação da largura da tela de outubro do userAgent encontrada aqui:

Qual é a melhor maneira de detectar um dispositivo móvel no jQuery?

Mas o problema vem com um telefone como o Google Galaxy Nexus, que tem a mesma resolução de um tablet, mas apenas metade do tamanho da tela. Na minha opinião, seria melhor mostrar a versão móvel, pois a tela é pequena, embora a resolução seja alta.

Existe uma maneira de detectar isso ou eu tenho que fazer um compromisso?

questionAnswers(18)

yourAnswerToTheQuestion