Minor nit: that background on the community pane (the blurred auditorium) isn't line art, and would be much better suited as a JPEG. I watched it load, when I loaded the page, and was a bit surprised to see it was PNG.
Resaving it as such in GIMP, using 90% quality cuts the size from 670kB to 110kB; reloading the JPEG and layering it on top of the PNG and flipping it on and off, I cannot visually tell the difference. Right now, it's about 75% of the data transfer for the homepage.
I'm biased, having learned Python first, but the biggest thing that I miss in many other languages is the single "tutorial" link.
It should exist, it should be on the front-page (Python actually fails this, but it's on the documentation page, which is second-best), and it should be complete. Rust does surprisingly well on this point, given that it hasn't even hit 1.0 yet. It also should be browsable (it can incorporate interactive features, but you need to be able to do it out of order).
Coming from the "don't make me think school" you need that one link, rather than a link to a list of resources (like Ruby has). It also will be canonical and up to date, so long as nobody drops the ball. Google can't give you that.
As feedback goes, I'd advise against leaving the lipsum on the home page of a live site.
After all, it's a safe bet that a user may type haskell-lang.org in the browser and get weirded out by what looks like a site with parts in latin.
Maybe a 'site in progress' label at the top may be better. Or simply write whatever comes to mind for each sections and rewrite them over and over as you iterate.
Agreed. I have long held that there's no good reason to use Ipsum, since you're effectively saying, "I don't care about the part of the design that involves the look, character, and meaning of my text." I've found it much better to write out my own rough version of whatever I expect the content of the text to be, and refine it as I tweak the layout and gradually hone in on a reified design. I find it deepens the harmony between visual and linguistic communication.
Some thoughts about the sites mentioned in the article:
* F# http://fsharp.org/ : Good a clean and useful list of links Bad hard to find code samples; Try F# is not available for my system (Linux) and it's not clear why
* Python https://www.python.org/ : Good code examples are runnable inside an interactive shell... Bad they are not, their Interactive Shell link opens a shell which doesn't belong to the example
* Rust http://www.rust-lang.org/ : Good maybe my preferred site since it is the cleanest one Bad no browser shell
I mostly like it, with one glaring exception: The auditorium photo. The instant I got to that, it stopped looking like a language homepage and started to feel like a site that was trying to sell me something.
Not one of the other language pages features a photo. I think might be a reason for that. I'm sure it's wonderful from a design perspective, but it's so far from what I expect from a technical page, I'd give up on the site on the spot if I were looking at it "for real".
I am probably not the best person to judge this, but I don't see that much of an improvement.
The current haskell.org home page is quite dense, with lots of links, but I quite like that. There are individual links to various Haskell community resources, including Reddit, IRC, mailing lists and RSS feeds. There's a visually prominent Download link. There are links to useful tools, broken down into categories. Most importantly, the page begins with a concise explanation of what Haskell is, with terms such as "purely functional" linking to wiki definitions.
The replacement version doesn't feature the explanation of what Haskell is ("Advanced purely functional programming language" is there, but the link to explain what "purely functional" means is gone). There is a code sample, but I'm not sure how useful that is (I guess is shows some basics of the syntax, but it feels mostly decorative and I'm not sure that code works well as decoration). The "News" link at the top might be useful, but if the News page just contains the headlines that are already on the haskell.org homepage, it doesn't seem like there's much value in moving that to another page.
The new version certainly looks better, in that Bootstrapy blurred-picture-of-a-bunch-of-people way. A responsive page design is an unambiguous win. But I can't get past the fact that the new page contains considerably less information than the older one, and I'm not sure that the main problem for potential Haskell users is their inability to handle information.
If all of this is a little harsh then I apologise, as it's always good to see people trying to improve stuff. However, the OP makes some criticisms of the current haskell.org page and I thought it might be worth trying to make a case for that design still being superior in some ways.
First impressions are much more about feeling than information. The current design of haskell.org conveys a utilitarian feeling that Haskell's existing community is perhaps comfortable with, but it lacks much in the way of emotional enticement for potential newcomers. I'm not sure if Haskell as a community cares much about appealing to new segments, but if it does, a 'friendlier' design like the OP's could definitely help.
"My relationship to haskell.org over the years has been one of stonewalling when requesting access, of slow replies, and of bike-shedding and nitpicking when proposing designs." Sad and true.
Looks incredible. As logical and self-aware as we developers presume to be, we are as susceptible to branding as anyone else. I've been wanting to dive into Haskell for awhile. Partly I need a project to focus on. Another lacking piece is an active (or obviously, vocally active) community (Ruby and Node excel at these, IMO). Thirdly, and perhaps sadly, is branding. You've got a great start. If the final site can deliver both the aesthetics plus community and beginner resources, I think you'll lower the perceived barrier of entry to a lot of people, myself included.
I agree, but I think it actually is logical that branding matters. The effort put into branding reflects (to some degree) the effort put into everything else. If there's a community that cares about the upkeep of the home page, then it presumably also works on the documentation, the mailing lists, the libraries, and the implementation itself.
I concur with the sentiment that the ruby homepage over-emphasizes news people get from other places. Most of the news are release announcements and CVEs where ruby-lang.org is the prime source - it is good to emphasize that.
Another thing I'd like to point out about ruby-lang: while the site is not as huge as other pages, it is translated into many languages and easy to change: just send a pull request. https://github.com/ruby/www.ruby-lang.org
(full disclosure: I am part of the german translation team)
Not only does it look great, but the logic is sound as well - the homepage is to get new users interested in it, and to get them up and running with it as easily as possible.
It really shows that the author did his or her homework. The analysis of other languages homepages was interesting as well.
LYAH and RWH, then its just to lurk the web for good blog posts making sense of the academic papers. ;)
Seriously though, there's tons of resources for beginners in Haskell. School of Haskell, above mentioned books, tons of good SO answers, #haskell at freenode is super friendly and helpful, Haskell for All by Tekmo is a good blog making sense of some more advanced Haskell stuff, there's probably more that I've missed to mention.
The best way to learn Haskell is to write a lot of Haskell and being interested in learning interesting stuff (that might be quite abstract for some time before you get a good intuition and can apply it to real world code).
Sorry, but I'm the only one here who thinks that this kind of things doesn't really matter? I honestly don't care about code samples/try it for on-line on the main page, especially with language of that kind, where grasping and fully understanding for example, list comprehension is going to take some time, and can't be though by simple sieving example. Maybe I'm getting old and tired of this webdesing/responsive thing...
The first screenful of current haskell.org on my standard 15" laptop contains all the pointers I'd need while starting out, using, and mastering the Haskell language. It works quite well with JavaScript disabled, is readable and does look like a homepage of a product of years of advanced research, in spite of the OP's design, which is very light on information, lacking in links, and contains code for generating prime numbers using lazy evaluation, list comprehensions, a named function used as an operator via back-ticks, etcetera. In precis, OP's design throws out of the window all the informativeness of haskell.org, and puts nothing as satisfactory in place.
Also, the design is not nice in any way; it is instead, merely trendy and pretty. A good design tells something correct about the thing it represents. OP's design tells me that Haskell is a newfangled, superficial effort from some company, whereas the current haskell.org indeed represents, with it's rich content and it's wikiness, that Haskell is a product of community effort and research.
This effort of the OP is a good instance of change for the sake of it.
>does look like a homepage of a product of years of advanced research
it looks likes a homepage of a product of years of advanced research, and a homepage which was made years ago.
trendy and pretty matter a lot for first impressions, and making a first impression is very important.
The current Haskell website, while it may have a lot of nice and useful information for informed and commmitted haskellers, does not do a good job of making the language look approachable, easy to learn, and interesting.
Sidenote: having a Programming Language website that requires javascript shouldn't be a problem nowadays, when most consumer websites require javascript.
On that side note (since I'm not a web guy), why or what would require the use of Javascript on a seemingly static page like that? It would seem its purpose would be to convey some meaning through text. And I'd be interested to know how much overlap there is in the "consumer website" user and "esoteric programming language hacker" demographics.
We still use many stuff that was invented hundreds if not thousands of years ago. What is this hunger for monstrously quick cycles of change in everything?
>and contains code for generating prime numbers using lazy evaluation, list comprehensions, a named function used as an operator via back-ticks, et cetera.
But I guess the front page isn't quite so nice. One thing the real page certainly has the advantage in, is the great big "Download Haskell" button in the middle, as opposed to a tucked away "Downloads" button.
This is superb! I too share your dismay with the current Haskell site. I think what you've put together really captures the elegance of the language. It's focused, crisp, and beautiful. Great work.
It's also interesting to think about the points mentioned in PG's "Being Popular" [1]. I think the most important one is "to have a system to hack". Emacs lisp is popular because of Emacs, Javascript is popular because of the web, and how about Haskell?
Maybe my screen is set too bright, but the 100% white bleeds into the purple. It might be better to use a 90 or 80% white for less bleeding if going with a darker purple-like background.
Reminds me of "Judging the book by it's Covers" metaphor.
Great design, but content matters and rules and haskell is not short of that for serious programmers.
Resaving it as such in GIMP, using 90% quality cuts the size from 670kB to 110kB; reloading the JPEG and layering it on top of the PNG and flipping it on and off, I cannot visually tell the difference. Right now, it's about 75% of the data transfer for the homepage.