|
|
|
|
|
Search The Website |
![]() |
Web Design Overview |
|
Programming the Web |
|
|
Programs can be run either on the client machine by the (browser) or on the Web server. |
|
There are three types of Web Documents: 1. Static document written once by the Web author and distributed to anyone that can access the URL for the document. 2. Dynamic documents created on the fly, based on information request by the user. For example sport scores, stock prices, . . . etc. This information may be obtained by a verity of services. 3. Active documents contains components that run on a user's browser. The components are downloaded to a user's browsers and remain available to the browser for future use. JavaScript and Active X are part of this technology. |
|
There are five languages / frameworks, web developers must acquire the knowledge, knowhow and the ability of using theme effectively in designing Web pages: |
|
Hypertext Markup Language |
|
1. HTML Hypertext Markup Language (HTML) is a standardised system for tagging text files to achieve font, colour, graphic, and hyperlink effects on World Wide Web (WWW) pages. It is widely used to define and position the content of static web pages. Do I need to learn HTML to be able to use It?: Most likely, no, there are many HTML editors which contains the required tools to allow you to design the Web Page. HTML editors such as FrontPage, Microsoft Expression, and Macromedia Dreamweaver consists of a split view option to allow the user to code in Code view and preview in Design view without the hassle of switching from the design and code view tabs for each review. By using such editors you will very quickly learn and familiarise your self with HTML tags and their attributes. (1.1 W3 School) provides a comprehensive list of HTML tags and their attributes. (1.2. W3 School) provides examples of the usage of each tag starting with first HTML <!--...--> tag and ending with last HTML <wbr> tag in alphabetical order. |
|
Cascading Style Sheets |
|
2. CSS: Cascading Style Sheets (CSS) is a style sheet language used for describing the look and formatting of a document written in a markup language, and to specify the layout of web pages, particularly div class containers, and media queries are CSS3 module allowing content rendering to adapt to conditions such as screen resolution (e.g. Smartphone screen vs. computer screen). What is Media Query? : The @media rule is used to define different style rules for different media types/devices. Media queries look at the capability of the device, and can be used to check many things, such as: width and height of the browser window, width and height of the device, orientation (is the tablet/phone in landscape or portrait mode?, resolution, and much more. It is widely used to redefine the attribute and features of div class containers for the given device screen size and resolutions. Media query allow web designers to design adaptive web pages responsive to the give device features and characteristics. What Browsers Support Media Queries?
: (2. W3 School ) provides good tutorials with examples on CSS style sheets language, and their use with media queries. |
![]() |
|
|
3. PHP Personal Home Page (PHP) is a server-side scripting language designed for web development, but also used as a general-purpose programming language. PHP (powered by the Zend Engine). After the PHP code is interpreted and executed, the web server sends resulting output to its client, usually in form of a part of the generated web page. PHP code can be simply mixed with HTML. It is widely used to manage Web database, community and E-commerce website projects. |
|
Do I Need to Learn PHP to Be Able to Use It?: Most likely, no, providing that you are familiar with the syntax of a structured programming language such as C. In the majority of web applications, server-side scripting languages, used to interrogate, and manage an existing web database, to get or put record/s in the web database. Such databases have their own fourth generation scripting language to allow you to implement the required user interface screens. Expert grabber .com is a good example of the application of (MySQL dBase). MySQL dBase is an open source relational database management system. Information in a MySQL database is stored in the form of related tables. MySQL databases are typically used for web application development (often accessed using PHP). |
|
Note that: many existing languages have borrowed directly or indirectly from C including: C++ , Java , JavaScript , Limbo , LPC , C# , Objective-C , Perl , PHP , Python , and Verilog . |
| (3. W3 School) provides good tutorials with examples on the use and applications of PHP. |
![]() |
Twitter Bootstrap |
|
4. Bootstrap is a free and open-source collection of tools for creating websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. The bootstrap framework aims to ease web development. Bootstrap is a front end, that is an interface for the user, unlike the server-side code which resides on the "back end" or server. It is also a web application framework, that is a software framework which is designed to support the development of dynamic websites and web applications. Bootstrap vs. Foundation: Which Framework Should I Choose? Bootstrap and Foundation are similar in many ways, and are both, belong to the family of Framework base layers of Objective-C classes. In addition both provides a set of useful primitive object classes, and they introduces several paradigms that define functionality not covered by the Objective-C language. Apparently, there are no major advantages of one framework to the other. The choice, however, is personal, depending on one experience and preference. Nick Pettit article on the subject (Bootstrap vs. Foundation ) is excellent and very informative. |
|
|
When I should use Twitter Bootstrap? if you have large project, and limited time, then, Bootstrap ability to produce rapid prototypes may be the solution for you. (Prototyping is often used as good practice in task analysis}. Bootstrap is excellent front-end framework, take all the hassle of building grid system. Grid system is the core feature that enables designers and developers to rapidly prototype layouts structure for mobile first web design. However, front-end frameworks, such as Twitter Bootstrap, are inherently exhibits dependency between the three domains: Content, Structure, and Presentation. Grid driven systems bound designer's creativity and their freedom in content driven environment, After all, web pages design is about creating content rich interactive environment to convey a given concepts, goals, and message to anticipated group/s of users. The interdependency between the three domains makes changes and modifications, time consuming, and costly challenge. Can I mix HTML/CSS with Twitter Bootstrap Code? Perhaps. However, you may get conflicts between the two styles and grid systems. Overall, you should proceed carefully and with caution! (4. W3 School) provides good tutorials with examples on bootstrap templates and available tools. |
![]() |
JavaScript |
|
5. JavaScript is an object-oriented computer programming language commonly used to create interactive effects within Web browsers, is often used to make dynamic and interactive web pages. It runs on your visitor's computer (client server) and doesn't require constant downloads from your website.
Does the Javascript Go in the Same File as the HTML?: It can, but your scripts will be more easily reused on multiple pages of your site if you place them in separate files. (Using a .js extension helps identify them as Javascript.) You then just link the JavaScript to your HTML by inserting a <script> tag. The same JavaScript can then be added to several pages just by adding the appropriate tag into each of the pages to set up the link. JavaScript Frameworks (Libraries) There are extensive JavaScript libraries (framework) to provide the designer of ready tools to enhance the web pages dynamism and interactivities jQuery is the most popular JavaScript framework on the Internet today, jQuery UI is a collection of graphical user interface (GUI) widgets, animated visual effects, and themes implemented with jQuery Prototype is a JavaScript library that provides a simple API to perform common web tasks, API is short for Application Programming Interface. It is a library of properties and methods for manipulating the HTML DOM. Prototype enhances JavaScript by providing classes and inheritance, MooToolsis also a framework that offers an API to make common JavaScript programming easier. MooTools also includes some lightweight effects and animation functions, YUI - The Yahoo! User Interface Framework is a large library that covers a lot of functions, from simple JavaScript utilities to complete internet widgets. Ext JS - Customizable widgets for building rich Internet applications. Dojo- A toolkit designed around packages for DOM manipulation, events, widgets, Cript.aculo.us - Open-source JavaScript framework for visual effects and interface behaviours, and UIZE - Widgets, AJAX, DOM, templates, and more. (5. W3 School) provides good tutorials with examples. |
![]() |
Early Browsers |
|
Early browsers have very limited capabilities, "It's always expensive and complex to attempt to maintain different version of content for specific browsers" (Brian Behlendrff, Organic). |
|
Early Browser Capabilities |
|
|
It is always recommended to include the following Javascript functions to overcome the limitation of early browsers:
<!--[if lt IE 7]>
<!--[if lt IE 8]>
<!--[if lt IE 9]> |
![]() |
HCI Issues |
| Human Computer Interaction (HCI): General Design Guide-lines and Principles 1. the interface
should use terms, concepts and metaphors which are
familiar
to the anticipated class of users, 7. use formal User Interface Design Cycle to test your interface with different browsers, and group/s of anticipated class of users.
|
|
![]() |
Responsive Web Design |
| Responsive Web Design (RWD): Wikipedia gives a good exposure to the history of the development of RWD. Ethan Marcotte in his article (2008/09), and his book (2011), the concept of responsive web design were further developed under the following three headings: (i) The Flexible Grid, (ii) Media Queries, and (iii) Flexible images / contents. 1. Flexible Grid: The flexible/fluid grid concept calls for page element sizing to be in relative units like percentages, rather than absolute units like pixels or points, the following diagram shows how the fluid grid behave as the size of the screen reduced to 75% and to 50% of a given screen size without loosing any content. |
|
Fluid Grid |
|
| 2. Media queries allow the page to use different CSS style rules based on characteristics of the device the site is being displayed on, most commonly the width of the browser. |
|
Media Queries Application |
|
Note 1: without any media queries the fluid grid containers, shrinks in size. As the size of device screen become smaller, the containers become too small to contain any real content. |
![]() |
|
Note 2:using media queries to remove the floats and change their widths, the content container and sidebar are now able to span the full width of the viewport, allowing breathing room for any existing content. |
![]() |
| 3. Flexible images: Images are also sized in relative units. You should read Ethan Marcotte article on fluid images techniques. How To Create Flexible Images
And Media In CSS Layouts:
Typically when adding image and other
media such as audio/video players to a
web page we set a width and height using
absolute measurements like pixels. This
fixes the media size and is completely
inflexible.
|
|
|
|
What are the resource available for me
to help in RWD process: There are wide range of
resources, each with its own characteristics, advantages and disadvantages.
You should have reasonable understanding of the concept, techniques, and limitations
of these popular, and widely used RWD resources: Fluid HTML/CSS/JS framework,
with flexible grid
Bootstrap, and
Twitter Foundation,
minimal responsive framework
Skeleton, responsive
website builder
Website Builder, and content management system with
widgets, plug-in and customizable themes
WordPress, . . .
and others. As a general
rule, Frameworks and Website Builders allows you, to build
responsive website prototypes quickly and effectively, obviously with
wide range of limitation. Basic HTML tags, CSS
style sheets, and script languages,
are very flexible and gives the
designer higher degree of freedom, to
design Web pages reflecting the intended context, aims and objective of the
website. To ensure proper rendering and touch zooming, add the
viewport meta tag to your
<head>:
Define your container name, initial feature/s, and
breakpoint/s in your <head> and
between the tags <styal></styal>:
@media screen and (max-width: 640px) { Note: at screen width of 640px or less the width of the container will be changed to 100% Include the container in the appropriate required position in the <body> <body> <div class="name"> . . . </div> </body> Note: you may include a nest of tables, and their contents inside the container, or include nest of containers, and their contents inside table/cell. This is not applicable to Twitter Bootstrap and Foundation Frameworks. A) Learn Responsive Design (RWD) by Examples: (1 Using HTML and CCS) 1 Containers Properties: Note you should view HTML source to learn by examples, (Change the width of your browser to discover how the layout changes). 1.1. Containers Code 1.2 Container Properties. 2 Page Structure: (Change the width of your browser to discover how the layout changes). 2.1. Fluid Page Structure for five containers: Header , Content, Side Bar One, Side Bar Two, and Footer. 3 Responsive Menus: (Change the width of your browser to discover how the menu changes) 3.2. Dreamweave Non-Pulldown Responsve Menu 3.3. Menu Using Slidesho B) Learn Responsive Design (RWD) by Examples: (2 Using JavaScript) 4.1. JQueryUI Menu |
|
Mobile First Responsive Web Design |
| What Is Mobile-First Responsive Web Design? is a methodology, by which, the web designer starting point, is a page for a given mobile screen/s (portrait and landscape screens). That is to say, the default web page is that page designed for given mobile phone. The main objective is that, the designer voluntarily constrain his/her design to mobile portrait and/or landscape screens. Decisions will be made about the default page structure, and content appearance based on the features and characteristics of the given mobile phone. Once the default page is designed, pages and contents may adapted downward for smaller devices, and upward for larger devices using media query and/or liquid grid systems. However, in some cases, designer may take alternative option/s to design different pages for different devices and programme the web device Browser to select the intended page/s. Mobile phones, Tablets, PCs, and Desktops have a wide range of screen sizes and resolutions. Now days mobile phone have screens resolutions from 320 to 1242px.
|
|
|
Smart Phones Screen Resolutions |
|
|
The best way forward |
The best Way Forward: There are millions, or rather billions of fixed size websites, well developed, and designed. The vast majority of these websites have been carefully designed in there pages layout, contents features, and appearance to reflect the website goals and objectives. The question is; Are we going to scrap these websites and go with the limitations of Twitter Framework, and it's apparent lack of designer degree of freedom?: No, there are two alternative to grid driven frameworks, the first, is using basic HTML tags, CSS style sheet, and script languages, the second, which is the best way forward; Design different pages for each category of devices, usually four pages are required, the first for extra small mobiles (320 X 480px), the second for normal size mobiles ( 640 X 960px), the third for large mobiles and tablets ( 750 X 1334px ), and the fourth for PCs and Desktops. You may keep your fixed size web page, originally designed for PCs and Desktop, and design the other three pages, either you use fixed size grid or fluid grid and/or adaptive RWD techniques. Using Media Quires, to allow the device Browser to select the appropriate portrait and landscape screen pages. This proposal is very time consuming, however the resulting pages are fully optimized to the individual device category. The resulting optimized pages, in it's layout and content appearance, justifies the time spent. The following example using typical company website page layout of fixed size grid for Browser size >= 960px, newly designed pages for Browser size >= 640px, >= 480px, and >= 320px respectively. Adjust your screen size to view the four pages. |
|
Note: 1. With (Grid driven Framework), the four pages are dependent on each other. Individual pages layout and content appearance may be readjusted by the given framework to respond to the Browser width, designer degree of freedom is very limited. 2. With (Basic HTML tags, CSS style sheet, and script languages), the four pages are dependent on each other. Individual pages layout and content appearance may be readjusted to respond to the Browser width, designer degree of freedom depending on the limitations of @media statement of CSS. 3. With (The best way forward) proposal, the four pages are independent of each other, designers have complete freedom to change the individual pages layout and content appearance as they may wishes. The trade off is between time, and designer degree of freedom. |
![]() |
Conclusions and Tips |
|
The above languages allows the Web developer to create Web pages with following features:
|
|
Conclusions: 1. Web page layout may be designed creatively by nests of tables, containers and/or grid system, web content may be inserted in the appropriate cells, Using HTML/CSS tags and/or scripts to define content's attributes and style of appearance, 2. Tables and containers size may be made fixed or fluid as required to achieve appropriate liquidity, and responsiveness to the display device features, 3. Using appropriate CSS media queries, and breakpoints, to make sure that, the web pages, and contents, are adaptive to the display device screen size, and orientations. 4. JavaScript and JavaScript Frameworks (Libraries), are a powerful tools to add high degree of dynamism and interactivity to static web pages. By using JavaScript you may define some or every HTML contents as objects in object-oriented environment, 5. If the web pages contents require the interaction with data files (such as guest books), and/or Web databases stored on the web server, a server-side scripting language such as PHP is needed to mange the process of interaction, and generating the appropriate user's interface screens.
|
|
Tips: 1. Always try to use basic HTML tags, and CSS style sheets language. Avoid unnecessary animations and functions. Resist the temptation (were it is possible) to using web pages templates, and grid system frameworks. Templates, and grid driven systems, (sooner or later), loose you considerable time to re-customise or change your page content/s appearance. Custom Web Design vs. Website Templates, 5 reasons NOT to use Twitter Bootstrap, and is Twitter Bootstrap right for me? [flowchart]. 2. Through your navigation procedure, and content's appearance, users quickly develop a mental picture of the interaction process, and of the concept, aims and objectives of your website. Make sure to use intuitive navigating procedure, and be consistent in coding content's shapes, sizes and colours to reflect the given context of use and applications. Avoid were you can, clutter, and long pages (as this one). A simple clean page gives the user the time and the pleasure to understand and digest your message. 3. Adhere to the Golden Eighty Twenty Rule: spend 80% of the time to prepare and polish your contents, and 20% of the time on planning and coding your page layout and appearance. High quality logo, text, graphics, images, audio and video clips, what are make or break your sites. 4. Minimise the use of JavaScript, unless it is required to implement interactive tasks. Many JavaScripts functions are not supported by some laptop, tablets, and smart phones browsers. Some old version of popular browsers have limited support for many JavaScript functions. 5. Do not use PHP for the sake of using it, unless are needed for the particular website needs and requirements. 6. Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web. Learn Bootstrap, it is an asset, and probably, will be the framework of the future... ! 7. Avoid using Flash Animations, and Videos. Flash is not supported by smart phone browsers. 8. Cut and paste content usually carry with it the formatting tags of the original document. Make sure to remove all formatting tags before pasting. 9. Good knowledge of using Microsoft Word, PowerPoint, Excel, Notepad, Paint and Adobe Photoshop will save you time to present your contents in elegant and professional manner. 10. Software such as (I) media convertors (ii) slideshow makers, (iii) menu software, and (v) HTML, and scripting languages editor/s are very useful. You should Invest time to learn how to use them effectively.
|
|
Finally, in my humble opinion, fixed size web site is a dying beast, move to responsive design today not tomorrow.
|
|
|
Useful Links |
Web Development ResourcesCoding HelpDevelopment Tools |
Collection of some of the most useful web development resourcesHere you will find carefully picked links to thebest tutorials, most useful references and official specifications of the most important web programming languages. Browse |
|
|