Will my application run on Linux?
Most of this applications are proprietary and the parent company of the application might not have a Linux version. So once they face the application doesn't run.... but you can run this other Linux application the next problem will become:
Is this application has all my tools from my previous application?
On this step many commercial applications have become what many technologist called bloatware. Bloatware are applications that became bloated or they have gather so many features that try to become the trick of all trades.
So this post will give advice on how to implement the work flow for a web designer to keep doing their development using a complete suite of open source applications.
One of the core things from HTML designers is the HTML, html is the end markup code that needs to be shoot at the browser. There are many tools that are HTML editors, however some designer have become used to use WYSIWYG or visual editors where they see a end representation of the webpage.
Some non-WYSIWYG editors will have quick links to the browsers. This might not be a solution for many users, but might be enough for a quick fix. A good editor that present a WYSIWYG interface and also bring you the tool to quickly see it on the browser is Quanta Plus. Other tool that also bring some GUI is NVU, NVU used to be the composer part of Netscape, the project has not been maintained in quite a while.
The Syling -- CSS
Quanta is also a good tool to build CSS, CSS gain strength with the introduction of xhtml. This XHTML is a good practice to develop clean HTML and convert the styles, menu's, heading, lists through another markup language called CSS. CSS stands for Cascade Style Sheet, there used to be very good CSS editors but they were bought by the makers of the HTML product and was integrated making it bloated. Well here Quanta might fall into that classification as it has a whole interface to develop CSS within the editor.
There are however other css editors such as CSSed which will parse the CSS and even give you a sample output of the final view.
CSS is very good for different reasons specially the easily deployment of styles across a whole site. This improve the maintainability of the site.
Graphics are always a big part of the design of websites, banners, icons, and many other graphics are usually implemented into websites. The Gimp might be a good tool to use here, even if the interface might confuse some of the people used to commercial tools such as Photoshop, Corel Draw and many other graphical tools.
Gimp is a powerful graphic editing software, and one of the filters that might help many web designers is the py-slice extension which allow users to make a large graphic and slice it into different parts. This is usually used for design things like shadows, or frames of text within a site. This blog might be there is a frame that has a shadow on both edges of the body.
Other tool that is also gaining strength for web designers is the use of vectorial graphics, this is good to create shapes or forms that are useful when generating icons. This tool is called inkscape. Inkscape is vector based graphical element one of the advantages is that it can export to rasterize formats such as PNG.
Server Side Code
More and more sites are not just static html content, you might also have a programming language that will make the page content become dynamic. Dynamic languages like PHP, Python, Ruby, Perl are widely available in the linux distros. IDE's are also available and some IDE might be on the HTML editors, others might be specialized IDE like PHPmole.
Having all these tools might be helpful and they are very available on all linux sites.
Putting it all together
So here is the important part, you can have all the tools of the world but it really won't make sense to you until you have a workflow. Workflow is what web designers are really attached to. They know the tools but the tools are not very relevant if they don't do what they learned once following the random tutorials of the web or at the classroom.
So what a new Linux Web Designer need to learn is the workflow of the design on Linux. So where to start, what to do first. Usually web designers start with prototyping the site on a graphical tool. So we will be looking at Inkscape for our first tool to use. Why inkscape? Inkscape perform better with shapes, The Gimp is more specialized when playing around with the colors manipulation but not so good with shape manipulation. Also inkscape can import rasterize images.
First we will choose a resolution useful for us, so when we create a new document we will chose desktop_1028x760 which would be the standard on design. Then we will start inserting the boxes we will need, generate and put the icons that we need. Remember this is just a prototype since we will need to migrate to the CSS to emulate the positioning on inkscape.
Once finish we could export the design to gimp in case we want to slice it, here is an optional since depends on the developing way of the designer. Py-slice will help up slice the banner, graphics and icons. Once you generate the pieces of graphic you can just put it on nvu or quanta, and switch to the HTML code to pixel match it.
A good tool that I might have missed mention is the Firefox Web development plug in, which will enable you to also do a more detailed editing on the web page. This extension can be found here.
Hope this was enough for everyone to get started. I will do a follow up more detailed on how to enable to design into the coding part.