The Rise and Fall of Android Tablets


One of the most exciting stories in the modern tech industry is that of tablets. Back in 2010, when the touchscreen smartphone revolution was in full swing, the introduction of iPad by Apple sparked immense interest in tablets. After all, we were getting accustomed to touch devices fully, and a large touchscreen not only seemed futuristic but also promised a lot of real-world uses. There is a huge difference in the smartphones used during the early days and the ones being used now.

These screens posed a challenge for many real-world scenarios. Actions, such as typing and media consumption weren’t exactly pleasing. But tablets, with its giant screens, seemed like the answer to those woes. With their large screens, watching movies, typing on virtual keyboards and playing mobile games would become so much more appealing. Even web browsing would be a breeze on a large screen. Students looking for a dissertation writing service would not need to power up a PC to search for the service.

At one time, tablets were so popular that they were perceived as the tech that would make laptops obsolete. We know now that this notion was quite far-fetched, and it failed miserably. The tablet market today is almost dead, even with Apple’s iPad being quite popular. Probably the biggest failure in the tablet market has been that of Android tablets. Today, what used to be a thriving space of Android tablets has been reduced to just a handful of options. The hope for Android tablets has diminished to the point that Google itself stopped supporting its latest Android tablet, and announced its exit from the tablet market.

But why did something as promising as tablets fail? How is it that something backed by so many technology giants fail to retain people’s interest? As it turns out, there’s no single reason for this. Instead, there are multiple factors which came together to spell doom for the tablet space ultimately.

Poor Tablet Optimisation

Probably the biggest reason for the downfall of Android is the platform’s fragmentation. To understand that, we need to know how Apple and its iOS differs from Android. Unlike Android, Apple is a company that’s much more closed off. It controls its software and hardware itself. By being in control of every aspect of its devices, Apple can optimise everything correctly. That is why iPad is such a hit even today, with it enjoying the significant tablet market share.

The story is quite different on the Android side of things. Android is an open-source operating system. What this essentially means is that anyone can take Android, make some customisations, and install it on their device. The way Google makes money from Android is by offering its services over Android. Anyway, what Android’s open-source nature means for Android is that it doesn’t have as much control over it as Apple has with its OS.

For earlier tablets, Google made the mistake of running the same version of Android on tablets as it did on phones. But Android software wasn’t optimised for the large tablet screens. And neither were the apps available at the time; this inevitably led to usability issues. Google did try to fix the problem by introducing a version of Android specially made for tablets. While it was a perfect response from Google, it posed another challenge.

App developers who had already been making apps for Android smartphones and the Android OS running on it didn’t warm up to the idea of making their apps compatible with another version of Android for tablets. Due to the added cost of developing apps for different versions of the same OS, many developers opted to forego optimising apps for tablets altogether and focused on smartphones itself. After all, the majority of users had smartphones. Hence the potential to earn more came from smartphones.

Even though later down the line, Google did eventually make a single version of Android compatible with both tablets and mobile, it never really seemed like Android tablets were anything more than a larger Android smartphone. Even today, many apps just aren’t optimised for tablets, like Instagram.

The Rise of Phablets

The original appeal of tablets was always a way of getting the best of both worlds, laptops and mobile phones. Tablets were meant to be a medium between the two. But when Samsung took a gamble and launched its Note series with an at the time substantial 5-inch screen, it was an instant hit. The popularity of Note series can be seen as a significant contributing factor to Android tablets’ downfall. It proved that users didn’t want to carry around two devices, which mostly did the same thing, just in different sizes. Smartphones with larger screens meant that users could do everything they did on a tablet, on the phone itself.

With the introduction of Samsung’s first Note phone, the term Phablet (Phone-tablet) was born. And it provided a perfect medium between the smartphone and the tablet. As Phablets grew in popularity, the tablets lost popularity.

2-in-1s

Another contributing factor to Android tablets’ downfall was the rise of 2-in-1 laptops. 2-in-1 laptops are, as the name implies, an amalgamation of a computer and a tablet. They are necessarily tablets with attachable docks or keyboards. They are great productivity tools and are much more portable than laptops. Media consumption is still high, thanks to the large screen size. Just like Phablets became a perfect medium between tablets and smartphones, the 2-in-1 laptops became an ideal medium between laptops and tablets.

