Which Is Better – Dreamweaver or Expression Web?

For over a decade, the world of web development has been dominated by two software programs: Macromedia’s (later Adobe’s) Dreamweaver, and Microsoft’s FrontPage. For many years, the general consensus among web development professionals was that Dreamweaver was the superior program in a multitude of ways. A few years ago, however, Microsoft released Expression Web Designer which in many ways leveled the playing field. The question many ask today is, “Which is better? Dreamweaver or Expression?” This article will try to answer that.

Ease of Use

Both programs have very good point-and-click WYSIWYG editors, enabling even people who know nothing about HTML and CSS to build quality web pages. In this category, however, Expression is probably slightly better. Expression looks and feels very much like using Microsoft word, right down to the red squiggly underlines beneath coding errors, much like how Word points out spelling errors. Expression’s user interface makes it very intuitive and easy to use for novices. Dreamweaver, on the other hand, has a more complicated, feature-packed interface that hold greater appeal for experienced web developers.

Client-Side Scripting

Both programs handle Cascading Style Sheets (CSS) extremely well, automatically generating and displaying it accurately. Again, Expression is slightly better in this area, displaying CSS code more precisely.

When it comes to client-side scripting, it is difficult to see which software is better. They do different things, but both do it extremely well. Dreamweaver provides excellent support for Spry, YUI libraries, and APIs for jQuerry, but little support for ASP.NET’s AJAX. Expressions strengths and weaknesses are almost the exact opposite. It provides the finest support got AJAX… but little else.

Server-Side Scripting

Dreamweaver generally wins in this category. Dreamweaver supports PHP, JSP, ColdFusion, and several other platforms. Unfortunately, it doesn’t support the widespread and popular ASP.NET server scripting language (although it does support classic ASP). Once again, Expression is almost the polar opposite. Expression provides unparalleled support for ASP.NET, but little else (not even, strangely classic ASP). In the final analysis, Expression is the superior program for web development within predominantly Microsoft environment, while Dreamweaver’s superior support and flexibility makes it better for web development on most other platforms.

Site Management

For years, Dreamweaver’s far superior website management features made it a clear winner over Microsoft FrontPage. Microsoft Expression, however, and considerably narrowed that gap, providing a wider feature set and compatibility with Dreamweaver websites. Dreanweaver, however, still maintains its lead in this category with a wider and more efficient range of website management tools.

So Who Wins?

Unfortunately, it’s a draw – at least according to your own personal preferences. I am more of a Dreamweaver guy, and believe they are going to be around for many years to come. Each program is better for certain situations, but poorly suited to others. If you are an amateur web designer working with an all-Microsoft environment (like a corporate network), Expression is more compatible and easier to use. More experienced web developers working within a cross-platform environment (a mixed network of Unix, Linux. and Microsoft platform is very common these days) would find Dreamweaver’s flexibility and robust feature set more useful and efficient.

As internet technology continues to grow, diversify, and specialize, the days of a one-program-fits all solution are quickly fading. Today, one needs the right tool for the right job. To that end, web developers may find it more effective to keep both Dreamweaver and Expression software in their virtual toolbox.

How to Add File Upload Support to Your Web Site

Introduction

Providing the ability for visitors to your web site to upload files from their computer allows for the implementation of some very powerful features, such as for example letting your users share files with other visitors, or decorate their online presence on your site with an identifying portrait or avatar. In general, allowing for a file upload provides an easier way to share a large amount of data rather than extensive and tedious form-filling. However, while the file upload feature has long been supported by most Internet browsers, the precise details of how it is done can be quite tricky; the devil is indeed in the details. In order to correctly use this feature, you will need to perform some work both in the HTML and on the server side, and if you are writing client software to upload the file to an existing web site, you will need to know some details.

In the HTML and Browser

Adding a file upload button to a web page is relatively easy; it is just another type of INPUT field within an HTML FORM. Setting the type attribute of the INPUT field to “file” will provide an input field that allows file selection. Note that the actual upload of the file requires a little bit more work, including some server-side coding, which will follow shortly. The INPUT field may have other attributes set on it, such as size, which will allow control over the size of the display of the selected file, which should be very similar to a text field.

At this point, it is already worth noting that this HTML is likely to vary in appearance considerably from browser to browser. Typically, the form control thus created will consist of what looks like a text field, accompanied by a button that will launch the system file selector. Already, the appearance of the word “looks” should indicate there are possibly some accessibility issues with using this control. In both Internet Explorer and Firefox on Windows, the control appears as a text field with a button labeled “Browse…” next to it, with a few other visual differences. In Google Chrome, the button is labeled “Choose File”, and the text area where the name appears initially begins saying “No file chosen” and is just regular HTML text, not a text input field. There is a little control over the appearance of these visual elements via CSS, but some features, such as the actual text on the button, are chosen by the browser, not by the web developer. Furthermore, the button now means there are two button elements in the HTML FORM, not just a standard “Submit” button. This may cause some issues for browser users who are visually impaired or who use a different input method other than a mouse. In many ways, the appearance of the form may be unfamiliar to users, so your page should contain sufficient explanatory text, should be tested on many browsers, and perhaps should also provide an alternative method of supplying the file data.

