Hacker News new | comments | ask | show | jobs | submit login

Nicely done. Interesting how a website design will make people take a second and consider that's being presented. I remember going to the old website and immediately dashing out thinking this was something beyond me. The current design is tasteful, and well executed.

>well executed

IMHO the execution could be better. Doesn't render properly on my Nexus 5.

Compared to what was there before, it's much better.

I'm going to disagree with most of the others here and say that I definitely do prefer the look of the old site. The simple, clear paragraphs of text give me a feeling of "take your time, relax and learn; there's plenty of interesting things to read here." In contrast, the new site feels like in-your-face flashy distracting "TRY OUR AMAZING PRODUCT NOW!!" marketing, which just evokes a visceral "go away, leave me alone" reaction not unlike that I experience from seeing ads.

In addition, I had to scroll far more in the new site to read everything than the old one. For being basically decorative, those pictures are huge.

All those pictures and all that whitespace serves a purpose: it breaks up the message into manageable chunks that are easier to digest and more approachable.

The homepage of any project is essentially an ad for the project. It needs to be at least somewhat attention-grabbing: it's a brochure. People tune out when presented with big walls of text.

I'd hardly call the new site 'flashy' though: it tries to tell a story and make you care about the project. For better or worse, the new site does a better job at advertising the language than the old site did: somebody who's not already familiar with 'Guile' is more likely to actually spend time on the new site, whereas confronted with the wall of text that they have to read are likely just to tune out and close the tab.

That's advertising, and, like it or not, it works.

In comparison to the new site the first sentence on the old one throws me off:

     Guile is the GNU Ubiquitous Intelligent Language for Extensions, the
     official extension language for the GNU operating system. 
Oh, so it is a language for writing plugins in. Kinda cool, but Python seems more newbie friendly than scheme for the same purpose. Might have a niche for some more scientific applications...

Compared to the new site:

    Guile is designed to help programmers create flexible applications that can
    be extended by users or other programmers with plug-ins, modules, or
That sounds much more general purpose. Maybe you would write the whole application in guile not just part of it.


Maybe I'm just broken, but lots of paragraphs scares me off. The new site breaks everything down by section, and that makes it much less intimidating for me to skim and even read fully.

Yeah, I know exactly what it looked like: big wall of text with navigation. The sites for Python, Haskell, Ruby, O'Caml &c., all underwent similar changes, and all promote the languages better for that reason.

guix design is 'fresh' too but a lot less inviting :)

You mean http://www.gnu.org/software/guix/? Looks ugly as sin to me...this new Guile site though. It looks more like an Apple product than a GNU project ;) (in a good way)

I said 'fresh', as opposed to vanilla vintage gnu layout (http://www.gnu.org/software/screen/), not beautiful or good :)

Honestly I think that the "vintage" GNU site looks better than that one. Clean typography, sensible colors, it's even flat-design and it's not even trying!

It's honest about what it is. Designers aren't going to be downloading Guix or probably GNU Screen. The older page is much more aligned with the FSF's brand, which is utilitarian and emphasizes freedom above all else. Guix's site looks very corporate, like a dead startup from the late aughts.

It looks more 'corporate' because they paid more attention to the site's information architecture[1]: rather than presenting you with a wall of text like old sites do, you're presented with what it is, why you should care, what it's like, and all in straightforward terms. That's easier to consume than the dense paragraph of material you get in the likes of the GNU Screen page.

If you squint, you'll see things clearly: the page is broken up with whitespace into distinct sections, and there are no gigantic blobs of text. In contrast, the GNU Screen page is basically one big black blob of text between a header and a footer.

[1] https://en.wikipedia.org/wiki/Information_architecture


But at least the information on the Screen page is the god's honest truth...

This site, however, is a load of pure propaganda.

> With Guile you can create applications and games for the desktop, the Web, the command-line, and more.

You can create applications on the web with Lisp? Really?!?

And tell me about all of those wonderful command-line games!

But then there is always the "more". Whatever the hell that is.

Holy shit, the world has just gone completely insane.

>And tell me about all of those wonderful command-line games!

You can pry my MUDs out of my cold, dead hands, thank you very much.

More seriously, it simply says {applications, games} x {desktop, web, CLI}, where the (game, CLI) tuple is left for the reader to filter out. Obviously it primarily means CLI applications. I think you're being unreasonably pedantic.

And yes, server-side programming is part of web programming.

I really see nothing wrong with the new Guile website. In fact I think it's excellent both in information and artwork. :-)

>Obviously it primarily means CLI applications. I think you're being unreasonably pedantic.

My point is that that style of conveying information is more propagandistic than it is truly informative. It is in the style of a typical startup in the valley run by Stanford whiz kids who are trying to impress their classmates as much anything else. Everyone who is already hip to hacker culture knows how to correctly interpret those kinds of statements, but everyone else is just left more confused.

Gnu-ish tools like Guile really have no place in the marketplace of "hipster in a Starbucks with a Macbook plastered with shiny decals" kinds of technologies, and to pretend otherwise is to do a disservice to humanity, IMO.

I just see this style of "informing" as an end of a kind of age of innocence, when seekers of deep knowledge about technology could go to the gnu.org domain, and be absolutely certain that they weren't being sold a bill of goods.

For all those wonderful command-line games and applications on the web with Lisp I suggest reading "The Land of Lisp" ;)

