
Redesigned Python.org - webology
http://www.python.org/
======
Silhouette
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.

~~~
jnoller
Please track issues with the samples / etc here:
[https://github.com/proevo/pythondotorg](https://github.com/proevo/pythondotorg)
it's all open source and I will be moving it to the official python org
tonight

~~~
ubercore
For posterity, the official repo has been transferred:
[https://github.com/python/pythondotorg](https://github.com/python/pythondotorg)

------
piokuc
There is a bug on the front page:

    
    
        >>> print 'Hello, I'm Python!'
          File "<stdin>", line 1
           print 'Hello, I'm Python!'
                           ^
        SyntaxError: invalid syntax
        >>>

~~~
frankwiles
Nice catch! Fixed and will go live in a bit.

~~~
est
Why not support both 2.x and 3.x syntax?

    
    
        print ("Hello, I'm Python!")

~~~
mkesper
Please no, this is confusing.

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

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

~~~
akx
Python lists are backed by contiguous memory of pointers to other objects,
mind.

~~~
ithkuil
That's because there aren't unboxed primitive values in the language. Even a
local integer variable contains a pointer to the integer.

This is orthogonal to whether a container is a list or an array though.

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

------
goblin89
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/](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.

[1]
[https://web.archive.org/web/20100401000000/http://www.ruby-l...](https://web.archive.org/web/20100401000000/http://www.ruby-
lang.org/en/) (I was never a Ruby programmer, but I remember being interested
in the language back then, and its homepage sprung to mind after seeing
Python.org redesign)

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

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

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

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

------
rayshan
Is the "BETA" tag next to the python logo supposed to mean the new redesign is
in beta? One can confuse it to mean python is in beta.

~~~
pydanny
I think it's because the site is in open beta. Let's give them a few days to
hash things out. ;-)

------
thethomaseffect
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

~~~
jnoller
Could you help us out by filing tickets/Etc?
[https://github.com/proevo/pythondotorg](https://github.com/proevo/pythondotorg)

------
arnarbi
Nice! Had to go to preview.python.org to see it.

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.

------
mkesper
Very bad date format. :(
[https://github.com/python/pythondotorg/issues/70](https://github.com/python/pythondotorg/issues/70)

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

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

Great design, with only minor issues.

------
pdknsk
It's a nice design, but IMO, a bit too much is thrown at you on the front
page. For someone unfamiliar, it's probably overwhelming.

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

I guess that got ignored.

The bottom of the page is pretty wacky, in particular:
[http://i.imgur.com/jZ6bUZu.png](http://i.imgur.com/jZ6bUZu.png)

------
agumonkey
i'm missing something here, archive.org show no differences :

present
[http://web.archive.org/web/20140219035142/http://python.org/](http://web.archive.org/web/20140219035142/http://python.org/)

past
[http://web.archive.org/web/20131130224018/http://python.org/](http://web.archive.org/web/20131130224018/http://python.org/)

update : [http://preview.python.org/](http://preview.python.org/) in case you
see the old

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.

~~~
webology
DNS is tricky. Dump your cache and see what comes up.

~~~
agumonkey
twitter just told me to go there
[http://preview.python.org/](http://preview.python.org/)

------
thearn4
Nice redesign. It'd be neat if that panel of code was a live REPL.

~~~
frankwiles
It will be!

~~~
gpjt
Yup :-) The repl will be going live later on today.

~~~
thearn4
Just checked it out. Has numpy, matplotlib, and a few other packages too.
Nice!

~~~
gpjt
Yup. Full list of included packages here:
[https://www.pythonanywhere.com/batteries_included/#a_python3...](https://www.pythonanywhere.com/batteries_included/#a_python33)

------
jpulec
[http://www.python.org/admin/](http://www.python.org/admin/) shows Django
admin.....sigh...

~~~
raimondious
What's wrong with that?

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

~~~
donaldstufft
The entire site is Open Source. If you rely on obscurity for security then
you've done it wrong.

VPN and the like would be nice but not hardly required.

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

------
glasslion
Is python.org written in Python? Which frameworks does it use? Where's its
source code(Is it open sourced)?

~~~
lutusp
> Is python.org written in Python?

Just look at the source of the landing page. A lot of JavaScript and the usual
kinds of structure that modern pages have.

> Where's its source code(Is it open sourced)?

Just right-click the page in your browser and view source.

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

~~~
lutusp
Yes, true, but one can derive some ideas about the origin of the page by
scanning the source -- certainly more easily than by viewing the end result.

------
amirmc
Previous discussion (when this design previewed):

[https://news.ycombinator.com/item?id=5389656](https://news.ycombinator.com/item?id=5389656)

------
dangayle
We have entered the age of Lorem Ipsum images hitting production websites :)

[http://i.imgur.com/fvYGWvi.png](http://i.imgur.com/fvYGWvi.png)

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

~~~
dangayle
I'm just as guilty of it as the next web guy, so I hope you didn't think it
was a dis.

I love the new site.

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

~~~
jbeja
IMHO i think they didn't hire a designer for this, although it looks nicer
than what it was, the output seems very amateurish for today standars.

~~~
grey-area
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.

------
tobych
Surely "Simple arithmetics" in the second code example should be "Simple
arithmetic", singular.

~~~
omaranto
Maybe that's British English, like "maths" instead of "math"?

~~~
dominicrodger
Pretty sure it's a typo (speaking as a Brit).

In the mother of all pedantic pull requests, I've created
[https://github.com/python/pythondotorg/pull/77](https://github.com/python/pythondotorg/pull/77)

------
mcdonnellb
All the news and events are from 2012.

Colours and fonts are better, but there's too much detail on the homepage
imho.

------
avenger123
What version of Django is this using?

The fact that the whole site is on github is fantastic. Incredible resource
for learning Django development.

~~~
mkhattab
>Django==1.5.4

According to the requirements.txt
([https://github.com/python/pythondotorg/blob/master/requireme...](https://github.com/python/pythondotorg/blob/master/requirements.txt))

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

~~~
jnoller
The interactive repo will be enabled shortly when traffic dies down a bit.
We're using try python and it's pretty awesomesauce

~~~
gpjt
We're using PythonAnywhere :-)

------
grej
Next up: [https://www.djangoproject.com/](https://www.djangoproject.com/)

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

~~~
jnoller
Great feedback: can you help us track it?
[https://github.com/proevo/pythondotorg](https://github.com/proevo/pythondotorg)

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

------
daGrevis
Overall it looks good. I miss that code console isn't actual REPL.

~~~
echaozh
+1. A repl is definitely better.

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?

------
yxhuvud
It looks somewhat influenced by the current Ruby webpage.

One minus is that some of the color choices on the code blocks are not
optimal. Dark grey on black is not exactly the most readable..

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

------
TheSwordsman
Why does the site return gzipped content for curl? I'm fairly certain curl
doesn't provide the 'Accept-Encoding' header by default.

------
helloMarc
Can't create a new account from the login screen.

~~~
coderanger
At this time accounts are only for site administrators.

------
krazydad
Beginning Python 2.x users are going to be confused by slide 2, which says
that division produces floats. Not in my Python they don't!

~~~
ubercore
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!

------
oddshocks
Hell yes! I saw a prototype at PyCon last year and this is just awesome,
really great stuff. Glad to see Python continue to evolve.

------
enneff
Looks pretty, but the middle green on dark blue/grey makes it hard to read the
actual Python code.

------
ricardomol
I am very glad to see TurboGears linked in the "Use Python for Web
Programming" section.

------
tuxguy
Upcoming events lists events from 2012

What ?

~~~
davesque
Right, what's with that?

------
mburst
Now if only the docs could look this nice

~~~
ojii
have you looked at Python 3.3 docs? I think they look really clean and nice.

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

------
octopus
I like it, looks simple and functional.

------
Tyr42
All the news links are #example.

~~~
davesque
And the upcoming events links too. Not to mention that they're all from 2012?

------
namelezz
The Jobs tab looks too sad. :D

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

~~~
goldgoldgold
Old jobs page here:
[http://legacy.python.org/community/jobs/](http://legacy.python.org/community/jobs/)

------
ppppl
Someone should tell them that their font icons don't display properly in
Firefox. Did a drunken lemur design this? _sigh_

~~~
pekk
Click the big yellow "feedback" button on the right.

Include what platform you are using, what version of what browser and which
specific icons look like what.

