Archive for January, 2010

How to become a web developer?

Tuesday, January 26th, 2010

There are two directions to go: design, and development (programming)

Design - some say that to be a graphic designer you need to have a talent… But as many websites nowadays aim for simplicity and usability ability to think rational might be more useful then raw creativity. There are also plenty of templates around which you can “creatively modify” and make a site that looks better then the one designed from scratch. In fact every web site on the net can provide you with some ideas on layout and navigation.

Software packages such as Adobe Fireworks can export created content to HTML, so no HTML skills are necessary. But HTML is the next logical step towards extending your experience in web site building. There are a plenty of free tutorials on the net, the http://www.htmlgoodies.com/ is the site I used many years ago to get started with HTML and JavaScript.

The industry-standard graphic design tool is Adobe Photoshop - but I would advise to stick to Fireworks as it is more web-oriented. Download Photoshop Elements instead to try how the Photoshop “feels” and see if it is for you. There are also free online tools that can replace Photoshop http://www.pixlr.com/ for example.

If you want to proceed to web programming JavaScript is an easy way to start. It has became almost a “proper” programming language. At the same time you do not need to set up a complex environment or learn any IDE (integrated development environment) tools, just a notepad and a web browser can get you started. After you pick up some JavaScript, you can try to move to server-side programming - PHP is an easy way to start.

What is your passion?

It is important to like doing what you do. Try different things and see what activities find most exiting and most rewarding. It is more likely that you will progress faster in the areas you enjoy most.

Training courses.

This will largely depend on the type of personality. If you are self-motivated enough you can learn more or less everything yourself. Just pick up a book on Amazon and go through it from start to finish, then another book on the same topic… At the same time work on something practical (our own web project) so you can utilise the knowledge gained.

The benefits of formal training are:

Structure - your knowledge will be build systematically from easy to complex problem solving. The same can be achieved by using a book or an online video tutorial. Plenty of free tutorials can be found on YouTube.

Support from tutors - I think this is the most useful part of any training course. To some degree you can replace this with asking questions at expertexchnange, or yahoo answers, or related discussion forums. You also can hire a personal tutor, and this could work out cheaper then taking corses as personal training is much more efficient.

Mixing with like-minded people - this is fun, you can not only share problems, but find friends and professional contacts. Social networking sites and networking events can serve the same purpose. Join related groups on Facebook, Linkedin or Ecademy. Find related meetings at meetup.com

Official papers. - you will get a certificate, diploma or a degree, depending on how much time and effort you can sacrifice. But you can pass tests on-line and show test results as a prove of your knowledge: see for example brainbench.com. Also I think in digital industry experience and personal portfolio of work is much more important then papers.

Think about future employment.
Research your salary at http://www.itjobswatch.co.uk/.

I would suggest to start looking for a job more or less immediately. There are some “low-end” roles, like support, and assistant positions. The money won’t be good, but there might be opportunities: you will experience the environment of organisations you will work for in the future, and meet people that work in positions you are aiming for.

Freelancing, contracting or full-time employment.

To freelance you have to be more then a specialist in web development: you have to market, sell, organise your work, and finances. This is not for everyone, but if you can do it it can be very rewarding. I would say SALES is the most important thing to look at. Especially if you start from grown zero. The competition at the bottom end of skills is tough, there are companies that do the web sites at ÂŁ20 per page, and there are offshore freelancers working at $2 an hour.

A contractor is simply a person who takes temporary positions, but works on-site, normally via employment agencies. Those assignments can be from several days to 6 months +. I know some people who work as contractors for one company for years… It just happened that their contract is extended every 6 months.

Contracting is a good way to start and to try doing different things. Hourly rates are also typically 30%-100% higher compared to permanent positions, from ÂŁ12 to ÂŁ40 per hour +.

Full-time employment - I wish I could comment, but never been in one.

What Is Usability

Monday, January 25th, 2010

Usability - when applied to software or websites - measures how easy it is for a completely new person to grasp the interface of a particular software product or website and figure out which interface element is responsible for which function and how to achieve one goal or another. As Wikipedia puts it “In human-computer interaction and computer science, usability often refers to the elegance and clarity with which the interaction with a computer program or a web site is designed.”

Yes, these are the main points: elegance and clarity. Good usability means the user should be able to learn to use the new piece of software at a glance and figure out how to accomplish the majority of tasks - including sophisticated ones - intuitively and without any training. Bad usability means that the user will have to receive special training to complete even basic tasks.

Designing software and websites with usability in mind can be more expensive than designing without usability. Best practices recommend usability tests involving teams of testers - users unacquainted with the product, who are given tasks and do their best to achieve their goals using the software. For effective usability studies their actions must be thoroughly recorded and later analysed, because it’s the only way to find out how intuitive the interface is. People are different, and what seems usable to one (especially the developer or the project manager) may be overwhelming to the other, that’s why it’s so important to invite several testers - ideally, representing different age and gender groups.

Generally, and especially for our purpose, the testers should be “target users” and in case of bespoke software end (business) users.
In practice we, and many other companies do not record user actions for later analysis (too time-consuming). Just watching real people performing tasks can help us figure out most of usability glitches.

All this can come at a cost, but it pays long term. Usable, intuitive software will save hundreds of working hours, which your personnel will be spending working on their tasks rather than thinking how to do it. It will save a lot of money also - the money you would otherwise have to spend on training your staff. So, if you calculate your ROI, you will see that investments in usability work well for your business.

Apart from being easy to learn, good, usable interfaces should be easy to remember, provide the fastest ways to accomplish the task, ensure that the user makes as few errors as possible - and even that the user enjoys working with it. If these requirements are not met, further usability improvements are necessary.

We have already shown that if you are ordering an application from a software development company, whether standalone or web-based application, it makes sense to invest in user-friendly design from the start because it will pay afterwards. But what about software development companies themselves? If they are developing a product they hope to sell, should they invest in usability?

The answer is yes, absolutely. The problem is. people tend to avoid using software which they find difficult to use, or just don’t like. So if your software is designed without any usability in mind, you’ll find it hard to sell it - people will buy from your competitor, even if your software provides more functionality. So, if you are aiming at selling your application, usability becomes an absolute must!

HTML coder, JavaScript Programmer, Java developer… Coder, programmer or developer?

Monday, January 25th, 2010

People use words like “coder”, “programmer”, and “developer” to describe professionals involved in software and web development activities.

Understanding the meaning of those terms, and differences in usage can help businesses to find appropriate specialist easier using web search. And it can help web design and development companies to target their search engine advertising better.

Coding refers to activity of writing a code (in our case software code) but also writing a code of a mark-up language like HTML or XML.

Programming is almost the same as coding but most often refers to writing a code in “proper” programming language like C or Java. Programming is also a wider term, and can include other activities besides coding such as debugging and code compilation.

Development is a wider term covering full life-cycle of a software or web development project.

Some say that a “software developer” has to have a wider set of skills, including project management and communication skills, and have to be more commercially aware compared to a “programmer”. Programmer is a person in junior position who writes the code according to prescribed specification.

Let’s have a look what people are using when searching for particular software skills. We will do this by utilising a Google keyword suggestion tool. The table below shows the global number of searches per month for particular combination of technology/activity:

coder

programmer

developer

HTML

1,900 (79%)

1,300 (54%)

2,400

JavaScript

590 (37%)

880 (55%)

1,600

PHP

5,400 (16%)

880 (2.6%)

33,100

Java

390 (0.5%)

22,000 (30%)

74,000

“Developer” is the most popular term describing activities of web developers. Although HTML and JavaScript are quite popular terms in themselves, working with those technologies are more often described as “coding”.  “HTML coder” used as much as “HTML developer” and “Java coder” is almost never used.

“JavaScript coder” is less popular then “HTML coder” but much more frequent then Java or  PHP coder.

People are more likely to call PHP developers “coders” compared to Java. With Java “programmer” is used more often.

Although serious web applications can be developed in both technologies, search statistics shows that people still treat PHP as a light-weight web programming language, much more suitable for simple tasks compared Java.