>You can create applications on the web with Lisp? Really?!?

You do realize Hacker News itself is a Lisp application on the web?

>You do realize Hacker News itself is a Lisp application on the web?

...and now we finally arrive at the fundamental quarrel that I have with using the terms "web" and "application", such that, when linked, can lead to a state of confusion about the nature of the technologies involved.

In the generic sense, there is application vs theory, so that everything that has to do with a real computer program is always going to be an "application", and therefore, any arbitrary program that is used as a backend for a website, can indeed be called something of an "application for the web".

But this is not what normal human beings are thinking about when they use the word "application" in conjunction with their own computing devices. They are thinking about whatever is running on their machine that they can sense, and can thus physically interact with.

In this way, the correct dichotomy is application vs service. So, the Lisp backend for HN is just a service for the user facing application (the web browser).

All of this goes hand-in-hand with my larger point about styles of informing that are not quite as informative as they can possibly be.

> This site, however, is a load of pure propaganda.

No, it's advertising, and not dishonest advertising.

> You can create applications on the web with Lisp? Really?!?

Yes! You know, something on the server has to generate the content.

> And tell me about all of those wonderful command-line games!

They point to a game engine written with guile: http://dthompson.us/pages/software/sly.html

> But then there is always the "more". Whatever the hell that is.

Because it's a Turing-complete programming language: that's what the 'more' is. You can do practically anything you can imagine with it.

Oh sure, it's not a good design, but it has no pretenses about what it is. It's what you expect from an open source project, for better or for worse (definitely for worse in this case).

However, if we're going to expect more, it should look more like the new Guile site and less like this. The black, textured background is ugly, the dayglo buttons clash, the yellow text is the shade of dehydrated urine, and the bullet points at the top are a poor attempt at a higher information density full of buzzwords that nobody visiting the site _really_ cares about.

If you want to talk about information architecture, the three bullet points at the top aren't really about why you should care. The first is unnecessary FSF wankery, everyone looking up Guix already knows what they're all about and is tired of hearing about being liberated. The next two don't strongly differentiate the product from any other package manager in previous ways. Okay, so it does x, y, and z interesting things. The switching cost of changing operating systems is very high. Why shouldn't I keep using what I have now? What tangible benefits will I receive from using GuixSD? Why is Guix unique, specifically? WHAT MAKES GUIX DIFFERENT? (answer to all four: it's declarative, though this isn't mentioned anywhere)

