A couple years ago I decided to switch my cellphone provider. On Black Friday, Verizon Wireless offered a “free tablet” deal upon activation. It was the same sort of persuasive deal many carriers offer throughout the year, almost always requiring a two-year activation commitment for the tablet itself, on top of the regular cellphone contract. The tablet was their own branded Ellipsis QMV7A 7″ (by Quanta) with so-so hardware specs. (I had, in fact, just been gifted the all new 7″ Kindle Fire HDX a week prior as part of an Amazon promotion, and the QMV7A was light-years behind it in resolution, technical specs and overall build quality.)
As I sat waiting for hours on end for the recently hired Verizon staff to activate my service, I checked the going rate of the QMV7A tablet online; $130 at most. Verizon promoted it as a $250 tablet, and with the two-year contract this “free” tablet would actually cost me about that much given the $10+ a month service charge. The data plan was shared with the main phone as well, so there was no extra data allowance. Still, I saw some value in owning another Android tablet for development purposes and agreed to the commitment.
I did not use the Ellipsis tablet much in any capacity. I switched carriers again this past fall and paid the hefty early termination fee to retain the tablet (wifi only) and absolve myself completely of Verizon’s services. This week I found renewed interest in using the QMV7A for development testing. Apart from the mediocre hardware, it turns out the QMV7A also suffers from the same disastrous firmware-driven issue I’ve seen in other extremely low-end Android tablets. This flawed design relates to how the internal storage space is partitioned and allocated. Of the 8GB of internal space, over 3GB is used on the OS itself, another 4GB is reserved exclusively for photo and video storage and an absurdly low 1GB is all that is available for all applications including the fixed applications that come as part of the OS.
I have encountered the same ludicrous app storage limitations on other low-end tablets including the Nextbook 8. Unfortunately, there is no way to delegate all app storage to external memory, at least on the vast majority of existing Android OS implementations, so the available space will always fill up quickly. In the case of the Ellipsis, Verizon eventually offered a firmware update to fix it but they required sending the whole device back to them. For someone like myself who paid for the full price of the tablet but is no longer a customer of Verizon’s, support is non-existent. Essentially with these restrictions I can install the Google line of apps and other core essentials, and a few small third party apps before the allocated space is entirely consumed.
Ellipsis 7 USB Drivers and Windows 8
The software-imposed storage limitation for apps was not even my greatest frustration with this tablet. It turns out that the USB driver required for development testing was even more of a pain to get configured, in part due to a sloppy installation script and unsigned drivers.
The USB drivers are not available on the support site but are included on the tablet itself. When connected to the PC, the connection must be adjusted on the device so that it is connected as a “Built-in CD-ROM“. After doing so, a ‘toolkit‘ drive will be accessible from the PC containing 32-bit and 64-bit drivers and nothing more.
As soon as I ran the included batch file for installing the drivers on Windows 8.1, I was presented with the Engrish notice: “Do Not support Win NT earlier version.” A quick analysis of the installation batch file revealed the culprit:
for /f %%i in ('ver^|find "5.0."') do echo Win NT && set osrecognized=1
for /f %%i in ('ver^|find "5.1."') do echo Win XP && set osrecognized=1
for /f %%i in ('ver^|find "5.2."') do echo Win 2003 && set osrecognized=1
for /f %%i in ('ver^|find "6.0."') do echo Win Vista && set osrecognized=1
for /f %%i in ('ver^|find "6.1."') do echo Win 7 && set osrecognized=1
if not defined osrecognized goto NotSupport
Checking Specific Version Numbers for Compatibility, Don’t Do That!
Despite Windows 8 being commercially available for well over a year before the Ellipse tablet was introduced, the Ellipse developers didn’t bother to include it as a compatible OS in the batch file. The drivers themselves actually work perfectly well on Windows 8+, but the included install script prevents it from installing since it explicitly checks against specific OS version numbers.
This type of checking against a very specific list of version numbers is certain to cause problems in the future and will quickly become a nightmare to maintain. Perhaps the most memorable and agitating personal experience with such criteria was when I attempted to complete an application on the official Federal Student Aid (FAFSA) website several years ago. Although the government website boasted that they adhered to web standards in developing the site, they still parsed the user agent string to allow or deny access to the application depending on their browser version.
At the time this notice was displayed to me, every browser version listed as compatible was already outdated. both Chrome and Firefox were pushing out rapid version updates and IE was on 9.0 stable. As such, it was impossible for me to complete the application using any of my installed browsers without some jiggery-pokery. For instance, you would receive this notice if using IE 9+, Firefox 4+ or Chrome 9+. When I pointed out the technical dilemma to their support hotline, I was advised to try going to a library or to downgrade my browser to one that was supported. Much in the same way the Ellipse driver was compatible with Windows 8+ but the install script was not, the FAFSA site in fact worked perfectly fine in any browser just by spoofing the user agent string to one of the compatible versions.
A much more reasonable solution in such circumstances is to check against a minimum version number when necessary and display a non-intrusive disclaimer for all platform versions that exceed what the product was officially tested against. This way, users on future untested platforms will be aware that the platform used is not formally supported, but they will still be allowed to use it at their own discretion. In most cases (depending on the type of product), the product will function just fine, as was the case with the Ellipse USB driver and FAFSA website.
I revised the Ellipsis USB Driver install batch file to accommodate Windows 8+, and the installer went through without a hitch. Instead of checking explicitly against the OS version numbers that the driver supports, the script should instead check against the few OS versions that it positively does not support and then display a notice of what OS versions it has been tested against while letting the user of subsequent versions proceed at their own risk.
Well, Almost Without a Hitch
Unfortunately, the provided Ellipsis drivers were also shipped unsigned. This means that to install them successfully you have to first reboot Windows with driver signature enforcement disabled. In Windows 7 you can simply tap F8 when booting to trigger this option, in Windows 8 the easiest way is to go through the Change PC Settings / Repair screen as detailed here. I found it a bit more of a hassle with my PCs configuration given a dual boot setup across several hard drives, whereby I had to reorder my boot sequence and change the boot drive to get into these Windows 8 advanced options to activate. Alas, I finally had the USB drivers for this pretty dismal tablet working for me.