The Web



1. Intro


In the beginning there were mainframe computers and dumb terminals. Now there are server farms and web browser front ends. It used to be 'the web', now every book you see talks about 'Web 2.0'. AJAX only used to be either a Dutch soccer team or a detergent. Now it is something essential to Web 2.0.


Do all these acronyms make your head spin? Are you afraid to be left behind in the heaps of debris amongst the people who refused to follow or couldn't follow the pace of change? If they ask you whether you are into cloud computing or virtualization, do you wonder whether they imply you got your head in the clouds or have hooked off from the real world? You are not alone. But you know that Tiger, Britney and Lindsay showed us there is a treatment for everything. But maybe all you need is to browse through this website and explore a few of its links.


Back to Top


2. Tools galore...


The web developer has an immense number of tools at his or her disposition. Some are geared towards the designer, others towards the developer, commonly referred to as the coder. Web Development is hardly possible without combining these.


One of the companies which immediately springs to mind is Adobe. Adobe used to have a few core products, often used on Apple Mac for design. Over the years Adobe has expanded its offerings to a wide field of applications which include design as well as coding, and often combinations of both. Nowadays Adobe software is used at least as much on the Microsoft platform as on the Mac platform. It does however still not cater to the Unix/Linux world. Adobe expanded its range of products both through in house development and through acquisitions. Adobe has made an effort to integrate new and acquired software, through the establishment of the CS series, which stands for Creative Suite. Currently in the process of launching its fifth incarnation, Adobe no doubt has made further efforts to present a well integrated suite of programs.


One of the other fields in which there is a lot of growth is the 'mobile' world, by which we mean in the first place the smartphone business. In this field there are a lot of operating systems around, and it may come as a bit of a surprise to many that worldwide the most used operating system for this is Symbian. In North America people could be forgiven for thinking this would have been Apple's proprietary operating system for its i series of devices (iPhone, iPod, iPad ... which I usually abbreviate to iApple devices).


Fact is that there is however an enormous interest in developing for the iApple platform. But Apple keeps its cards close to its chest. I can think of two reasons for this: monetary of course, through market dominance, but also from a qualitative point of view. Just think about how earlier Microsoft Windows version got tarnished for instability, while the real culprits often were sloppy C++ programmers causing memory leaks. With its tight control over what gets issued for the iApple devices Apple has a lot less risk. Remember however that here we are not speaking about 'the web' but about native applications running outside a web browser on iApple devices. You can of course write web pages specifically formatted to make good use of the limited screen real estate of these devices. But many people would like to be able to either include more animation and control in these web sites and have access to things like accelerometers, GPS, multitouch either in their web based or in their native applications.


Up to the launch of Adobe Creative Suite CS5 there were high hopes that Adobe would provide a means of developing in Flash (its animation tool) and turn the result in native code. These hopes were dashed by Apple announcing new licensing restrictions on its own SDK (Software Development Kit). So to get real access to the niceties of the iApple devices and develop native applications and more interactive and animated web sites, one has no choice but fork out for an Apple Mac system. It also means learning the Objective C language (hardly used for anything else) and the XCode builder environment. And as modern and cool the iApple devices may be, these tools hark back more than 10 years to the likes of the NextStep operating system, Steve Jobs abandoned when he rejoined Apple and he brought it with him to Apple.


Now remember what we said about Symbian. Also know that this system which originally was solely proprietary has been open sourced. Also think about the Maemo and Android systems, built upon Linux systems.


We talked shortly about Adobe. Just like Microsoft, its best known packages try to be everything to everybody. This can sometimes mean a steep learning curve, or getting in the way of quickly doing the simple things. Lucky enough there are often simpler packages available from the same manufacturers which offer all the functionality you need while being less costly and less resource hungry. This last aspect is especially important if you are not using the latest and best hardware. Apart from that there are a lot of software packages available which are neither Microsoft nor Adobe, and often are free and/or open source, and available for free operating systems as well as the proprietary ones.


Just remember that there are technologies which you can not develop for unless working on a Microsoft or Apple Mac system. Adobe Flash and its associated programming language (ActionScript) are examples which spring to mind. At least this is strictly true for Flash, but ActionScript development is a bit less restricted. And remember we are talking development. Flash based software can be used by the end user in any environment through a web browser.


Back to Top



3. Coding... one way of organizing your development system


