Verizon Ellipsis 7 (QMV7A) Development Woes

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. Read Full Article

Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 2)

This is the second of a four-part story documenting my somewhat excruciating and wholly uncharted experience developing an indie game for Panasonic’s obscure VIERA Connect television app market.

In the first part of this postmortem, I detailed the pains of becoming a VIERA Connect third party developer and struggles of setting up the rigid development environment required by Panasonic. Now I turn my attention to the actual development process using the company’s available API. Read Full Article

Synchronizing Local Databases and Web Content via Dropbox (MySQL, Apache, WAMP)

When working on web-based projects locally, developers are often faced with the burden of transferring the data across multiple development machines for one reason or another. In my case, I develop primarily on a desktop machine in my office but occasionally require access to the project files from a laptop or mobile device; this is especially true when working remotely or if needing to demonstrate a WIP to a client.

A typical web project consists of many static assets, dynamic scripts powered by a server-side language like PHP, and database-driven content powered by an engine like MySQL. Due to these interconnected components, constantly exporting and importing the databases from one machine to the next while also carrying over all of the updated page scripts and static assets immediately becomes a tedious and time-intensive commitment. Database synchronization can be especially cumbersome when needing to mirror user accounts, table and database privileges and other lower level details. Read Full Article

RIP Original iPad; iOS Device Fragmentation

Developer life sure was simpler when I began developing apps for Apple's iOS platform nearly half a decade ago.  My first commercial iOS app was developed while the original iPad still loomed on the horizon. The iPhone 4 had just been announced with its "stunning retina" display that boasted twice the resolution of its predecessor, thanks to a much greater pixel density. From a developer's perspective, creating universal applications 4-5 years ago merely required basic knowledge of Apple's three mobile device variances:

  • iPhone/iPod Touch 3rd Generation and below (320x480; 163 PPI)
  • iPhone/iPod Touch 4th Generation (640x960; 326 PPI 'Retina Display')
  • iPad 1 (1024x768; 132 PPI)

At the time, all available iPhones and iPod Touches shared the same aspect ratio and screen size, so supporting retina displays was basically a matter of producing 2x-sized assets (i.e., a 44px icon on standard devices would be rendered at 88x88 on the retina 2x devices).  Apple enforced the convention of appending '@2x' to the filenames of each retina-made asset to automatically load them in place of the standard assets on supported devices. The iPad used standard resolution assets but had a larger resolution; depending on the app some adjustments would need to be made to take advantage of the added screen real-estate.  Aside from these few considerations, it was blindingly simple to develop for the few available iOS devices. Read Full Article

Trackbacks and Pingbacks and Blog Spam, Oh My!

A.K.A. Let's see how difficult it is to write a script that programmatically solves one of the most popular WordPress Captcha plugins. [tl;dr: It's not very hard at all.]

So, I stepped away from this blog for a brief period of time and, upon return, noticed an aggregation of spam comments throughout many of my posts. Blog spam is an ongoing epidemic but one that I didn't put much consideration into when creating this blog. In fact, I did nothing more than install the #1 ranked plugin when searching "WordPress Captcha" on Google.   This plugin, developed by BestWebSoft, calls on users to complete rudimentary math problems before registering or submitting comments.  At first glance, I applauded its simplicity when compared to the much more infuriating image deciphering ploys common with captcha services. Read Full Article