Archive for the 'Web Design' Category

Requirement Gathering: DPLC – Web UI Design & Development

Stage – 1: Requirement Gathering:

The requirement gathering is the critical phase to extract the project information from the client in a systematic way. A requirement gathering for design is entirely different than for requirement gathering for development. Here the discussion will be mainly based on four important dimensions i.e. Objective, Content, Design & Usability. Whereas in development it is Technology, Database, and Business Orientation.

Objective
Objective defines the business objective of a solution developed. A designer must know why the design is being made for. The project could be Air Travel Site, Real Estate Directory, Vacation Portal, Education Portal, Database Management Application, Stock Market Information Tool, or just a company website. A clear objective helps designer to visualize the future design & progress plan of the project.

Content
Content defines the potential or nature of any project. It might be a tourism information site, education portal, online stock broking portal, gaming portal, database management application etc;. Content is what drives the design process to the next level. And it is the scarcity in most project because a client comes with a business concept, but not content.

Content are classified into many types such as business inputs, complete project information, viewable contents like, logo, text, images, input fields and other multimedia objects. A designer’s job to integrate these contents into one aesthetically looking application.

With few very simple words we can define content as source, foundation, skeleton or wireframe structure for any design project.

Design:
Design is the next process derived after collecting enough resources like contents. Design is entirely a creative process. A designer before initiating design work should know the following:

  • Type of project
  • Organization type
  • Target audiences
  • Specific design guidelines/specifications from the client
  • Technology

Usability:
Usability is defined as simplicity to experience an application. Usability is combination of physical and psychological consideration. Usability mainly consists of readability, accessibility & findability. Following features are very important to define usability for a site:

  • Content priority
  • Media type (static/animated)
  • Device Type (PC/PDA)
  • Key input operation (Mouse/Keyboard/Touchscreen/Hybrid)

Introduction: DPLC – Web UI Design & Development

DPLC – Web UI Design & Development

DPLC stands for Design Process Life Cycle. This is similar to SDLC(Software Development Life Cycle). DPLC will be a part SDLC when any software project developed using User Interface considerations. Another way to define DPLC is through sequential process of implementation of User Experience Design alongwith application of Information Architecture principles using Waterfall model of SDLC for Web Application UI Design.

Following are the sequential steps included in DPLC-Web UI Design & Development:

  1. Requirement gathering
  2. Visualization
  3. Roadmap / Flowchart / Wireframe / Sitemap creation
  4. Information Architecture & Design
  5. Graphic Design / Visual Design
  6. Design Refinement
  7. Prototyping
  8. General considerations in prototyping & it’s standards
  9. Prototyping for .NET applications
  10. Prototyping for Java applications
  11. Prototyping for PHP applications
  12. Prototype Testing – Usability
  13. Prototype Testing – Browser Compatibility
  14. Prototype Testing – End-User Experience
  15. Validation / accreditation
  16. Release for development

The step 1 to 6 are considered common for all User Experience Design processes whereas 6 to 16 are domain specific like Desktop & Web Application and also technology specific like VC++, PHP, Java, .NET, .NET-Expression Blend, Flash, Delphi etc;

With DPLC method it is assured that the User Experience Design process is carried out in a proper way. Adopting this will allow any creative team to design & develop effective design solutions in proper time, suitable budget, bug free & with little iterations.

In coming articles we will discussing each of the topics mentioned above in detail with suitable live examples.

Hot California Graphics 2 – A remarkable design blackbook

Hot California Graphics 2

Introduction

I’m definitely not a usual book buyer. It’s never happened to me like I had planned and bought a book for. I may just drop into any bookshop / outlets / exhibitions on the way, surprisingly! I get books which I was actually looking to have for a long period and there are few which actually changed my life. The one now I’m going to discuss is about a minimal but marvelous design book which I call as design blackbook.

Hot California Graphics 2 is not like typical blackbook we find elsewhere where majority of blackbooks are usually published by advertising agencies / advertising associations which mainly consists of advertisements on print media. They typically focus themselves on Concept, Copy & Photography dimensions of communications.

Detail

Hot California Graphics 2 is first published by Madison Square Press, NY in 2002. The book has elegant portfolio of 32 design studios situated all over NY and counts for 360 pages of unlimited impressions. It features works done at famous studios such as Hunt Design Associates, Adams Morioka, Maddocks & Company, Sargent & Berman Inc, Evenson Design Group, MIRES, 30sixtydesign, Visual Asylum, Boardwalk, Cahan & Associates, DUPIUS, and The Thompson Design Group.