Before leaving the HTML, there is one other change that needs to be made to a standard FORM – the enctype attribute of the form needs to be set to “multipart/form-data”. This is the most common omission when setting up a file upload form; if the enctype is left at its default value, “application/x-www-form-urlencoded”, your server will not receive the contents of the file at all, just the file name! This leads us on to the next observation; since the format of the data returned by the browser will be different, any standard form handling code you have will not work. You may need to make matching server changes as well.

On the server

As mentioned above, changing the encoding of the browser response to “multipart/form-data” is necessary so that actual file data is sent to the server; the standard form encoding does not handle arbitrary file sizes well. The encoding is based on the MIME standard for sending multipart messages, most recognizably used in email for file attachments. This makes sense since you are in effect attaching a file to a browser response, but note that the mechanism actually supports multiple files if necessary. Indeed, if there are other INPUT fields in your form, each of their results will also be returned as if they were a file attachment. This means the standard form handling code you have is unlikely to work.

Exactly what needs to be done on the server side depends highly on your server technology and the access rights you have on your site. You may need to contact your web hosting company, for example, to see if they already have a “canned” upload script that you could use. A blog widget or similar inclusion on a third-party site probably will not let you use this functionality. If you are the web developer, you should be able to search for “file upload” in your platform documentation; for example, Perl users will find file upload is supported in the CGI.pm module.

At this point, if what needs to be done appears too difficult, you should consider whether implementing file upload is really what you need, and be wary that there are many security and complexity issues that you may have to handle. What will you do with the files once they arrive? Where will you store them? What if, either accidentally or maliciously, a client tries to send you a huge file? What if the file never makes it to its destination? In cases like this, you may wish to consider an alternate provider to give you file upload capabilities. One use case was, for example, allowing your users to upload a picture or avatar of themselves. There are plenty of services to do that, such as Gravatar; your users might even prefer to see you integrate with Facebook or Twitter.

In client software

Nowadays, it is quite normal for programs other than web browsers to connect to web pages. If you are a developer for software that runs on smartphones, you may find yourself in a position where you need to upload a file to a web site without launching the browser. Again, the precise details vary depending on the platform you are using. Java developers may be familiar with the Apache HttpClient collection of utilities. Creating an HTTP POST using HttpClient is well-documented elsewhere, and a quick search for multipart posting highlights a MultipartPostMethod that is deprecated. The correct way in this case to post is to build a MultipartRequestEntity made up of one or more Part objects; a Part object can be configured to contain, among many other things, a file. A call to setRequestEntity() on the POST method will do exactly what is needed in this case.

What next?

Being able to upload a file to your web site opens the doors to some exceptionally powerful functionality, but the details seem to be a bit sparse online. You may go ahead and check RFC 1867, the original proposal dating back to 1995, and you may wish to try out this functionality in as many different browsers as you can find. You will most likely be surprised at the differences in look and feel. However, it is a good tool to have available in your web development arsenal, and the techniques illustrated here come in useful, even in modern web development environments.

How a Professional Website Developer Can Help Your Business

A website is a necessity in today’s business environment. It is your online opportunity to connect to the millions of potential customers for your product or service. Your website is also a very visual representation of your business, and as such it is vitally important to project a professional image.

There are a number of web site design programs that can be used to generate a basic web site. They use basic templates for pages and limit the customization that can be done. These web sites are usually created by end users for their personal needs and for that they do an adequate job. However, for your business the last thing you need or want is a cookie cutter web site created by one of your employees, or worse, someone you paid to create that kind of site for you. A web development company or web design firm uses professional grade tools and programming languages to create a customizable, unique web site that will provide you with something a template designed site can’t give, pizazz!

Did you know that the average first time visitor spends only 30 seconds on your website? If your site doesn’t grab the viewers attention quickly they’re going to move on and probably not return. Even if you do keep them around you can still lose up to 45% of those visitors on their second visit if they don’t perceive that your site has something new to offer. By using professionally designed graphics a web design firm can help you keep those first time visitors at your site longer, retain your existing visitors and those same professionally designed images make your business look its best.

By using dynamic content, content that changes based on criteria you set up or based on user preferences, a web development company can help you retain more of your visitors after their second visit to your site. Interactive tools, only available through a web design firm can keep your visitors engaged so that they stay longer and want to come back. A clean, logical, easy to navigate site structure makes it easier for your customers to find what they are looking for fast and with minimal effort, and that translates into money for your business.

Of course the biggest challenge any business faces is getting your web site found among the millions of web sites on the net, or even among the admittedly fewer sites of your competitors. Using a technique called Search Engine Optimization (SEO) a professional web development firm can raise your site’s rankings in search engines like Google, Yahoo, or MSN. By using specific keywords search engine friendly design and programming techniques a professional web design firm can have your site listed at or near the top of every category in which your business fits.

Web site design and development firms provide consultation services with design specialists who will work with you to get the most pleasing design for your business. Graphic designers will use their years of training and experience to assure that your site is not only visually pleasing and easy to navigate, but that has the added benefit of being a unique representation of your business, now and in the future. A web site is not a static entity. It must keep up with trends in design as well as project a fresh face to your customers. Periodic redesigns or more frequent minor face lifts will ensure that your business projects a professional, relevant and timely image.

A professional web design company, well versed in SEO and graphic design, is your best partner in the battle to drive visitors to, and keep visitors on, your site.