10 Ways to Cut Down Web Development Time

Dec 13 2008 by Jacob Gube | 74 Comments

In today’s development environment: faster is better.

Present-day buzzwords and buzz terms like "rapid application development", "Agile", and "Asynchronous JavaScript and XML" (we can’t even wait for web pages reload anymore) gives you an insight of the fast-paced world we live in.

But getting things done rapidly doesn’t mean working harder – just working smarter. In this article, you’ll find 10 general, time-saving tips to cut down on your development time.

1. Use frameworks

logo of frameworks.

Frameworks abstract regular code to provide you a structure and foundation for developing web applications.

A classical example of a framework is Rails, a web application development framework for the Ruby language. By providing pre-made packages of code (for example – user input validation methods) – not only do you save time from writing your own code in Ruby – but you’re also assured that the packages have already been tested and inspected by other developers, saving you trouble in extensive testing as well as potential bugs due to the lack of testing.

The same goes for JavaScript frameworks like MooTools; it saves you time by providing you methods that have been already been widely tested by the core developers and the community for cross-browser support. Other options for client-side scripting frameworks include jQuery, Prototype JS, and YUI. If you want to use a less mainstream JS framework, check out this list of promising JavaScript frameworks.

For server-side frameworks: check out CakePHP, CodeIgniter, Zend, or symphony (for PHP), or if you like writing in Microsoft-supported languages like VB and C#, consider the .NET Framework.

You can even use CSS frameworks like 960 Grid or BluePrint to standardize and rapidly write your styles and web page structure.

2. Use an Integrated Development Environment

IDE logos.

Yes, you can create web applications and web pages using a simple text editor like Notepad and an FTP, but I think most would agree that it’s not the most time-efficient way of developing complex and robust web projects.

An Integrated Development Environment (IDE) is an application that brings you all the tools you’ll need to create and manage even the largest web projects. IDE’s vary in features, but some common features include:

  • project management and team collaboration features
  • debugging and diagnostic features
  • syntax suggestions and auto-fill (it guesses what you’re trying to write)
  • syntax highlighting
  • built-in FTP that syncs your local and remote files

"IDE" is a fancy term that some might be unfamiliar with, but most have probably heard of Adobe Dreamweaver. Dreamweaver can be considered as an integrated development environment because it has the features above and helps you write code faster (it’s typically used for front-end authoring but it supports server-side languages like PHP and ASP.NET).

There’s plenty of IDE’s out there, and all you’ve got to do is pick one for you (or your team). Some popular, fully-featured IDE’s include Eclipse, Komodo IDE, NetBeans, Visual Studio, and Aptana Studio.

If you’re still intent on just using a text editor at least check out this collection of text editors for coders.

3. Modularize (appropriately)

Modularization is a key practice for creating maintainable, complex and scalable applications. It essentially means authoring code in components rather than big files.

Modularizing has its initial time costs (since you have to put more careful thought in the design of the file structure), but you can save time in the end when you need to change certain components or scale your application.

Modularization also keeps bugs contained; if something breaks down, you will have an easier time finding the particular issue.

But too much modularization can lead to bloated code and too many unnecessary include‘s that can slow down your application drastically. So try to hit the sweet spot between too much and not enough.

Some modularization patterns include the MVC and PAC model.

4. Debug front-end issues more effectively with browser tools

Firebug screen shot.

Nothing’s worse than cross-browser incompatibilities and rendering issues. It can drive you nuts and wanting to destroy something in frustration. But using in-browser debugging tools makes finding and diagnosing front-end issues much quicker and more efficient.

Firebug and Web Developer are essential time-savers and is a staple amongst front-end web developers. Firebug can easily inspect the DOM to see how things work, tweak CSS/HTML/JS on-the-fly, debug and profile your JavaScript, and help you promptly find what’s causing your scripts to break. Web Developer gives you access to useful tools like being able to click on an element to see what style declarations affect it and allows you to quickly disable JavaScript and CSS to see how your pages work without either one disabled by the user.

If you need to debug in Internet Explorer, check out the IE Developer Toolbar which is similar in function to Firebug and Web Developer. Some more in-browser tools for IE that can help you cut down on debugging in IE can be found here.

5. Code for reusability

If you find yourself doing the same thing over and over again, chances are you should rethink your code’s structure. Consider learning about common design patterns that help you create methods, functions, and objects that are flexible and reusable.