Google realises this, of course. With the introduction of Chrome OS, they practically acknowledged that there wasn’t any space for an Android tablet. Chrome OS is Google’s answer to the desktop-based OS. With touchscreen functionality, integration of Play Store and the ability to run Android Apps, it’s perfect for light users. The low prices of Chromebooks meant that Chrome OS saw immense popularity in educational institutes around the world, effectively replacing any need of a tablet.

Un programa a escala de Internet usando TAIGA

Visión general

WebView es una visualización de cómo se está utilizando actualmente la web. Está diseñado para monitorear los sitios web que se están navegando actualmente y acumular esta información por categoría en una visualización significativa (e interesante). Al mismo tiempo, es una demostración del potencial del sistema de programación TAIGA .
Para que esta visualización sea interesante y efectiva, necesitamos que la gente la use. Por lo tanto, le recomendamos que descargue, instale y ejecute el software.

La pantalla

Desde el punto de vista de los usuarios, webview es un simple script que presenta una visualización categorizada de lo que las personas están navegando actualmente. A continuación se muestra una muestra de muestra:
La pantalla consta de anillos concéntricos, cada uno de los cuales representa un período de tiempo que va desde un minuto hasta varios días. Cada anillo se divide en regiones que reflejan una sola categoría de páginas web. (Actualmente utilizamos la clasificación de OpenDirectory, pero cualquier categorización funcionaría). Las categorías están ordenadas alfabéticamente, en sentido contrario a las agujas del reloj desde la posición de las 3 en punto (lo que tiene sentido para los matemáticos al menos). Los colores son arbitrarios, pero se eligen para maximizar la diferencia entre categorías posiblemente adyacentes. Dentro de cada área de categoría hay una línea ondulada que codifica información sobre las páginas que se están viendo en esa categoría. La pantalla se actualiza cada minuto más o menos.
La pantalla proporciona al usuario varios tipos de información. El intervalo de arco para cada categoría es proporcional al número de vistas (páginas solicitadas por un navegador) de las páginas de esa categoría durante el intervalo de tiempo. El matiz de la región denota la categoría; La saturación de la coloración refleja el número relativo de vistas. Por lo tanto, si un intervalo tiene relativamente pocas vistas (donde relativo se basa en la cantidad de tiempo que cubre el intervalo frente al historial general), entonces la región será más clara; Si el intervalo tiene muchas vistas, el intervalo será más oscuro. La propia línea ondulada puede codificar el número relativo de direcciones URL distintas durante el intervalo de tiempo en la frecuencia de la línea. Por lo tanto, si todas las páginas vistas para una sola categoría fueran de una sola URL, la línea sería plana; Si cada uno fuera distinto, la línea sería bastante ondulada. El grosor de la línea se utiliza para reflejar el número relativo de usuarios que navegan por las páginas de esa categoría. Si toda la navegación fuera realizada por un solo usuario, la línea sería bastante delgada; si corresponde a muchos usuarios distintos, la línea sería gruesa.
La pantalla también puede codificar información en el brillo (atenuado a negro) de los tramos y en la amplitud de las líneas. El usuario tiene la opción de cambiar las distintas propiedades de visualización a través de los cuadros de diálogo apropiados. Esto incluye cambiar la estadística asociada con cada propiedad gráfica, cambiar los colores asociados con las diferentes categorías, las categorías de mapeo y cambiar los diferentes intervalos.

Recopilación de información

Para poder mostrar información sobre lo que está sucediendo en la web, necesitamos recopilar la información. Por lo tanto, este programa es el software espía. Supervisa su historial de navegación e informa de las páginas que navega a un servidor central donde se clasifican y se registran las categorías. Sin embargo, el programa no registra información personal o de identificación. Los "usuarios" están representados por un ID aleatorio único que solo se utiliza para obtener los recuentos de usuarios. Las ID son arbitrarias y no se pueden rastrear hasta la fuente (que yo sepa). El software espía solo funciona cuando está ejecutando el visor y solo para el usuario que realiza la ejecución. Se proporciona la fuente completa si no cree lo que está sucediendo.
Tenga en cuenta que nuestra herramienta funciona en Windows, Linux y Mac OS / X con safari, Mozilla, IE y Opera en varias combinaciones. Si desea contribuir a los datos del proyecto pero no desea ejecutar el visualizador, le proporcionamos un script que solo ejecuta el monitor de historial.

