Monday, March 28, 2011

Free tools to speed up web development

As a little side project, I am starting to build a new website for a certain organization I am affiliated to, which current site is simply outdated.

I am regularly a Java developer, and last time I really did some web development was back in the late 90s, when <p> was still more popular than <div> and Javascript was cutting-edge technology (JQuery is for lazy bums these days :) ).

Anyway, I feel really outdated. The website basically is going to be:

  • Django based
  • mostly serve static information pages
  • it will have a dynamic news and updates page (based on Django admin capabilites)
  • and some basic apps I'll develop myself (polls, small registration app, etc...)

My problem is designing the whole thing. I found some nice web-based CSS layout generators that got me going, but I still feel I'm wasting my time smoothing out the CSS files and aligning <div>s.

Are there any tools - the simpler and faster, the better - that you recommend I can use to speed up the design part of the site so I can concentrate on the real work?

I don't need anything fancy, just a nice looking layout and design that I can tweak a bit so the site will look presentable.

From stackoverflow
  • No idea what the site is going to be, but have you thought of using a pre-build CMS like Drupal, Joomla etc etc.? You can then tweak templates etc, rather than worrying about making it from scratch.

    Yuval A : I think a CMS is a little bit of an overkill. I update the question a bit, but like I said most of the site will be static content. I don't need a huge CMS framework just to get a nice template. Isn't there a better way to get that?
    AnonJr : Not all frameworks are huge, and they will save you a significant chunk of time. sitepoint.com had a contest a while back that illustrated the difference. Can't find the link at the moment.
    Steven Robbins : Possibly something like Drupal/Joomla would be overkill, but there are lighter ones. Big advantage is they let you just work on the imporant stuff.. the content.. withoug having to worry about browser compatibility, SEO etc etc
  • - http://patterntap.com/
    - http://www.dotemplate.com/ (interesting concept of customizing template)
    - http://www.templatemonster.com/
    - http://www.freelayouts.com/websites/html-templates
    - http://www.templateyes.com/

  • A quick google search led me to this website. Perhaps this is along the lines of what you are looking for?

  • In my previous employment I created dozens of templates for websites.
    The most useful too I ever discovered is the Firefox Web Developer Toolbar.
    It has a wealth of small useful tools. My favorite feature is the ability to edit the CSS and see the results in real-time. This saves on the whole edit - upload - refresh cycle. Watch out for ie CSS inconsistencies though! Off the top of my head, these are the most important gotchas.

    double margin bug [google: double margin bug]
    incorrect (but more intuitive) box model [google: box model]
    incorrect (but more intuitive) float clearing [google: clearfix]

    FireBug is another really usefull Firefox plugin for more in depth analysis.

    AnonJr : There's a developer toolbar for IE as well - and its built into IE8. :D Both toolbars are wonderful for developing, troubleshooting, but I don't think they answer the question...
    Yuval A : This does not answer my question. I do not need debugging tools. I need methods to minimize time I spend on designing.
    annakata : Firebug allows for rapid dev of organic CSS because you can see live edits in the browser rather than being forced into code/refresh/code/refresh cycles - it's *extremely* effective at minimising design time
  • There's one piece of advice that saves more time than any other when it comes to rapid development of CSS styled sites and that's KEEP IT SIMPLE

    Use an attractive simple layout that doesn't require pixel perfection and that can 'gracefully' degrade in less compliant browsers (IE6). Minimise the amount of CSS and fix the basic bugs mentioned by meouw above. Then get on an concentrate on content and functionality...the real work

  • A colleague of mine has been trying to convince me all week that Dreamweaver, 5 years after I was last forced to use it at gunpoint, is actually now worthwhile for knocking up a design quickly and painlessly, and is also now competent at producing the HTML for that design.

    I refuse to invest the 10 minutes it would take to find out based on my previous experiences of it, but you might like to give the demo a quick run around the block :)

  • I'd recommend finding a CMS package, since you're using Django, look into django-cms. It has TinyMCE and Markdown Support so updating your pages should be easy. Also django-cms integrates well with the Django admin interface.

  • Have you looked into any CSS frameworks? If you are competent enough with CSS something like a framework could help speed things up.

  • I second Brandon's suggestion to use a CSS framework. It won't give you 100% freedom to design anything you like, but it can speed up your design process greatly and free up your hands to do the coding you really want.

    Suggestions:

    Tom Deleu : In particular, I like 960 grid system the best. really simple to use, and very clean XHTML...
    Tom : blueprint is recommended, it's very flexible with less bloat.
    Jens Roland : Ah, I forgot the YUI grid. I tend to forget YUI because it's so incredibly big (not saying it's slow, it's just big), and I'm such a sucker for lean little packages.
    Yuval A : Jens thanks for your answer, I think I will go with one of those. Enjoy the bounty ;)
    Jens Roland : Wow, cool - my first bounty! Thanks!
  • I've always found Open Source Web Design to be a good resource when looking to get started trying to design something.

  • Maybe a system such as phpNuke or something similar?

    lpfavreau : Seems the OP wants to use Django (Python) and not PHP though.
  • Don't forget firebug :) if you're worried about tweaking the design it's really great. With the inspect feature allowing you to real-time edit the CSS of your page.

    https://addons.mozilla.org/en-US/firefox/addon/1843

  • I won't lie to you. This website isn't the best place to go if you're looking for reliable Web Design advice. Stack Overflow is a programming community and programmers rarely know anything about design. If you want to get some real advice then I would strongly recommend the main Web Design/Development forums on the Internet, especially SitePoint.

    That being said, as a former freelance Web Designer/Developer I'll offer my input on the issue. Not that you should value it, of course. After all, this is a programming website.

    NEVER EVER SAY CSS LAYOUT GENERATOR EVER AGAIN! If you're going to seriously get into designing web pages then you need to learn semantic XHTML and CSS first. Whilst many people tout W3Schools as the definitive resource I see it as a programmers answer (i.e. not very good) and would prefer that you read up on the subject using...Google. There are countless examples of great websites to pick up the basics of Web Design/Development that Google is probably the best website for the job. Also, with a plethora of new websites offering this information you know it's going to be more improved than W3Schools. You'll seriously want to get clued-up on writing your design because it'll be much harder to fix things later on in the project.

    If you're going to be designing web pages it would be a good idea to learn what actually makes a good design. Check out CSS Vault for a fantastic resource of some of the best-designed web pages around, of course with all the source code intact so you can have a play around with their code and see how they've managed some of the wonderful effects they've produced. I've learnt more than a thing or two from websites that have been featured on CSS Vault. On top of that you should read up on Web Design from the big Web Design/Development sites. Two of my favourites are SitePoint and A List Apart, two names that you'll near time and time again when you hear people talk about resources. Browse those websites, check their forums, see what REAL Web Designers/Developers are using, not what programmers are using.

    On the subject of CSS Frameworks; they do help! The problem with using them is that you'll often spend so much time looking for a worthwhile framework that you could have finished most of the CSS for your website yourself. You'll either love them or hate them, but many people will say that they're not necessary.

    Once you've got your mind set on what a good design looks like and you've got the resources you need to make something of value I suggest that you get to work! In reality when you're designing a web page all you really need is a text editor with a save function, an image manipulation program, a browser window and FireBug. An IDE helps a lot of people, but if you do use one then you'll definitely want to work in its text mode. I use NotePad++ or Emacs exclusively but a lot of people like to use Aptana Studio, so it may be worth a look.

    When you're getting to actually building the code behind your website you can't really go much worse than your favourite IDE/Text Editor and a source control tool. As a Java programmer you're better suited to talk about programming so I won't lecture you on a subject you already know.

    In the end, Web Design is going to take time and many of the tools that we choose to use that we claim will "save time" save very little in reality. If you're not a design guru then it will take you a substantial amount of time to create a great-looking website. It's a fact of life. Call me old-fashioned (a funny word coming from a 21 year old) but I still think that the quickest way is to sketch a design out on a piece of paper (a image program if really necessary) and to just get out there and make the damn thing! Again, I'll have to take this hunting for the silver bullet mentality as a programmers trait, one that really won't help that much when designing, because designing a web page is vastly different to writing a Java program.

    In short, ignore everything you read here, read what REAL designers are doing and just make the damn thing!

    lpfavreau : I completely agree with everything you said EnderMB. I would however point out that the OP is asking for a shortcut for a CSS layout as a developer (like most other visitors on this site) and not how to become a designer. He doesn't want something fancy, just not too ugly. But again, good post.
    Yuval A : very nice post indeed, but a bit off from what I was looking for. thanks anyways :)
    • A piece of paper to sketch your design
    • A text editor (preferably set up to save directly to a development server local or otherwise) to write up the initial HTML/CSS
    • FireBug/IEDeveloperToolbar to inspect each element that looks wrong and edit its CSS directly in the browser until it looks fine, followed by commits with the text editor
  • I second Jens Roland's list of CSS frameworks.

    But I would also suggest you have a look at websites such as Smashing Magazine. You might find this article of interest, amongst a lot of others. They tend to do a lot of nice and long mash-ups for the web developers that will at least give you inspiration if not a direct solution.

  • If you're doing any JavaScript development, use an advanced editor that highlights errors and warnings as you type. This kind of functionality has until recently been the province of static language editors only, but the free NetBeans 6 achieves this amazing feat. Traditionally, you first discovered JavaScript typos and simple bugs when first loading the parent page into a browser. The speed-up you get from being able to short-cut these iterations is profound.

    NetBeans 6 also highlights CSS errors and is a more than capable editor for most all languages a web developer is likely to use these days.

0 comments:

Post a Comment