Premium Content


Premium Content articles are the very best articles from the world's leading internet technology, subject-matter experts. We have many categories of content below on a wide variety of subjects that have all been commissioned from big name authors.

Explore the Premium Content

Web Forms: Avoiding User Frustration

Web Forms: Avoiding User Frustration

For a user, forms on websites can be a frustrating exercise. They require information they don't want to give. They contain confusing choices. The user is forever unsure as to whether it's even worth filling them in...

By following a few rules of thumb, designers and developers can make things much easier for the people using their forms, and thereby enhance the likelihood that somebody will order form their site or sign up for their service..

In this tutorial we'll look at some methods and techniques to help your produce quality web forms, split across the following areas:

  • Clarity
  • Flexibility
  • Accessibility

and a brief note about another area to consider:

  • Legality
Read More

Creating a Stateful Web Service

Creating a Stateful Web Service

One of the problems in web development is the server-client model, or specifically the thin-client model. Where thin client refers to the web browser being used to access your application. This style of client-server model is a stateless model, meaning that no information (state) can be retained across multiple requests to the server.

This is essentially how the web functions, and it creates several inconveniences in development due to the workarounds that can be implemented. Most developers are familiar with the session object, which is a uniform concept in web applications that can be found in most development languages. Session variables allow your application to become stateful because you can store information for each individual user and persist that information across multiple requests.

Note: This tutorial requires Visual Studio.NET. Both VB.NET and C# code will be provided for both the Web service application as well as the consumer ASP.NET application

Read More

Dynamic Table of Contents

In this article you will learn how you can employ DHTML to quickly and easily add a dynamic Table of Contents feature to your (lengthy) web pages.

Introduction


Whether managing a simple static HTML web site or a complex database-driven application, at some point every developer comes across the task of building a section with some form of content listing.
Company News, Products Features, Frequently Asked Questions, Blogs and Tech Notes are perfect examples of content listings.
All these various types of content have at least one thing in common: each of them has a listing of content blocks and needs a way of navigating between the listing items.



Read More

Design and Accessibility: Part V

Navigation, Usability, and Accessibility

In the previous article on Design and Accessibility, Linda demonstrated the importance of separating style from structure, or how to use CSS (Cascading Style Sheets) to replace some structural layout – like the use of tables – in HTML/XHTML documents. While some designers may fear how their designs might appear to viewers who access the Internet with older browsers, this fear is ungrounded; the trend today is to allow sites to degrade gracefully in older user agents. In other words, it’s ok to allow your site to appear as plain text to someone who hasn’t or who won’t upgrade their equipment, as this degeneration (read: simplification) allows users with disabilities as well as the general public to access your online content.

Although the user may be able to access your home page, will he or she have access to the rest of your site? Navigation is one link (no pun intended) which ties style to structure and content, so navigation and a comparison to architectural “wayfinding” methods are the topics for this week’s article. Navigation is tied to accessibility and usability as well, since sites aren’t navigable if they aren’t accessible or usable.

Read More

Encrypted QueryStrings in .NET

Encrypted QueryStrings in .NET

When ASP.NET first arrived to the development community a few years back it was clear that one of the primary goals of the technology was to simply front-end development patterns. Many of the troublesome kinks that made classic ASP development very cumbersome had been addressed and pre-built into ASP.NET, allowing the developer to focus on functionality rather than finding solutions to the limits of the technology.

One of these new patterns is now widely known as the post-back concept, whereby forms no longer post themselves to other pages, but rather post to themselves, containing all the form information through the new ASP.NET control objects. You no longer had to “receive” form posts and process the data.

There are certain situations however, where posting or sending information to the same page that originated the data is just not an option. So there is still a need to use either querystrings, or post form data to another page. A good example is a page with overloaded functionality, and the querystring can tell the page which “context” it should run in, thus rendering dynamic content based on the querystring.

Another example could be a page which renders a certain object from your database, such as a document, or an image. The querystring can tell the page which document to fetch and render the result on the page.

Whatever the situation may be, there are times when the querystring information should remain private, or at least inconspicuous. As you’re well aware querystring data by default is clearly visible and decipherable by the naked eye. Taking the document example, a user could simply append: documentid=number to the page and render any document they wish, possibly breaching security or permissions in your application.

In this tutorial we will explore a basic encryption/decryption pattern which will allow your querystring data to remain encoded, and unreadable. Though not recommended for mission critical enterprise applications this basic pattern will alleviate the most common problems associated with unencrypted data.

Note: This tutorial requires Visual Studio .NET for compiling/debugging. If you are an advanced developer and know how to import assemblies and code for them in-line then you can easily use the assembly in any Dreamweaver aspx web form.

Tip: This tutorial is available in both VB.NET and C# format

Read More

Design and Accessibility: Part IV

Tables to CSS and CSS Modifications: Design for Accessibility

In the previous article, Linda returned to presentation, or to the visual layout and design of a Website, to understand whether the Montrose Citizens for Responsible Growth site was available to as many users as possible. In that article, she showed how mismanaged code caused a lack of presentation, and that this mismanagement could affect blind as well as sighted readers in some browsers (no one can read a crashed site...). She also illustrated ways that structure and style could alter presentation across browsers and platforms, especially if the stylesheet is linked to the document file incorrectly.

In this article, Linda corrects those issues in the Montrose site. First, she eliminates tables in her document and replaces them with CSS based on the CSS Mastery tutorial. She then modifies her CSS so that users who utilize older user agents can gain access to the content within the site. This material is especially useful to WordPress blog managers, but anyone can learn how to eliminate tables from their sites with these tips. Linda also touches on issues about global structure management based on W3C (World Wide Consortium) guidelines.

