Posts

WCAG Accessibility

When designing a website or web application we consider other aspects of UI/UX whereas we always forget to consider people with disability. Lets have a look at statistics of users with disability in USA. 19.9 million (8.2%) have difficulty lifting or grasping. This could, for example impact their use of a mouse or keyboard. 15.2 million (6.3%) have a cognitive, mental, or emotional impairment. 8.1 million (3.3%) have a vision impairment. These people might rely on a screen magnifier or a screen reader, or might have a form of color blindness. 7.6 million (3.1%) have a hearing impairment.  They might rely on transcripts and / or captions for audio and video media. If we look at above number large user base is having some sort of disability hence if application is designed with accessibility in mind it can bring in more user which would translate to success of the product/website. Also it is being made mandatory  by law for software applications to be designed as per accessibility standa

Estimation techniques

Image
Estimating how long it would take to get the job done is not easy, even travelling from point A to point B takes a lot of assumption and risks into consideration. Whether it is ballpark estimation or otherwise you need to use some formal technique, different projects need different kind of estimation and we are going to look into few of them. Lets do ballpark estimation for a website with static pages but requires login. WBS(Work breakdown structure):- In this approach work is broken down to lowest level possible. What remains at the bottom nodes is lost of task which when combined achieves the final goal. In above we have broken down end result into tasks and estimated tasks at various levels, with above in place we now know how many man days are required from various people and plan accordingly. Having an estimate ready helps in better resource and release planning. Its not always possible is recommended to do collaborative estimation(from different teams involve

Gitflow using source tree

Image
In early 2010, Vincent Driessen wrote an article called   “A successful Git branching model”  which recommended an approach called  git-flow  to use git branches in your development cycle. The idea was to standardise branching and merging when developing features, handling releases and managing hot fixes, in order to be consistent and gain the advantages of git’s ‘branchy’ development model. Using many separate branches in Git gives you lots of flexibility, but it can get complex. Adopting a standardised approach has many advantages: ·         Keep your repository tidier ·         Keep your procedures clearer ·         Move between projects more easily with familiar branch structures ·         Get new developers up to speed more quickly SourceTree   now integrates with git-flow and presents it to you in a friendly and intuitive way. Summary of the concept The general idea of git-flow is to use the following branch structure in your repository: ·         Develop

Migrate from SVN to Git

If you are in process of migrating from SVN to Git you are not alone and many people have already done it time and again. There are many good articles to guide you on that matter, the purpose of this article is to tell you my experience in the process. Migration to git from SVN comprises of few steps:- 1)Getting contributors:-                                     First step is to get the list of contributors from SVN, to do so right click to open git bash on source folder and  execute command below:- svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt This may take a while so don't be disheartened git is doing its job and once done will output the file in command above. If you get error saying SVN is not a known command you may not have SVN command line utility so you would like to install the same, if it

Build/Deployment Automation

Image
Introduction:- •         Many of the problems encountered in software application deployments can be traced to reliance on manual processes to build, test, and package release targets. •         Modern software development practices such as continuous integration (CI) focus on executing integration builds early and often, rather than waiting until the software product is almost ready to deliver. Architecture:- Benefits Of CI:- •         Increased productivity •         Enables shorter feedback cycle when changes are made •         Code is kept in a “releasable” state •         Code gets back into the hands of testers quickly •         Frees the team to do more interesting and valuable work •         Improves morale, making it easier to retain good developers •         Enables more frequent releases with new features •         Improved quality •         Makes it easier to find and remove defects because frequent integration and testing identifies bugs as