Clasificación

El sistema nunca guarda URL o ID de usuario. En cambio, a medida que aprende sobre una página, encuentra la categoría adecuada y guarda periódicamente información sobre la cantidad de páginas, usuarios y URL para cada categoría. El sistema no descarga ni accede a una página para encontrar su categoría. En su lugar, intenta encontrar la categoría solo utilizando la URL.
Usando el framework TAIGA, permitimos múltiples implementaciones de clasificadores. Actualmente ofrecemos tres diferentes. Nuestro primer categorizador usó el servicio web de Google, y le pedimos a Google que buscara una página en particular y examinó la clasificación de Open Directory que Google devuelve como parte del resultado. Esto es limitado porque Google no quiere que llamemos al servicio web más de 1000 veces al día y porque no siempre reportan la clasificación, incluso para páginas relativamente comunes. Una alternativa es el MeURLin.proyecto. Tenemos un clasificador que habla con su página web de demostración (aún no tienen un servicio web configurado) y extrae el resultado. Esto es bastante efectivo (con diversos grados de precisión), pero aún es un poco lento para nuestros propósitos. Nuestro tercer clasificador lee la base de datos de directorio abierto al inicio y crea un árbol de clasificación para una URL. Una vez que se construye el árbol (que toma 15 minutos y 2G de memoria), la búsqueda es bastante rápida. Si bien los tres clasificadores están disponibles, y TAIGA es libre de elegir cuál es la mejor en un momento dado, la más probable es que se use uno en este momento.
Si alguien tiene un mejor clasificador o uno que le gustaría probar, me complacería integrarlo rápidamente en el sistema. Taiga permite que la implementación sea una biblioteca, un servicio de tipo cliente-servidor o un servicio web.

Almacenamiento de datos

Estamos utilizando las propiedades del sistema de archivos global de TAIGA para proporcionar el repositorio de información inicial. Los resultados acumulados de la recopilación de información se agregan periódicamente a un archivo de datos actual. Debido a que este archivo puede llegar a ser bastante grande, en realidad mantenemos un conjunto de archivos de datos donde los archivos están vinculados entre sí. Se proporciona un servidor separado para identificar el archivo actual para una hora de inicio determinada, para crear nuevos archivos a medida que los archivos de datos se vuelven demasiado grandes y para vincular los archivos entre sí. Este servicio se iniciará automáticamente (si aún no se está ejecutando) en una máquina en Brown.

Red

En el corazón de este proyecto se encuentra el sistema TAIGA. Cuando ejecute el visualizador, también estará ejecutando el kernel TAIGA en su máquina. Taiga utiliza el paquete JXTA peer-to-peer para proporcionar comunicación entre los distintos núcleos y servicios. En el inicio inicial probablemente verá (al menos por ahora) un cuadro de diálogo de configuración de JXTA. Si las cosas están funcionando, basta con hacer clic en Aceptar. Si está familiarizado con jxta, siéntase libre de modificar las distintas configuraciones. Usando JXTA, webview debería poder ejecutarse dentro de firewalls y en máquinas de arbitray. Si desea obtener un registro del kernel TAIGA mientras se ejecuta en su máquina, establezca la variable de entorno TAIGASHOW (en Windows) o establezca la variable de entorno TAIGALOG en la ruta completa de un archivo de registro apropiado.

Papeles

Aún no se ha escrito nada sobre este proyecto. Valoramos cualquier experiencia que tenga con él y agradecemos cualquier comentario por el momento (y si) escribimos un informe.

Realimentación

Este software es (muy) experimental. Hemos intentado realizar una variedad de instalaciones diferentes, pero solo tenemos una gama limitada de sistemas disponibles. Hay muchas cosas que pueden salir mal tanto en el kernel, en la aplicación, como en la red que une todo. Queremos arreglar las cosas, pero para hacerlo necesitamos saber qué no funciona (y posiblemente qué funciona). Agradecemos todos los comentarios, informes de fallos, sugerencias, comentarios, consultas, etc. Envíe un correo electrónico a spr@cs.brown.edu .

Software

