Python.org Redesign Request for Proposals
pythonorg-redesign.readthedocs.org
pythonorg-redesign.readthedocs.org
This doesn't seem to occur to people very often, but if your company is relying on an open source project, source code patches are not the only way to contribute back.
Can you spare some time from your designer? Help out with a logo or website design work.
Do you have a doc writer? We all joke about RTFM, but if there is no manual that doesn't help much.
There are some things that developers don't necessarily want to do, so those areas often lack on open source projects based on volunteers. A company using their resources to fill in some of the gaps helps a lot.
I also don't understand why designers will compete on 99designs but don't seem to contribute to open source that often. If you are trying to break into the industry by showcasing your work, why prefer the 1 in 30 odds of having your design chosen in a crowd sourcing competition over actually helping out an existing project?
There exist UX paths by which contributing to OSS via code is easy, obviously wanted, and generates warm fuzzies. The fork-and-go experience of adding one marginal feature to a gem for Ruby then sending a pull request feels like ponies and sunshine every step of the way. By contrast, there exists no infrastructure or UX to support designers contributing in the same way. You probably have to send an email to a project maintainer. Try sending ten of those: report how sunny your ponies feel as a result.
OSS projects, in the main, very aggressively signal that they do not care about design. Just having a logo makes it look like you have super-anomalous levels of care relative to OSS. Designers pick up on hints like "your web presence is a default Github page" and "your logo was created by a programmer in MsPaint" to decide that their talents are probably better applied elsewhere, where they will be valued.
Also, 99designs will pay more designers more money today than entire communities of OSS developers will this year. Even starving artists can do the math.
If I were evaluating a project I would choose a project with a default Github page over a project done in MSPaint just because there's a good chance that the latter was written by a developer who likes the MSPaint logo.
Today when you search for 'random.choice python' you get to the random front page with 20+ random functions forcing you to first click on the google search result (probably with a lower CTR than if you have had the function name in the title) and then when entering the docs page hit CTRL+F and do a page search for 'random.choice'. That would make my life easier, and annotated documentation, preferably with some kind of "like"-functionality pushing the good answers up. I do get however that some people like to have the full spec for all random functions in one page...
http://www.alexkrupp.com/Jinja%20docs.html
FreeMind .mm file: http://www.alexkrupp.com/Jinja%20docs.mm
Ideally the HTML of the Python docs should be structured in such a way that the all the built-in functions, string functions, regex functions, etc. can be dumped into a mindmap automatically each time the documentation is changed.
Another solution could be to keep the pages as they are today but the possibility to click down the hierarchy to get to a more in-depth function-page where you can get comments, solutions, examples etc. This would cater for both tastes of documentation consumption. This would also solve the problem with coming into the docs from search, making it easier to get a 100%-hit directly when searching for a specific function.
I prefer a single page for random than having 20 something pages for random.x. Here is the doc for random.choice:
random.choice(seq)
Return a random element from the non-empty sequence seq. If seq is empty, raises IndexError.
A separate page for this will be textbook definition of overkill.If you already know what you are looking for(random.choice), a better way to lookup the docs is to either use the repl(help(random.choice)) or configure your editor to lookup the documentation. Python library docs is mostly contained in the docstrings.
It is not overkill as I see it, a page for random.choice with official documentation and annotations and comments would be good in my book.
Since HTML5 provides several new tags to help define the outline of a page and specify suitable headings to go with it, I’d probably look there first. The existing content looks fairly well structured, so hopefully it could be migrated with reasonable effort as a starting point, and any new/reorganised material to fit whatever new IA results from this exercise could then take full advantage. As HTML5 becomes more widespread, I suspect we’ll see both search engines and browsers take advantage of these outlines, just as search engines today have started to recognise site maps and present some results accordingly, so I think it makes sense to follow the presumptive standards unless there’s an obvious reason not to.
Given a clear outline one way or another, you could also do a lot to improve on the narrow, statically positioned tree on the left of each documentation page. That sort of navigation was probably sensible with the browsers and screen resolutions of the time when the current design was put together. Today, it wouldn’t be rocket science to use a wider nav area to take advantage of widescreen displays, and to have it fixed so it doesn’t disappear as you scroll down the page. You could provide some combination of top-level site navigation and navigating a possibly collapsible outline of the current page. However, perhaps you could also provide tools like navigating through search results as a separate list of excerpts like a SERP and/or by making the outline smart about say expanding and highlighting relevant sections when you first open the page. You could probably even do things like providing quick context-sensitive help for main page content, just as we use various interactive features to explore our code in editors/IDEs without leaving our current context.
This sounds like a fun project to work on. I’m almost sad that I don’t have a spare team and a half-year of free time to have a go! I certainly wish the organisers luck and hope a good development team lands the job.
The team vetting the designs is not 100% board members, intentionally so - as I said, we have domain experts as well as psf members, it's a small team to keep the noise down, but the goals and thoughts are outlined in the RFP as much as possible.
Problem solved!
I'm currently writing up a doc for a non-techie to take over that task and the steps to go from a clean machine to a functioning system that can make even simple typo fixes are barbaric.
I will also add that Python is my favorite language, and I hold it in a completely separate league from every other language I'm familiar with. Nothing else comes close.
That said.
"Python.org Redesign Request for Proposals"
I was initially excited about the title - due to misinterpreting what 'redesign proposal' might read. I was awed as I started reading the first half of the first sentence of the linked article
"The Python Software Foundation (PSF) is accepting proposals
WOW
for architecture,
WOW
design, development, and maintenance
WOW
...of the primary web site.
Oh.
I really thought you were reaching out the community, really talking about the fundamental design of Python (how I misconstrued the HN title) even from people totally outside of python, in an unprecedented move.
I thought you were really setting out to evaluate fundamental design decisions, that might eventually lead to a Python 5.0 that lives on the web and is attractive to whole swathes of novice and advanced developers who currently use PHP. I think such a widely advertised call for design proposals would benefit everyone.
The websight redesign reachout is, of course, not really connected with such a thought.
That said, you are right that there are plenty of hosting providers with ruby/python available in some capacity.
So, whereas previously (in the 90s) you would have a big jump from HTML only with maybe PHP or you jump up to paying for a server every month and having to lock it down and administer it yourself, now, the former category has access to loads more 'hosted' service possibilities so that what you can do with "wordpress only" has substantially increased; meanwhile, the latter category has come down substantially, due to instances on the cloud being so much cheaper and the amount of uptake making it much more worth it for a company to put out a standardized image with a few frameworks, etc.
So my point was twofold. Firstly, the old 'hosted content' users have access (and use) substantially fuller services, and the old 'full stack' users AND some of the old 'php is all I can use' users now have EASY access to a full instance or whatever framework you want.
Between the two, I think your comment doesn't have much currency.
So, other efforts are under way for this, and orthogonal to the current RFP
I think Python could be the best language for the web and for any programming anywhere: in the future, if it lives up to its potential, there will be a time when no one should even consider learning anything else as a first or only language. But, for a web developer, I don't think that time is now.
I hope you take fundamental redesigns very seriously moving forward. Good luck.
What does that even mean?
Resist complaining about being downmodded. It never does any good, and it makes boring reading. [1]
The first relevant result for searching "string concatenation" is around the 20th place.
This is great for documentation of most projects as it can be supported with only html+css+js, without a need for a web framework and hosting. But for the documentation of a major programming language I think something more advanced is expected.
I'm not sure of the intended audience of python.org (new users vs. experienced), but as a brand new Python user, the current website is filled with lots of great information, but is a bit intimidating. I think the Python language really sells itself and it would be nice to see some simple examples on the homepage as is done on the NodeJS page (e.g. http://nodejs.org/).
Reading through some of the posts on Guido van Rossum's blog was also very inspiring ("Python in the Scientific World", "The depth and breadth of Python"). It's great to see a BDFL so actively involved. There are so many great stories about how Python is used successfully across in so many industries and among well-known brands. It would be great to see more of this on the main page.
Python.org, on the other hand is a jumble of text. The download section is hard to find. The boxes in the right column are more prominent than the boxes in the left column, even though the content of the left column is arguably more important. The middle section is dominated by news that is, for all intents and purposes, worthless to me. There is no visual separation between when the description stops and the news section starts. Unlike nodejs.org, there is no shout-out to companies that are using Python or popular Python libraries, etc. The homepage needs to answer the 5 W's: who is using Python, what is Python, where can I download it, when is the next release, and why should I learn Python? And don't forgot how: How can I get started?
This is basic information design.
Let me elaborate: you're asking a potential bidder to be fluent in information architecture, and back-end development, and systems architecture, and design. Those four disciplines are so far apart that I would be very curious to see if you can select one company that does all of them equally well. And if you do happen to find one, it would be interesting to see if they really can deliver top-notch quality in all of them.
If you ask me, you'd be better of recruiting a separate design, possibly accompanied with an appropriate information architecture, and then start to think about how to do the back-end development and systems architecture.
Not only is this a separation of concerns (hooray!), I also think it will get you a bigger pool of applicants, they will also be more likely to be world class in their field. No-one is world class in all those fields at the same time, and trying to find one company that is will most likely get you an 'average' result in at least one area.
If a given company feels it is lacking in any single area, I encourage them to include other specialists in that area as part of their bid - for example, if they're awesome back end designers, but can not do front-end design, I would expect them to find a trusted designer to work with them as part of the bid.
Even though this effort is funded, the management of it, the evaluation of the designs/etc is all volunteer based. We can not chase multiple contractors :(
That said, the design people/firms I spoke to about this seemed to understand this and stated they would do as I outlined above.
I'm curious to know why this is a requirement for python.org? I mean, edit contention is an area one has to deal with even if editing with a network connection, so there isn't an enormous technical burden associated with offline editing, but this does require more effort.
Essentially, we have to serve two styles of workflow - we have both types of people wanting to contribute content today, and we are attempting to fulfill their workflow needs. A 100% online CMS does not do that.
good luck for both, can't wait.
A redesign will be a great move.
Maybe I'm just getting old.
The goal is to leverage static analysis as much as possible to provide an intuitive API for Python documentation primitives. So far I have used the project to power a code browsing interface that I recently started working on, but I think that others could find the project really useful.
People from the PSF will probably also put in a proposal, since lots are web people. Which ones?
A top agency could probably charge at least $1 million for something like this. So I doubt there will be a top result... unless they do it pro bono. Which would let USA companies do it as a tax right off if I'm not mistaken? Maybe one of the sponsors will put in a bid: Facebook, Google, or Dropbox?
All very exciting.
Or perhaps some wunderkid-wizard-wonk will hack tirelessly on their keyboard+wacom - powered only by a will to provide pythonistas everywhere a great website. They will about face everything with a fresh open approach, that turns the ideas upside down and puts code and projects first, doing an edgy remix of pypi, that integrates an IDE console inside the website (or coming up with an actual good idea) that makes people think "why weren't all programming websites like this already?". They'll do all this before the submission period is even up, having gathered feedback and evolved their idea consulting tens of 1000s of pythonists, djangonaughts, and people from other communities. Time magazine will have a picture of them next to the new python.org with the headline in all caps... "EPIC".