For example, if you frequently connect to a database, you may want to create a Database Access Class to handle connection, querying, and rendering of data.

6. Collaborate and track project status online

Basecamp screen shot.

Chances are – you don’t work alone. Whether you’re working as a development team or working for someone (perhaps managers or clients) – you should take advantage of collaborating and tracking your project’s status on the web.

The less time you spend on administrative tasks and being stuck in endless meetings (or worse – traveling for a face-to-face meet) – the more time you have towards writing code.

Tools like Basecamp, Lighthouse, and activeCollab give you a "one stop shop" for team collaboration and keeping track of the project’s status. You can set milestones and project goals in your collaboration application – so that everyone’s always in sync, saving you time from answering frequent emails and status-check meetings asking you how everything’s going.

These tools also help you prioritize things and keeps things organized and documented in a centralized location.

7. Automate code formatting and standardization

You need to standardize all of your code’s formatting, not only because it’s good practice, but also so that you can quickly understand your code when you go back to them later on.

Automated code formatting gives you the ability to format your code with a click of a button instead of going line by line and making sure you’re following your authoring guidelines consistently. Automation also reduces the risk of errors due to manual correction.

There are many tools out there to help you do the job, and many are even web-based. For CSS, a popular open source solution is CSSTidy (Clean CSS is an online version based on CSSTidy). For HTML, there’s HTML Tidy.