Si se encuentra en ciencias informáticas de Brown, la última versión del software se puede obtener en / home / spr / tryview (Y: \ home \ spr \ tryview en windows).
Si está fuera de la red de Brown CS, puede obtener el software de nuestro servidor ftp en formato (tar.gz) o (zip) .
La instalación es simple: descargue y amplíe el software. Ejecutarlo también es simple: simplemente ejecute el script runview (o runview.bat en windows) para obtener el visualizador (para ejecutar solo el software de monitoreo use los scripts runspy).
Otra vez. Para descargar el software:

Bateando un objeto al objetivo

Source URL: http://robotics.cs.iastate.edu/ResearchBatting2D.shtml

Golpear un objeto en vuelo, como una pelota o un cuadrado, a una ubicación de destino es una maniobra hábil que requiere mucha práctica para que un ser humano aprenda. Para un robot, esta tarea desafía su detección, planificación y control en la medida en que se requiere una coordinación total en tan solo una fracción de segundo. La tarea consiste en lanzar un objeto contra un brazo robótico de dos eslabones con un bate adjunto y planear el movimiento del brazo para golpear el objeto a lo largo de una trayectoria, hacia el objetivo.

La dinámica de impacto modela el cambio en el movimiento del bate y el objeto, que produce un estado posterior al impacto del objeto que se puede evaluar sujeto a la restricción de volar al objetivo. En este trabajo, se considera el impacto bidimensional, en el que las trayectorias del brazo y el objeto del robot se limitan a un plano vertical. Luego se desarrolla una solución al problema del impacto inverso, en el que una trayectoria deseada del objeto después del impacto a través del objetivo conduce a un cambio deseado en su movimiento durante el impacto, y finalmente al movimiento de bateo necesario para producir el cambio. El siguiente video muestra los resultados de varias instancias de bateo.

El sistema de bateo

Para ejecutar con éxito la tarea de bateo, se deben realizar varios componentes adicionales del bateo, como la cinemática del manipulador, la mecánica de vuelo y la estimación del movimiento del objeto. La siguiente figura ilustra cómo estos componentes trabajan juntos en nuestro sistema de bateo:

Se considera la mecánica de proyectil de cada objeto, donde los efectos aerodinámicos de arrastre y Magnus se aproximan de la estimación de estado y se usan para predecir la trayectoria del objeto antes y después del impacto. Además, la cinemática del brazo robótico junto con Impact Dynamics contribuye con restricciones al algoritmo de planificación de movimiento, que continuamente genera una trayectoria conjunta deseada al brazo robótico.

Estimación de movimiento

La visión por computadora es un componente esencial de la tarea de bateo que es necesaria para que el robot perciba la posición y orientación del objeto mediante el procesamiento de imágenes desde una cámara, mientras que la estimación del movimiento es necesaria para rastrear las velocidades del objeto. Un estimador de movimiento híbrido se implementa empleando el ajuste de mínimos cuadrados de la orientación del objeto, y un filtro de Kalman extendido que considera las fuerzas aerodinámicas de arrastre y Magnus. La aerodinámica involucrada permite una predicción precisa de la trayectoria de la posición del objeto antes y después del impacto, lo cual es crucial para que el robot ejecute la tarea con una tasa de éxito respetable. Mientras tanto, el ajuste de mínimos cuadrados de la orientación del objeto proporciona una estimación de la velocidad angular una vez diferenciada. Esto compensa la falta de un modelo de velocidad angular,

Impacto de la fricción en 2D

El impacto entre el bate y el objeto se modela con impulso mientras se considera la ley de fricción de Coulomb. Se utiliza la restitución basada en la energía, de modo que durante el corto período de impacto, la energía cinética se transfiere parcialmente entre el bate y el objeto, y se pierde parcialmente por el calor, la luz, el sonido y otras formas de energía. Además, con la fricción considerada de acuerdo con la ley de Coulomb, el estado de contacto entre los dos objetos cambia dependiendo de sus velocidades y parámetros físicos, lo que da como resultado una combinación de objetos que se deslizan, se pegan y se invierten. La siguiente figura muestra un momento de impacto, así como dos casos diferentes de impacto en términos de sus curvas de impulso. Los objetos inicialmente se están deslizando, donde en el primer caso, se convierten en adherencia, y en el segundo caso, se desplazan hacia el deslizamiento inverso.

Planificación de impacto

