Tuesday, 19 April 2016

Continuous Integration for automated, accurate and seamless deployments

Augments rapid response towards greater software quality and improved productivity

Traditional software development methods don't dictate how frequently or regularly you integrate the entire source on a project. In an organization where there is development of projects or products of larger scale in the team, programmers typically work on particular parts of the assignment ("features" or "hotfixes"). These should be systematically combined into one whole of the project while maintaining the integrity (functionality) of already existing work. Longer integration cycles typically slow down the workflow of agile teams which produce robust code at each iteration level. This is because, more programmers share the code and more time it takes to de-bug or resolve any code issues. For these reasons, agile teams often choose to use Continuous Integration.

So, what is CI?
Continuous Integration (CI) is the practice of integrating code into a shared repository as often as possible which greatly improves the efficiency of working in a development team. Each check-in is then verified by an automated build which typically sets the configuration for each of the environments, runs tests and provides confirmation of the latest version of the code base, as well as notification of any failed steps and the ability to roll back to the most stable version of the code base if necessary. Crucial advantage of the CI process is the actual speed of change distribution into various environments, where continuous integration greatly helps reducing errors while reaching a sufficient speed.

Key objectives of the CI process:
  • minimize the duration and effort required by "each" integration episode
  • be able to deliver "at any moment" a product version suitable for release

Why CI?

With Continuous Integration, applications are built from a very early stage in the development process at specific frequent intervals or on every change checked in by the developers. This effectively eliminates the need for integration testing and the cost associated with developers spending time on this phase.

The enablement of frequent incremental builds and mandating a comprehensive automated testing process also allows developers to detect problems early and as a result, ensure higher application quality.

Key benefits of CI:
On the ground, the benefits of Continuous Integration are:
·         Eradication of manual FTP deployment
·         Prevention & reduction of production & staging errors
·         Generation of analysis & reporting on the health of the code base
In business terms, the value of Continuous Integration is:
·         Reduced risk
·         Reduced overheads across the development & deployment process
·         Enhancing the reputation of the company by providing Quality Assurance

Getting your business started with CI
Make sure you address these three important elements that underpin any Continuous Integration System:

1. Commitment to building tests: The development team must be committed to produce a comprehensive test suite at the unit level and functional level together with their code. This is essential to achieve the “guaranteed” level of code quality that can be production ready at any moment.
2. Never break the build: The goal is that the application must be ready to be built, packaged and deployed on every committed change. This (of course), means that broken or untested code should never be committed.
3. Version Control:  To be ready to focus on implementing Continuous Integration, the code has to be managed by strict version control policies.

Conclusion:

Continuous Integration is a process, not a set of tools, it requires great amount of discipline from software development team members. The goal of Continuous Integration (CI) is to make sure that software is operational and working all the time. Continuous Integration continues to evolve at a fast pace thanks to the evolution of integration servers and the underlying version control systems, greatly improving the release frequency and overall project stability.


Sunday, 17 April 2016

Augmented Reality Gaming

Reality goes disruptive - Blurring the line between digital and analogue worlds
Betting big on Augmented Reality Technology for evolved gaming experiences

While we talk and feel how connected we are, technology is leaping bigger with innovation and creativity in a quest to provide the avid gamers an immersive experience that is far more interactive and real. As the gaming industry strives for major breakthroughs in 2016, players’ expectations keep soaring high which look for nothing short of phenomenal realistic experiences. Blending the real and virtual realms achieved through HMDs(Head Mount Displays) etc. can sway the entire gaming community world over. Augmented Reality (AR) is one such technology that creates this blend and helps shape dreams of the gamers come true virtually by augmenting the reality.
Not the same old plain vanilla reality
Augmented Reality is a technology that superimposes digital media and other sensor-based inputs on the real world view using the camera of your device. This is aimed at enhancing the user's sensory perception of what one can hear, feel and see. The sensor receptors in the AR equipment through protocols facilitate simulation in the gaming environments thereby providing the avid gamers a near to reality experience in gaming.
By simply overlaying virtual objects and other digital media or information into the real word, AR helps people envision virtual world coming to life in the physical environments. Leveraging HD TV capabilities, smart algorithms along with sensory reception apparatus like accelerometers and gyroscopes, AR triggers the dawn of augmented reality gaming(ARG) experience migrating from the legacy wired gaming controllers to protocol based sensory technologies.
Having all the hardware components and software that are required to create an AR experience, smartphones have been the ideal joints for deployments of AR globally and with days to come by, optical apparatus like goggles, contact lenses etc will too partake in the AR technology revolution.
So who’s eyeing on the ARG pie:
Google, Microsoft, Apple, Sony are the major players striving to bring ARG into mainstream usage. Despite the flak received for its wearable technology, Google continues to dive deep and work around on Google Glass. Also, Magic Leap, Google Cardboard and Ingress are few pursuits that show great promise of this tech giant’s heads-up when it comes to taking on the market with its innovation prowess.
There has been a very positive buzz surrounding Microsoft HoloLens, and Apple, Sony, Samsung are also not behind capturing the pulse of gaming community worldwide.
Limitations and the future of ARG:
While the ARG market looks lucrative, following concerns are expected to hamper/delay the market penetration and user adoption surge:
·         The process of setting up a dedicated AR gaming session is tedious
·         Dedicated bandwidth allocation for switching to real-time mode
·         High capital investments to acquire the AR gaming equipment
·         User privacy
What the future holds for AR:
With the burgeoning use of smartphones, AR is likely to gain huge traction across markets. User adoption is expected to reach new heights as device prices tumble owing to new entrants and increased competition making AR technology accessible and affordable. Mobile screen real estate issue will make way for AR capable wearables which provide expansive views of the world around them. This in turn is expected to drive the growth for AR hardware components.
Conclusion: The future is neither Real nor Virtual – It’s Augmented
Augmented reality gaming is amazingly teasing and incredibly young. But the whole lot of focus on this technology with capital investment inflows and steady but rising interest is driving it mature enough to make the dreams of realizing the virtual-in-real. No surprise, we are all connected to this dream by making the industry comply to our expectations of creating a whole new world that enhances the way we consume everything around us.