None of these are addressed. Nix is not even mentioned, even though Guix is Nix with a Guile wrapper around it. The nixos.org website, on the other hand, is superlative. Why do you want NixOS? It's Declarative, Reliable, and DevOps friendly. It's "The Purely Functional Linux Distribution". Those five words say more about it and why a prospective contributor should be using it (it's mostly functional programmers and declarative programming nerds who are interested in Nix/Guix, though Nix being akin to Chef/Puppet/Ansible on steroids is helping it gain ground among DevOps people) than the entire GNU Guix homepage does.

Sorry but I have to disagree on pretty much every single point. In part you simply make factual errors.

I think the page looks fairly stylish. Could improve, but pretty great already in choice of colors and layout. ("Dehydrated urine" for a simple gold color? Seriously? Stop watching watersports.)

Being 100% free software as in GNU, meaning being entirely free of uninspectable binary blobs, and working hard to make the system easily improvable and amendable by the user community, is a big deal. Deal with it. GNU aims for people for whom these are important criteria.

The features listed in the second point are based in concepts that are nontrivial to grok. There is no short way to explain them on an intro front page, but not mentioning them would be silly since they are what sets Guix apart from standard package managers (which ironically is what you request being listed). Maybe you should look up the meanings of those terms instead of straight out assuming they're marketing buzz. Transactional updates, and unprivileged/user-level package management are pretty big deals. Likewise, providing clean APIs in a high-level programming/scripting language is very much a big deal; see how easily a web front-end could be made for Guix.

Redirecting newcomers to Nix would just add an unnecessary layer of indirection. The name is clearly a homage to Nix, and also otherwise "everybody knows" that Guix is Guile+Nix, so claiming there's malicious intent in leaving out a mention of Nix would be just silly. And Guix is not a Guile wrapper around Nix; it has an entirely different package recipe format and database. You don't use Guix to work with a Nix system; rather the Guix system uses a low-level component taken from Nix. Casual users don't need to know anything about Nix.

Lastly, functional package management brings immense pragmatic benefits (source-binary correspondence, reliability of transactional updates, etc.), i.e. it's not simply a dogmatic application of FP concepts to package management. You'll note that Guix uses Scheme, not Haskell. I think most people interested in functional package management are so for the practical benefits, so I think you have a pretty wrong image of those folks.

All in all, please make sure you have a proper understanding of a topic before making such inflammatory remarks. It doesn't help anyone.

I do have a proper understanding of the topic. One of my servers runs NixOS, and I am a big proponent of declarative programming in general but functional programming in particular. There are of course MASSIVE BENEFITS to declarative package management, I myself use Puppet and Boxen to manage my development environment. I don't think I denied that? I was just saying that in my experience the people who are able to see the practical benefits are functional programmers in large part due to their prior experience with declarative programming. I'm speaking from my experience with the NixOS community that a much greater proportion of its users are functional programmers than probably any other OS.

Maybe the same isn't true for Guix. I don't know. However, I do have to contest got point about free software. Yes, it's extremely important, but it's also true for every GNU project. I know it's free software because it's a GNU project, not because they told me at the top of their website. It's their brand. It's like if Apple put "Bauhaus-esque minimalist design" at the top of every product page. It's their brand. Now I don't expect the FSF to be very aware of their brand identity, but that's not a good thing and if you think it really needs to be said that Guix is a free software project when it's hosted on gnu.org I'm not sure why we're having this conversation.

Perhaps buzzwords was the wrong word. Yes, I understand that these concepts are nontrivial. In fact, I understand it well because I do grok them, and that's part of why I'm able to say that it's very daunting for a newcomer to see all of those words and not understand what they mean. This hews very close to the free software tradition of "if you don't understand this immediately you don't deserve to be here" which is a toxic attitude that needs to be eliminated. At the very least, it looks clumsy and more than anything else it's abundantly clear that the writer of those words has forgotten what it's like to be a newbie.

I don't think they should redirect to Nix, far from it. It's a different project. That's simply irrational. I meant to imply that I was surprised that their site sucked so bad when their project is downstream from a project with one of the best homepages I've ever seen for a free software venture. And no, the casual users don't need to know about Nix, but if it's important that the name be an homage to it should it not at least be mentioned?

Yes, I'm completely aware of the difference between Scheme and Haskell, and I know what Guile is or I wouldn't have clicked on this thread in the first place. (a decision I'm rapidly beginning to regret)

The bottom line is that there are simpler and more lucid alternative ways of saying what they want to say there and it's not for want of examples that they don't. Good artists copy, great artists steal, as the saying goes. They should be great artists and alter their design to reflect principles that are obvious in the design of nixos.org. Or alternatively, since their project is a derivative, they could ask the Nix maintainers if they could use some of the look and feel.

And it is absolutely a Guile front end to the Nix system, this is completely uncontroversial and expressed clearly in their readme:

"GNU Guix is Nix[0] from Guile[1]!

Concretely, it allows Nix package management to be done entirely in Scheme. The goal is to investigate whether Scheme, and in particular the ability to define EDSLs, would allow it to fulfill the role of the Nix language."

"* How It Works

Guix does the high-level preparation of a /derivation/. A derivation is the promise of a build; it is stored as a text file under =/nix/store/xxx.drv=. The (guix derivations) module provides the `derivation' primitive, as well as higher-level wrappers such as `build-expression->derivation'.

Guix does remote procedure calls (RPCs) to the Nix daemon (the =nix-worker --daemon= command), which in turn performs builds and accesses to the Nix store on its behalf. The RPCs are implemented in the (guix store) module."

It builds from the Nix package archive, it works by communicating with the Nix daemon, it wouldn't exist without Nix.

I'm not sure how else I can express this, you spent your entire post trying to prove that I don't know what I'm talking about by repeating concepts I am intimately familiar with.

There are absolutely short ways to explain the nontrivial concepts, and NixOS does it well.

> However, if we're going to expect more, it should look more like the new Guile site and less like this.

I was referring to both sites. Both the Guix and Guile sites are better than your typical impenetrable GNU project website. Guix, unlike Guile, isn't a mature project, so it's content isn't going to be all that great.

Keep in mind that the site is for _GuixSD_, not Guix itself. That's the reason for that blurb in the first bullet point: they're differentiating it from other distros not package managers.

You're wrong about the second bulletpoint. That state quite clearly what the benefits are: "transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and more". That's all because it's functional, but simply saying that Guix a functional package manager doesn't really communicate what's going on. Stating that Guix is declarative doesn't tell you anything: RPM .spec files are mostly declarative, but simply being declarative doesn't give you the benefits of a functional package manager, like Nix and Guix. Nix's (and Guix's) declarative nature is a side-effect of their functional nature, nothing more.

They don't care about Nix, not in the slightest. Nix is a means to an end, nothing more.

Could the Guix site do with improvement? Certainly. Do I think the Guile site is better? Definitely! But compared to the average GNU project site, the Guix site isn't all that bad.

answer to what makes guix different (for me): I can install it as a user on top of my existing distro. Like PyPI done right; for the whole system.

Both have problems. Base vintage layout is too dull and doesn't correspond to the kind of project presented. Having guix at the same level as `less` is wrong IMO. I'd allow an exception for a whole OS/distribution. It's a major thing, and a recent one at that. So a bit of 'appeal' couldn't hurt, now it's not proper as done now, but guix is still growing, the fact that it has a page is already amazing in itself :)

What about the GNU Octave site? Ugly as sin or uglier?


No, it looks much better. The drop-shadows are a bit cringey but again, the colors make sense and for what it's worth it's an honest design. This is clearly the homepage of a free software project.

A few suggestions:

- The front page needs some short code samples and their output. Also, maybe showcase some libraries or projects the Octave community has created.

- Make 'Documentation' a top-level menu entry.

- Provide some 'Getting Started' documentation. I know there's a section in the manual for that, but I don't dive into the manual when I'm just trying to get a feel for what something is.

- The download page should have distro-specific installation instructions (e.g., apt-get install octave, pacman -S octave). For Windows, link directly to the exe. For OS X, link directly to the dmg.

Other than that I think it's fine. The design on the navigation menu looks a little dated, but it's not a big deal.

Isn't it really rather pointless to show distro-specific installation instructions. Someone who can program in scheme or octave really doesn't need help on using apt-get. There's many options if you want to cover a good range of distributions. Someone that clueless will probably not realise the commands need running as root, either. It only makes sense for Windows and OS X.

I disagree. As someone who knows how to use my system's package manager, it saves me from having to figure out the name of the package and whether or not I need to enable a 3rd party repository. Also, I know at least two people who use Octave that aren't comfortable with their system's package manager. Both of them use Ubuntu for their research because it's easier to get compilers (Fortran and C++) working properly, but they use Windows for general (non-research) computing. One of them is a biophysics graduate student and the other is a chemistry undergraduate.

Someone who is learning scheme or octave may not know these things. This may be their first time installing something like this.

> For OS X, link directly to the dmg.

Heh, as soon as we can find someone who can create one...

How about "brew install octave" .

Slow, error-prone, obscure. Remember that Octave is used by people who regularly call themselves "not a programmer".

Probably most Octave users (including me) prefer to use the command line client, but I don't think the new GUI is so terrible to not show it in the front page.

Minor UX issue: Your side nav `buttons` should be able to be clicked from the sides. Not just the text. Similar to the `continue` button in the donate section.


In terms of site design, I prefer Guile > Octave > Guix.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact