In this respect I wouldlike to see more GNustep integration (but this a GPLers dream).
I would trade it for better documentation though which really kills IO.
Despite this, one should mention the inclusion of BaseKit. His implementation of data structures.
An some non-trivial examples in "tutorial".
It hasn't seen much love in a long time, but it was great to be reminded of why that language was so fun to work with!
What changes could you make to it in order to make it easier to compile? Or what changes would you make to it in general? I adapted similar syntax to Clojure semantics with prose , but Io has some unique semantics that come with some trade offs.
Admittedly, the sub-pages should be spruced up with more color and better layout (they're just too minimalist to convey important concepts about the language). I think these should be more in line with other language showcase websites.
As for the 'too much clicking' criticisms: no, it's no great hardship to hit that 'About' menu item!
 EDIT: I am slightly astygmatic, so for me thin white lines on black BG are basically just horizontal fuzzyness. To be constructive: white on black is generally less readable, but it can be somewhat compensated by adding more leading and thicker lines, so i.e. in /about adding this to .text
'Tutorial': the dark background and proportional typeface is out of character with some of the other code examples. (I happen to prefer mono-spaced code, with syntax coloring.) Examples:
Other than that, I'm not sure I'd change much else, design-wise...
A concurrency question:
How does the issue of lost updates get handled when two separate threads/co-routines/et al try to modify the same piece of data?
Some random thoughts :
-the first page provides no information at all, other than it is a programming language.
-The about page is just slightly better. I get a list of features and nothing else. samples of how it looks like in practice would be welcome.
-Not a word about tooling, even though it is a crucial point.
If I compare this with Kotlin's web page :
-brief description of the language
-then gives me a couple of reasons to use it
-then shows me some base samples
-a list of ways to try it out
-even an online editor to try out the language
Kotlin's webpage could probably be lightened a little bit, but it displays all the relevant base information about the language.
I generally don't like stylized letter case, but in this instance I think it would serve a useful purpose.
I think the laravel homepage is extremly well made.
Clean and very good documentation which you can use all the time without getting angry.
Language site doesn't need good UI, just provide what it is and why we should go ahead with it and minimal examples on front page.
What you're describing is actually good UI. A good UI makes it easy for people to do what they're trying to do.
Also, a "word about the authors" would be nice. is it coming from research, industry, or hobbyists.
1. It says nothing about Io on the front page except "A programming language". That's cute or edgy or whatever you want it to be, but it's not a good way to market a new language and spread adoption. No user should have to click to find out what your product is. There is way too much clicking here in general.
2. Terrible use of space. The "navigation" (if you can call it that) on the front page runs past the fold on my screen. The text is huge. On other pages, the text is tiny and hard to read because it's white-on-black.
3. Layout completely changes for different screen sizes. I know this is popular, but when it can be avoided, it's better to avoid it. When people see the same layout on all screens (or as close as you can get), it makes usage of the site faster. For a site that has language docs on it, this is really important.
I have a hard time understanding this. Staring at a bright background hurt my eyes after a while. White text on a black background feels much more comfortable to read. What am I missing?
Context. If I'm in a bright room (office), and the last page I visited was black on white (the default/norm on the web), and the page I view after this one will be black on white (most likely), then viewing this one in the middle in white on black is jarring, annoying, inconvenient, distracting, hard to read (because my eyes have to adjust) etc.
If one is in a dark room, and has a custom stylesheet to display all pages in white on black, or if the web were predominantly white on black, then sure it's OK.
Thanks, definitely never knew that. In that case I'll get on it sooner rather than later!
And really, folks who have complained have been the minority anyway. For us anyway.
You may personally feel that light-on-dark is better, but your visually-impaired users will disagree. This includes a huge number of older users, as eyes deteriorate significantly with age (even among people in their 40s and 50s).
Also, you have no idea whether the complainers are in the minority or not. The people it bothered probably didn't stay long enough to figure out how to complain. Do you get compliments from people who say that they're glad you use light-on-dark?
Also, should we assume that the people have their vision uncorrected?
I think that black on white is just a fad, perpetuated by following conventions. Like glossy screens.
For a bunch who calls themselves as "nerds" and "geeks", the HN crowd is becoming pretty dumb lately..
The inventors of CSS have failed greatly.
Sadly, after multiple clicks I still have no idea if the language could interest me, and I'm not going to look further. :/
Minimal website great.
Like IO, I guess.
:<link href='https://fonts.googleapis.com/css?family=Fira+Mono' rel='stylesheet' type='text/css'>
1. Write down the top 5 goals that someone coming to the site might want to reach. For example, "Find out what Io is" is probably #1, "See what the syntax looks like" is probably another, and "Learn the benefits over other languages" is probably a third. You'd be able to come up with a better list than me by looking at your analytics (what pages people visit most).
2. Write these goals down. Then ask someone who has never seen the site before to accomplish them right in front of you. Don't explain anything and don't interact with them until they're done. Make sure you keep a timer to see how long it takes.
3. After they're done, ask them what they found clear, what they found confusing, and what else they might want to see on the site.
I'm not an expert or a designer. Your users will show you how to improve the design because you'll see evidence of where they're getting tripped up. For example, if a certain page is the last one most people see before leaving the site (other than front page), then you can tell that page A) solves a problem, or B) causes people to lose interest.
A good starting point is to look at other language sites and decide which ones seem friendliest and least friction-y. How easy it is to get started?
As examples, I really like Rust's website, and Elm is pretty good, too. Rust's site is great because it's readable, all the important stuff is above the fold, and it has big action buttons. They also give a fairly long example of syntax, which is important.
I've even seen some languages that will show a snippet of code in an existing, comparable language, along with that same snippet translated into the new language. That's a great way to make your language accessible.
Why do you insist on dominating the thread like this anyway? For my money, "reply to every replier" users are in a dead heat with "horse sense theory" users (like the one at the top of the HIV thread earlier, always followed w/ reams of "aw shucks, thanks!" replies) as the top nuisance on HN.
It's easy to change the look and feel drastically with CSS, while keeping the file structure and HTML layout. It's not any different than downloading or using a website template, which is itself not much different from using a library in any programming language. Standing on the shoulders of giants is a core value of software.
> Why do you insist on dominating the thread like this anyway?
I only mostly replied to people who were in my own comment thread. That's called a conversation.
If I've inserted myself into anything unnecessarily, it's because usability and accessibility are really important to me. I want languages like this to succeed on their merits, rather than suffering due to unfriendly design. Plus I have friends and relatives with visual impairments.
Because Nielsen, for instance, probably wouldn't slam this design as hard as you have: For a work in progress, it's pretty danged good. The homepage is obvious, it presents the most important things in a way that nobody could miss. I'll grant that the "binaries" link is a bit obscure, but that's copy. There's some wasted space on the homepage but that's not a huge deal because the website's simplicity puts most things only a click or two away. The "packages" page is great! The tutorial could use a monospace font, but otherwise is great too.
I really hope that your advice doesn't result in iolanguage.org becoming a clone of Rust's website or otherwise an impersonator. The authors here are trying something new and unique and what they've pulled off is already looking sharp and easy-to-use.
So yea, I think you're just trying to sound like an expert. Trust me, you're not the only person here who knows about usability (if you do, that is -- you come off as more of a frontend developer than a real UX person, because your suggestions are lacking in depth and experience, and the HTML/CSS bit in your reply makes you sound especially green).
Just look at that landing page: logo, menu, intro, download buttons, code example (and editor), features - all 'above the fold' (on my screen).
Sure, everything's there, but from a design perspective, there's no real focus on any one component. Sometimes that focus is actually the design intention. In that sense, the Io website hits it perfectly.
Other than that, the page contains nothing other than the code example (a 100% must for any language homepage), the documentation links (a 150,000% must for any language homepage), and the short feature summary that supports the focus sentence.
I laud the approach. I think it looks cool and on first glance makes me think, "wow, this doesn't look like it was made by engineers who only think practically, maybe I'll go further to see if there are some unique ideas in the language itself".
In other words, don't speak like there is only one true way to do things, especially when you're critiquing someone else's work. (this last statement is slightly in jest as I'm doing the same to you!)
You're absolutely right. I made some assumptions and let my own values come through. My assumptions are 1) that this developer wants his/her language to succeed, 2) that a language succeeds because it's usable/accessible, and 3) that this design is not usable/accessible.
#2 and #3 are totally debatable, which is why I told OP not to take my word for it and to observe users instead. I'm just one user, and not an expert or designer.
However, how widely-used a language is matters a lot to me. I'd wager that it matters a lot to most people. And a language's user base is definitely affected by its website design. How much is it affected? I really don't know.
Thankfully, the website creator seems to be actively reading our feedback and interacting with us as users, which makes me think the language itself is probably developed with the same pragmatism, humility, and curiosity. Those are all great characteristics for someone designing a language!
For altJS languages:
Some websites that could be 'freshened up':
Some websites that definitely should be 'freshened up':
He/She could have just babbled a little about what makes their language special in a static html page with zero formatting, and included a github link, and it would be more effective.