Category Archives: Web Development

Improving Page Loading Times for Web Developers

If your WordPress or Magento website is slow to load, you will lose a lot of visitors because of this. Most web surfers are impatient, and are not going to give you long to impress them before they hit the back button and go to the next site in the search results. If you want to impress your visitors, you must optimize your site to load as quickly as possible. Here are a few tips:

Compress Images

Optimize your images for your site. Use the best compression you can without sacrificing quality. Create small thumbnails for images shown in-page, and allow the user to click those thumbnails to view uncompressed, full size images in a lightbox if they so desire.

Minimise Redirects

Remove tracking code or off-site widgets if they have a large number of redirects. Host as much of your website’s content as possible on your own servers or a reliable CDN. In addition, try to minimize the amount of off-site JavaScript on your pages. Keep your designs simple, and make sure that it will be functional even if some off-site content fails to load because of unexpected provider downtime.

Turn on Compression

Use mod_deflate module to compress HTML, XML and CSS. In many cases you can reduce HTML content to just 1/5th of its original file size by enabling compression on your server. The performance overhead is minimal, and in a world where bandwidth is the main bottleneck it makes sense to use CPU power to reduce bandwidth consumption.

Serve Different Pages for Different Devices

Take advantage of browser and platform detection capabilities to serve different pages for mobile, desktop and tablet devices. Serve super-high resolution images to iOS devices with retina displays, and offer lower resolution images for smaller mobile devices. If possible, also use different layouts for touch screens vs keyboard+mouse interfaces.

Is the LAMP Stack Obsolete?

For many years, the LAMP stack was the king of the world of web development. If you wanted to build a successful, stable and high performance website you would use Linux, Apache, a database (usually MySQL) and PHP/Perl.
Today, that has started to change. An increasing number of websites are being built based on other frameworks such as Ruby on Rails, and one app may use multiple languages – such as PHP, Python, Ruby and JavaScript. Instead of building a “stack” we sit languages next to each other, relying on distributed computing an cloud servers to build a scalable website.

The Tools Are Not Obsolete

The tools themselves are not obsolete. Linux is still the operating system of choice, and Apache is still one of the better servers (although Lighttpd and nginx are becoming increasingly popular). PHP is still a good language, and MySQL, while losing some ground to PostgreSQL, is still a good database choice.
The issue is not with the tools, simply the way we use them. The days of monolithic architectures are ending. Web Developers are working with increasingly complex setups in the cloud, and this requires a new way of thinking.

The Linked Framework

Thanks to Amazon Web Services and other cloud solutions, developers can now install any applications and frameworks they need on a cloud server with just a few mouse clicks. These cloud services are elastic – when you need them, they’re available and will expand to offer as much computing power as necessary. When you don’t need them, the processes are stopped and you are no longer billed – you only pay for what you use.
This system is a boon for developers. It’s fast, inexpensive, and flexible. It may be that the LAMP stack is becoming obsolete not because of a lack of power, but because of a lack of flexibility – why pay for power if you aren’t using it?

Tips for Web Application Development

Web application development is a rather different system today to what it was even just a few years ago. Now, web developers have to understand OOP practices, master multiple scripting languages, and learn to work with several different APIs. The days of throwing together a site with PHP and MySQL and letting it stand in isolation are long gone.

Open Source Development

One of the best ways for developers to get started these days is to work with or on open source projects. Open source development is a great way to network, meet new developers and learn new skills. Whether you volunteer for Magento, Mozilla or Ubuntu doesn’t really matter – pick something that matches your skills and interests, and work on it.

Pick Simple Problems and Solve Them

Don’t try and reinvent the wheel – there’s no point working on an all-singing, all dancing blogging platform as your first project when WordPress already exists. Why try to build a new ecommerce platform when Magento and OSCommerce already do the job perfectly well? Instead of trying to take on such a huge project to begin with, stick to solving smaller problems with elegant hacks. Build up a portfolio of smaller, finished projects and work on your mega-project once you have a following.

Share Your Code

Post your code to GitHub, sorceforge and other similar websites. Treat GitHub as a super LinkedIN page or resume. Showing your programming code is a good way to learn, get advice, and promote yourself. If there’s something wrong with your code, people will tell you. If your code is good, people will appreciate it – you’re helping others and could get a job out of it.
Of course, before you post any code you should make sure that it’s worth posting. Learn how to comment your code, how to structure it well, and how to optimize it. Only post code you’d be willing to show a prospective employer.