Web design and implementation Dr. Tim King 5th May 2009 My CV Computer Lab 1973-1981 – Wrote a relational database for Ph.D. Lecturer, University of.
Download
Report
Transcript Web design and implementation Dr. Tim King 5th May 2009 My CV Computer Lab 1973-1981 – Wrote a relational database for Ph.D. Lecturer, University of.
Web design and implementation
Dr. Tim King
5th May 2009
My CV
Computer Lab 1973-1981
– Wrote a relational database for Ph.D.
Lecturer, University of Bath 1981-1983
R&D Director 1984-1986
– Wrote AmigaDOS
Founded Perihelion with Jack Lang 1986
– Distributed OS, embedded systems, database systems
Founded UK Online 1994
– First UK ISP with content
– Sold to EasyNet 1996
Independent consultant
– Technical Due Diligence for VCs
– Advice for Sainsbury’s, Sony, Home Office etc
– Strategy for small companies and following M&As
2/14
Web design
Get the domain name right
– Inventive: business.com vs PlentyOfFish (dating site)
Design is important
– But functionality more so
– Integrate good design with backend databases
It’s another type of publishing
– Web publishing is no different from other types of publishing
– Spelling, grammar, point size, broken links, incorrect captions
Navigation is important
– Make the navigation clear
– Three clicks maximum to get anywhere
– Hard when Sainsbury’s have 25,000 line items
3/14
Common mistakes
Too much text
Frames
Huge images
Distracting colour schemes
Flashing gifs, scrolling text
Music
Unclear navigation
Unreadable
Cluttered
Useless Title
Mystery Meat
Navigation you have to roll over
Zero intelligible content
Refuses to work with IE
Only works with IE
Requires Flash
Assumes screen size
Assumes font size
Contains errors
www.webpagesthatsuck.com
4/14
Poor design example
Mixture of
fonts
Title seems to
be confused
with keywords
Navigation a
mess
Far too much
material
Lingscars.com
Needs more
than 1024x768
5/14
Good design example
Quick links
to sub areas
Pop-over
sub-menus
Recent news
stories
Clear link to
technical
support
Search clearly
available
Services for
subscribers
Special event
links
Discussion
forums
Consistent
navigation
6/14
Protected and encrypted pages
Most web sites are open to all
Protected pages for
– Subscribers, Suppliers, Customers, Staff
– Protected by
• Username / pw; IP address; Domain name of browser
• Combinations of these
Most traffic to and from web sites is in clear
– Potential eavesdropping possible
– Secure Socket Layer (SSL) encrypts data
Widely used technology
– Used whenever privacy is important
• Payment
• Secure communication (spooks, terrorists, medical)
7/14
Static and Dynamic pages
HTML forms
–
–
–
–
Fill in fields
Press button to submit data
Validate locally using Javascript
Remember user input when redrawing form
HTML with extra tags pre-processed
– Java Server Pages (JSP)
– Active Server Pages (ASP)
– PHP
Complete content management systems
– Signiant, Vignette, Joomla, Drupal etc
– Content and style kept distinct – can adapt for target
– Dynamic pages added as extensions, many already in libraries
8/14
PHP
<html><head><title>Test</title></head><body>
<h2>Example</h2>
<table><tr><th>Col1</th><th>Col2</th></tr>
http://url?mac=21
<?php
… open database and verify OK …
$mac=$_REQUEST['mac'];
$q = "select * from `lines` where mac='$mac' order by num";
$res = mysql_query($q, $conn);
while ($row = mysql_fetch_array($res)) {
$num = $row['num'];
http://url?mac=21'; delete table lines;
$val = $row[‘value’];
print "<tr><td>$num</td><td>$val</td></tr>”;
?>
</table></body></html>
9/14
AJAX
Asynchronous Javascript and XML
– Define page with named sections
– Make XMLRequest call with data entered
– When result returns update named DOM element
• No need to refresh entire web page
• Immediate field verification
• Google suggestions
• Desire to produce web apps that compete with local ones
– Google Web Toolkit
• Java compiler produces Javascript
– That works with all browsers
– That can be tested using standard Java IDE
• http://code.google.com/webtoolkit
10/14
Page transition diagram
Home page
Help
Search
Company
Sitemap About Us Contact
Products
Product
Services
Service 1
Support
Free
Paid
search
Service 2
Payment
Downloads
Chat
Service 3
Static pages
Service 4
Protected pages
Dynamic pages
Applications
Encrypted pages
Shortcuts
Search from every page
Payment from free support page
11/14
Multiple targets
Different devices
– Different browsers
– Different bandwidth, resolutions, screen sizes, colours, printers
XML helps, but doesn’t solve everything
Content Management Systems can help here
– BBC for example
Phones and PDAs have different physical characteristics
– Small screens
– Java Midlets a step forward
Streaming media has different needs to web pages
–
–
–
–
–
–
Device limitations eg TV
Audio important
High colour depth, poor display quality
Video packet loss acceptable
QoS essential
Evolution: Text -> Still Pictures-> Moving Pix-> 3D
12/14
Merchant Systems
Requirements: pluses and minuses
–
–
–
–
–
–
–
–
–
User logon required?
Remember credit card details?
Same price for everyone?
Special offers (free delivery if over $100 spent)
Backend integration?
Help desk support?
Online credit checking?
Order picking?
Online stock shown?
Examples
– Microsoft .NET, FatWire, InterShop
13/14
Community Systems
Content Management on Steroids
– Wikis, FaceBook, MySpace, YouTube
• Usual suspects
– Layout generated by owners
– Content generated by users, not owners
– Sometimes owners (attempt to) regulate content
– Instant feedback to ideas
• Seen as important tool in US election
• Modern version of “on the stump” heckling
– Widely used as informal knowledge sharing tool
14/14
Outline Physical Design
Load balancer
Web Server
(static data)
Application Server
(business logic)
Database server
(orders)
Legacy
(stock control)
Big IP
Apache
J2EE
OPS
IBM
15/14
Sizing
Scalability
Lastminute.com system design
– How many people?
– At the same time?
Number of
products
Size of downloads
–
–
–
–
Ring tones 10K
Music 4M
Software 200M
Movie 2G
Reliability
BigIP
WebServer
WebServer
BigIP
WebServer
AppServer
AppServer
Database
Database
WebServer
16/14
Site performance
(Netcraft.com)
Time since reboot varies from around a fortnight to a year
Note
scale
17/14