Read More

Multi-Level Forms Authentication with Dreamweaver and ASP.NET: Roles Logins

Authenticating users is a common task—one with which all web application developers should be familiar. In Classic ASP, Dreamweaver developers have long had the convenience of the built-in Macromedia Server Behaviours for implementing forms based authentication and authorization schemes. Needed security features such as Login User or Login User with Levels (Roles in Windows parlance) and Create New User are a simple point and click away.  When the Dreamweaver team implemented support for ASP.NET these familiar—and easy to use, server behaviours somehow never made it into the package. While many have wondered why this important functionality seems to have been left out, I wondered what it would take to implement it. And that leads to numerous and interesting questions.

But first before you get too involved, let’s see if you’re ready. This tutorial makes some assumptions about your skill level--that is, this tutorial is intended for intermediate users. If you’ve never configured a new site in Dreamweaver, never configured a database connection string, or never used the Dreamweaver database connectivity tools, this tutorial is probably not for you as you’ll need to be familiar with these concepts and techniques. If you have done these things but have very little or no experience hand coding, writing SQL statements, using the Dreamweaver advanced Dataset Dialog, don’t worry we’re doing this together and I’ll to do my part to bring you along.  

Read More

Building a Simple Hangman Game with Flash – part 1

Developers use Flash for lots of different types of applications. You’ve probably seen full Flash web sites, photo galleries and e-learning applications. Flash is particularly well-suited for building games and I’m sure you’ve seen many examples on the Web.

In this two part tutorial series, I’m going to show you how to build a simple hangman game. If you haven’t played hangman before, it’s a game where users have to guess a word, given the number of letters. In our games, users will be able to guess 8 different letters to try and solve the word. For each incorrect guess, another part of the hangman is built. The user loses when the hangman is completed.

You can download the source files for the tutorial from the blue Properties box that contains the article PDF. There's a heading titled Code Download and you can click the Details link next to it to get the zip file. The download includes the starter file as well as the completed file.

Note: If you have difficulties downloading the source files or PDF, you might have a problem with your cookies. Delete the cookies from your machine and try again. In Internet Explorer, you can do this by choosing Tools > Internet Options... and clicking the Delete Cookies... button on the General tab.

Read More

AJAX by examples: PHP Email with dynamic attachment

Introduction

One of the main advantages of AJAX is the ability to interact with the web server without loosing your current screen state.

Here is a real life example:

Let’s say you are working with your favorite web application. You have filled out bunch of form fields to generate a nice long report and you need to email this page as you see it to someone as an attachment –a Word document!

You can probably think of a number of ways to get this done, but here is an AJAX way – do it with a click of a button, staying exactly where you are and without launching external applications. Sounds interesting? Let’s get busy.

Read More

Contribute: Part 2

Administering a Contribute Site

By Zac Van Note

With Great Power Comes Great Responsibility

A large part of the power of Contribute comes from the ability to administer sites at a very granular level. This means you can allow one user access to modify text only in a specific area of a specific page. You can allow other users to edit any page within a certain folder, and you can allow other users to have much broader access to edit and publish pages across multiple folders or sites. 

All of this power falls under the Administration controls in Contribute. You can access these controls from a link in Dreamweaver’s Site setup dialog box, but you must have a full version of Contribute installed to configure and administer your site and its users. In Part 1, we discussed how to set up a Contribute-friendly site in Dreamweaver. In Part 2, we’ll discuss how to setup the site in Contribute, create users or groups with specific permissions and get users connected to the site.

An upcoming article titled Using Contribute will focus on the specifics of editing existing pages, creating new pages, reviewing and publishing pages. The article will be a good overview for site designers and developers and can be given to site editors for more detailed information on how to get the most out of Contribute.

Read More

Data Driven Email Templates

It can easily be argued that sending email notifications is a part of almost any Web application. Whether you’re developing small 2-tier apps to full n-tier enterprise apps you are more than likely going to wind up with the requirement to interact with customers/clients/users via email notifications.

There is literally and endless supply of email components available on the net today. Most of them are free to download and distribute, while other more advanced components can be purchased for a reasonable price. For me personally, I would rather implement my own functionality majority of the time rather than reading through support documentation and code samples trying to figure out how to make 3rd party components function with my existing application.

Tip: If you do not have Microsoft Access installed on your machine you can download the .mdb file for this tutorial and setup your database connection in Dreamweaver to point to this file.

Read More

Design and Accessibility: Part III

Structure, Presentation, and Accessibility

In the previous article, Linda wrote about separation anxiety, or about the definitions of content, structure, and presentation, and whether content can be separated from structure or even from presentation in Website designs. This debate sparked the famous “separation anxiety” issue and Linda added her two cents to this discussion. She stated that none of the above can be separated, and she used the Opera browser’s User Mode to support her viewpoint and also to illustrate a few ways that a person who suffers from low-vision impairments might visualize the Montrose Citizens for Responsible Growth site and Target’s site. In addition, she illustrated how to use the Worldwide Web Consortium’s (W3C) Cascading Style Sheet (CSS) validation service to check for CSS errors and warnings.

Now, Linda returns to presentation, or the layout and design of a Website, and how to visualize whether a Website’s page is available to as many users as possible – including people with normal sight and to those viewers who suffer from low-vision impairments and blindness. In this article, she shows how CSS links contained in HTML/XHTML documents can break a CSS2 presentation in older browsers and other ways that structure and style can alter presentation in various browsers and platforms. Why is this important, when some other designers have – for instance – more or less dropped issues like Netscape 4x presentation? Find out...

Read More
Newer articles Older articles