Andrew Seniuk | 26 Apr 2012 22:05
Picon
Gravatar

ANN: Portackage - a hackage portal

Hello,

This is to announce a provisional webpage to summarise hackage.haskell.org.

http://www.fremissant.net/portackage

It is a lot of data, so will be a bit slow to load. Columns can be
sorted by clicking the headers, but this will also take some seconds
on a typical client. The initial sort is by module name.  Clicking a
table row links to the project page on hackage.

Although I believe this is a complete list of all packages/modules in
hackage, it is probably still buggy, so if you see anything amiss
please let me know. Also, a subsequent version in the near future will
update automatically based on the
http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but
for now it's based on a recent snapshot. Haskell code which prepares
the page will be released after a few more days testing and
refinement.

Some previous work [1] provided a list of all modules, but is not
being maintained, and I was unable to rearouse the author's interest.

Feature requests and suggestions are welcome!

Kind Reg'ds,
Andrew Seniuk

[1] http://folk.ntnu.no/hammar/explore-hackage/
(Continue reading)

Andrew Seniuk | 27 Apr 2012 05:52
Picon
Gravatar

Re: ANN: Portackage - a hackage portal

Somewhat lighter, using summarised module lists. A more sophistocated
UI with per-column filtering is in the works. I invite your comments.

Andrew

On Thu, Apr 26, 2012 at 4:05 PM, Andrew Seniuk <rasfar <at> gmail.com> wrote:
> Hello,
>
> This is to announce a provisional webpage to summarise hackage.haskell.org.
>
> http://www.fremissant.net/portackage
>
> It is a lot of data, so will be a bit slow to load. Columns can be
> sorted by clicking the headers, but this will also take some seconds
> on a typical client. The initial sort is by module name.  Clicking a
> table row links to the project page on hackage.
>
> Although I believe this is a complete list of all packages/modules in
> hackage, it is probably still buggy, so if you see anything amiss
> please let me know. Also, a subsequent version in the near future will
> update automatically based on the
> http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but
> for now it's based on a recent snapshot. Haskell code which prepares
> the page will be released after a few more days testing and
> refinement.
>
> Some previous work [1] provided a list of all modules, but is not
> being maintained, and I was unable to rearouse the author's interest.
>
> Feature requests and suggestions are welcome!
(Continue reading)

briand | 27 Apr 2012 07:16

Re: ANN: Portackage - a hackage portal

On Thu, 26 Apr 2012 23:52:47 -0400
Andrew Seniuk <rasfar <at> gmail.com> wrote:

> Somewhat lighter, using summarised module lists. A more sophistocated
> UI with per-column filtering is in the works. I invite your comments.
> 
> Andrew
> 
> On Thu, Apr 26, 2012 at 4:05 PM, Andrew Seniuk <rasfar <at> gmail.com> wrote:
> > Hello,
> >
> > This is to announce a provisional webpage to summarise hackage.haskell.org.
> >
> > http://www.fremissant.net/portackage
> >
> > It is a lot of data, so will be a bit slow to load. Columns can be
> > sorted by clicking the headers, but this will also take some seconds
> > on a typical client. The initial sort is by module name.  Clicking a
> > table row links to the project page on hackage.
> >
> > Although I believe this is a complete list of all packages/modules in
> > hackage, it is probably still buggy, so if you see anything amiss
> > please let me know. Also, a subsequent version in the near future will
> > update automatically based on the
> > http://hackage.haskell.org/packages/archive/recent.rss RSS feed, but
> > for now it's based on a recent snapshot. Haskell code which prepares
> > the page will be released after a few more days testing and
> > refinement.
> >
> > Some previous work [1] provided a list of all modules, but is not
(Continue reading)

Christoph Breitkopf | 27 Apr 2012 10:12

Re: ANN: Portackage - a hackage portal

Hi Andrew,

this already looks great. So here's my wish-list, in case you have too much time on yours hands ;-)

