Big Questions, Short Answers

By  on  

There are a lot of "deep" questions when it comes to JavaScript libraries, CSS, server-side languages, and programming philosophies. Rather than drone on and write a novel, I decided to answer some big questions with few words.

MooTools, jQuery, or Prototype?

Moo first, jQuery second -- learn both and be twice as powerful.

XHTML 1.1 or HTML 4.01?

Not all that concerned but I would prefer XHTML. Lets just decide.

New Window?

Whenever linking to another website or opening a non-webpage file (PDF, DOC...)

PHP, Rails, Java, or ASPX?

Whichever you dominate in and whichever suits the project best?

CSS Framework?

No. CSS should be learned at the most basic level and built upon until mastery.

Industry Standard or Customer Request

Educate the customer but know the limit -- who pays the rent?

RSS or Atom?

I've had far less problems with Atom.

Learning: Sink or Swim?

You've either got it or you don't -- harsh but true.

The "Right Way" or Quick Way?

Depends on the budget -- ALWAYS!

Server-side or Client-side?

Server-side for control and reliability, client-side for flair.

Pixels or Ems?

Monitor sizes aren't that different yet, so pixels are fine.

Usability or Functionality?

Functionality always -- how well can you train?

Silence or Distraction?

Music or movie during coding is a needed noise.

Web Developer or Webmaster?

Do I even need to answer this?

Few words usually means many arguments. What are your thoughts?

Recent Features

  • By
    39 Shirts – Leaving Mozilla

    In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell...

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

Incredible Demos