It’s the bank of inspiration for multiple mediums of graphic design like Print Advertising, Branding, Packaging, Environmental, Architectural, Metal, Textile, Sign, Entertainment, Broadcasting and Web. And one can see designs made for almost all successful business domains such as Automobiles, Consumer Products, Breweries, Entertainment, Media, Sports, Tourism, Health Care, Hospitality, Financial, Banking and Education.

You can witness design works done for clients/products like Ketel One, Sony Playstation, Nickelodeon, UCLA, AAF, Warner Bros, Princess, espriTV, Spider-man, Harry Potter, Hansen’s, hp Printers, Dreamcast, Invitrogen, Qualcomm, IndyMac Bank, RICON, alexgoes, Nissan, PLAYBOY TV, Burger King, Nike, Foster Farms, Purina, and Nestle.

Where to Buy this?

This book is available in almost all major book outlets and can also be purchased on amazon.com. I have bought this at Sapna Book House, Bangalore, INDIA for $20 USD.

Understanding CSS DOM

The CSS DOM is a unconventional term used to define the application of CSS in HTML DOM. With this you can apply CSS style definitions to any object using DOM. Now you are already aware about basics of DOM.

To start with as usually you should know little HTML, CSS, Javascript & Dreamweaver MX or later. CSS DOM works similarly as CSS but, you are applying it through DOM using JavaScript.

There are basically two methods to apply DOM CSS to an element:

  1. Direct CSS class application method
  2. DOM Style method

Direct CSS class application method

In this method you are going to apply an already existing CSS class to an HTML element using JavaScript. Here’s the example.

Here’s a DIV tag where a CSS class applied to it,

<div id=”myObject” class=”sampleClass”>My HTML Object</div>

.sampleClass {
color: #000000;
text-decoration: none;
}
.newClass {
color: #FFFFFF;
text-decoration: underline;
}

Now I’m going to manipulate the CSS class name into a different one using JavaScript.

Function ChangeClass() {
document.getElementById(“myObject”).className=”newClass”
}

We’ve to trigger this function using any methods discussed in the previous article.

<input type=”button” name=”button1″ onclick=”ChangeClass()” />

DOM Style Method

This is a very common method used to apply CSS style definition to any object without having any existing CSS class. Here is an example.

<div id=”myObject”>My HTML Object</div>

Now I’m going to apply style definitions to this object,

Function ApplyStyle() {
document.getElementById(“myObject”).style.color = “#000000″
document.getElementById(“myObject”).style.fontFamily = “verdana”
document.getElementById(“myObject”).style.fontSize = “11px”
document.getElementById(“myObject”).style.display = “inline”
}

Same way we’ve to trigger this function using any methods discussed in the previous article.

<input type=”button” name=”button1″ onclick=”ApplyStyle()” />

More DOM CSS properties

Help from Dreamweaver 8 method

For more DOM CSS properties you can refer to “Reference” section of Dreamweaver MX or later. To do it follow this procedure: Goto ”Window” menu from menu bar and select “Reference” or press “Shift + f1″ key to open reference window. From “Book” dropdown select “O’RIELLY CSS Reference”. Now select any definition name from “Style” dropdown, and say “font-family” or “Background”. Now you can see detailed description about the each attribute and their values. Look for “Object Model Reference” you will find the way to locate the object(document.getElementById), you can find all properties and values of that object. Similarly you can do this for almost all other styles too. You can execute all properties with the help of above mentioned examples.

Understanding HTML DOM

Have you ever tried to get the HTML values inside a DIV or TABLE element or have you tried to make a SPAN tag behave like DIV and vice versa. If you haven’t tried this till now then, I could say it’s possible with HTML DOM and it can be controlled using JavaScript.

To start with all you need to know is little HTML, JavaScript, CSS & Dreamweaver 8. DOM stands for Document Object Model or in my own words skeleton of a browser and is a W3C recommendation. You can play with any HTML object displayed over the browser the way you play with movieclip & component objects in flash. Fine, now lets go in-depth.

Working with DOM

HTML DOM has a structure similar to HTML, like Element(tag) , Attribue & Value. For example in html its

