Version Control Gone Wild


Leave a comment  →
   by carlosanderson    Leave a comment  →

Most large-scale development projects include a team of designers, programmers, and/or developers. A large team can prove to be extremely beneficial as it relates to timely completion of a particular project. Collaboration, more often than not, is an efficient means of troubleshooting and problem solving – but there is a downside to robust development teams. Version control can often turn out to be an unruly monster that only raises it’s head months after an application has been launched.

Throughout the life of an application, it is only natural for developers to implement upgrades and bug fixes on a regular basis. Experienced application users have grown to expect regular feature updates and they demand immediate resolutions to bugs and sub par functionality. As developers implement code fixes and updates over time, it can become difficult to effectively maintain accurate records of viable fall-back points and version history. Even worse, the chance of releasing the wrong version is greater among large development teams unless a reliable version control system is in place.

There are several proprietary version control server software solutions on the market that are able to establish a subversion environment for developers. Typical version control software limits the risk of releasing improper code through a process known as subversion. Application structure is centralized on a server and each developer works on various branches of the original code base. Subversion provides an intuitive means of managing multiple threads of a development project, but – like any system – it is not without fault. Consolidating outdated branches and scheduling proper releases can be a tedious process and it usually takes a dedicated staff to monitor robust subversion systems.

Small development projects normally don’t warrant large and sophisticated subversion systems, so there are other more portable solutions available. GITHub is a free, open-source online version control solution that allows developers to upload and organize trunks and branches of code. There are dozens of similar open-source online code repositories similar to GITHub and they can prove to be a helpful organizational tool for some projects.

Whether you are working on a large scale development or a modest project, accurate version control is a must. A little research goes a long way, so it will prove beneficial to any project – large or small – to analyze your needs and plan appropriately in terms of selecting a version control system. Remember, this is not something that you want to deal with for the first time once you are months into the development of a project. Think ahead and save yourself from falling victim to “Version Control Gone Wild”.

Touchscreen Conflicts – Web Designers Beware


Leave a comment  →
   by carlosanderson    Leave a comment  →

Recent market studies report that nearly 1/3 of all internet users own tablets and nearly 1/2 of all American adults own smart phones. Even further, statistics suggest that almost 70% of smart phone users in America access the web on a daily basis via their mobile devices. This rapid expansion of mobile web usage presents a new set of challenges for web developers; a new dimension has been added to the art of cross-platform compatibility. Most notable of the many nuances between desktop and mobile is the contrast of touch -vs- click. Many distinctions are readily apparent: mobile buttons and UI tends to be larger and more receptive to stubby human digits; fancy web UI roll-over effects lay dormant on touch screen devices because – unlike a mouse – the human finger can’t “hover” over links or buttons; and independently scrolling divs don’t play well with the native touch swipe functionality of touch-enabled devices.

In the early days of the mobile revolution many web developers were caught with their pants down. All too often, building a mobile-optimized site was a complete departure from original code base of desktop developments. Mobile-optimized renditions of websites were usually built from scratch – much to the chagrin of many over-worked webmasters. Recently, many web designers are taking a mobile-first design approach and the code framework is written with mobile and tablet compatibility in mind. Terms such as – Responsive Design and Progressive Enhancement are now essential to any reputable web developer’s repertoire.

Responsive design uses CSS media queries to render different layouts based on factors such as the viewport width or pixel density of a device. Progressive enhancement uses JavaScript to show/hide certain features based on the same set of parameters mentioned above. Neither approach is a one-size fits all solution, but but proven to be effective in their own right. I used the “Responsive Design” method to build carlos-anderson.com, so if you open this website in various devices then you will see different layouts based on the size of the device. If you don’t have multiple devices on-hand, then you can just drag the bottom right corner of your browser to make the viewing area smaller in order to mimic the effect of different device widths.