For scripts, there’s PHP Source Code Formatter, Ruby Script Beautifier, and Code Beautifier Plus (which formats C#, ActionScript, and Java).

8. Invest time in requirements-gathering and planning phases

An ounce of prevention is worth a pound of cure. Though some schools of thought emphasize on not wasting too much time on planning out the path from start to completion – it’s still essential to appropriate enough time in making sure you’ve gathered all the information you need to know. Not committing time to requirements-gathering can also lead to feature creep because of unanticipated feature requirements.

9. Use code that’s already written

PHP Classes Repository Screen shot.

There’s no need to re-invent the wheel. If you’re thinking of a particular feature that you’ve seen somewhere else, chances are someone’s already written it for you (well not just for you, but for all of us). For PHP, PHP Classes Repository provides a collection of classes and scripts that you can use and download. Hot Scripts provides scripts in many languages. If you want code snippets, you can check out devSnippets.

Beware though: this only really works when you know what you’re doing and have enough experience to tell the difference between good and bad code. Otherwise you might find yourself with a buggy or poorly-written end-product.

10. Have less features

You have to evaluate the need for certain web application features and if the time-investment of building in the feature is worth it. Do your users really need a custom RSS feeds for categories of an infrequently updated CMS? Do you really need to have a style switcher that detects where the user is geographically?

Make feature incorporation an uphill battle; features that don’t help the end-user in any way not only costs unneeded development time, but also complicates the interface.

What’s your tip?

Share your thoughts and your own methods of saving development/production time with us in the comments.

Related content

74 Comments

Bhavya

December 14th, 2008

Agreed all these 10 tips will make web development process faster, but things collapse when the User Requirements changes at the final stage :(

Timothy

December 14th, 2008

Using a framework (I prefer MooTools) saves the most time

zach

December 14th, 2008

Have fewer features?

Navdeep

December 14th, 2008

Very good tips to follow.

Alex

December 14th, 2008

How about using Adobe Flex?
It’s a framework, as in point 1 described and it’s even open source! Leaving aside all the other advantages, here’s the best:
Your output is Flash! In other words, no optimization time for individual browser/OS combinations required. This saves you at least 20% of your development time – and this is what the article is all about, right?

Tom

December 14th, 2008

IDEs waste as much time as they save. Terrible tip.

venkat

December 14th, 2008

Excellent list. I would like to add two more things to your list.

1. Follow a process – preferably agile or any other iterative method. This resonates with your tip 10 – have less features. Do not build a feature till your clients ask for it.

2. Selenium – It is free and is easy to write selenium tests. You will not appreciate it during development – but once your site is live these tests are worth all the time and effort that is spent writing selenium tests.

Joeri

December 14th, 2008

Develop and release incrementally. The longer you develop before release, the more likely the scope will change and you won’t make your deadlines. The shorter the project the lower the chance it will derail. This conflicts with “the grand architecture”, but only on the surface, because forcing yourself to figure out a way to realize the bigger scheme in increments actually makes it more flexible and capable in the long term.

bret

December 14th, 2008

@Tom – How so?

good article, not a lot of new info though but the more info/blogs on efficiency in development are always good. i would definitely recommend jQuery over mootools or any of the others these days… not only is it easy to use, chances are when you need to implement some custom ajax, chances are someone out there has written a plug in that will get you most of the way there…

bret

December 14th, 2008

Only other suggestion I would add is to use radiant, wordpress, or another lightweight CMS when you can get away w/ it. on the other hand – unless you’re a drupal, joomla, or guru, avoid using these “pre-packaged” CMS’s. in my experience they rarely meet all the client’s requirements and it’s always a pain in the $#% to add modules/customization/new features.

bret

December 14th, 2008

Only other suggestion I would add is to use radiant, wordpress, or another lightweight CMS when you can get away w/ it. on the other hand – unless you’re a drupal, joomla, or -insert any CMS w/ features under the sun- guru, avoid using these “pre-packaged” CMS’s. in my experience they rarely meet all the client’s requirements and it’s always a pain in the $#% to add modules/customization/new features.

Franklin Bishop

December 14th, 2008

It would definitely be nice to be able to format my code. I will check into those services.

Koen

December 14th, 2008

Flash output = advantage? If all websites were flash the internet would be unuseable.

Koen

December 14th, 2008

let alone inaccessible.

Jero

December 14th, 2008

Sorry mister Adobe, but I think you mean “though the worst part is: Your ouput is Flash!”

Really though, creating an entire website in Flash is just plain wrong. There’s a reason real web developers use HTML, it’s because HTML is best solution for publishing (textual) content on the web. What if I wanted to visit your website using a device that doesn’t support Flash (e.g. a lot of mobile devices (incl. the iPhone), screen readers, etc.)? Do you really think it’s smart to set such high requirements for your visitors?

Mike V.

December 14th, 2008

For frameworks, use Ext JS (www.extjs.com) or use nothing!

Eric

December 14th, 2008

Anything with Flash output is highly inappropriate for most situations. While great for games and other multimedia applications, Flash “web sites” have numerous usability problems such as…

- Inability to deep link to a page or article (nobody else can refer to your content effectively – the fabric of the Web becomes broken!)

- Limited indexing support by search engines (I understand this JUST started to happen despite Flash being around for a decade)

- Nonexistent support by accessible (audio) browsers – how do the visually impaired surf your Flash “web site”?

- Your Flash “web site” is not available to people of any other languages. Google and other services will translate your content on-demand for people from other cultures, I’ve used this many times for pages written in other languages myself and find it highly useful. This does not work with Flash.

- Navigational paradigm is typically broken with Flash. This is left to whoever plays the role of designer / information architect – with Flash, you can do all kinds of neat-o things with menus and navigation, so in an effort to be “cool” or “fancy”, the user gets to waste time learning a “brand new / new-and-improved” way of navigating your “web site”.

- It requires a plug in! “Nay!” you say, every desktop already has this! NOT. Linux 64-bit JUST got this this year. Mobile devices cannot read your page because for many devices, this plug in DOESN’T EVEN EXIST! Even if it did, it certainly isn’t pre-installed on the phone!

- YOU CAN’T PRINT THE STINKIN’ PAGE!

“Your output is Flash!” – you say that like its a good thing! Are you high?

According to your argument “This saves you at least 20% of your development type…” you might as well PDF the whole thing and call that your “web site”. That would be even faster and more useful than turning it into Flash as indexing PDFs is far more standard than indexing Flash files effectively. Google will even convert PDFs to HTML and translate for you! Lets just make the web one giant PDF and save a BUNCH OF TIME!

FLASH IS EVIL! WHEN WILL YOU PEOPLE EVER UNDERSTAND THIS!!!!!!

Thank you.

Sean

December 14th, 2008

Use Flex from Adobe.
Checkout http://www.MediaSignage.com Free Digital Signage

The only way to develop a Web 2.0 app.. faaaaaast

Eric

December 14th, 2008

Oh, as far as the article goes, great tips! Thanks!

zee

December 14th, 2008

Follow the principle of “progressive enhancement”. Figure out the minimum, get it working, and only gradually build on this solid foundation. It will save countless hours going off track.

I think this may just be another way of saying “have fewer features”.

Tara Kelly

December 14th, 2008

Passpack’s output is all generated 100% at run-time, so the only way to test HTML/CSS changes is to tweak it directly in the browser.

Thus, I live and die by Firebug. :)

Ids Klijnsma

December 14th, 2008

- Inability to deep link to a page or article (nobody else can refer to your content effectively – the fabric of the Web becomes broken!)

Yes you can deeplink in flash, you just have to build it in (swfaddress is one of the examples doing this). Or use a framework which has build-in functionality for this.

- Limited indexing support by search engines (I understand this JUST started to happen despite Flash being around for a decade)

- Nonexistent support by accessible (audio) browsers – how do the visually impaired surf your Flash “web site”?

There are accessibility features in flash (haven’t tried them tho).

- Your Flash “web site” is not available to people of any other languages. Google and other services will translate your content on-demand for people from other cultures, I’ve used this many times for pages written in other languages myself and find it highly useful. This does not work with Flash.

I haven’t found one single decent translate processor, if you think you can let a computer translate whole pages for you, you’re WRONG!

- Navigational paradigm is typically broken with Flash. This is left to whoever plays the role of designer / information architect – with Flash, you can do all kinds of neat-o things with menus and navigation, so in an effort to be “cool” or “fancy”, the user gets to waste time learning a “brand new / new-and-improved” way of navigating your “web site”.

Depends on the kind of site you’re building. If you’re building a blog, don’t use flash, if you’re building a campaign site, flash is perfect for the job

- It requires a plug in! “Nay!” you say, every desktop already has this! NOT. Linux 64-bit JUST got this this year. Mobile devices cannot read your page because for many devices, this plug in DOESN’T EVEN EXIST! Even if it did, it certainly isn’t pre-installed on the phone!

- YOU CAN’T PRINT THE STINKIN’ PAGE!

again, it’s up to the developer, there are fantastic print options in flash

“Your output is Flash!” – you say that like its a good thing! Are you high?

Yes it’s a good thing.

FLASH IS EVIL! WHEN WILL YOU PEOPLE EVER UNDERSTAND THIS!!!!!!

When will you come out of your mountain cave and step into 2008 / 2009? But I think you’re kind of a javascript lover who fails to admit that using javascript / ajax you face the same navigational / bookmark problems as with flash. And if you’re saying that flash is bad for it’s fanciness, well than lets just stop using images also, saves a lot of bandwidth.

BT

December 14th, 2008

IDEs waste far more time in web development than they are worth. The teams I have worked with have used Eclipse, Visual Studio, and DreamWeaver.

Over the course of my career I have noticed that the people using IDEs were more irritable, less productive, and more apt to ask questions than those who did not. Those that are still stuck in Aptana-land or Visual Studio .NET are always complaining about the IDE in one way shape or form.

In fact, my most productive employees have been the ones that took off the IDE training wheels and learned how to use a proper editor, proper collaborative tools, and learned how to administer their environments.

After they learned how to use SSH and screen, an editor like vim, and built-in debuggers like Firebug and interactive consoles, I had to spend a lot less time helping them, and they started helping me.

As for things like syntax highlighting, those are personal choices. But intellisense-style dropdowns are practically useless for web development as there is no such thing as a standard. Microsoft, Adobe, et al have made sure of that. If you are referring to server-side development. Java and C# developers may find some use, but for dynamic languages they tend to get in the way of my developers.

As for DreamWeaver style tools, they tend to be expensive for little additional benefit when your devs actually know what they are doing. True, some of the features are handy but they aren’t as good as the non-IDE alternatives. Even for simple content maintainers I’ve found you’re better off with a simple in-house solution or a CMS than a confusing IDE like Contribute.

Ryan

December 14th, 2008

I would argue that most of these things could speed up development time if they weren’t used. A framework, for example, is insanely inappropriate for most projects. And a development environment? Umm… Vim, got it. Seriously, most of the things you list only work for projects that are looking at years of development time before they are done. Who does that anymore? And the learning curve behind “frameworks” and development environments is ugly at best. And tracking time means you’re not using time.

I think most of these, with the exception of less features, are outdated.

John Griffiths

December 14th, 2008

good points!

agree with all 10 and strongly approve the planning stage, design first / code later. the better thought out it is from day one, the less time you’ll spend on writing it.

Don’t know what i’d do without Firebug & Firebug Lite.

Great Stuff!

hari

December 14th, 2008

of great use for developers… Nice work

Mark @ Alchemy United

December 14th, 2008

Am I the only one who finds the title of this article a bit “misleading”? Call me a wordsmith but isn’t higher quality output the goal? If it’s about saving time then I suggest drink less so you take fewer bathroom breaks :)

