• 0

WD-FAQ


Question

post-32224-1133451733.gif

post-32224-1133451710.gif

As a follow up to my guide on computer graphics: “Vector vs. Raster”, I’ve written this brief guide to modern web design techniques. Such is the nature of the Internet that this information quickly becomes obsolete as new technologies supersede old ones, but I hope it will answer a few of the more commonly asked questions here on Neowin.

This guide won’t teach you how to be a good designer. It won’t even teach you how to code. Its aim is to give a rundown of the current trends in web design, the “web zeitgeist”, as it were. Hopefully it can set new web designers off on the right track to avoid problems further down the line.

Both this guide and my previous guide are in a state of constant revision and I welcome any and all feedback. My aim is that this topic can be referenced to and new users guided here for answers to quick questions often seen the Web and Graphic Designers Corner.

post-32224-1133451703.gif

Web design as a long and somewhat convoluted history. Back in the late mid-to-late 90s when the Internet was starting to become widely available to more than government agencies and geeky teenagers, the “browser wars” started. This effectively was a battle between Microsoft Internet Explorer and Netscape Navigator. Wikipedia can give you more information on this, but the basic outcome was that both Microsoft and Netscape started inventing HTML elements to stay ahead of the game. At that point, following W3C recommendations wasn’t seen as a priority and it was more important to gain users by adding multimedia elements specific to each browser. Examples include the dreaded <blink> tag in Netscape, and the countless multimedia additions and even whole scripting languages (VBScript) introduced by Microsoft.

Thankfully, times are a’changin’. Albeit slowly. Today, while there are still numerous incompatibilities, browser developers are striving to make their browsers more standards compliant to present pages in a uniform manner. With the growing popularity of Mozilla Firefox and other alternatives, Microsoft has been forced to rethink its strategy with Internet Explorer and, as such, has big plans for Internet Explorer 7. It is hoped that this new version will fix many of the IE-specific bugs that plague developers and require so-called “hacks” in CSS to fix.

post-32224-1133451718.gif

As I type this in November 2005, there is a movement among developers, headed by recommendations from the W3C, to separate content from presentation. But what does that actually mean?

Consider a bedroom in a house: let’s say it has a chair, a table, a bed and a window. That’s the content of the bedroom. But what type of chair is it? What are the dimensions of the table? Is the bed a double or a single? Or maybe a king-size? Are there curtains? This is the presentation of the content of the bedroom.

Current web trends encourage the separation of the content layer from the presentation through a technology known as CSS. CSS stands for Cascading Style Sheets, and is a method of defining rules for elements on a web page. Things like the colour of the element, the amount of padding around it, the font used for text. It is suggested that an HTML page should be near-enough bare of any mark-up (code) that gives presentation information, which should be in a separate CSS file.

Why bother? A valid question: it sounds like just an added hassle, and an extra file to upload. But the benefits are huge: if done properly, you can change your entire site appearance by editing one file. Because all pages in your website link to this presentation CSS file, you can edit that and immediately the entire look and feel of your site changes.

post-32224-1133451691.gif

