Richard Albion Web Design and Development

Tech Terms

HTML

'HyperText Markup Language' is a tag-based script language for creating web pages. A browser loading an HTML page interprets the code and displays the different types of content according to the different tags that contain that content, e.g. <title>Page Title</title> or <h1>Main Heading</h1>. Tags can also have attributes written within the tag, some of which are obligatory, e.g. <img src=”my_image.jpg” /> where the ‘src’ attribute is the location of the image to display. HTML specifications are set out by the W3 Council. The latest specification is HTML5, which has become a real buzzword in the internet field due to its exciting new features. Its support in modern browsers is pretty good, but the eternal conflict between specification and browser compliance is still with us. At the time of writing HTML 4.01 is actually still the current recommendation.

CSS

CSS stands for 'Cascading Style Sheets'. They are instructions, added to HTML code, that tell a browser how to display the page content according to the intention of the designer. The instructions relate to properties like position, spacing (padding and margins), font styles, colors, borders, backgrounds and so on. Page elements to be ‘styled’ are identified typically by their tag name, ‘class’, ‘id’, combinations of these, or via more sophisticated ‘selectors’. CSS code can be inserted into the HTML at various points in the page: ‘In-line’ as an attribute of an individual HTML tag; internally as a group of instructions added directly into the HTML code; or externally as a separate file loaded into the page as it loads in the browser. Being cumulative, the instructions 'cascade' down through the page. An instruction in an external CSS file can be added to (or overridden) by an instruction written ‘in-line’. That latest CSS specification is CSS3.

Javascript

An object-oriented scripting language most commonly implemented in web browsers to create dynamic or interactive webpage features, such as graphic effects, animation or asynchronous data movement. Scripts are normally written into the HTML directly or are loaded as separate external files. Though its principal use is for client-side (browser) scripting, it does have a server-side implementation. Also, numerous Javascript libraries exist, such as JQuery or Moo Tool, to simplify programming. Almost every website employs Javascript in some form or other. Try switching off Javascript in your browser and visit a familiar site to see the difference! Despite its name, Javascript has very little in common with Java (another programming language) and was originally named ‘Livescript’ when first released by developers at Netscape in the 1990s.

JQuery

A Javascript library that enables developers to work with Javascript in a more accessible and perhaps intuitive way, in order to program client-side scripts more easily. JQuery is one of many such libraries currently available and is the most commonly used. Other popular libraries are MooTools and Prototype. The JQuery library is loaded into a web page like any other external Javascript file, and the JQuery object can then be referenced in Javascript programming through the ‘$’ character. Key benefits of using JQuery include easy DOM (Document Object Model) navigation and manipulation, pre-written functions for effects and animation, simplification of programming AJAX and multi-browser support. Numerous JQuery plugins also exist to further simplify common tasks.

ASP.net

A server-side programming framework developed by Microsoft and oriented specifically to building dynamic websites. It supersedes ASP (Active Server Pages) also known as ‘classic ASP’, Microsoft's earlier server-side scripting engine. ASP.net was designed to radically improve ASP through, amongst other features, Common Language Runtime (allowing code to be written in a range of languages), external code files (‘code behind’) and ‘just-in time’ (on request) compilation. The code is most commonly written in either C# or Visual Basic (VB.NET) and can be written either as a script block within an HTML page or be referenced as an external ‘code behind’ file. ASP.net web pages (or ‘forms’) have the extension ‘.aspx’ and are typically run on a Microsoft Windows IIS (‘Internet Information Services’) server.

ASP (Classic)

Active Server Pages was the first ‘back-end’ scripting engine for Microsoft IIS (Internet Information Services) server, released in 1996. ASP web pages have the extension .asp and are typically programmed using VBScript, a version of Microsoft's Visual Basic language. ASP.net was introduced in 2002 as a more powerful and more reliable server-side framework, with many advantages over ASP. For example, ASP code is run on demand i.e. each time a page is requested on the server, whereas ASP.net code is generally pre-compiled, allowing pages to be generated faster. Nevertheless, ASP is supported on all versions of IIS to date and is still employed in major websites. Some consider classic ASP much more accessible than ASP.net as development requires fewer and cheaper resources.

XML

To the untrained eye, XML (eXtensible Markup Language) can look very much like HTML, but in fact their purposes are quite distinct. HTML is about displaying information, whereas XML is about storing data. Their only real common feature is that they are both tag-based markup. A principal difference in relation to this is that HTML tags and attributes are predefined, whereas XML tag names and attributes are completely arbitrary, although they are typically chosen to describe the data they contain. In fact, XML is not really a language as such, but more a basis for structuring data. In general terms, the structure is typically ‘tree’-like where each ‘branch’ consists of nested tags containing textual data. One key benefit of XML is its support of Unicode characters, meaning character sets of all languages are acceptable for writing XML.

XSL

In very general terms, XSL is to XML what CSS is to HTML. A crucial difference is that since HTML is a predefined language, identifying page elements is a relatively simple task. Another difference is that the resulting output from processing with XSL is not necessarily HTML. XSL (eXtensible Stylesheet Language) is in fact a collective title for languages that are used in transforming XML. XPath (XML Path Language) is used to navigate to specific locations within an XML document. XSLT (XSL Transformations) is more akin to scripted programming and employs pattern-matching expressions and conditional statements to apply structural templates that transform XML data into the desired output format. This format could be HTML, plain text or even another XML document. XPath is often used within XSLT.

MySQL