On Fri, Apr 27, 2012 at 7:16 AM, <briand <at> aracnet.com> wrote:
it's probably best if a click on a specific target, say the actual name of the package, sends you to the hackage entry instead of a click anywhere on the row.  I find myself clicking on the page by accident and it sending me off to some random hackage entry.

And make the homepage URL into a link - clicking on that address and finding oneself on hackage is confusing.

Quality/popularity indicators (I'm aware that some of these are real work and better provided by hackage itself):
- used by how many other packages (number of edges to that package in the dependency graph of all packages)
- haddock coverage, test coverage, etc.
- like, +1, whatnot button
- link to issue tracker, if there is one

Chris
_______________________________________________
Haskell mailing list
Haskell <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell
Andrew Seniuk | 27 Apr 2012 20:32
Picon
Gravatar

Re: ANN: Portackage - a hackage portal

Excuse the delay, I have no home internet.

> On Fri, Apr 27, 2012 at 1:16 AM,  <briand <at> aracnet.com> wrote:
> Great idea.  Maybe the format can start as compactly as possible,
> i.e. 1 entry per line to make it easy to browse as many entries
> as possible in one page.
>
> It looks as though disabling just the dependencies would go a
> long way to accomplish that.

Yep, and in fact the version I uploaded while reading your
message has the deps column elided (and one or two others).
Enforcing single-line rows is a but a few tweaks away.

The thing is, the module namespace was the main motivator for
this project, so I'm also seeing whether I can get away with a
single view, package-oriented as presently, and still give good
focus to the modules names.

Soon I hope to include "accordion" views of the module namespace,
with cookie-based (?) persistent state so user's collapse/expand
tree state is preserved.

> I'd like to vote to make the synopsis to be the second column.
>
> will each column type have an enable/disable ?

I like the idea (although that one wasn't in the upload).
Hopefully when I explore the JavaScript UI tools a bit more,
the columns (key structure) will be totally configurable
by drag-and-drop, with columns sizable, and keys selected from
a listbox. (?) stuff like that

> it's probably best if a click on a specific target, say the actual
> name of the package, sends you to the hackage entry instead of a
> click anywhere on the row.  I find myself clicking on the page
> by accident and it sending me off to some random hackage entry.

:) That's a feature!

But seriously, you're right, and as a bonus the links can be
specific to the columns (package -> hackage, modules -> API pages,
homepages -> hps, maintainer -> sendto [1]).

(A 2-finger or Mod- click anywhere on a row might still be nice, but
a bare tap is admittedly way too accident prone with touch input.)

> I really like the idea - makes your hackage surfing
> much more enjoyable !
>
> Brian

And thank-you for sharing your thoughts! I'm committed to improving
it, until the ideas run out.

> On Fri, Apr 27, 2012 at 4:12 AM, Christoph Breitkopf <chbreitkopf <at> googlemail.com> wrote:
> this already looks great. So here's my wish-list, in case you have
> too much time on yours hands ;-)

Thanks! Yes I suppose I do have too much time on my hands, but the
pain of that is conterbalanced by all the excitement.

> Quality/popularity indicators (I'm aware that some of these are
> real work and better provided by hackage itself):
> - used by how many other packages (number of edges to that package
>    in the dependency graph of all packages)
> - haddock coverage, test coverage, etc.
> - like, +1, whatnot button
> - link to issue tracker, if there is one

If there's interest, this could become integrated with hackage
at some point in the future.

Next thing is to get a "last upload" field which can replace
the version field. The codependency graph :) would be a nice metric
to add, I'll look into it. I remember seeing a package that does
this someplace on hackage. The +1 button is a good one!

In short I'll try to implement all these ideas, thanks to you both
for the encouraging comments.

-Andrew

[1] I omitted the maintainer column, thinking its inclusion might
     be harmful, making the emails so easy for a bot to collect.

Gmane