Month: January 2016

10 Tips for Designing Great Web Applications

Here are ten tips for designing a great UI experience:

1. Clear Primary Action

Data entry forms can have two or more buttons to close the form. One button will save the data, another will close the form without saving and another may blank all the fields. There may even be two different buttons to save data, one to submit it and one to save and return later. It is useful for users to know to highlight the primary button which will actually complete their request.

For example, the two save options in bold will complete the form, so they should stand out to the user.

Reset form
Save and Continue
Save and Complete

2. Identify Required Fields

Have you ever tried entering the minimum information into a form, only to be told that you have left some blank? Phone numbers are a good example – why should a company require a phone number as well as an email address?!

Identify which fields are required to complete the form. If these fields are left empty when the form is submitted, then a validation message should be displayed. The usual technique is to place a red asterisk next to the field label if the field will prevent the form being submitted if left blank.

3. Completion Steps for Multi-tabbed Forms

If your form has a large number of fields, try to break them down into groups which can be shown on separate tabs.

For example, a form for completing customer details on an eCommerce site might include these tabs:-

Personal details
Delivery details
Payment information

Tabs make the form clearer as well as showing users which fields should be completed before others. The payment tab could be locked until a user has provided their name, address and delivery details.

4. Gradual Disclosure of Information

Don’t give users too much information overload on their first visit to your web site. This can be achieved by showing only minimal information on the home or landing page. Provide links to visit if they require more information. This puts the user in control of their own exploration of your web site, rather forcing them to see a clutter of graphics which is only served to confuse them.

Only showing areas of a web site which are relevant to the experience/access rights of the user.

5. Lazy Registration.

Relax the need to force new visitors to register. This will allow them time to try out some features before signing up and revealing their identity. Even when no payment is required, surrendering your anonymity is sometimes considered as a non-monetary form of payment.

6. Forgiving Form Validation.

Don’t penalise users for entering, or not entering, data. Don’t blank all fields for the sake of one omitted field. It can be very frustrating to have to re-enter fields for the sake of ticking a Terms & Conditions box! Forms should remember what a user has already filled in.

7. Breadcrumbs and Navigation.

Don’t make navigating your web site like walking through a maze without a ribbon. Provide a breadcrumb trail to show the pages a user visited before the current page. This will also prevent users from feeling lost or disoriented by your web site.

Similarly, once you have read a few pages, followed a few links, the easiest way to re-orient yourself is by clicking on the Home button. Sometimes this is easily achieved by clicking on the title or logo in the banner. Back page and Next page buttons should also be added on the page, since you cannot always rely on the web browser’s back and forward buttons.

8. Account Registration.

Don’t force users to register for an account merely to obtain their email address and demographics. The primary reason for registering for an account should be to improve user experience by giving the user some control over their use of your application.

Some examples include:-

Save items in shopping baskets
Regional and/or language settings
Re-use of archived or incomplete form data.

Each time a user revisits the application, they will recognise it as their own. This will also help them to identify whether their account has been hacked, since a hacker may have changed the appearance of their view of the application.

9. Clear Subscription Plans.

Make any subscription / signup plans clear and easy to understand. A good plan would tie in to the overall branding of the web site.

A financial investments site may use Saver, Casual Dealer or Stockmarket Trader.
A travel site may use Individual, Family, Group or Business.

Web hosting plans usually use one of the following plans:-

Bronze, Silver and Gold
Starter, Intermediate, Advanced.

Each plan should be colour-coded with features clearly listed and comparable with other plans.

10. Reduce Clutter on Small Screens.

When viewed on a phone with a small screen, a responsive application will be optimised to make best use of the reduced size. Whilst it is important not to remove any features available, it is equally important not to let the screen become too cluttered.

A good trick is to hide buttons or text behind a dropdown section which can be revealed by dragging a bar down the screen. If a mouse cursor is available, then links may be displayed only if the cursor is hovering above them.

The Problems Faced In Using Predictive Model With R Programming and MySQL


In this article we will have a brief discussion about Big Data.

Even if you show even a minute amount of interest in the technical aspects of the net and connected devices, you should be well aware of how humongous amounts of data are generated on daily basis and owe their origins to several sources and so it is necessary to have an analytics layer in order to make the best of all of the data that is available to us. Predictive analysis is only becoming more and more relevant which promises to have a significant positive impact on businesses as well as the bottom line.

But the problem with predictive analysis lies in the fact that it is dependent large sets of mathematical computations and is a process that requires large amounts of memory to be present. So when we computationally deal with Big Data, performing mathematical computations on the same becomes even more difficult.

So we end up facing two particular predicaments:

• Optimizing the process of computing for predictive analysis of Big Data in the presence of computational resources that are comparatively limited in scope.

• And figure out ways through which we may deal with huge amounts of data with memory that is limited.

The solution to this particular challenge may be approached in two distinct ways. The Hadoop ecosystem that taps into the power of parallel computing is considered by many to be the best solution that is available especially so if one considers the fact that it is open source.

Most of the practitioners in this field are well aware that Hadoop has its conceptual basis on cluster based parallel computation and the distributed file system of Hadoop. If you intend to run a machine learning algorithm over the cluster of Hadoop you need a thorough knowledge of map-reduce programming and the learning curve is raised to more difficult levels when you are not well acquainted with the intricacies of programming.

In case your computational resources are limited like having only a single PC, when using Hadoop, we will be unable to perform computational tasks on large datasets. So, in such circumstances, we should continue look for another solution. R and MySQL may together form another viable solution.

We will now to overcome the first obstacle that we mentioned above.

In this case through predictive analysis computation we refer to the task of building a model of machine learning on dataset. A machine learning model comprises of varied formulas of mathematics. Let us now, venture into the intricacies of machine learning predictive model and try to secure an understanding of the reason behind the increased computational difficulty of working with larger sets of data.

A predictive model in a basic manifestation is created through the use of techniques of logistic and linear regression. Now, suppose we are in the process of creating a linear regression model, we face the following challenges:

• Data is so large that we are unable to load it in to memory while using R programming.

• Even when we are able to load data in to our memory, the memory that is left is most often insufficient to perform mathematical computations.

Both the above scenarios require a unique solution that will ultimately let us process large data in R and perform calculations on the same data.

Computer Programmer Salary

With the advancement of the Information Technology (I.T.) sector, more and more jobs are being created in the field of computers. These jobs are very coveted, because they give the eligible people an opportunity to work for large multi-national organizations and get a premium pay package. One of these coveted jobs is that of a computer programmer, which offers great advancement opportunities within the company one works, apart from a fat paycheck. Before we understand the education requirements and salary details, let us first understand the job description.

Job Description

The main responsibility of computer programmers is to use their skills in preparing accurate programs. The instructions given in the programs enable the computers to operate in a proper way. The programs are written in standard programming languages such as C, C++, JAVA, etc. The computer programmers create new software for a variety of purposes, such as educational software, gaming software, publishing software, etc. They have to think logically at every step involved in the making of the program and are required to keep the main aim behind the program in their mind to avoid any sort of mistakes. The programs are finalized only after going through stringent testing.

Educational Qualifications

A thorough knowledge of computer programming is a must. You should opt for subjects such as science and mathematics in your high school and secure good marks or grades in them. This will prove to be very useful, while securing an admission in a good college for graduation. If you complete your graduation in the field of computer science with a decent score, you will be able to get the entry-level jobs at the post of junior programmers in software development companies. You will get much better paying jobs, if you complete your master’s degree in programming from a recognized and reputed university. The more programming languages you know, the more will be your growth prospects in this fast growing field. You should also complete short courses and certificate courses in subjects related to computer programming, as they will help you increase the depth of your knowledge and help you secure a coveted job in the software industry.

Salary Details

Computer programmers earn a very high salary due to the great demand for their specific skills in the job market. As per various salary surveys, their average salary is around USD 55,000 per year. The entry-level salaries can be in the range of USD 35,000 to USD 50,000 per year, depending on the candidate’s skills. The salary range largely depends on the location and the years of work experience. With five to seven years of experience, you can expect to earn anything in between USD 60,000 to 70,000 per year. With more than ten years of experience, you can earn around USD 100,000 annually.

The computer programmer salary has seen a growing trend for many years and this trend is believed to be the same in years to come. Deserving and talented people should therefore try their level best to enter this high paying profession.

How to Become a Computer Programmer

You are reading this web page right now because of millions of lines of programming code, written to make the working of the world wide web, the web browser, and your operating system possible. The virtual world of the Internet and the graphic user interface of your operating system, is a product of programming code.

Becoming a programmer is all about learning to solve problems creatively and analytically. Every advanced electronic device has embedded software inside, which makes its working possible. Right from your digital watch, to your smartphone and your computer, embedded programming code, along with the embedded computer chips, make all the functioning of these devices possible. The unsung but well-paid heroes, who put in their logic, in creation of these software programs, are the programmers.

Becoming a Programmer

Know what you are getting into before deciding to become a programmer. What does it mean to become one? It is about creating an algorithm or a sequence of instructions, for the electronic brain of the computer (computer chip) to follow, in order to get a specific task done. To be a programmer is to think for the computer and make automation possible.

Develop Your Analytical Skills
One of the necessary skills is the ability to think on your own and solve problems. You need to train your mind to arrive at a solution to a problem, in the shortest possible way. An attitude to analyze a problem, formulate a strategy, and execute it with precision, to find a solution, is what is needed.

Learn Programming Languages
To solve a problem in computing, you need to develop an algorithm first and then translate it into a machine language for the computer to understand. The algorithm needs to be written in a programming language and then needs to be further converted into a machine level language, which your computer understands through an interpreter program. You need to know more than one computer programming languages, that are used for different purposes.

If your logic is sound, expressing it in any programming language, shouldn’t be a problem. Start with ‘C’ or Python, and then move over to object oriented languages like C++ and Java. You may need to learn newer languages for certain application like Perl or Lisp. You need to practice writing programs in various languages, to get a hang of it. All computer programs, including antivirus software and computer operating systems, began from scratch, as programming code.

Get a Degree in Computer Programming
For this IT job, although formal education is not necessary, it helps if you have it. You need to score well in your SAT tests, to be able to find a good undergraduate school, that teaches advanced computer science. It is one of the requirements to be a programmer that you get specialized knowledge of computer science, in the form of a postgraduate degree, where you can get access to some of the software programming pundits.

Begin a Start-up or Join a Software Company
Once you are qualified enough, you are ready to take on real world computing problems and enter the field of software development. You could either start up your own software company or join one that pays you a big fat salary. What is most important is to expand your skills, through exposure to computing problems of various kinds and on various platforms.

What makes a good programmer is the child-like zest to solve problems and riddles. It requires a creative bent of mind to solve complex problems. If you love solving analytical problems of any kind and enjoy the process of creation, you will love computer programming. I wish you all the very best.