And while I am certainly pro-agile – once the ball gets rolling – I can’t believe #8 is that low on the list. Getting a site up and running is good. But getting the right site up and running is what defines great. Pardon me if that seems like stating the obvious but we’ve all heard too many horror stories of good plans gone bad.

theneemies

December 14th, 2008

Use a CMS (preferably Drupal ;)) should precede Use a Framework. Most good CMSs offer a bundle of features and customisations out of the box.

BeBizzy

December 14th, 2008

I like the better planning tip. So many times I’ve had to push through changes at teh last minute because there was no thought prior to development. Good list.

ukay

December 14th, 2008

I agree less features is the key, start with less so it would be light and cool

James P

December 15th, 2008

Great article.

@Eric: Totally agree with you.

insic

December 15th, 2008

awesome article. php frameworks really rocks.

purvi s nair

December 15th, 2008

Oh, as far as the article goes, great tips! Thanks!

Scott Thompson

December 15th, 2008

It’s nice to know i’m already doing all those things for my project: CoderProfile.com

I’m currently switching a load of procedural code to OO code and since i modularized each systems functions it’s very easy to strip out one system and replace it with a new one ;-)

My advice to any programmer would be to learn about Design Patterns and OOP concepts. Knowing about them really does improve the quality of your code by a hell of a lot! Also, learn UML and get a good UML editor when dealing with OOP. It makes spotting things such as when to replace a huge inheritance tree with a Strategy pattern, or when to favor composition over inheritance etc… Drastically making your code more re-usable and maintainable.

