Our project was migrated from the old to the new Sourceforge (SF). As a corollary, the default repository web view (hgweb) that comes with every decent default Mercurial (Hg) install is gone. Instead we get what I will call SFweb. In this analysis I will expose SFweb's shortcomings over hgweb and advocate for the re-activation of default hgweb to our project. In the alternative, I kindly ask you to fix the exposed shortcomings. If the status quo persists, I will instigate our project's migration to better suited alternative services from your competitors.
The purpose of a repository's web view is to (a) efficiently drill down; (b) visualize; and (c) share references (URL) to specific changesets in a repository along three dimensions: time (changesets), space (the codebase file layout) and the universe (the arboresence of spaces which include branches).
I contrast and compare SFweb and hgweb as of January 1, 2013 at the following URLs in relation to the above purpose.
(a) NAVIGATION (drill down)
On the stock hgview, I am presented with a sequence of logical choices to drill down the tree I want to navigate. First I select the repository on http://hugin.hg.sourceforge.net/hgweb/hugin/ and then the universe on http://hugin.hg.sourceforge.net/hgweb/hugin/hugin. In two clicks I have locked in the first of the three dimensions. The two web pages present me with the most important information that drive my choice. The information is relevant and is presented in a visually efficient manner. The visual unit is a line (very important because a line is also the visual unit for any piece of code). The display is uncluttered and allows for a reasonable number of repositories and branches to be displayed on an average screen without the need for scrolling or other time wasting human intervention. On those two web pages I do not need to process unnecessary information to decide whether it is relevant or not to my choice; and I do not need to look for information that I am missing to make my choice.
In contrast, on SFweb, there is no visual unit. The display is cluttered with irrelevant information that slows me down as I need to discern the relevant from the irrelevant.
Repositories are represented by a large icon-with-text that has ZERO relevant information to help me choose which repository I want to drill down to. I am missing the most important information: last modified date. And then also who modified it. Visually repositories occupy 4x more vertical space. Horizontal space is wasted by the artificial limits of the layout design on a 1920px wide desktop display, is barely acceptable on a 1366px wide notebook display and is useless on a smaller display or when the web browser is windowed. To make things worse, the list of repositories is horizontal and mixed with other interface elements (admin/files/wiki/etc.) that at this point are irrelevant distractions. The space left for repositories is not enough and I do not want to imagine how you have solved the issue when a project has more repositories than the space alloted by the limiting layout.
Branches and Tags fare no better treatment. Visually they are confined by the layout rectangles on the left hand side of the layout. They occupy 3x more vertical space than in hgweb. Horizontally the space is so limited it can't even display properly the name of a branch. There is some number highlighted on each branch, its importance escapes me. I am missing the most important information: last modified date. And then also who modified it.
Eye-candy. The Gravatars on that page are an eyesore. Besides the fact that my web browser sends to your server a Do Not Track (DNT) header and Gravatar is a privacy-infringing tracking operation, it also slows down the page. Whether the slow down or the privacy infringement are acceptable is debatable, but performance wise SFweb is so much slower than hgweb that speed alone would be a good reason to send SFweb back to the drawing board. Please remove unnecessary third-party dependencies and eye-candies (fonts.googleapis.com) and make the page functional. The link to the committer's SF's page is superfluous.
Summarizing, the navigation in SFweb:
1- does not provide me with the information to make an informed and quick decision.
2- clutters my display with irrelevant stuff that consumes my time to sort through.
3- dump consumer-hostile, slow, privacy-infringing code on me.
=> is not something I want to deal with / use on a regular basis.
Things get even worse when trying to visualize individual changesets or changelogs.
The individual changeset loads fast on hgweb and is self explanatory.
When I get to the visualization stage on SFweb, e.g.
https://sourceforge.net/p/enblend/code/ci/89d381db54667d8bde4d18bfb5000c38f52db6b5/ it takes ages to load and I get an Error 500 message.
Maybe the error 500 is because on dependecies such as ajax.googleapis.com and fonts.googleapis.com. This is no place for eyecandy, and even less for tracking. I can't repeat often enough that my web browser sends to your web server a DNT header. Please honor it. Look at FreeBSD.org for a clean and neat implementation: if I send to that website the DNT header, I get a clean page. If I don't I get the page plus all the privacy-infringing code that I have agreed to receive.
Frankly, I do not see myself sending to a fellow developer a link to SFweb, knowing full well that I am sending them to a time consuming, cluttered, spyware-infested, malfunctioning URL. I will tell them to run
hg view on the command line or some other local tool. SFweb makes SourceForge less relevant to me and developers like me who care about substance and privacy, not eye-candy.
Log in to post a comment.