La planificación del movimiento del brazo del robot consiste en determinar la posición y la velocidad del murciélago para satisfacer el impacto deseado, trasladarlos a posiciones y velocidades conjuntas a través de la cinemática inversa, y repetir este proceso para mantener el movimiento del robot actualizado y preciso. Además, durante el movimiento del brazo se debe garantizar que el robot no exceda los límites de posición, velocidad y aceleración de sus articulaciones. Estas restricciones combinadas con otras suman un total de dieciséis restricciones en el espacio de estados de brazo que pueden completar la tarea. Muchas de estas restricciones se propagan a lo largo de múltiples ciclos del algoritmo a medida que las trayectorias de la articulación del brazo se juntan para formar una spline de polinomios quárticos.

Para más información, nos remitimos a los siguientes artículos:

Un proceso para el diseño de datos XML

Jugadores claves. Jugadores principales

Estos son los actores clave en el desarrollo de un diseño de datos xml :
  • Expertos en la materia ( SME s) : son personas que son expertos en un tema (dominio), pero no son necesariamente expertos en las tecnologías empleadas para implementar el dominio.
  • Expertos en tecnología ( TE s) : estas son personas que son expertos en tecnologías, pero que no son necesariamente expertos en el tema.
  • Facilitador : esta persona es responsable de que se escriba la especificación de los datos. Él es un te de negocios No se requiere experiencia en el dominio. Esta persona debe ser cómodo llevar una discusión acerca de procesos y datos, debe ser experto en ocultar la complejidad de XML al mismo tiempo exponer la jerárquica, cardinalidad, y los aspectos básicos de tipos de datos de los requisitos de datos que son intuitivas para PYME s.
  • Usuarios, personas orientadas a los negocios : son usuarios de aplicaciones que utilizarán los datos, junto con personas de negocios.
A continuación se muestra una secuencia de pasos (es decir, un proceso) para crear un diseño de datos xml .

Paso 1: Crear una especificación de datos

Una especificación de datos es un documento, escrito en prosa, que describe los datos y las relaciones entre los datos. Todas las implementaciones de datos - XML esquemas , schematron , Relax NG , dtd s, y otros - deben derivar de la especificación de datos. Además, todas las implementaciones de datos deben ser rastreables hasta la especificación de datos. Una especificación de datos es la especificación autorizada de los datos .
Los datos que están documentados por una especificación de datos pueden destinarse para su uso como un formato de intercambio de datos o para su uso en la gestión de datos dentro de una aplicación. Una especificación de datos se centra en los datos, no en procesos o arquitectura. Los detalles de cómo los datos se ajustan a la arquitectura general del flujo de datos del sistema se encuentran en otros documentos. Dicho esto, una especificación de datos es más que una simple lista de datos y definiciones (es decir, un diccionario de datos). Una especificación de datos contiene descripciones de cómo los datos se adaptan al sistema en general, tiene muchos ejemplos de cómo se utilizan los datos y muestra formas de muestra de los datos.
Al crear una especificación de datos, es importante obtener entradas de un conjunto diverso de personas. Diferentes personas tienen diferentes perspectivas sobre los datos. Nunca asuma que cualquier persona tiene el cuadro completo. Obtenga entradas de smes, te s, usuarios de aplicaciones que utilizarán los datos, así como de personas de negocios.
El primer paso para crear una especificación de datos es que el facilitador para reunir a las PYME s, te s, usuarios y personas de negocios con el fin de crear una especificación de datos. Aunque los "procesos" están fuera del alcance de una especificación de datos, a veces es importante ponerse de acuerdo sobre los procesos antes de discutir los datos. Por el contrario, a veces, discutir los datos primero ayuda a las personas a reconocer un problema de alineación del proceso.
El facilitador entrevista a los sme s. El te escucha las discusiones para ponerse al día en el dominio. Él puede ser capaz de proporcionar alertas tempranas de posibles problemas de implementación. Los usuarios y la gente de negocios mantienen la reunión basada en las necesidades prácticas de la aplicación. El facilitador escribe la especificación de datos; idealmente, está escrito en tiempo real, con todos en la reunión mirando en un retroproyector (o, si es una reunión virtual, todos ven el documento escrito en la pantalla de su computadora).
Al desarrollar la especificación de datos, es importante tener cuidado con la terminología holgada y ambigua. La especificación de los datos debe proporcionar una prosa clara e inequívoca que describa los datos.
Evite las discusiones de rendimiento. Eso pertenece a otra actividad, no a esta.
Dependiendo de la cantidad de datos que se especifiquen, puede llevar solo unas horas crear una especificación de datos, o puede tomar varios cientos de horas.
Las pymes, los usuarios, los empresarios, los facilitadores y los facilitadores colaboran para crear una especificación de datos.