Discussion

  1. Sneeky

    I always use em for font-size.

  2. Enteraining post :-)

    “Pixels or Ems?”, I used to work in Pixels but I am really forcing myself to be working in Ems, the longer a habit lasts, the more difficult to abandon it…
    Was surprised by “Silence or Distraction?”. Really need background noise too or my head will land the desk on a long day, documentaries, comedy, samba-music, techno, metal, you name it… whatever the cloud offers on a day.

  3. Chucking in my 2 pence on the px vs ems. I agree with dEEf re: habits. There’s no harm in using ems and IMO it’s more versatile long term.

    Great post btw.

    Pete.

    PS: Tea or Coffee?

  4. I agree completely with the ‘Right way or Quick Way’. I work in a client based enviroment (http://www.overit.com) and budgets are always an issue.

    I would definetly recommend using EM and make a habit of it (for fonts). Use of em’s is a must for usability, accessibility and browser differences. Fonts are handled differently in all browsers and user resizing is also different.

    As Preference, I need music in my headphones. Gets me in the zone and makes me more productive.

    One last thing, I disagree with the functionality over usability statement. Functionality is very important, but how can something be functional if not everyone can use it? Usability and Accessibility is VERY important in any web based projects and should be planned from the start.

  5. Soroush

    Coffe.

  6. Sean

    Pixels vs Ems is irrelevant if you are separating your content from your presentation.

    As for Functionality vs Usability, to chose one over the other is making the wrong choice. It has to be both, or your site will fail.

  7. Butch

    One question, why Moo before jQuery?

  8. @Butch: You could switch those around if you want. My point was not just one.

  9. Must have music and not a CSS framework.

  10. @Pixels or Ems?: First use % to reset browser, then use EM to set font-size for specific elements. Even when setting height of elements, margins and padding I use EM. But always PX for specifying the width.

  11. I have to agree with Erik. Reset the browser using % (I think 62.5% works for most browsers) then one can easily use EM. For example: After resetting, a font size of 12px can be written as 1.2em.

  12. Zhuoshi

    I agree with you on so many of these, but for new windows, I think it’s extremely irratating when a link opens in a new window. I’d like to have control instead.
    Also, usabillity vs. functionality, I would say both, rather than one.

  13. Good post! Gave me a laugh. Have to disagree about the new windows answer though. Can’t stand it when web developers think their site is so important that it should always stay open and try to open new windows. Sure Firefox will open new tabs instead, but if I wanted a new tab I’ll open one. Almost as irritating as websites that resize my browser.

  14. Dave

    This is so one-sided.

  15. Tom

    This is an uninformed one sided point of view… I mean, XHTML or HTML lets just decied?? Functionality before usability, are you trying to tell us you would prefer to have a website with tons of functionality that no one can use? Functionality must come hand in hand with usability.

  16. The “Right Way” or Quick Way?

    Depends on the budget — ALWAYS!

    I find myself somehow agreeing with you, but what if expansion / follow up projects are to be expected? Let’s say you work on something e.g. a news site with limited budget for phase 1 then work on improvements for phase 2 which may be hard to implement unless you did it the “right way” the first time? I guess this can be solved by asking for a bigger budget but what if there is none? Do you drop the project?

  17. @Tom: I realize both are extremely important. I was saying that if you have to choose “mostly” one, you choose functionality. I can deal with a hard-to-use system as long as it works. What’s the point of an easy-to-use system that doesn’t work?

  18. @All: I knew the “new windows” one would get people going. I STRONGLY believe that PDFs should always open in a new windows. I also don’t see anything wrong with opening new windows when link to other websites — you don’t want your user mistakenly thinking they’re still on your website and that you’re responsible for its content.

  19. Ha great post (except for that Moo non-sense of course :p). As much as i like to lean towards doing things “the right way”, i have to admit that a lot more would get done if there were more pragmatists like you.

  20. @Jeremy: Trust me, I’d rather do things “the right way” all of the time too, but where I work, budget is extremely important.

  21. I tried to use em, but got lots of problem

  22. I usually use ems for screen dimensions and always use it for line-height. I like the list though. In terms of js frameworks, I usually default to Moo because that is what ships with Joomla. I am also a big fan of the YUI.

  23. Not sure why people love em’s so much, they’re so much different from what people are used to in code. Anyway browsers that don’t support pixel resizing (I can only think of 1, and it’s the worst coughIEcough) dont’ deserve to have pixel resizing. Any decent person uses a different browser, do we want to give resize support to non-decent fools? Ney!

  24. @Nick | Resource Pile: Yes. As web developers we need to attend to the needs of ALL users. There are so many users out there (including older folk) that use IE and raise the size of there font. I definitely hate IE and testing in it, but web accessibility is a must!

    If you haven’t heard about the lawsuit against Target retail stores, take a look. It’s an example of people with disabilities pushing for changes like these.

  25. Dathan Nicholson

    You shouldn’t force a new window to open. Let the user ctrl+click or right click and move their mouse down 10px. Besides, there’s some possibility it could cause issues with pop-up blockers.

  26. @Dathan: I disagree. If my customer’s website links to a supplier’s website, why would my customer want the user to stay in the same window? The supplier’s website is supposed to act as reference information. The new window is a way of saying “not as important.”

  27. Nice post. I was a px-user evolved to em. I think em is better, more exact and flexible (and yeah, i do the 62.5% technique to get the 1em = 1px)

    I’m using prototye for quite long but i read a lot of moo/jquery stuff and looks cool too. I think the matter is not what framework is better, but with what framework you feel more comfortable.

  28. new window? let the user decide with a right-click. if the link is flash, this doesn’t work unless programmed that way which i have never seen done.

  29. Thanks you, i have the same point about XHTML

  30. Some very good points here! Very entertaining post! I have to agree with the other people who have said that they prefer to use ems instead of pxs. Instead of the 62.5% rule, I do this:

    body {
    font-size: 10px;
    }
    .classname
    {
    font-size: 1.2em; /* this is 12px */
    }
    

    I normally use jQuery, but agree with having another in my arsenal, I am currently experimenting with Moo.

  31. Marcel

    And how are you going to handle this project?

    Where’s the nearest power outlet?

    –me, 2 days ago

  32. Middle Click

    good list…don’t know what all the fuss about “new window” is…I use middle click/wheel button to open any links because i hate when a site sends me somewhere else. btw most browsers support this event now too.

  33. Thanks for the tip, but it will be usually depends on the person…

  34. I pretty much agree with you on most of them, except the new window: new windows for links are horrible, and must be avoided at all costs! :P

    cheers!

  35. I have to disagree with you on the feeds questions … I and my team have had less problems with RSS

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!