Week Two (MGDP2050)

From Wiki @ Karl Jones dot com
Revision as of 14:18, 19 January 2016 by Karl Jones (Talk | contribs) (Reading: Project management and Deliverables)

Jump to: navigation, search

Lecture notes and exercises for Week Two of Web Design and Development II (MGDP2050).

Exercises, not exams

This class emphasizes exercises.

There are no midterm or final exams (although there may be short quizzes).

Project

Each student will create a self-directed project over the course of the semester.

  • Original design, layout, text content, images
  • Using Bootstrap
  • Developed over the entire semester
  • Due at end of semester

More details to follow.

Agile software development

Last week we briefly discussed Agile software development, a software development methodology which emphasizes adaptability and short units of work.

The classroom experience is similar to the Agile method in a number of ways:

  • Weekly class sessions (Agile has "sprints", typically two-week blocks of work)
  • Student projects are self-directed (Agile is customer-centric, with developers and customers working interactively)

Bootstrap

Bootstrap is a framework for responsive web design.

General discussion:

Getting started, and download Bootstrap:

Responsive web design (RWD)

Responsive web design is a set of web design techniques for creating web pages which look good on a wide range of devices.

Techniques include proportion-based grids, flexible images, and media queries:

  • The proportion-based (or fluid) grid concept calls for page element sizing to be in relative units like percentages, rather than absolute units like pixels or points.
  • Flexible images are also sized in relative units, so as to prevent them from displaying outside their containing element.
  • 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.

Devices include:

See Responsive web design.

Examples

Examples of Bootstrap websites:

Characteristics of responsive web pages

Responsive web pages "respond" to different devices: font size, layout, and other properties change to fit the device.

Recognizing a responsive web page

Browse a web page on a desktop computer, and then on a smaller device (mobile phone, table).

  • If the page looks good and behaves correctly on both devices, maybe the page uses responsive web design
  • But not always: some servers use other techniques (such as server-side processing).

You can also view a web page on a desktop browser, and make the browser window small enough to simulate a mobile phone or tablet.

  • Responsive web pages will change font size, layout, and other design elements, for best fit on a given device

Hamburger menu

The hamburger menu is nearly universal on responsive web pages.

Responsive layouts

Typical responsive layout

A responsive web page typically has three different layouts:

  • Mobile phone - small - one column
  • Tablet - medium - two columns
  • Desktop - large - three columns

Bootstrap responsive layout

Bootstrap uses four size-based layouts:

  • Extra small - phone - one column
  • Small - tablet - two columns
  • Medium - desktop, laptop - three columns
  • Large - wide desktop - three or four columns

Examples, not fixed rules

The above examples are typically examples, not fixed rules.

For instance, the default Bootstrap layout is one column. If you want a one-column page in Large size-based layout, all you have to do is not not add more columns.

Bootstrap does not limit you to a particular layout.

  • Bootstrap provides some pre-made CSS (and HTML, and JavaScript) to get you started
  • You can then customize the default CSS-HTML-JavaScript as much as you like
  • With enough work, any web page that can be made, can be made using Bootstrap (or any other framework)

Web server default file names

The file name index.html has special significance to most web servers.

A web server has a list of default file names, usually including index.html

When the server receives a request, and the request does not specify a file name, the server uses a default file name, if possible.

  • In other words, you can omit index.html from a URL, and if the server actually has a file named index.html, the server returns index.html

See Web server default file name.

Naming conventions

A naming convention is a set of rules for assigning names.

Naming conventions are essential to computer programming, and to language and society in general.

See Web page conventions (MGDP2050) for naming conventions related to this class.

LAMP, MAMP, XAMPP, etc.

LAMP stands for:

LAMP allows you to run a web server as a desktop application. This is very useful for web development. See LAMP (software bundle) for more detailed information.

LAMP is a very general term, not a specific application.

To use LAMP, download and install any LAMP application.

Popular LAMP applications include MAMP and XAMPP.

MAMP is Mac-specific, making it the best choice for a Mac lab.

XAMPP is available for Mac and Windows (and Linux), making it useful for cross-platform development.

Exercises: in class

MAMP

  • Run MAMP (if available).
  • Locate the htdocs folder -- this is the Local root folder for MAMP
  • Copy your class exercise files into htdocs
    • Copy index.html, the bootstrap folder, your custom external style sheet
    • Only copy the contents of your Local root folder, not the folder itself (htdocs serves this purpose)

localhost

Open a web browser, and browse:

You should see your Home page.

Exercises: for next week

Create folder and web page (rwd)

These steps are standard procedure for many exercises.

  • In your Local root folder, create a new folder named rwd
  • In this new folder, create a file named index.html
  • Make this page similar to your Home page (same CSS, similar layout)
    • Easy way: copy your Home page HTML, paste into the new page, modify the new page
  • Set the page title appropriately, and enter standard exercise content (see ...)

Surf web, find responsive websites

  • Browse the World Wide Web for responsive websites.
  • Identify three different responsive websites of interest to you.
    • "Of interest to you" typically means websites which you admire, and which you might use as examples and inspiration for your own work.
    • But "of interest" might also mean the reverse: websites which look bad, which don't work right.
    • Or you may have yet other interests -- your choice, anything goes.

Make links to websites of interest

In your new web page, do this for each of the three responsive websites you selected:

  • State the name of the website
  • Provide a link to the website
  • Write a short statement (one paragraph, maybe two) about why you selected the website as an example.

Create folder and web page (project)

This folder and web page relates to your class project.

  • In your Local root folder, create a new folder named project
  • In this new folder, create a file named index.html
  • Make this page similar to your Home page (same CSS, similar layout)
  • Set the page title appropriately, and enter standard exercise content (see ...)

Do you have an idea for a project?

  • If so, describe the idea (one or two paragraphs)
  • If not, describe three potential ideas (one or two sentences each)

Make sketch for wireframe

Make three simple pen-and-paper sketches for your project, for three device sizes:

  • Mobile phone
  • Tablet
  • Desktop

Simplify everything: emphasize functionality, minimize design.

Design considerations include:

  • What will the user see first?
  • How will the user navigate?

These sketches are simple wireframes -- tools to help you plan your project.

Reading: Project management and Deliverables

Project management

Read the Project management page, have a general working knowledge of the subject.

We will discuss, and use, various project management techniques in the class.

Deliverables

The outcome of a project is the deliverable, or more often deliverables.

In this class, student deliverables include exercises and your project.