I also had to go to preview.python.org to see this.
My first impression was very favourable. The design is clean and well implemented for the most part.
The menu design is quite effective, except that most of the first panel, under About, seems like low priority background information that won't interest most visitors. I would have thought promoting the material on getting started, and on major areas like downloads and documentation, would be the highest priorities here.
I tend to think having basic code examples high up on a programming language's home page is a good thing, and I like the general idea here. However, if it were me I'd move away from the automatic switching to something with manual controls to cycle through the examples. As others have noted, the content below keeps moving, along with all the usual problems that make carousels a bad idea.
It's a shame they're still using the Flux font in places. I get that it's traditional, but it's simply not a very good font, and it brings an amateurish feel to an otherwise very professional-looking page.
Please track issues with the samples / etc here: https://github.com/proevo/pythondotorg it's all open source and I will be moving it to the official python org tonight
Code sample 3 says, "Lists (known as arrays in other languages)", etc. Maybe a small point, but this could be confusing. Python lists are not what are usually meant by "arrays", and in fact Python provides an array module in its standard library (and there is numpy, which provides more array stuff).
Since much of the "slow" Python code out there is slow at least in part due to use of inappropriate data types, it might be best not to start beginners off by mixing these things up.
They're pretty close. They provide random access, are backed by contiguous memory, and the syntax behind their use is similar to arrays in other languages.
Yes, lists in Python are going to be implemented in C as arrays of PyObject pointers. Which is why numpy has their own arrays - they want arrays of int32, float64, etc.
Ruby-lang.org went through this stage, too. Compare its old version with the new Python homepage[1]. (It is similar in their use of dark background and certain decorative elements, and in giving code samples much importance.)
They've redesigned since that, reducing clutter, improving readability and visual hierarchy.
Note that you can instantly tell that Ruby is a programming language, and how red “Download” button sticks out on http://ruby-lang.org/.
If I were on the design team, I would spend some time researching how and why competitors (Ruby, Java, others) go about their homepages.
I feel like we are looking at different sites here.
At least for me, the first screenfull of python.org is dominated by a picture of some code and the text 'Python is a programming language that lets you work quickly and integrate systems more effectively', very similar to Ruby.org.
From there, the python site is dominated by links to get a new Python programmer started, while the Ruby site is dominated by a blog feed that talks about recent events. So the Python front page serves a new programmer, while the Ruby frontpage is more about being the center of a comunity.
Given Python is often a first programming language, while Ruby has a very tight community, I think that difference is sort of natural.
We disagree and that's OK. Still, since I suspect we're indeed looking at the same site, I'm going to clarify what I mean.
Clear and concise summary “Python is a programming language…” is down below near the fold of my screen, and it uses subdued gray-colored text on blue background.
Meanwhile, much attention (via color contrast and positioning) is given to code samples. Code samples are aimed at those who don't yet speak Python, so they are poorly readable ‘by default’. I personally wouldn't throw them at user right away as they start skimming the page, placing short intro text higher in visual hierarchy. (I'd also try making samples more readable.)
Then there's search box. It is quite high in visual hierarchy, since it's the only plain white-colored object (and a sizable rectangle at that) among the shades of blue and occasional yellow above the fold. Meanwhile, it's not (I'm sure) going to be used by the majority of users.
I would say the visual hierarchy is not perfect and there's some visual clutter.
Also a problem are redundant links. How many are there that lead to documentation or, say, download page? You don't know it, but your brain (or at least brain of someone who's new to the site) evaluates all of them before choosing which one to click.
Of course, most of us are used to interacting with worse designs, and prior design of python.org had its own (maybe more significant) problems. Nevertheless, I think the landing page could be designed to cause less cognitive strain on the user.
>> I suspect we're indeed looking at the same site,
Ah, but we weren't.
I'd like to apologize - I didn't mean that to sound sassy.
When I was viewing the site earlier, I was doing it on a high resolution widescreen monitor, rotated 90 degrees so that the page was very, very tall.
On the python page, I had pretty much the whole page visible, and it was all useful stuff. On the Ruby page, about 70% of my screen was dominated with the blog feed.
So, the way the pages looked to me was actually quite different, and about the only other people getting the experience I was are tablet users reading the site in portrait.
In the weird portrait view, the python site is better than the ruby site. The way normal people look at it, the ruby site is better.
I get your point now. In my case it's a 1280x800 landscape screen, minus menu bar and window chrome. When I zoom out to 75% the visual hierarchy improves somewhat (though font size becomes too small, and some of my points still stand).
I thought I'd find a ton of comments about how awful it is, surprised. More than one part of the page strained my eyes to read. The code samples and success stories are the worst. Websites are made to be read, if you make that hard you've failed at design. Needs to be a lot simpler. If this stuff was fixed it'd be awesome though
One comment: As the main feature goes between code examples, the box grows. This makes the rest of the page jump around - which is frustrating if the viewer happens to be reading it or clicking links.
Thanks for not making it all flat like thousands of other sites these days. But it could use a site wide nitpicking by an anal graphic designer to tweak things like typography, margin, spacing, alignment. Things are not quite perfect.
My exact thoughts too - "thank god, a site redesign that doesn't think a colour gradient is the devil". I like the philosophy of 'digitally authentic', but that doesn't lock you into being flat. Can't wait for that fad to be over.
Yeah, they've got a whole lot crammed in there. I remember this being something a lot of people were complaining about when the PSF asked for feedback a number of months ago.
The individual UI components look fine, but I agree it's a bit too crowded. Though to be quite honest I don't care how the site looks, Python is awesome regardless.
Completely agree. Probably they started with something much simpler, and different people demanded that more essentials were added until it became a bit cluttered, but it's very hard to take things out once they are there.
If I had any criticism it would be this - leading with the code is great, but there are too many menus and too many choices.
update 2: Am I the only one to want a (js based client side) repl + tutorial and side docs as the basis of any language website ? the new layout is a bit lighter than the old, but it looks like they're selling cookies. Sorry to be ranty.
I'm of the belief that you should reveal as little information as possible regarding your web stack. This alone indicates that they're running Django, although that could probably could have been guessed pretty easily considering it is Python.org . Also, from a security perspective, I would prefer to have the admin site only accessible from an internal network, perhaps on a subdomain, and require people to use a VPN to make any sort of admin changes.
He's not saying you should rely solely on obscurity for security. He's saying that, in addition to other basic security precautions, the use of obscurity is a good idea. The less a potential attacker knows, the better.
The reason for serving the admin under a non standard URL is rather to get rid of requests issued by robots who are not clever enough to realize it's open source. It's similar to not having your SSH server listening on port 22, which is a pretty common thing to do. Shouldn't be relied on for security, but it declutters log files.
It couldn't hurt, but you shouldn't have to rely on obscurity. Then again it's Python's home page, so it'd be pretty easy to guess that it's probably using Django (especially now that it supports 3). Also it's kind of a dick move to maliciously attack a project as beneficial as Python.
That's not how web frameworks work. There is code on the server side which _generates_ the HTML, CSS and sometimes Javascript as well. So viewing the source in your browser can give you some clues, but this doesn't reveal what is going on on the server.
Yep, I wasn't able to get to everything. I had to update a ton of the content via the Django admin without a source checkout (which is now available), so I couldn't grep for placeholder text. We'll get it all straightened out.
Design is often an Achilles' heel of software projects, because if a project is very good, some people tend to think that design is irrelevant because people will still use it. And sometimes they do, but it probably scares a good number of people off.
It's good to see an exception of this rule. They probably needed to hire a professional designer to make this happen, but it was worth it.
In point of fact two companies were the primary contractors for the redesign of python.org, but since I am no longer in the loop I will commend you to wait for an upcoming PSF blog post that will give the details. Design was indeed a major input to the project.
IMO (as a designer), they definitely did. There are a few little niggling issues that catch my eye, like the menus looking like they are too low down because of the line above being light, and below being dark (they should be up 1px IMO), but otherwise it doesn't look bad.
You may not like what they've come up with, but this is not amateur work. That's not to say I love it or don't think it can be improved, but it bears all the hallmarks of a design which has gone through several designers along with a lot of stakeholders adding in what they see as essentials and perhaps making the design messier than it was originally. Getting agreement on these things is sometimes hard, and if lots of people are involved, it can lead to a slightly cluttered feel, esp. on a home page.
I do think it's refreshing that they lead with code samples, that's a really nice idea, and overall think it is looking pretty good (esp. compared to the previous site).
If anything they need to pare it back some more and let the essentials speak rather than cluttering it with too much information, but I don't think I'd describe it as amateur, and if you're going to do so, you should make a far more substantial critique to explain what you consider professional to be.
I think it would be awesome if the main page had an online interpreter so that a visitor can run the examples in the code slider. Also, I noticed that the project repo has a Procfile, however it starts the Django development server. Do you use Heroku for development testing or production?
Nice work and most definitely a refreshing change.
It's shaping up nicely. I appreciate it's a responsive design, but please consider the code example slideshow is broken on resize. Also, consider increasing spacing, the content is too crammed below the header.
And thet day has finally come, first php.net and now python.org. But the site although looks nicer, is just too much in my face and my lazyness just make me leave it before even think to explore it.
Also, the size of the console grows larger for demo 3, and shrinks back when I go for other demos. I may have a bigger font than usual, but can it be fixed?
Congratulations, Python team! Your website is now identical to the hundreds of other bootstrap-based websites.
Moreover, the page is somewhat confusing, especially with non-obvious menus, and language that makes links seem redundant. Multiple navbars don't help, either. The page also lacks contrast, especially at the top.
I understand that javascript is generally a safe assumption, but the page should at least be readable and navigable without javascript (or webfonts). Also, it would be better if all the js were at python.org, instead of hotlinking to different domains. As it stands, the page is nowhere near as bad as some, but it's a nice touch.
I'm working towards building out community-driven code samples for the site. Please remember this feedback and help contribute to the samples in the future!
I actually prefer the 2.x docs (stylewise). While the 3.x docs do look clean I just personally don't find them very appealing. I think the 2.x docs also match the new python.org much better.
The link in the middle of the page goes to jobs.python.org which doesn't exist. Chrome's "Did you mean" recommends python.org/jobs/ but that gives a pretty looking 404 at least.
My first impression was very favourable. The design is clean and well implemented for the most part.
The menu design is quite effective, except that most of the first panel, under About, seems like low priority background information that won't interest most visitors. I would have thought promoting the material on getting started, and on major areas like downloads and documentation, would be the highest priorities here.
I tend to think having basic code examples high up on a programming language's home page is a good thing, and I like the general idea here. However, if it were me I'd move away from the automatic switching to something with manual controls to cycle through the examples. As others have noted, the content below keeps moving, along with all the usual problems that make carousels a bad idea.
It's a shame they're still using the Flux font in places. I get that it's traditional, but it's simply not a very good font, and it brings an amateurish feel to an otherwise very professional-looking page.