We really should probably start putting together a UI Spec ...

In proper MVC fashion, there's no reason we have to wait until the rest of the logic is done ...

<RichardP> ok, i can do basic html mockups fairly quickly - week or two? See if you like them and then convert to mvc ...
<Jaykul> Yeah, that would be great

Borrow heavily from Digg, zembly, php.net ...

For the record: We wan't a light design. Not black on white necessarily, but navy or green on light yellow or beige...

The front page will be a list of scripts. Search results, user profiles, and navigation (categories, and tags) will be lists. There will also be a page template for the items, and of course the user profile will have profile data on it, before the list of scripts by that user.

Navigation-wise: there will be a category tree (possibly stolen from Microsoft's scriptcenter), and there will be free-form tags (and logged in users will be able to tag everything: people, scripts, whatever).
  • Whenever we have lists, they must be abbreviated compared to the current front page/search list (less content for each item, more items)
  • We must have a conspicuous "contribute" button EVERYWHERE
  • On the item pages, there will be a comments section for each submission (do we want these per-version? If not, we should do newest on top)

I believe we want to have two types of "reuse": EDIT and COPY FROM. The idea being that in the first case you're creating a new version of the base script, but in the second you're creating a new script which borrows from the first script. Perhaps what I really mean is that "edit" should copy over the content from the base script, whereas "copy from" should just be something where you can fill in a field with a list of "related contributions." What do you think?
  • There must be a button on every script contribution to "edit" it (ie: create a new contribution based on it)
  • There will be levels of contributions (I have a list in the spreadsheet on http://docs.poshcode.org) but from memory: snippet, function, script, module, and BINARY module.

There will be multiple code languages present

At least PowerShell and .net langs: C#, VB, Python, Ruby, PLUS: VBScript and Perl are mandatory. However, there's no need to highlight the multi-language features, they'll be filterable in the search feature, of course.

16:26:14 <Jaykul> yep
16:26:24 *Jaykul is logging this to put on the wiki
16:26:28 <RichardP> Jaykul: php documentation engine - steal heavily from it, its fucking awesome
16:27:09 <RichardP> and looks to be a large part of what you want - sure, theres lots of stuff you want on top, but its quite a way there. steal from it :)
16:27:30 *Jaykul nods
16:27:35 <Jaykul> so, on the front page (and on search results), each item will have:
16:27:42 <RichardP> and the layout is good as well
16:27:54 <Jaykul> * RANK (there will be user-voting, but not from the list pages)
16:28:13 <Jaykul> * Submitter (or "anonymous")
16:28:17 <Jaykul> * Title
16:28:27 <Jaykul> * The first line of the "Description"
16:29:06 <Jaykul> * Language (maybe an "icon" in the right-corner of the "box" for each submission?)
16:29:28 <RichardP> what icon could symbolise a language?
16:29:36 <RichardP> oh
16:29:38 <RichardP> heh
16:29:44 <palen> Powershell has the >_
16:29:45 <Jaykul> Well, like ">_" or "C#"
16:29:47 <RichardP> yeah, lancuage :)
16:29:56 <Jaykul> or "VB" or whatever
16:29:56 <palen> Ruby could be a ....ruby
16:30:03 <RichardP> I was thinking 'cant do country flags cos China has like a billion langauges'
16:30:20 <palen> Haha
16:30:23 <Jaykul> hehe
16:31:11 <Jaykul> * Links: 1) to the full details page, 2) direct to the download, 3) to the user profile of the submitter
16:31:36 <RichardP> Jaykul: how about an 'add to download package' feature as well?
16:31:39 <Jaykul> * Tags: at least the first 3 or so
16:31:55 <Jaykul> RichardP: uhm... how about for v2.2
16:31:56 <Jaykul> ;)
16:32:01 <RichardP> heh
16:32:26 <Jaykul> I have a hard deadline in May for this to be up
16:32:28 <Jaykul> ;)
16:32:41 <RichardP> hahahah
16:32:44 <RichardP> :D
16:32:51 *Jaykul sighs
16:32:54 <RichardP> why the hard deadline?
16:33:03 <palen> TechEd?
16:33:05 <Jaykul> Uhm...
16:33:11 *Jaykul whistles idle
16:33:16 <RichardP> heh
16:33:16 <palen> :o
16:33:22 <RichardP> oh yes
16:33:25 <RichardP> i do recall
16:33:34 <Jaykul> Lets just say ... there might be something big later in the summer
16:33:53 *** ghostz has left the room ("http://www.mibbit.com ajax IRC Client" (i=aab90e64@gateway/web/ajax/mibbit.com/x-44b5adf02bee9266))
16:33:56 <Jaykul> I should know for sure later this week
16:34:07 <RichardP> Jaykul: Im away this weekend, but I have all of next week and weekend to put some serious work in
16:34:08 <palen> I bet it has something to do with that interchange between Jaykul and hal about 'that thing only you and I know about'
16:34:23 <RichardP> palen: oh, other people know :)
16:35:38 <Jaykul> Yeah, there was a conf call earlier ...
16:36:05 *Jaykul trails off
16:36:15 <palen> Ominious
16:36:17 <Jaykul> and I don't want to talk about it for fear of jinxing it
16:36:20 <palen> And ominous
16:36:32 <palen> Fair enough
16:36:40 <Jaykul> but in any case, it involves getting this up sooner rather than later.
16:36:50 <RichardP> Jaykul: just one requestion - please please please dont make me do a tag cloud , they are only self propagating
16:37:04 <RichardP> oooh, new word - requestion :D
16:37:24 <Jaykul> self-propagating?
16:38:23 <RichardP> Jaykul: click on one, it gets bigger because its used, which means people are more likely to click on it, which means its more popular, which means it gets bigger, which means...
16:38:31 <Jaykul> oic
16:39:11 <Jaykul> We will have tagging, but I don't see any value in showing how often a tag gets used, or which tags are more popular
16:39:57 <RichardP> i have no issue with tagging, or even showing in a list whats more popular, but tag clouds are horrible things
16:40:05 <Jaykul> hehe
16:40:21 <Jaykul> Fine with me :)
16:40:42 <Jaykul> OK, so ... I think that mostly covers the ... "list" pages
16:41:18 <Jaykul> the actual details pages are going to need to show ... all the data in that Dublin Core document
16:41:20 <palen> Wow
16:41:22 <Jaykul> plus the script
16:41:30 <palen> Some people have no filter on their bug reports...
16:41:34 <Jaykul> (or scripts, at some point)
16:41:36 *** pantocrator has joined the room as a participant and a member
16:42:05 <pantocrator> hi
16:43:25 <Jaykul> hi
16:44:48 <Jaykul> RichardP: Two interesting UI-type things I want to try: 1) "derivative scripts" (ala github: show how many people have posted new versions of, or new contributions based on "this" contribution (this is important for May)) 2) a "edit history" timeline ... as a way to show the "previous versions" of a script.
16:45:23 <palen> Oo, oo, could we hook them up to NodeXL?
16:45:26 <RichardP> Jaykul: 3) 'where has this code been used elsewhere?'
16:45:34 <Jaykul> For the timeline thing we might be able to borrow from the chandler project thing
16:45:46 <Jaykul> Or make something in Silverlight
16:45:53 <Jaykul> for either, or both
16:46:01 <Jaykul> palen: Hmmm!
16:47:48 <palen> And a ZUI
16:47:57 <Jaykul> deepzoom
16:48:15 <Jaykul> ooh, timelines for users ...
16:48:27 <Jaykul> that would be cool
16:48:34 <Jaykul> we will want profile pages for users
16:48:52 <Jaykul> and a "diff" page
16:49:04 <palen> Profiles optionally linked to twitter?
16:49:17 <RichardP> oh god, please dont include any social networking stuff ;)
16:49:25 <Jaykul> profiles will include twitter ids
16:49:26 <palen> Haha
16:49:32 <Jaykul> but I dono about anything else
16:49:33 <palen> Ha, I win!
16:49:46 *RichardP sharpens his stabby thing
16:49:46 <Jaykul> the PoshCode bot already posts on twitter
16:49:53 <Jaykul> whenever someone contributes
16:50:08 <Jaykul> Twitter is the new, suckier, RSS

Last edited Mar 20, 2009 at 4:38 PM by Jaykul, version 2


No comments yet.