Coder better goes with HTML (HTML coder) and sometimes JavaScript (JavaScript Coder) but we can also say JavaScript programmer. “JavaScript developer” is used much less compared to “Java developer”, or “C developer” for example, as development usually includes a full cycle of software creation. And it is very difficult to write a proper software using JavaScript only, although some developers manage to do that. For example CKeditor http://ckeditor.com/ is a rich text editor written in JavaScript – in it’s functionality and features it can compete with some desktop text editors.

For related skills and services please visit our web site www.magicwebsolutions.co.uk

Web technologies for Internet projects.

Monday, January 25th, 2010

How to select a web technology for your internet project – a business perspective.

Many developers will speak passionately about web technologies they use. Major web sites dedicated to specific technical platforms will advocate efficiency of that platform and provide numerous references to high profile and high traffic web sites using this technology.

This can only mean that good and reliable web systems can be build using different popular and less popular web technologies. So what technology to go for? And how to make a choice?

Let us look what web technologies are available for building web sites or web-based applications, and point out some differences between them.

Web technologies for building static web sites and “front-end interactivity”.

Server-side web technology of the masses PHP and MySQL.

Enterprise-level platforms: Java & .NET.

Web technologies for a static web site and “front-end” (client-side) interactivity.

Monday, January 25th, 2010

Let us start form a simple static web site. The web pages are constructed using HTML and most often CSS (Cascading Style Sheets), graphics and other media can be embedded within a web page.

For building a simple, static web site HTML and CSS are standards.

HTTP (Hypertext Transfer Protocol) will be used to deliver those pages over the internet, but this is something nether you or developer does not even need to know about.

Some software will be used in the process to create web pages. Notepad can be used and some developers are very proud to get away with a simple text editor – this proves they know all HTML and CSS tags by hart. But for a business the important thing is efficiency – you want to get more for the money you pay, so you should not mind if your web developer will use some specialised software packages, such as Adobe Dreamweaver to generate HTML code automatically. Yes HTML editors can sometimes generate superficial code. Experts might argue that a messy code can affect search engine friendliness of the site, increase page load speed, and make the HTML difficult to comprehend. Our experience show that code generated by web design software will be reasonable and any minor problems will not overweigh the productivity gain. The software-generated HTML code, in majority of cases will not affect user experience or search engine spiderability.

You need to be aware that there are different ways code complex page layouts: it can be implemented using tables, or using layers (table-less design). It is also a good practice to separate content from presentation using CSS. There some other aspects of web page coding, but this is a topic for a separate article, and not something we need to conceder in detail at this point.

If you have to move to web-site interactivity: say you want to add drop-down menus to your web site, or display current time on the home page, or say, provide your users with a calculator of some sort: a currency convertor for example - HTML will not be sufficient anymore, and your web developer will need to use a programming language to achieve that. HTML is a mark-up language, land different from programming language because it does not provide for any logical or mathematical operations, cannot take any data input and it cannot output information based on the data processed.

The standard language for web page programming is JavaScript. HTML is extremely easy to learn that is why many graphic designers moved into web design, picking up HTML skills on the go. JavaScript is a step up to a “proper” programming. But with JavaScript there is a way to get away with very little knowledge. Most of typical tasks are already solved by web community and thousands of scripts are available from script archives. Those archives have demos as well. So you can do the job of your web programmer and save some money, by locating required functionality in those archives. (see http://www.codelifter.com/main/javascript/index.html for example). You can also point your web developers to a web site that has similar functionality – in most cases they can look into the code and figure out what JavaScript libraries are used to create that particular effect.

JavaScript is a standard language for implementing basic interactivity on a web page. Or technically speaking on a “client-side”, as there is no data sent or received from the server.

Do not mix Java and JavaScript by the way. JavaScript has “Java” in it because the language syntax is similar. But they are completely different things. Java technology is used for server based programming. And the word “Script” in JavaScript means that it is something much smaller and lighter then a proper (computer) “program”.


Close

*
*
*
*
*5+2+9=
Compulsory fields are marked with *

Full contact page

© Magicwebsolutions Ltd., 1999–2008. All rights reserved | Terms & Conditions | Send Comments