Kind regards,
Scott

Designer

December 15th, 2008

For frameworks, use Ext JS (www.extjs.com) or use nothing!..

polarizer

December 15th, 2008

I completely agree. This points will help one to rapidly develop applications, not only for the web.

@Tom: Once you understood how to benefit from IDE features, such as code completion, code templates, integrated help, profilers, SVN integration and so on, you’ll never want to miss them.

polarizers 2 cents

Danny Sanchez

December 15th, 2008

This may seem silly to some, but learning good typing practices can speed up your WPM and make writing code more efficient. Some web workers are still relatively slow typists, even though they work on keyboards much of the day.

Scott Petrovic

December 15th, 2008

Great tools. Frameworks and IDEs are great. Design patterns are great when making bigger apps. Learning about them takes a little time, but you really understand encapsulation and modularization better.

I think learning about design patterns is one of the best way to really understand more about advanced topics such as when to use polymorphism and composition when designing classes.

Brian Reich

December 15th, 2008

Someone made the comment “use ExtJS or use nothing!” While I love the ExtJS library, the licensing strategy makes it unacceptable for a lot of people in my opinion.

Jimmy Rittenborg

December 15th, 2008

For the collaborate part a would also suggest the new open source, Collabtive project – you can import your data directly from Basecamp, so i think this is a brilliant free alternative, and then it has just been released in a brand new and redesigned version! :)

the project:
http://collabtive.o-dyn.de/

and some screenshots of the new design:
http://collabtive.o-dyn.de/forum/viewtopic.php?f=8&t=471

Eric

December 15th, 2008

Ids -

“About 99% of the time, the presence of Flash on a website constitutes a usability disease.” – Jakob Neilson, Usability Guru, Oct. 2000

While this quote is quite old, nearly all of his arguments still stand. Read them yourself: http://www.useit.com/alertbox/20001029.html

Regarding the other points that you make, Flash may have gained some usability features, but if its not commonplace for developers to implement them they are useless. Even if no regard is taken for usability in HTML, challenged users can still use the content to a certain degree. With modern CSS layouts this isn’t much of a challenge these days.

“There are accessibility features in flash (haven’t tried them tho).”

…and neither have 99% of other Flash developers. Unless you have a disability, are acutely aware of design for usability, or are contracted to make a site usable, most pages rely on the default features of HTML, CSS and Web browsers to make pages accessible to all. Modern web development practices and browser features make this all possible. If you design for accessibility and usability it gets better for ALL users.

The Flash features that you mention are all optional and not adopted as a matter of practice and not as a feature of the browser, which mean users don’t know how to use them.

