There's a new website for Google Open Source that goes beyond simply listing its open source initiatives. The interface of the new directory of projects has come in for heavy criticism, but there's a lot to be learned from the website so it's worth a second look.
Open source software is important to Google and Google is important to open source. Not only does it introduce thousands of young people to open source via Google Summer of Code and Google code-in, it releases a lot of software originated internally as open source code, with TensorFlow, Kubernetes and Go being well-known examples. Indeed many Google open source projects as so well known they almost lose the "Google" tag - think Angular or Android.
Announcing the new site on the Google Open Source blog, Will Norris of the Open Source Programs Office writes:
This new site showcases the breadth and depth of our love for open source. It will contain the expected things: our programs, organizations we support, and a comprehensive list of open source projects we've released. But it also contains something unexpected: a look under the hood at how we "do" open source.
This is to be found in the Docs section of the new site and is essentially Googl's internal open source documentation as seen and used by Google employees. It is here provided for use by others and the explanation of who it is for reads:
For other companies that are releasing or using open source software, we want to share the lessons we've learned from many years of experience. By being as transparent as we can about how we do open source, we hope to help others do the same.
Docs has three main sections:
Creating covers how Googlers release code that they've written, either in the form of a new standalone project or as a patch to an external project. The same process is used for small 20% projects and full blown Google projects.
Using explains how we bring open source code into the company and use it to help build great products. We carefully catalog thousands of packages to help us maintain license compliance.
Growing describes some of the programs we run inside and outside the company to support open source communities.
Of course, it is the Projects section of the new site that is the one most visitors are interested in. It's default view is an eye-catching animation with circles of various sizes, some with icons, others blank circling around one, chosen seemingly at random, in the centre:
and, on Hacker News, it has provoked the comment:
"Fire the UX guy, the interface is terrible.
Firstly wayyy too much useless animation + distractions. This slows down every aspect of the interface making it annoying to use.
The default of showing just miniature icons of projects provides ZERO useful information. After clicking 'next' and waiting an eternity for the animation to finish, you are presented finally with some information, just a title and description."
It is difficult not to agree to some extent with this comment. While the display is attractive, it is an inefficient way to present information. However, as well as using the next and previous arrows you can interact with the animation by clicking on any of the circles - or you can sit back and watch with a new project appearing after 5 seconds on a desktop display with reasonable speed Internet connection.
Responding to criticism of the UI on Hacker News, Will Norris commented:
The problem is that we have over 2,000 projects, so simply listing them all on one page doesn't work very well. Hence why we built this directory, which allows browsing by category, by tag, by language, as well as full text search.
Once you discover how to search the directory it really is pretty useful. The full text search is camouflaged against a dark background and the arrow tempts you to select from a drop-down list of categories rather than typing it - but if you know the name of the project or a what it is likely to be tagged with that is a good way to find it.
There is also another choice of View - a Grid View which is a static directory listing that, while it may be boring - it is comprised of square panels - is functional.
Clicking View Project in the centre circle or on a directory square takes you to the project's page which has plenty of information. Each page includes the project title and a link to it followed by a description of it and an explanation of how it is used at Google. The bottom of the page provides details of the Source code with a link to repo, the license in force, the number of stars and number of forks.
A project page can also provide a better starting point for exploring the directory. Each project is a member of one of more Categories, is written in one or more Languages and has Tags. The left-hand panel gives easy access other projects using these links.
Another response on Hacker News was concern that the new web page might signal a move away from GitHub to which the prompt reply was:
The importance of Google to GitHub makes this reassurance very welcome. Google Code, its proprietary code repository was shut down in favour of GitHub back in 2015 with nearly a thousand projects being migrated to GitHub. GitHub's report on The state of the Octoverse 2016 revealed that although Google was not the organization with the most contributors, an honor that went to Microsoft, it provided over 12,000 contributors - and as Angular and others of its projects are separate organisations this figure is just the tip of the iceberg.
The results of the 2017 Stack Overflow survey are available. They cover many different aspects of the developer landscape and one that is of immediate interest is what we can expect to be paid and whe [ ... ]