Quantcast

ANN: Portackage - a hackage portal

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

ANN: Portackage - a hackage portal

Andrew Seniuk
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/

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Andrew Seniuk
Jonathan,

On Thu, Apr 26, 2012 at 4:13 PM, Jonathan Daugherty <[hidden email]> wrote:
>> 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.
>
> It might not be showing the most recent releases of everything.  As an
> example, it shows a much older version of my vty-ui library (1.0) and
> its metadata, instead of the latest version, 1.5.  As a result the
> version, module list, description, homepage, etc., are not current.

Thank-you, I'd realised this issue but forgot to address it. It is
due to a false assumption on my part that the .cabal entries in the
00-index.tar file were in increasing version order.

I'll address this problem today.

Cheers,
Andrew

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Andrew Seniuk
Should be fixed in that respect now, thanks again for pointing it out.

On Thu, Apr 26, 2012 at 4:23 PM, Andrew Seniuk <[hidden email]> wrote:

> Jonathan,
>
> On Thu, Apr 26, 2012 at 4:13 PM, Jonathan Daugherty <[hidden email]> wrote:
>>> 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.
>>
>> It might not be showing the most recent releases of everything.  As an
>> example, it shows a much older version of my vty-ui library (1.0) and
>> its metadata, instead of the latest version, 1.5.  As a result the
>> version, module list, description, homepage, etc., are not current.
>
> Thank-you, I'd realised this issue but forgot to address it. It is
> due to a false assumption on my part that the .cabal entries in the
> 00-index.tar file were in increasing version order.
>
> I'll address this problem today.
>
> Cheers,
> Andrew

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Andrew Seniuk
In reply to this post by Andrew Seniuk
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 <[hidden email]> 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!
>
> Kind Reg'ds,
> Andrew Seniuk
>
> [1] http://folk.ntnu.no/hammar/explore-hackage/

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

briand-3
On Thu, 26 Apr 2012 23:52:47 -0400
Andrew Seniuk <[hidden email]> 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 <[hidden email]> 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!
> >

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.

I'd like to vote to make the synopsis to be the second column.

will each column type have an enable/disable ?

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.

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

Brian


_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Christoph Breitkopf
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, <[hidden email]> 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
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Andrew Seniuk
Excuse the delay, I have no home internet.

> On Fri, Apr 27, 2012 at 1:16 AM,  <[hidden email]> 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 <[hidden email]> 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.

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ANN: Portackage - a hackage portal

Andrew Seniuk
Hi Derek,

Thanks for your comments. Yes, I am probably going to focus on making
it work as a web service and stay away from platform-specific mobile
apps. Not been thinking mobile much at all, since the quantities of
data are taxing even to my laptop, and also I'm inclined to believe
people are mostly at a laptop or desktop when coding Haskell.

However, I'm planning to try server-side sorting and filtering, and
compare performance. No DB is used on the server yet, but it would be
simple enough I suppose -- all this is quite new territory for me.
Also my shared hosting resource limits may become a problem if this
gets a lot of use.

On the other hand, was planning to use persistence (cookies i guess?)
to save the data on the client, so that patches based on Hackage RSS
could be applied incrementally. Also, I think the sorting could be
faster by sending per-column lists of indices. But maybe it is just
the browser rendering which is taking all the time?

I'll take this opportunity to announce a few improvements:
 - shift-click a row to see the Hackage page (bare click does nothing)
 - per-column filtering widgets

Presently working on getting the "last updated" column, this
information is not in a .cabal file but I'm hoping it is in the TAR
metadata...

The link again:  http://www.fremissant.net/portackage

A.

_______________________________________________
Haskell mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/haskell
Loading...