As said earlier, there are all kinds of tools available to the web developer. If you look at the links at the bottom left of the page, with as title Web/Multimedia Tools Exploration, you will see the names of many of these tools. But do you realize that the first 7 links all refer to tools which strictly speaking refer to the creation of pure ASCII files? Files that will be interpreted by your web browser, but nevertheless pure text files.


If you are using the Firefox browser and have downloaded the Web Developer add on, you will have a toolbar from which you can ask to see the source code of the page you are looking at.


There are WYSIWYG (what you see is what you get) editors available which allow you to put your web pages together graphically with a drop and drag way of working. The program will generate the text files which the web server will serve up to be interpreted by the web browser. But nothing prevents you from writing this code in a simple text editor and put it on your web server. A lot of code has been written with MS Windows NotePad!


One of the advantages of going it this way is that you are far more likely to be fully aware of every piece of code on your site, which could make it easier to maintain the site and will also provide you with a lot of in depth understanding of what makes a web site tick.


If that is the way you want to do it, then there are a few ways we found worked for us, to make our lifes easier. First of all try to put virtual desktops to good use. This has nothing to do with 'virtualization', one of the big current buzz words. If you use Microsoft Windows as is, you got one desktop, and if you have several programs open you will be shoving windows around, minimizing, maximizing, adjusting positions and sizes...


Those amongst you who are using Linux probably got the virtual desktops installed by default with their Linux distro. That shows as two or four little blocks on the right of the bottom toolbar. These represent different desktops on which you can keep different programs open. You can switch with a simple click on one of the buttons to go to another desktop with another program open. Microsoft Windows doesn't come with this utility. But third party free solutions are available for download. We have found one for XP (should be Ok with Vista too) and another one for Windows 7.


Assuming you are working with one monitor, you may want to have four desktops. As an example we will explain the kind of set up we use. Screen One we leave available to open file browser windows etc... Screen Two is used for our text processor. Screen Three has the web browser open, Screen Four has the FTP communication program open.


Depending on what stage of the development we are in and whether we work from the office or from somewhere else, we may or may not develop on our own local web server, serving up our own intranet (kind of an in house only internet). If we do, we would test out the web pages as served by that server, and if and when working properly transfer the resulting files to an external web server (run by the web hosting company). And test again of course. If not we may write code on the local machine, transfer directly to the hosted external web site and test it as running on that external server.


In the next part of this article we will talk about possible programs for use as editor and as FTP communication.


Back to Top



4. A handful of useful programs


Let's start with the text processor. Whatever you do, don't use a real word processor program such as MSWord or OpenOffice Write. Otherwise you will have to watch out all the time to make sure you do not accidentally save your files as formatted text documents. There are a number of good text editors out there freely available and geared towards code writing. Some of these are available for different platforms. A simple example we use both on MS Windows and on Linux is Geany. More elaborate editors are also available, such as Eclipse or NetBeans. And there are lots more. What makes these specifically suited for coding differs from program to program. But typically that may include colour coding, which makes keywords, variables, text, etc... stand out. Very handy, as a colour combination which seems unusual will immediately draw your attention to typos and syntax errors. These often saved our day when we accidentally did go a line too far or one too short when temporarily commenting out code. Many of these programs also will do some form of auto completion. Sometimes that may be by showing pop up drop down menus with choices of appropriate variables or keywords. Also often used to provide the closing tags as seen as soon as you provide the opening tag.


The other essential tool is the FTP communication tool. We typically use FileZilla, again, available freely for both MS Windows and Linux. This looks like a four pane file browser. On the left you can have your local files. On the right you can have the files on the web server. You connect to the server, and once you have access to the directory on the server you can transfer either way, delete files, create directories...It works amazingly fast and the way you expect it to.


That leaves the web browser. A multitude of choices and mostly available for MS Windows, Apple and Linux. Internet Explorer is the one that is only available for MS Windows and Apple Mac. Safari is the Apple browser, also available for MS Windows, not for Linux. Mobile Safari is the version for iApple devices. Google has got Chrome for all three platforms. There is Opera also for different platforms. And of course there is our favourite Firefox. These web languages are mostly standardized (Look up W3C!). Nevertheless there are substantial differences in the way the standards are supported, especially from the point of view of support for emerging newer versions of the standards. Again you can find more about this in the Web / Multimedia Tools Exploration Sections of this web site.



Back to Top








You are logged in with userName = anonymous


Not signing up and not logging in leaves you with username 'anonymous'. Nothing wrong with that, but it will make it difficult to find back your own content in blogs and comments and to leave your email address for us to answer individual questions you leave for us in the blogs or comments.