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