Monday, July 27, 2015

Why we need to develop a web site?

A web development takes into an account for many security considerations, such as data entry error, checking through forms, filtering output and encryption. Scripts can be used to exploit websites by granting unauthorized access to malicious users that try to collect information such as email addresses, passwords and protected content like credit card numbers. Stringent testing of web applications before public release in encouraged preventing such exploits from occurring.
Keeping a web server safe from intrusion is often called Server Port Hardening. Many technologies introduced into play to keep information on the internet safe when it is transmitted from one location to another. Many developers often employ different forms of encryption as Secure Socket Layer, when transmitting and storing sensitive information. A basic understanding of information technology security concerns is often part of a web developer’s knowledge.
Some new security holes are found in web applications even after testing and launch, security patch updates are frequent for widely used applications. Organization that build websites typically have a test site where a new website is tested to make sure everything works correctly before it goes live on the World Wide Web. After a staging site has been tested and found to be working properly it can be launched to the public. A running production site and staging server allows developers to make changes to their site and test changes before applying them in real time.

Tuesday, July 21, 2015

User Interface Design

Are you a web designer? If yes, then you are also a user interface designer, and in the near future, this role will become even more important for you.
While web pages today have simple user interfaces with no more than navigation and contact forms, the rise of new technologies and standards will create a demand for more dynamic and customized experiences.
User Interface Design is the design of websites, computers, appliances, machines, mobile communication devices, and software applications with the focus on the user’s experience and interaction. The goal of user interface design is to make the user’s interaction as simple and efficient as possible, in terms of accomplishing user goals—what is often called user-centered design. Interface design defines the following way:
Information architecture defines the structure of information.
Interaction design lets people manipulate and contribute to that information.
Visualdesign communicates these possibilities to people.
The user interface is the sum of all these things.
Interface conventions are a significant issue when creating a computer operating system (OS). One of the reasons for the success of the Apple Macintosh is that software developers use standardized interface elements. The OS feels more ‘friendly’-even when using a new program, because the interface is familiar.
Best Practices for Designing an Interface
Everything stems from knowing your users, including understanding their goals, skills, preferences, and tendencies.  Once you know about your user, make sure to consider the following when designing your interface:
Keep the interface simple: The best interfaces are almost invisible to the user. They avoid unnecessary elements and are clear in the language they use on labels and in messaging.
Create consistency and use common UI elements: By using common elements in your UI, users feel more comfortable and are able to get things done more quickly.  It is also important to create patterns in language, layout and design throughout the site to help facilitate efficiency. Once a user learns how to do something, they should be able to transfer that skill to other parts of the site. 
Be purposeful in page layout:  Consider the spatial relationships between items on the page and structure the page based on importance. Careful placement of items can help draw attention to the most important pieces of information and can aid scanning and readability.
Strategically use color and texture: You can direct attention toward or redirect attention away from items using color, light, contrast, and texture to your advantage.
Use typography to create hierarchy and clarity: Carefully consider how you use typeface. Different sizes, fonts, and arrangement of the text to help increase scan ability, legibility and readability.
Make sure that the system communicates what’s happening:  Always inform your users of location, actions, changes in state, or errors. The use of various UI elements to communicate status and, if necessary, next steps can reduce frustration for your user. 
Think about the defaults: By carefully thinking about and anticipating the goals people bring to your site; you can create defaults that reduce the burden on the user.  This becomes particularly important when it comes to form design where you might have an opportunity to have some fields pre-chosen or filled out.

Wednesday, July 15, 2015

Design patterns

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.
Design patterns can speed up the development process by providing tested, proven development paradigms. Effective software design requires considering issues that may not become visible until later in the implementation. Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.
Often, people only understand how to apply certain software design techniques to certain problems. These techniques are difficult to apply to a broader range of problems. Design patterns provide general solutions, documented in a format that doesn't require specifics tied to a particular problem.
In addition, patterns allow developers to communicate using well-known, well understood names for software interactions. Common design patterns can be improved over time, making them more robust than ad-hoc designs.
Due to the decentralized nature of the web, interface design has also been popularized. The need for a new and often less-technical audience to engage with interface issues has given rise to the alternative term ‘design pattern’. The Yahoo Developer Network defines a [design] pattern as: …an optimal solution to a common problem within a specific context.
Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over quite a substantial period of time.
Design patterns provide a standard terminology and are specific to particular scenario. For example, a singleton design pattern signifies use of single object so all developers familiar with single design pattern will make use of single object and they can tell each other that program is following a singleton pattern.
Design patterns have been evolved over a long period of time and they provide best solutions to certain problems faced during software development. Learning these patterns helps inexperienced developers to learn software design in an easy and faster way.