Flash may support deep linking, but if I copy the URL from the address bar and forward it to a friend (like I do with every other page on the net), it won’t work, as the URL is unchanged whenever I click on a feature of the Flash App. This is crucial to the usability of the Web. As the developer, you may be able to construct a deep link and distribute it, but the majority of link sharing is from user-to-user.

If I click “File > Print” in my browser (like I do for every other page) the content will not print properly. This is how users know how to print. Perhaps if you make a non-standard “Print” button in the Flash application somewhere you may coax Flash into printing something, however these are all new, learned behaviors for the user which is terrible for usability.

“I haven’t found one single decent translate processor, if you think you can let a computer translate whole pages for you, you’re WRONG!”

I’ve been using Google’s integrated search translation for a few years and prior to that Bablefish (http://babelfish.yahoo.com/) (formerly Altavista’s Bablefish). Its not perfect, but when you have nothing else to go from, its awesome. I have never read a translated page where I didn’t understand the intent and general details of the article.

“Yes it’s a good thing.” – its a good thing for some things, I have never said otherwise. Flash was built for multimedia and interactive applications, and it excels greatly at this. It is marginal to poor in most other regards.

“When will you come out of your mountain cave and step into 2008 / 2009?”

Outside of my moutain cave I see more old people on the Web than have ever been before. With those old people come their challenges – poor eye tracking, poor motor control of mice, limited desire to learn new ways of doing things (like your pop-out Flash menu for starters).

I see visually impaired people who can no longer override the background color of your Flash App because their CSS override won’t work with it, so the contrast of your white text on the grey background makes the content useless to them.

I see people with poor motor skills relying on keyboard shortcuts that no longer work.

I see poor people, remote people, and others who have to rely on their mobile phones for Web surfing not being able to use your Flash apps.

In 2009, the Mobile Web With Opera Mini on my Sprint Katana phone (NOT 3g), I can view any web site in the world from my phone. It doesn’t even have to be coded for mobile web delivery — it just works. While other mobile web browsers may not be as functional, they can still view HTML documents in a minimal capacity. However none of these can view Flash sites (perhaps smart phones?).

While not even compatible with existing Flash applications, Adobe’s “Flash Lite” for mobile has only 800 million handsets deployed. Interactive Web content has a long way to go for mobile use.

In 2013, Juniper Research says that there will be 1.7 billion global mobile web users. The number of them that can access your existing Flash site from their phones: 0.

For some, especially developing countries, this will be their only Internet access, for many others, it will be their primary means of Internet access.

So yes, I’ve already come out of my mountain cave.

“But I think you’re kind of a javascript lover who fails to admit that using javascript / ajax you face the same navigational / bookmark problems as with flash.”

First of all, no, I’m not. Secondly ajax is a great tool when not abused. The same can be said for Flash.

“And if you’re saying that flash is bad for it’s fanciness, well than lets just stop using images also, saves a lot of bandwidth.”

Images add to the value of a page. Flash often takes away the value of information by hobbling its accessibilty and usability. Flash is a barrier for the Mobile Web and other alternative forms of information access. Flash also breaks the users browser experience. Suddenly features they rely on, Find-in-Page (Control-F), Print (Control-P), BACK Button, Add Bookmark (Control-D) no longer work as expected. The things that users look for such as Top Nav, Left Nav are often non-existent in modern Flash design and replaced with something that moves, pops out, or fades in.

Flash is not bad because it allows for fanciness. Javascript and CSS can be fancy as well. Flash is bad when someone tries to use it for the things that HTML and CSS were created for, primary publishing hypertext documents on the Web.

There is no platform to date that encourages more non-standard fanciness than Adobe Flash.

Arif Gangji

December 15th, 2008

How about a versioning system? i.e. CVS or SVN…especially for dispersed teams and even more so for systems that may need to be rolled back for any odd reason.

colleen

December 15th, 2008

I disagree that IDE’s waste more time than they save. IDE’s are great for brain dead tasks like moving into directories. Maybe the guy who said that was talking more about the PEOPLE who rely solely on IDE’s. The IDE won’t do everything, and people who expect it to are like people who are lost without a GUI and so they have to ask a lot of stupid question. If the person using the IDE can’t figure out how to do some non-IDE related tasks and needs help, that says more about the person than the IDE. I use both but I’m pretty sure the IDE paid for itself just in really dumb stuff within a week or two.

dean nolan

December 15th, 2008

I agree with you on a lot of things here but would also like to add using site templates.
Especailly fro programmers this can be a huge time saver.

I posted in my blog more on what you said above.
Speed up web development

Thanks

Jos Hirth

December 15th, 2008

There is an amazing way to cut the CSS writing phase by about 33% – drop support for IE6. (Note that this percentage doesn’t reflect the potential health issues, which should be considered when asked for price figures. And no, I’m not kidding.)

If you also drop support for IE7 you’ll save even more time. While this sounds a tad too radical nowadays, you should keep it this option in mind. It’s a viable shortcut for some intranet applications. Not every business is stuck with IE6.

sergi

December 15th, 2008

i’m glad to hear about Lighthouse and activeCollab. i’m all about having options. peace.

Colin

December 16th, 2008

To be honest, I don’t have much love for IDEs. I’ve used Eclipse and Aptana (and was once forced to use Eclipse by a team I was on) and I work much faster in text editors than I do in any IDE.

Also, why can’t IDEs have word-wrap? I understand the ideas against it, but word-wrap saves me horizontal scrolling with longer lines. I hate that IDEs either don’t have it or hide it away in obscure locations. It seems like such a simple option to deny to those who want it.

Some other good tips in here, though.

Tara Kelly

December 16th, 2008

We use ActiveCollab too. Tickets are very powerful, though a bit of a misnomer. Once you get it straight, it’s extremely easy to use.

Amit Verma

December 16th, 2008

Such a nice tips. Thanks pal.

www.cerjy.net

December 16th, 2008

Awesome, I love using jQuery. It’s fun, easy and very simple! Good post

Himanshu

December 16th, 2008

Excellent tips! but one question is still in my mind. There are lots of browser these days and it is not possible to check if the website is compatible with each and every browser. I know about Browsershots but is there any simpler method ?

Actually recently we also wrote a post regarding cross browser compatibility but we are still not compatible with IE 5.0 fully. Is it good to have website compatible with obsolete browsers too ?

Thanks so much!

Jan Seidl

December 16th, 2008

I think your post is partial. All those things are nice for webdevelopment under WINDOWS. Coders that use *nix environments give away the use of IDE’s through VIM’s power as a text editor. Team collabs and synch feature is done via CVS/SVN systems that are much more powerfull as the simple sync of Dreamweaver or other IDE’s and you still have revision controls.

Be careful when telling people to use frameworks. Framewors DO SPEED UP programming but can slow down the tool due amount of unecessary code.

PS: I’ve write about coding plugins for firefox @ my blog, feel free to check it out.

Regards!

Ivo

December 16th, 2008

Thanks a lot for the short ways, I agree completely especially about the frameworks… keep it up !

Jacob Gube

December 17th, 2008

First, thank you for everyone’s input and participating in the discussion! I sincerely enjoy reading everyone’s input.

Allow me to address some comments and share some of my general thoughts.

@Alex: I didn’t intentionally leave out Flex. I respect the technology, and I even own a beginner’s guide on Flex 3 (“Learning Flex 3″ by Alaric Cole). I gave a few examples of frameworks; there are tons out there and listing them all would take a while and take away from the other points. But in retrospect, I don’t think I gave Adobe-based products enough love.

About the CMS comments: Great point, using a publishing platform not only helps you produce websites faster, but also gives your clients utmost flexibility in managing their own content. I meant to write that in somewhere up there, it somehow slipped my mind.

About Flash usage debate: Here’s my two cents: Flash is great in certain situations, when there’s a need for high-interactivity and very fluid animations (which JS simply can’t match at the moment), and also when indexing and source code exposure is a non-issue. I see Flash being more for games, interactive quizzes, streaming video – and as objects on a website rather than the actual thing that runs the whole site.

However, I disagree that Flash is inaccessible. And let me define accessibility here as simply “screen reader” accessibility. For mobile device web accessibility – there are devices (like the iPhone) that can’t render Flash movies. For motor-impaired individuals, interaction that need quick reflexes is probably an issue. But for screen-reader (that is – accessibility for the vision-impaired) accessibility, here’s a helpful article on the matter that can explain it much better than I can (this late at night at least): WebAIM: Creating Accessible Flash Content.

The lack of Flash information on Six Revisions does not indicate that I do not support Flash – it only means that I’m not as up-to-par with it as I am with other stuff (I was working in AS 2.0 well before even learning of a JS framework/library).

About IDE’s slowing you down more than helping: Your points are valid, including a high learning curve at the start. I do still think they’ve helped me (as well as many others who’ve spent a bit of time learning the features at the start) speed up my development time significantly. IDE’s also reduce app-clutter; meaning I don’t need separate applications opened, just one window. I do appreciate you sharing your opinions and I always encourage a lively discussion. Like I say in the CSS Tips series, I want you to share your own viewpoints to diversify the ideas being discussed. I myself learn a lot of things just reading your comments, so thank you.

@Himanshu: Well, if you find something quicker than a tool like Browsershots (which just takes screenshots of your page), be sure to let me know! :)