It’s beyond the scope of this article to go too far into the rules of CSS, but there is one area I feel needs clarification as it is often misunderstood. When you want to style an element you define your presentation rules the CSS file and give it a style name: either a class or an ID (prefixed by “.” or “#” respectively). But which should you use? The answer lies in the element: if it’s something that’s repeated a number of times on your page, for example a particular text style or image style, give it a class. If it occurs just once, for example a DIV containing a header graphic, give it an ID. Classes are for repeated styles, IDs are for something that only occurs once per page.

post-32224-1133451696.gif

HTML, XHTML, Transitional, Strict… these terms are thrown around quite openly without much thought for their meaning. Some developers would say “Oh, code it in XHTML because it’s better”… but why? XHTML is an evolution to standard HTML which is in its fourth revision, and is designed to supersede it. It’s meant to unify developers and force them to produce cleaner code that simply makes more sense. It disallows tags that aren’t closed, rejects element attributes that aren’t part of the standard, and generally is stricter.

XHTML Transitional is a slightly more relaxed version of XHTML Strict – it allows things like the target attribute of anchor tags, which have an XHTML equivalent that isn’t widely supported by current browsers. Aside from all this, “Transitional” makes sense – as a developer community we’re in transition from HTML 4 to XHTML 1, so it makes sense that we use a transitional doctype for now to maintain optimum compatibility as well as reaping the benefits of XHTML.

post-32224-1133451745.gif

So what’s different about XHTML? There are three main differences you would come across daily with XHTML:

  • Self-closing tags – in the past, you could put the break tag (<br>) and horizontal rule tag (<hr>) on their own in HTML markup. In the quest for clean code, however, this equates to a tag that isn’t closed, so XHTML has changed this to a self-closing tag for semantic purposes, written “<br />” and “<hr />” respectively.
  • Strictness on custom attributes values – values that are IE-specific and not part of the XHTML specification such as “absmiddle” for the align property of an element will be ignored. Use CSS for this.
  • Semanticity – make sure your code makes sense! HTML defines elements for a reason. Use paragraph tags (<p>) for paragraphs, lists (<ul>, <ol>) wherever you have a list, and header tags (<h1>, <h3>) for headers. Remember, you can style any element in your CSS file if you don’t like the default way it’s presented by the browser, but use tags for their intended purpose. Also of note is that you can style lists to display horizontally rather than vertically – a navigation menu could be an unordered list displayed horizontally. After all, it is a list of links.

post-32224-1133451738.gif

In order to help developers produce clean code, a tool was developed by the W3C called the “Markup Validation Service”, or just “Validator”, which scans through the code of a web page and checks it against the latest HTML specification. I find this very helpful in designing pages as it can highlight problems that may be invisible to you on your browser but could plague users of other browsers. You can find this service here:

http://validator.w3.org/

post-32224-1133451724.gif

Tables are not evil. Web designers frequently complain about the use of tables on a web page without fully explaining their reasons, and as a result confuse less experienced designers. There is nothing wrong with using tables in your HTML code – but only if you are displaying tabular data. The W3C discourages you from using tables for layout purposes, which became the standard for web designers for many years due to their cross-browser compatibility. Now, CSS is there to define your layouts. Keep tables for data, and CSS for layout. This reiterates my point about using HTML tags for their intended purposes.

post-32224-1133451684.gif

We're getting a bit technical by delving into the world of AJAX but I think it's worth mentioning. AJAX is by no means a new technology: it's been around for a number of years but it's only now that it is becoming popular. This is mainly thanks to the efforts of GOogle who have brought it into the mainstream with its implementation in Gmail, Google Maps etc. AJAX stands for "Asynchronous JavaScript language and XML" and is a technology for creating interactive web applications. AJAX seeks to bridge the gap between web applications and desktop applications by reducing the constant refreshing of pages that occurs when working through an online application. By sending and receiving data to and from the server in the background of the web page and using Javascript to update the page dynamically, a much richer experience is possible for the user who can see the results of their inputs on-the-fly.

Check out Wikipedia's entry on AJAX for further reading, and Google Suggest for an excellent example of AJAX at work.

Edited by Joel
Link to comment
https://www.neowin.net/forum/topic/398525-wd-faq/
Share on other sites

17 answers to this question

Recommended Posts

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • A few years ago walmart had the 512 models on clearance for $35. I bought 3 of them. I should have purchased more.
    • I'm fine with a little reasonable promotion of Edge, but the degree which they do it right now I consider extremely unreasonable. 
    • Microsoft AI boss no longer believes that AI will replace human workers by David Uzondu Mustafa Suleyman, the head of Microsoft AI, recently took back his statements concerning white-collar jobs that he gave to the Financial Times in an interview made back in February, where he claimed that AI would replace office workers within 12 to 18 months. On Monday's episode of The Verge's Decoder, Suleyman recast the technology as more like a helpmate than a tool designed to take over your job. He explained that smaller office duties will "increasingly become digitized, automated" as people generate more digital materials. During the discussion, Suleyman emphasized a "very important distinction" between "tasks" and "jobs" to clarify his previous claims. He argued that his earlier comments only referred to individual actions that people perform at their desks. Suleyman used to work for DeepMind, the research lab he co-founded in 2010 alongside Demis Hassabis and Shane Legg, before he left in 2022 to establish Inflection AI and build an empathetic digital assistant. Microsoft hired him in March 2024 to lead its newly formed "Microsoft AI" division, placing him in charge of consumer products like Copilot, Bing, and Edge. His February comments also detailed plans for Microsoft to achieve self-sufficiency with a $140 billion infrastructure budget to train frontier models, predicting that creating a customized AI will soon feel like creating a podcast or a new blog: The 41-year-old is not the only AI executive who's softened his "AI will replace you" stance. OpenAI's CEO, Sam Altman, last month used X to push back against employment panic by arguing that his startup builds tools to assist humans rather than build replacements. He had previously garnered backlash by suggesting that many modern office roles that AI might replace did not qualify as "real work" in the first place, at least when you compare desk jobs to physical, historical labor like farming.
    • Adobe Acrobat Reader DC 2026.001.21662 by Razvan Serea Adobe Acrobat Reader DC software is the free, trusted standard for viewing, printing, signing, and annotating PDFs. Its the only PDF viewer that can open and interact with all types of PDF content – including forms and multimedia. It’s connected to Adobe Document Cloud – so you can work with PDFs on computers and mobile devices. Adobe Document Cloud is a revolutionary, modern and efficient way to get work done with documents in the office, at home or on-the-go. At the heart of Document Cloud is the all-new Adobe Acrobat DC, which will take e-signatures mainstream by delivering free e-signing with every individual subscription. Document Cloud includes a set of integrated services that use a consistent online profile and personal document hub. With Adobe Document Cloud, people will be able to create, review, approve, sign and track documents whether on a desktop or mobile device. Businesses will be able to take advantage of Document Cloud for enterprise which provides enterprise-class document services that integrate into systems of record such as CRM, HCM, CLM, and CMS, adding speed, efficiency and transparency to getting business done with documents. Adobe Acrobat Reader DC new feature highlights: Work with PDFs from anywhere with the new, free Acrobat DC mobile app for Android or iOS. Select functionality is also available on Windows Phone. Use the new Fill & Sign tool in your desktop software to complete PDF forms fast with smart autofill. Download the free Adobe Fill & Sign mobile app to add the same option to your iPad or Android tablet device. Save money on ink and toner when printing from your Windows PC. Store and access files in Adobe Document Cloud with 5GB of free storage. Get instant access to recent files across desktop, web, and mobile devices with Mobile Link. Sync your Fill & Sign autofill collection across desktop, web, and iPad devices. Adobe PDF Pack premium features includes: Convert documents and images to PDF files. Use your mobile device camera to take a picture of a paper document or form and convert it to PDF. Turn PDFs into editable Microsoft Word, Excel, PowerPoint, or RTF files. Combine multiple files into a single PDF (web only). Get signatures from others with a complete e-signature service. Send, track, and confirm delivery of documents electronically instead of using fax or overnight services (tracking not available on mobile). Store and access files online with 20GB of storage. Download: Adobe Acrobat Reader DC 64-bit | 719.0 MB (Freeware) Link: Adobe Acrobat Reader DC Home Page | Release Notes | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Meta will now use data from outside businesses to personalize AI responses by David Uzondu In an update that's rolling out globally (except in a handful of countries), Meta will use your data from outside businesses to personalize your AI responses and your primary feeds. Meta already utilizes your shopping activity to target ads, but the company now plans to expand this tracking to personalize other "parts of your experience" like feed algorithms and AI assistant chats. The company is replacing the two settings ("Your activity off Meta technologies" and "Activity from other businesses") that currently let you disconnect off-platform activity with a single, renamed setting called Activity from other businesses. If you don't want Meta to manipulate your feed and AI responses using your outside history, you can just turn the Activity from other businesses setting off in your account settings. This toggle resides within your Accounts Center, applying your choice to every connected profile. Turning this off will not stop companies from sending your data to Meta. The company will still collect your web interactions, but it only uses them to train products, while still accessing external accounts you connect. When The Verge spoke to Meta spokesperson Emil Vazquez, the representative said that this update will exclude several locations at launch, including the European region, the UK, Brazil, Thailand, South Africa, Turkey, South Korea, Ecuador, Nigeria, and Kenya. The new update comes at a time when the social media giant is recovering from a major PR disaster involving generative AI. Last week, there was a huge security issue on Instagram where attackers figured out a way to trick Meta AI into handing over account ownership (even if the victim had 2FA enabled). Some of the affected accounts include the dormant Obama White House profile, cosmetics brand Sephora, the Chief Master Sergeant of the Space Force, and security researcher Jane Manchun Wong. Internally, the company also had to scale back plans on its Model Capability Initiative (MCI), an employee-monitoring program designed to train corporate AI models by recording worker keystrokes and screen activity, after employees raised privacy concerns and complained about severe battery life drain.
  • Recent Achievements

    • One Year In
      Primer1st earned a badge
      One Year In
    • Experienced
      JayZJay went up a rank
      Experienced
    • Reacting Well
      Sir_Timbit earned a badge
      Reacting Well
    • Week One Done
      rubentuben8 earned a badge
      Week One Done
    • Week One Done
      ARaclen earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      229
    3. 3
      Edouard
      134
    4. 4
      ATLien_0
      87
    5. 5
      Steven P.
      80
  • Tell a friend

    Love Neowin? Tell a friend!