

An alternative Haskell home page - chiachun
http://chrisdone.com/posts/haskell-lang

======
deathanatos
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.

------
hyperpape
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.

------
izietto
The important features for a programming language main page to me are:

* Clean

* Code samples

* browser shell / try it editor (good in Getting started page, best in the main page)

* Useful links (installation, documentation, syntax reference above all)

Some thoughts about the sites mentioned in the article:

* F# [http://fsharp.org/](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

* Ruby [http://ruby-lang.org/](http://ruby-lang.org/) : I like it, nothing to add

* Python [https://www.python.org/](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/](http://www.rust-lang.org/) : _Good_ maybe my preferred site since it is the cleanest one _Bad_ no browser shell

* OCaml [http://ocaml.org/](http://ocaml.org/) : I like it, nothing to add

* Go [http://golang.org/](http://golang.org/) : I like it, very pragmatic

* Perl [http://www.perl.org/](http://www.perl.org/) : _Good_ useful links _Bad_ no code samples, no browser shell, a bit messy

* Scala [http://scala-lang.org/](http://scala-lang.org/) : _Good_ good looking _Bad_ no code samples, no browser shell

* Clojure [http://clojure.org/](http://clojure.org/) : _Good_ clean _Bad_ no code samples

------
keyle
Looks great!

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.

~~~
spiralganglion
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.

------
rjknight
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.

~~~
danenania
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.

------
oneandoneis2
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".

Sorry, but it really is that bad.

~~~
sp332
Funny that a blurry stock photo changed your mind so fast. I wonder how you've
been conditioned to respond that way.

~~~
pera
Maybe something like "uh? yet another esoteric academic language? I don't have
time for this"

------
daGrevis
I think The Racket Language (Lisp dialect) has great site too. You didn't add
it to your list. [http://racket-lang.org/](http://racket-lang.org/)

------
BasDirks
"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.

------
Argorak
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](https://github.com/ruby/www.ruby-lang.org)

(full disclosure: I am part of the german translation team)

------
bioneuralnet
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.

~~~
rrradical
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.

------
ahuth
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.

------
moomin
Haskell beginner. This looks like a very good thing. Step 2 would be having a
tutorial that wasn't a university course. :)

~~~
klrr
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).

------
alvare
Excellent choice of colours. Love it.

And I have absolutely no idea why some people prefer the current site to
yours.

A great site does make the difference, don't be so blind.

------
misnome
I'm slightly surprised - one thing I always thought of haskell as having was a
pretty download page

[http://www.haskell.org/platform/](http://www.haskell.org/platform/)

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.

------
kubov
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...

------
gkya
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_.

~~~
mazerackham
>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.

~~~
GregBuchholz
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.

------
qubitcoder
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.

------
chiachun
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?

[1]
[http://www.paulgraham.com/popular.html](http://www.paulgraham.com/popular.html)

~~~
chongli
Xmonad! Seriously, it's a great window manager that has brought a lot of
people into Haskell.

------
kevinwang
That mockup looks good, and it is definitely a HUGE improvement over the
existing homepage.

------
29decibel
Looks awesome! A pure FP language deserves a "Pure" home page :-)

------
seanmcdirmid
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.

------
orsenthil
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.

------
mazerackham
wow this is amazing. Branding is so important, and Haskell having a page that
looks as good as Scala's would be huge

------
jfe
me rikey