Cakephp developers company

December 17th, 2008

I would take it a little further. Choose a framework be it codignitor or cakephp or etc BUT customize a framework to suit your needs first. Since NO framework can solve all your problems but a little but of customization will go long way.

Nick Masao

December 17th, 2008

Thanks for this,I agree completely with collaboration.

Ben W

December 17th, 2008

Good advice but #7 – Automatic Code Formatting is covered by IDEs.

I tried MANY IDEs over 2 years (including those mentioned in this article) None of them were perfect.

Now I use PhpED by Nusphere (http://www.nusphere.com), which SI very good. It allows me to develop MUCH faster than if I were using a simple text editor.

Matthew Wallace

December 17th, 2008

I was glad to come across this article and basically see that the RW shop has been doing this type of development for a while. However put number 8 at the top of the list. A well planned and specked out project will save you a huge amount of time.

Teddy

December 17th, 2008

We use ActiveCollab too. Tickets are very powerful, though a bit of a misnomer. Once you get it straight, it’s extremely easy to use..

Philips

December 18th, 2008

I agree completely with teamwork. Thanks for this article.

Aleron

December 19th, 2008

…try to learn Django. You won’t regret it.

Tom

December 19th, 2008

“or if you like writing in Microsoft-supported languages like VB and C#, consider the .NET Framework.”

Good list overall. But for practical purposes, all web development in C# requires the .NET framework (or Mono, which is a port of the .NET framework).

Paulo Miranda

December 20th, 2008

I am really surprised you didn’t mention the Dojotookit. I use dojotoolkit for my projects and Dojo has got everything I need (that everyone needs too). Dojo has also got an amazing community, just take a look in the irc channel #dojo, it is a very active place, just ask and you will probably have your question answered in some minutes.

Erik

December 20th, 2008

i’m glad to hear about Lighthouse and activeCollab. i’m all about having options. peace…

dustinson

December 21st, 2008

Automation! Tests. Deployments. Builds. Code generation.

madme

December 23rd, 2008

I agree with you on a lot of things here but would also like to add using site templates.
Especailly fro programmers this can be a huge time saver.

I posted in my blog more on what you said above..

Doug

December 30th, 2008

IDEs burn a huge amount of time.

Web Design Company

January 3rd, 2009

Using Joomla for all our web design projects works for us and certainly allows us to deliver projects ina much more timely manner. Scalability further reduces time required for any enhancements.

Joe

January 5th, 2009

Thanks for the good overview.

Eduardo

January 12th, 2009

Test as much as possible, as early as possible. The sooner you test the sooner you find bugs and save rework time.

Scott Donald

May 17th, 2009

These are specific to web design, but i’ve found there are many others that are basic business such as creating procedures that can be repeated so streamline development. Happy developing

shaunjudy

July 19th, 2009

This is a great list of services. I will be giving them a try. I hope they work out for me!

gyo

December 20th, 2009

Somebody said: flash is evil, don’t use it!!
I say: wrong. If you are a pro, you know when and how to use it.

Anyway nice article, thanks!

Stas

February 16th, 2010

I use Codelobster PHP Edition.
It’s the best free IDE if taken all round. Besides of standard highlighting and autocomplete for PHP, HTML, CSS and JavaScript it has pair tag highlighting, easy navigation through tags, preview in all browsers, hot keys for marking tags’ content, attributes and its value.
Tooltips for images in code should be also noted, as the ability of navigation through the links with Ctrl-key holding.
It also includes special HTML code inspector, that allows to compare visible element with the lines of code, that are in charge of it (as in FireBug).
There also are plug-ins for Drupal, Joomla, WordPress, Smarty and JQuery.

Leave a Comment

Subscribe to the comments on this article.