<body background=”bgimage.gif”>

Where “body” is element, “background” is attribute and”bgimage.gif” is value. Similarly in DOM its,

document.body.background=”bgimage.gif”

Where “document.body” is element, “background” is attribute/property and “bgimage.gif” is value.

Now lets try applying it through javaScript:

funtion applyBg() {
document.body.background=”bgimage.gif”
}

Now we have to trigger this JavaScript function using event handler called “onclick” through a simple form button;

<input name=”button1″ type=”button” value=”Change Background” onclick=”applyBg()”

By this way you can change the property of an HTML/browser element.

Hope now at this stage after trying these code example you have come into a conclusion about DOM, lets take one more DOM example on form elements:

document.myform.textbox1.value = “Hello! Brother”

Where “document.myform” is the form name, “textbox1″ is the text box object name and “Hello! Brother” is the value to be populated inside the text box. Even this can be triggered in the same way as mentioned in the previous example within a JavaScript function. The properties & values does varies from one element to other element in a document.

DOM Basics

Basically, there are three important things to know to master DOM, one identify/locate the object, second look for properties & values for that object and third event handler to trigger the function.

Locating/identifying an Object

There are mainly three methods to locate an object:

  1. Direct Method
  2. Form Method
  3. GetElementById / GetElementByName / GetElementByTagName Method

Direct Method

These are identifiers which are already inbuilt for unique HTML/browser components, for examaple:

document.body.property=”value” – for body element
document.links[i].property=”value” – for links
document.appletName.property=”value” – for applets and many more

Form Method

These identifiers are only restricted to form & form elements like, button, text box, combo box(dropdown), textarea, radiobutton, checkbox etc; For example:

document.formName.elementName.property=”value”

GetElementById Method

This is an unique and independent method of locating an object. Any object can be accessed by assigning an id=”idName” attribute into any element. For example:

<div id=”idName”>Hello! Brother</div>

document.getElementById(“idName”).property=”value”

For example: function to read an HTML code from a DIV element and populate it to a Textarea:

<div id=”getCode”><table width=”100%” border=”0″ cellpadding=”2″ cellspacing=”2″><tr><td>This is a sample content</td></tr></table></div>
<textarea cols=”10″ rows=”5″ name=”putCode”>No Data</textarea>

document.form1.putCode.value = document.getElementById(“getCode”).innerHTML;

There are other similar methods resembling to GetElementById, those are GetElementsByName and GetElementsByTagName. The “GetElementsByName” is used similar as GetElementById. Whereas “GetElementsByTagName” just only looks for particular tags like and can only be used alongwith “GetElementById” or “GetElementsByName” identifier.

Setting Atrribute Values to the Objects

Help from Dreamweaver 8 method

For more elements & attributes/properties you can refer to “Reference” section of Dreamweaver MX or later. To do this follow this procedure: Goto”Window” menu from menu bar and select “Reference” or press “Shift + f1″ key to open reference window. From “Book” dropdown select “O’RIELLY JavaScript Reference”. Now select any element name from “Object” dropdown, say “body” and select any attribute/property from the next dropdown. Now you can see detailed description about the each attribute and their values. Look for “Object Model Reference” you will find the way to locate the object(document.body), you can find all properties and values of that object including event handlers for individual objects. Similarly you can do this for almost all other objects too. You can execute all properties with the help of above mentioned examples.

Event Handlers

Event handlers are used to trigger one or more JavaScript functions. Event handlers differ from one object to the other. Here are few common examples:

Body Element
onload – Triggers when page loads
onunload – Triggers when page unloads
onafterprint – Triggers when before page loads
onbeforeprint – Triggers when after page loads

Common
onclick – triggers when user clicks that object
onblur – triggers when loses focus
onfocus – triggers when gets focus
onmouseover – triggers when mouse pointer moves over the object
onmouseout – triggers when mouse pointer moves out of the object
onmousedown – triggers when mouse button is on pressed state
onmouseup – triggers when mouse button is released after pressed state

Textboxes
onchange – Triggers when the value or selection changes inside the component (also applies for list element)
onselect – Triggers when the value inside the textbox is selected
onkeydown – Triggers when any key on the keyboard in the pressed state
onkeyup – Triggers when any key on the keyboard is released after pressed state
onkeypress – Triggers this event between onkeydown and onkeyup state