Ejemplo: una especificación de datos del libro

Un facilitador entrevista a un experto en libros (es decir, un sme de libro ), a medida que los asistentes , los usuarios y las personas de negocios intervienen. El resultado es una "especificación de datos del libro". Es un documento detallado y completo, que contiene prosa sobre lo que es un libro y los datos que caracterizan a un libro y las relaciones entre los datos. Aquí hay una tabla que resume de manera sucinta los datos y la jerarquía del dominio del libro:
Libro
    Autor ..... Cadena
    Título ...... Cuerda
    Fecha ....... año
    ISBN ....... Secuencia de dígitos, guiones y 'x'
    Editor .. Cadena

Paso 2: crear una o más implementaciones a partir de la especificación de datos

El te vuelve a leer cuidadosamente la especificación de los datos para asegurarse de que tiene una comprensión completa. A partir de él, crea una o más implementaciones, junto con ejemplos de documentos de instancia xml . Por ejemplo, puede crear un xml esquema más un schematron esquema. O bien, puede crear un esquema rdf .
Una implementación puede o no ser una asignación 1: 1 de la especificación de datos. Por ejemplo, una especificación de datos puede describir los datos en un formato tradicional entre padres e hijos, mientras que la implementación puede ser un gráfico rdf . O bien, una implementación puede incorporarse a una actividad más amplia que requiere una generalización de los datos. Por ejemplo, los datos de libros que se especifican en una especificación de datos de libros pueden incorporarse a un formato de intercambio multimedia más grande, tal vez requiriendo que "Libro" se generalice a "Producto".
Si no hay una correspondencia 1: 1 entre una implementación y la especificación de datos, entonces debe haber una manera de mapear entre la implementación y la especificación de datos. Esto es importante para la trazabilidad.
El te debe tener en cuenta los tipos de procesamiento que se espera que las aplicaciones realicen en los datos. Ciertos diseños de datos pueden hacer que el procesamiento sea horriblemente ineficiente, mientras que otros diseños pueden hacer que el procesamiento sea muy eficiente.
TE crea esquemas XML, esquemas de Schematron e instancias XML

Ejemplo: Libro XML Schema y XML instancias

La especificación de los datos del libro se entrega a un te para que cree unaimplementación de datos xml ; específicamente, un esquema xml .
El esquema xml declara un elemento <book> que se compone de elementos <author> , <date> , <isbn> y <publisher> . Los ejemplos de documentos de instancia xml se crean y validan contra el esquema.

Paso 3: Revisar la implementación

El te muestra y describe las instancias de implementación y de ejemplo xml al grupo ( sme s, usuarios, gente de negocios y facilitador). El grupo ahora puede ver cómo la especificación de los datos fue interpretada por el te y evalúa las estructuras resultantes. El te solicita una aclaración sobre los datos y las relaciones de datos que se encontraron poco claras durante el desarrollo de la (s) implementación (es).

Paso 4: Aclare y ajuste la especificación de datos

Sobre la base de las discusiones en el Paso 3, se realizan ajustes a la especificación de los datos.

Paso 5: Iterar

El te hace revisiones a la (s) implementación (es) en base a la especificación de datos actualizada, y crea nuevos ejemplos de documentos de instancia XML . Las nuevas implementaciones y las muestras se devuelven al grupo. Se realizan actualizaciones a la especificación de los datos.
Repita tantas veces como sea necesario.

Expresiones de gratitud

Gracias a las siguientes personas por su aporte a este documento:
  • Len bullard
  • Kurt Cagle
  • Marcus carr
  • Chin Chee-Kai
  • Roger Costello
  • Jonathan doughty
  • Fraser Goffin
  • Jeff Grief
  • Erick Hagstrom
  • Peter Hunsberger
  • Michael Kay
  • Robert Koberg
  • Franco manola
  • Bob Natale
  • Dave Pawson
  • Simon St. Laurent
  • B. Tommie Usdin
  • Jim Wilson

The Rise and Fall of Android Tablets

One of the most exciting stories in the modern tech industry is that of tablets. Back in 2010, when the touchscreen smartphone revolution ...