MySQL is an open source database management system, where 'open source' means the source code of the software is freely available to the public (under the GNU General Public License). Both free and commercial paid versions are available, the commercial version having extended features. Databases can be administered locally through the default command line tools provided or with software such as the official MySQL Workbench. For remote access on a web server, a third-party web-based interface is usually supplied by the hosting provider. Common web applications are phpMyAdmin and DBEdit. ‘SQL’ stands for ‘Structured Query Language’, the language used to manipulate databases. ‘My’ is the name of the daughter of Michael Widenius, the man who co-founded the MySQL project!

Search Engine Optimization (SEO)

Search Engine Optimization is the process of modifying both the page code and the content of a website in order to better communicate to search engines what that website is about, with the intended effect of improving the site's natural search engine rankings and overall visibility to the public. Although this is a procedure that can be carried out separately after the site has been built and the content written, ideally it is integral to all stages of the site design and development. Optimizing for search engines is an important aspect of any web project, but the popular SEO phrase 'content is king' reminds us that no matter how well optimized a site is, the quality and quantity of the site content is the fundamental dictator of how well it will rank. Quality content should naturally attract incoming links and social media attention, depending on the target market of the site.

Mobile Websites

The idea of viewing websites on mobile devices was introduced in the late 1990s but for some time the limitations in device processing power and connection speeds, plus the lack of dedicated mobile websites, meant that the web browsing experience was far from ideal. Only in the mid-2000s did mobile browsing start to take off. Only larger companies and multinationals tended to develop separate mobile-only sites, typically on subdomains starting with the letter ‘m’, such as ‘m.guardian.co.uk’. Fast forward to 2013 and mobile devices are due to overtake desktop pcs as the most popular way to access the internet. Though mobile websites are obviously nothing new, the way they are designed has begun to change. Separate mobile sites with pixel-perfect layouts are starting to make way for fluid, adaptable, 'responsive' designs, which provide optimal viewing on any size screen or device and could become the new standard approach to web design.

Responsive Web Design (RWD)

The term ‘Responsive Web Design’ was coined by Ethan Marcotte in his 2010 ‘A List Apart’ article of the same title. He suggests that the idea of designing layouts for specific devices is no longer practical and describes a new approach to web design that puts flexibility and adaptability at its core. Through the use of CSS and Javascript techniques the display of a page can be changed according to the screen size and type of device, with the aim of producing an optimal viewing experience for any visitor. RWD involves flexibility not only in layout but also in image quality, visible content and programmed (scripted) features. Although RWD has gained much popularity amongst web developers it is by no means a universally accepted approach and the debate over its general suitability is ongoing.

Cross-browser Testing

Testing web page layouts on different browsers has been an essential part of web development for some time. The reason for this is mainly the fact that, for a long time, the company behind each browser (Internet Explorer, Firefox, Safari etc.) was using a different browser 'engine'. Therefore the same web page would display slightly differently on each browser. The differences varied from quite minor to very significant, depending on which browser was used. Microsoft's Internet Explorer became the bane of web developers because of its continual divergence from W3 Standards behaviour. Today, broader and better standards compliancy in recent versions of all desktop browsers has much facilitated cross-browser design compatibility, but cross-browser testing is far from becoming redundant, due mainly to the continued use of older desktop browsers and the proliferation of mobile and handheld devices.

Content Management Systems (CMS)

Nearly every website needs to be updated in some way over its lifetime. The way a website is updated depends on the overall size of the site and the frequency and extent of the changes to be made. Smaller sites can be modified locally by editing the content directly through software applications. Larger sites normally require a Content Management System: a web-based interface for managing and publishing text, images, graphics or scripts (programs) on a website. These can be added, edited, moved or deleted and are typically stored in a database or as files on the server hard disk. CMS features can extend to tasks such as blogging, forum management and (bulk) emailing. Joomla and Drupal are two well-respected, free CMS products.

Email Campaigns

Almost any size business with any kind of online presence should take advantage of a mailing list. Search engine rankings can be unpredictable from one year to the next and traditional direct mailing can be costly. For many marketeers email has become the medium of choice when it comes to keeping customers in touch with your business and maintaining website traffic from previous customers. Website visitors are typically provided with an ‘opt-in’ page to either subscribe to the mailing list directly or receive a promotion or free product in return for their email address. The resulting list can then be used in a third party mailing service, such as Mailchimp, or in-house as an integrated part of a CMS. Sending emails in bulk is certainly not a perfect science, mainly due to updates and changes to spam filtering software throughout the internet, but the overall return can often make the exercise worthwhile.

Google Maps

Anyone who uses the internet will have at some time or other used Google Maps, either through Google's own dedicated map search facility or on a website with embedded maps. Google's Maps API (Application Programming Interface) is Javascript-based and provides developers with properties, methods and events to be able to dynamically load maps and manipulate them according to their needs. Map style, type, localization, controls and interactive features can all be modified. Location latitude and longitude coordinates can be generated dynamically via Google's own Geocoding service, or plotted independently and supplied in an XML format. Loading maps into a website is free up to a limit of 25,000 loads per day, after which excess loads are paid at a rate of $0.50 per 1,000. The latest API release at time of writing is version 3.11. A separate API is available for embedding simpler static maps. Other map-related APIs are Street View, Earth and Google Places.

Adobe CS

'CS' stands for 'Creative Suite' and is now the industry-standard design software for print and web designers alike. The latest version at time of writing is CS6, which became available in October 2012. Adobe Corporation was well known by the early 1990s for popular software applications like Photoshop, Illustrator, Quark and Acrobat. In 2005 Adobe bought out Macromedia, at the time a giant in the world of web design and development tools. Adobe left Macromedia’s well-recognized brand names, such as Flash, Dreamweaver and Fireworks, essentially untouched and later incorporated them into Adobe Creative Suite. CS products are available for individual purchase or as pre-selected software sets. CS Cloud is a new way to access Adobe software as an online subscription service.