Why Are Programming Languages Sites So Ugly?
sachagreif.com
sachagreif.com
Just a nitpick but PHP (1995) is not older than Ruby (1995) or Python (1991).
http://en.wikipedia.org/wiki/PHP
The Go site looks fine to me, whilst https://github.com/404 is downright ugly.
EDIT: I notice how the OP link is a horrid design too. This has to be a troll.
I do like github and find it to be well organized as well, although it's search leaves something to be desired and sometimes I find myself fumbling through the UI to find a specific git feature. Although I'd argue that the breadth of functionality they need to cover is beyond that of a language site like PHP's.
On a complete sidenote, I've always thought github's 404 page was neat, but what does it have to do with good UX?
And, that doesn't inherently make it well-organized, nor does it say anything about how discoverable content is, or how well the interaction is with the commenting system, or anything else really.
It is a science, I implore you to read up more on it if you really think your anecdote is an example of 'good' UX (and by extension, design).
I'm not sure what the sciences say, but in my opinion good user experience starts with knowing who your audience is. I still argue that ~95% of php.net's audience is there for documentation reference. If 95% of your audience needs to simply look up a language construct or function, how can one to two page requests be perceived as bad UX?
I can literally type in http://php.net/[FUNCTION_NAME_HERE] and get exactly what I want. The only thing I need to memorize is a domain name. And if I'm too lazy for that, it's undoubtedly the #1 hit on Google.
Take for instance, one of the 1st things many might use the site for: downloading PHP. There's a downloads page, and then there's a Windows download page, and they're both fundamentally different. It's as if you're going to a completely different site, which breaks any continuity there was to begin with. Am I even still on php.net?
Likewise, what's the utility of the tutorial[1]? It directs the user to Apache's website to download a server, even though one has been bundled with PHP for 6 months now. A server that's included by default for the sole reason of making local development easier, but they can't even keep their "newbie" tutorial up-to-date even after 6 months?
Please don't get me wrong, I'm not trying php.net is /bad/; rather, I think there's room for improvement.
What don't you like about the OP's site? It's certainly "hip and modern" but what makes it horrid?
Even if you don't think these are valid criticisms, the point is that this is all subjective. These are opinions and the OP saying "this is bad and that is good" as though it's law only shows that he misunderstands the audience of programmers who use these sites. I don't program in C or C++ because I thought they have a good website; they have no official website at all.
I didn't mean to sound like I was dismissing hermanhermitage's opinion. But by just calling the design horrid and the OP a troll without specifics, he falls into the same "this is bad and that is good" trap.
As a wannabe-designer I am legitimately curious what hermanhermitage doesn't like about the OP's site. I've seen much worse.
As for the OP misunderstanding the primary users of programming languages' websites, that seems to be part and parcel of some designers, isn't it?
[Ok not quite, not close?, but thats what I feel].
You aren't going to please everyone all the time, and certainly your design gets a reaction from me.
My assessment is made in the context of you assessing other designs - hoist with your own petard if you will. This heightens the situation - that is I'd expect an exemplary design on a page willing to comment on others.
The number one turn off for me would be the choice of font. It certainly comes of as playful and dare I comment on Mark's work (for I shall) - I do not think that quality of font is suitable for body text. No it's not in the comic sans league, but it evokes unpleasant sensations. This could be the font itself or font rendering on Chrome on the Mac. Quite frankly I find it horrid.
Next for me is the typographical structure. The spacing is aggressive and draws attention to the font - which is undesirable for me given my reaction to the font. All your headings have what appears to be the same amount of white space above and below. It feels rather generic and rushed.
Finally the elements on the right hand side are too dominant for my liking and draw focus away from the article. Perhaps as they contain advertising material that is the intent. But it doesn't do much for me.
Take it all with a grain of salt, I think it was Keith Richards who had a comment about opinions being like... :)
* http://koldfront.dk/misc/hn/sg.png
The font for the main text is oddly changing between being very thin/light and on some select letters quite fat (v, A). The links are _very_ bold, impeding reading.
Other than that I think your design nice and simple.
Honestly, I blame Unix/Gnu (http://www.gnu.org/). Most programmers are command-line oriented and think GUIs are a distraction. It doesn't bother them that most newbies have no means of discovering features absent menus and suchlike, and that means design takes a backseat on their websites too.
I personally thought the go website was a lot better than most; at least it's (semantically) accessible, even if it's cartoonish.
Also, most programmers (like those making the languages) aren't designers, and when they try to be, very bad things can happen[1]. Could they hire a designer? Probably not, seeing as most of those projects are FOSS, and the maintainers get paid nothing for their efforts.
There's also the fact that the maintainers of those languages, and likely a majority of the users, would prefer development efforts be focused on the language itself and not its website.
[1] http://www.codinghorror.com/blog/2006/11/this-is-what-happen...
The main problem is with the author who can't appreciate good design when it doesn't fit his trendy aesthetic sensibilities.
What are some specific objections that you have with the Go website?
-There is no logo to establish a brand identity
- The mascot looks amateurish
- There is no thought given to typograph or colors. Contrast this with the Git site where, for example, body copy is not pure black to avoid a harsh contrast.
- The documentation uses a fluid width layout which hurts readability on wide screens
Without taking into account this context, your feedback is frankly about as closed minded and generally insulting as claiming that XKCD (or hell: anything by Don Hertzfeldt, which is probably an even stronger extreme case) is poorly executed because the artwork is likewise "amateurish" to someone used to full-color 3D rendered 60 fps animation (or hell: an actual HD video). However, these people have managed to entrench an entire genre of art that now others try to invoke in their own audiences.
Personally, I find the git-scm.com website to be full of way too much clipart and not enough personality; to the extent to which there is personality, I might call it "Web 2.0 with a hint of retro-corporate", which is highly awkward as I have always felt git represented something grungier, certainly "harsher": tied to ideas like raw power and distributed anti-disestablishment as opposed to control or simplicity. However, someone liked that website, and apparently you do. I find http://darcs.net/ much better at first glance, for a version control tool.
The original author (edit: apparently, also you) even liked the Firebase website, which has always turned me off as something designed to attract people who don't know what they are doing: it feels too "Web 2.0" and has much too strong an emphasis on "nothing to something" as opposed to "something to something great" to be a product to which I'd trust storing my data. Of course: I'm not in their target market, as I don't need their service and in fact "know too much" and can nitpick how they built it; they are targeting people who don't know enough to build backends, and that design thereby probably works for them. I thereby can't negatively judge their website without paying attention to that context.
tl;dr different strokes for different folks
I would assume programmers care about things like:
- How can I get to the documentation fast - How can I start playing around with the language - What are the language features - How do I install the language and how do I use it
all these things are easily accessible through the golang website in my opinion.
I agree with this, but I still think the golang documentation is well designed for usability. If you compare this page - http://golang.org/ref/spec - with this page - http://git-scm.com/docs/git-config, you'll see that the golang site has limited the font and background to a few non-glaring colors.
The red text on the git-scm site is just awful. I can scan the golang pages easily, but a page like this - http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-t... - is too visually distracting.
> But why couldn't you have both?! That's what I mean when I'm talking about a false dichotomy, you're just using a strawman argument.
You can't have both because people don't have unlimited amount of time and resources. I'm not sure why I have to explain this.
- There is no logo to establish a brand identity.
The mascot is the logo and it does establish a brand identity. It's reminiscent of the plan nine rabbit glenda and is part of a heritage of well designed systems stretching back to the beginnings of unix. It establishes exactly the brand and identity that the creators/core developers want to create. - The mascot looks amateurish.
See comment above - There is no thought given to typograph or colors.
I'm no expert but the go site is readable and so is the git site. They look different but both are readable and pleasant on my eyes. - The documentation uses a fluid width layout which hurts readability on wide screens.
Possibly true but it's the only indictment you list that I find plausible. I think you may have had a good point to make but you used a terrible example in Go's site.Its even balanced with the playful sense of minimalism of the language itself.
The Gopher is the logo and our brand identity. He was designed by Renée French, an award-winning illustrator. Perhaps you think his presence is amateurish, but I disagree. We are professionals, but we are also a community and we like fun. The gopher is emblematic of Go as a project.
I gave plenty of thought to the typography and colors. There is a spare color palette, and I chose complimentary blues and yellows. I chose a consistent set of font sizes. You may have a different aesthetic taste to me, but you can't say that no thought was given. Also, the darkest text on golang.org is #222. There is no pure black.
The previous design had a max-width for all docs, but it was widely criticized by users of the site. That's why I removed it in the redesign. The users are happy, and I'm not one to disagree with them. If you find it hard to read you can just make your browser window narrower. This was a UX decision.
Ultimately the site is a resource and I certainly spent more time concentrating on UX than the visual appearance. It may be simple and it may not have enough gradients (or whatever) for your tastes, but the design is consistent and well thought out.
Thanks for taking the time to write up your thoughts. I know your heart is in the right place, but in the end you did come across as presumptuous and holier than thou.
It doesn't look glossy or trendy but then I don't think it needs to either or that the lack of those things indicates a bad design.
That's true for beginners with a weak portfolio. Experienced ones don't care about php, they have commercial projects in there.
> Plus, a lot of designers are already spending their time working for free anyway. If you don’t believe me, just look at the number of Instagram redesigns or iTunes icons on Dribbble.
Hey, let's try to find a programmer who will code your website for free. Lots of them do stuff for free anyway, just look on github and bitbucket.
Now seriously (I am aware there are a lot of generalizations in there, but I think they are not far from the most common):
The thing is, just like coders publish opensource, designers publish icons and redux because it's their cause, their branch, their market. And just like you wouldn't code a random designer's project while publishing lots of libraries for other programmers, he won't design yours while publishing fonts and icons elswhere to prove something.
Second, while programming in commitee works (in general), webdesign by commitee doesn't and always results in crap. And experienced designers have the 'my way or the highway' approach anyway.
Third, most designers just don't get opensource quite well, while most opensource gurus just don't get design quite well. The former ones don't feel why they should do it, the latter ones don't feel the need to make use of the ones who would even if they are there.
If a designer finds a programmer who will work for free, 99% chance he's very unexperienced. The same comes to getting a designer for free.
ps. let's see how the Django redesign works out https://groups.google.com/forum/?fromgroups#!topic/django-de...
I'm really surprised reading a lot of comments about not seeing what's wrong with php or golang sites. Ugh.
If you are interested, I would love to team up with you to contribute an open source design and I will do the markup. As a developer, I have long hated the design of many sites. After the awesome redesign of http://git-scm.com/ I wanted to make contribute another design to one of the terrible OSS sites that are out there. What do you say, are you interested in teaming up?
Partly, it's a good thing if these sites look a bit amateurish, because they should look grassroots. It should look like: wow, I can join this. It should look authentic.
A nice example of this is www.drupal.org (where you can join) versus www.drupal.com (where you should "buy").
The new Git website is very nice. But is also a very mature project. It doesn't need help from thousands of people. It needs a lot of consumers and maybe some brilliant minds to share their ideas.
What the Go website tells: this is a very young project (not even a logo), we have some backing from Google (hence the name and the colours), we have something good (by calling it "easy" and "reliable"), but we could need your help (by still calling it "The Project") and you might want to try (look you can even try it top-left on our homepage) this if you are curious and want to have fun (see our goofy, eye-rolling, mascot).
Here's some "homepages" from programming gurus:
Dennis Ritchie: http://cm.bell-labs.com/cm/cs/who/dmr/
Brian Kernighan: http://www.cs.princeton.edu/~bwk/
Bjarne Stroustrup: http://www.stroustrup.com/
Richard Stallman: http://stallman.org/
You may be correct about demand, but it just seems logical to me that when a notable programmer is spending lots of time either coding, or travelling the country speaking at conferences and/or having high-level meetings, etc...basically, busy all the time...the last thing on their mind is "I need to make my website pretty". I think that most of what they host on their site is simply either for their own reference or for the reference of others. I know I've said more than once "just go to my site, it's linked there" when asked a question about something (and I'm the most un-notable there is).
Ergo, I can't be bothered to look at funny 404 cartoons when I'm trying to read documentation.
and what exactly does a 404 page have to do with a page with actual content.
Making a site look fashionable (and web design is really like the clothes industry in that sense) will require the authors to revisit it avery year or so, whenever the design fad du jour changes.
While black text on white background is like jeans and t-shirts - not too hip, but always acceptable.
Also I reject his premiss that language sites need to be pretty to attract developers. You pick a language based on it's suitability for a project, not whether it has lashes of CSS3 and bespoke type-faces. To even suggest otherwise is painfully superficial.
There's an old adage: less is more. And I think that's very true when discussing sites that are designed to serve content rather than sell content.
> And there’s some truth to this.
> More modern languages like Python or Ruby have somewhat decent sites.
Ruby and Python were both around way before PHP. Get your story straight, Mr. Hater.
The point of all of these sites is to maximize functionality and make language information easy to get at. All that maters is UX, graphical niceties don't improve on that, and no one serious about learning a new language is really going to be dissuaded by "ugliness".
But the real answer to the title question is simple: They're made by programmers, not designers.
What about people who are not serious? As I said in my post, this "ugliness" acts as a filter to turn away non-experts. Whether this is good or bad depends on your point of view, I personally think it's bad.
Being fairly new to programming myself, I've actually noticed that the most powerful languages usually have websites with terrible aesthetics. It usually means that instead of worrying about how the site looks, most of the people involved are solving problems with the language. The only changes come when usability is hindered.
- The first thing the user sees is a massive wall of text. The whole site looks visually cluttered. Everything is arranged haphazardly.
- The more useful parts (e.g. the introduction, documentation links, download links) are hidden away in small corners of the site.
- The relatively useless Events and News sections take up >80% of the site.
Python's site looks slightly better, but not by much.
> I know you pretend like you don’t care, but I’m sure that down deep you’re wondering why NodeJS is getting all the attention instead of you.