Hi, what I am just seeing is a battle of two ideas and I don't like twice... I hate MSN Spaces and I don't care if somebody has updated its blog... I think that MSN Messenger is for Instant messaging and that's all... I think that all of these things should go in a plugin... The core can provide functionalities to let plugins get all the information they need but I think that the displaying code must go in a plugin. Now, you will say that's not easy but I think you are wrong... What misses in the newCL code is some splits for some major functions like drawContact... For that I have in mind to have several procs to display the several parts of the contact information... To help us to have all variables updated, don't forget that Tcl/Tk provides the upvar command that let you use the variables of the parent functions... I was thinking about this split since some time and I think I will be able to do it this week-end... So if everybody agrees, I propose to put a lock on guicontactlist.tcl as soon as I will begin to write the code as I don't want to see anybody modify the code when I am splitting it... By the way, don't forget that if many users like aMSN, it's because it can stay light compared to Live Messenger... Phil
Le Thursday 18 January 2007 17:09, Youness Alaoui a écrit : > On Thu, Jan 18, 2007 at 03:14:06PM +0100, Karel Demeyer wrote: > > 2007/1/13, Youness Alaoui <[EMAIL PROTECTED]>: > > > Hello hello... > > > ok, now I remember your mockup! but let's start with NWM's mockup : bad > > > idea, too big, no more CL available, the way yyou did it is good, but > > > as a separate window. > > > > > > now about Karel. I must say, I didn't like it at all. well, I still > > > don't for one main reason : in your mockup those photos/blog posts are > > > from your contact "Vivia", but I know vivia doesn't have any space :p > > > no, seriously, my main concern is that the CL is a CL, it's a contact > > > list, to see your contact and allow you to interact. When you were > > > saying the ccard is bad, I thought 'you may be right, it's too small, > > > clustered, etc.." but I thought the idea would be to have an > > > 'informational window' just like the properties window when the user > > > can clearly see the info he wants. I didn't think you were talking > > > about an embeded thing inside the CL. Your idea, for me at least, is > > > not good because it renders the CL as something else, it doesn't become > > > a "contact list" but a "contact/information list". To me, this idea > > > would be analog to clicking on the "you have 10 new messages in your > > > inbox" button and the CL expands to show you all your emails... the CL > > > is not a browser... > > > it's like a dispatcher, it's there to give you QUICK ACCESS to your > > > contacts, their status and your inbox count. Having that extra info is > > > not in the 'philosophy' of a contact list. I hope I got myself clear > > > enough... > > > > Well, if you really mean that's the only use for out contactlist, then > > why do we show the music contacts play and how they feel (psm)? > > The PSM is part of the user information, it can be "in the shower" or > something, so it is usefull when looking at the CL. > > > > now, I didn't take too much time in reading your posts because.. well, > > > no offense, I just didn't feel like it :) I did read them though but > > > didn't spend much time on trying to understand every dot and commas. > > > The good news is that your idea is not that 'bad', it just doesn't fit > > > in the philosophy of the CL (in MY opinion) BUT it is 100% very good in > > > terms of usability (without considering the fact that the user might > > > say 'wtf is this doing here'). Your point about how to rescan the > > > screen, the direction of the parsing of the list, the availability of > > > the info, etc.. I think it all makes perfect sense, the problem is just > > > that I don't know how the users would react to that... I personally > > > would say I prefer a ccard. > > > > > > If we go back in time a little, go back to the early days of my > > > participation in this project, I remember we had some kind of rule : > > > for EVERY new feature, make it optional, for everything that may be > > > done 2 ways, make it an option... > > > actually, it was more of a customization thing and answering every > > > user's needs so you must be able to customize everything your way, if a > > > user asks for your mockup, we do it but as an option, someone asks for > > > a ccard, we do it but as an option. > > > What I would like to propose is to have it both ways. The ccard is > > > really easy, it can be done in a few minutes, I'm sure, I mean the > > > whole code is there already, all we need to do is, when inserting the > > > data in the ccard, add a few lines where we insert additional infos > > > like blog posts and such. Your idea would take a bit more time I would > > > guess, right ? but it won't take too much either. Hummm... I just > > > noticed something, in your mockup, you have that photos/ blog posts > > > thing, and it looks exactly the same as how it should go in the ccard, > > > and the new CL is a canvas and the ccard is probably also a canvas, so > > > we could have a proc : > > > proc buildSpaceInfo { canvas x y spaces_info } { > > > .... ;# get the info from $spaces_info and write it to $canvas at > > > $x $y } > > > > > > proc clickOnSpacesButton { email } { > > > if { [config::getKey ccard_in_cl] } { > > > > > > ::abook::setPersistantData $email show_ccard 1 ;# actually invert > > > :: the old value > > > > > > } else { > > > openCCard $email > > > } > > > } > > > > > > proc openCCard { email } { > > > toplevel .ccard > > > .......... > > > canvas $cvs ... > > > ..... > > > buildSpaceInfo $cvs $x $y [GetSpacesInfo $email] > > > } > > > > > > proc drawContact { email } { > > > ... > > > if { [abook::getPersistantData $email show_cccard 0] == 1 } { > > > buildSpaceInfo $pgBuddy.cl [expr $contact_x + 10] [expr $contact_y > > > + 30] [GetSpacesInfo $email] } > > > } > > > > > > > > > that would be it.. we only need to write the code handling that data > > > once. And we could add the option in the appeearance tab of the > > > preferences. > > > What do you think ? > > > Because I am SURE that people will complain about the ccard not being > > > there. + your ccard plugin is so nice, I would really hate to waste it > > > :) but for those who like usability, they can use your method. > > > > > > also, I would say that the first time you click on the spaces button, a > > > window would popup asking you which method you choose, and in order to > > > make it nice, a window like this : > > > ----------------------------------------------------------------------- > > >-- > > > > > > | How do you want to see your contact's spaces information > > > | | > > > | > > > | o In a contact card o Embeded in the contact list > > > | | > > > | > > > | ---------------------------- ------------------------------ > > > | | > > > | > > > | | Screenshot | | Screenshot | > > > | | | > > > | > > > | ----------------------------- ------------------------------- > > > | | > > > | > > > | [Ok] [Cancel] > > > | | > > > > > > ----------------------------------------------------------------------- > > >-- > > > > Well, this makes it again a bad experience for someone using amsn for > > the first time. It's ok we ask for the tab-closing when closing > > chatwins or if he wants to close the app when he closes the main > > window ... as he might care enough of not loosing data (chats when > > not saving logs). But this is just an interface preference... If I > > had to use an aplication for the first timle and ever y time I click > > something it asks me a question I wouldn't use it for long ... > > I don't really see how it could be a bad user experience, it's a one time > choice, there is no reason why it would bother a user, especially if he's > going to use amsn for a while, and for such a great feature, I really don't > think it would bother someone (first time you use mouse gestures with > opera, it asks you if you want to enable them, or disable them, or > whatever, and it's fine to ask such a question). Also, by doing such a > popup, users will know that they have two ways of showing the ccard, either > inline or not and it's important especially if you don't want the feature > to go to waste since not everyone checks the preferences. > > > So, what I had in mind ... we just draw it inline, but there's a > > config var to prohibit this. Whoever likes could make a contactcard > > plugin, reusing some code of aMSN (the drawing of photos etc, cfr > > infra), setting the var to 0 and so when a user clicks the button, a > > ccard is created. We could even ship such a plugin by default, though > > I'd like it to be disabled by default :). > > Well, I think that that's what YOU had in mind, and it's not what I have in > mind, so why would it be done your way and not my way. I'm not saying your > way is not good, I'm just saying that over time, I realize that you really > rarely do compromises. I say we make a poll to avoid any problems/tensions. > Your idea of inline, I just hate it, I really don't think it would go there > (but I tried with latest SVN and it does look nice), and I really think > that a ccard like WLM's would be the best way to go. > Your thing about setting the var to 0 and having a separate plugin is just > stupid IMHO because it complicates things so much. An option would be so > much better, no need for a separate plugin or whatever, we already put that > in core, why do you want your idea in the core and my idea only as a > plugin??? > > > > ok, that's a long enough mail for now, and I think (hope) you get my > > > point. Now, what do you guys think ? > > > we need to decide on this so we can move forward! > > > > > > > > > > > > > > > p.s: I think a modular function that writes the ccard info like shown > > > above can already be written until we decide what to choose > > > > I'm now doing it in the guicontactlist.tcl code, but once it's done it > > could be moved to iot's own proc with parameter $canvaswidget and > > $xpos $ypos. But for now, I'm just doing it inside > > guicontactlist.tcl.. > > I don't get it. I saw your code being inside the drawContact proc and it > frustrated me, seriously, what are you loosing in putting it in a separate > proc from the start? it's so much more complicated and bug-prone to > refactor the code afterwards while it would have taken you only 5 seconds > to create a proc for it. I don't see why you're being hard-headed on this > matter, u got nothing to loose to do it like I said, even if we were going > to keep the inline thing as default and no popup window asking to choose > between the two methods, then you still have nothing to loose to do it like > I said... > > Anyways, apart from that, good job so far, it looks nice! > > > Karel. > > > > > KKRT > > > > > > On Sat, Jan 13, 2007 at 02:41:10PM +0100, Karel Demeyer wrote: > > > > Forgot (for my proposal): as it takes some time to fetch all needed > > > > data, on a click, drawContact should only draw a temporary message > > > > like "Please stand by ..." and call the fetching procs ... then after > > > > this, the fetching procs should send an event or call drawContact > > > > again to draw the data... > > > > > > > > 2007/1/13, Karel Demeyer <[EMAIL PROTECTED]>: > > > > > If (and it still has to be chosen, I'm not pushing anything (well, > > > > > not too hard :p)) the choice would be made for inline ccard in CL, > > > > > this has to be done: > > > > > > > > > > * Add an abook var (boolean), not volatile so it 's still there in > > > > > another session, like "CcardShown" for every user. If this is not > > > > > volatile, we have an extra feature over WLM, to keep some user's > > > > > ccard data allways shown, I would like this. > > > > > > > > > > * In guicontactlist.tcl: > > > > > - in proc drawContact, have a check for this var and if > > > > > available, draw the data underneah the contact, according to my > > > > > mockup > > > > > > > > > > :) > > > > > > > > > > - in that same proc, rearrange the tags somewhat. the tag > > > > > all things of the contact have should be added to every item of the > > > > > space, also the stars (it is this way now), for the dragging > > > > > procs.; a new tag should be created and changed in the bindings for > > > > > clicking on those items (all nickname items, statusicon, psm items, > > > > > statusmsg) to open a chatwindow; > > > > > - have a binding on the star that: *toggles the abook var; > > > > > *calls the drawContact proc for that specific contact; *call the > > > > > rearrangeList (or what it's named) proc to move everything > > > > > > > > > > It's not too much work in fact thus. I guess it's less work than > > > > > changing the ccard plugin. An eventual ccard plugin should made > > > > > possible to prevent drawContact from drawing the spaces info (a > > > > > global > > > > > > > > > > ::config key "drawSpacesOnCL" maybe) and change the binding of teh > > > > > > > > > > "star" icon. > > > > > Anyway, I don't have the time to do this. In fact I have a very > > > > > hard exam of one of my Law courses monday so I shouldn't even be > > > > > mailing this but I couldn't resist as I want to lobby for my idea > > > > > :) > > > > > > > > > > Karel. > > > > > > > > > > 2007/1/13, Karel Demeyer <[EMAIL PROTECTED]>: > > > > > > I favour to have this data in the CL as all those new windows > > > > > > only cover up your screen. Added that when we don't want window > > > > > > borders drawn by the windowmanager (and I guess we don't), it > > > > > > means we'll have windows unmanaged by the windowmanager and thus > > > > > > allways on top on teh screen. I, for one, find this very > > > > > > unpleasant. Addded that those windows are not consistent with > > > > > > all other UI apsects on one's computer, I think it's bad UI > > > > > > design. > > > > > > > > > > > > See, when you want to do a task on your PC, you want the UI to > > > > > > enable you to work fast and efficient. If I open this data by > > > > > > clicking on that "star" and the data appears just underneath my > > > > > > pointer, it's very fast to reach with the mouse. If I click, and > > > > > > it opens another window, I have to rescan my screen to find out > > > > > > where to find it's info as it will not be just where I was. Ok, > > > > > > I guess WLM's ccards appear close to the place you clicked... but > > > > > > if they appear under your cursor, it means they cover the data of > > > > > > the CL. If they appear next to the contactlist, they appear > > > > > > further from your pointer and so you have to move your mouse for > > > > > > longer, which is not a good thing. Also, when you scan your CL to > > > > > > find a contact, you go top-down or bottom-up. As in most > > > > > > languages we read top-down, most ppl will scan there CL top-down > > > > > > (sidenote: this is another reasong why I dislike WIndow's > > > > > > start-menu bottom-left). So, if I'm scanning my list, find my > > > > > > friend, click the star, the fastest place to reach for the new > > > > > > info is just underneath it as I was already moving my eyes in > > > > > > that direction... Those seem like small details maybe but in > > > > > > fact it makes life easier for a lot of people. I guess if we > > > > > > implement it this way there will be complaints, just as there are > > > > > > complaints about ever UI design choice (yeah, even if they come > > > > > > from Apple Inc. ;)) But I think it's worth the hassle. > > > > > > > > > > > > > > > > > > Karel > > > > > > > > > > > > 2007/1/13, [EMAIL PROTECTED] <[EMAIL PROTECTED]>: > > > > > > > On 13/01/07, NoWhereMan <[EMAIL PROTECTED]> wrote: > > > > > > > > ----- Original Message ----- > > > > > > > > From: "Karel Demeyer" <[EMAIL PROTECTED]> > > > > > > > > To: "Mailing list for developers and everyone helping AMSN" > > > > > > > > <amsn-devel@lists.sourceforge.net> > > > > > > > > Sent: Saturday, January 13, 2007 11:57 AM > > > > > > > > Subject: Re: [Amsn-devel] Contact Cards and MSN spaces > > > > > > > > > > > > > > > > >I just implemented an Event for a changed space. Now, I was > > > > > > > > > asking myself ... how do we know when we can unset the > > > > > > > > > star's appearance ? When do we know the blog is read ? > > > > > > > > > When our user clicks the star ? Doesn't the protocol let us > > > > > > > > > know when the blog has no unread items or unseen photos ? > > > > > > > > > > > > > > > > > > Karel. > > > > > > > > > > > > > > > > in MSN7.5 gleam disappears when you click to see the ccard, > > > > > > > > so I guess > > > > > > > > > > > > > > that > > > > > > > > > > > > > > > once you clicked you can set a local variable read($user) to > > > > > > > > 1; gleams are client-side, so if you set a space to read on a > > > > > > > > client if you > > > > > > > > > > > > > > log > > > > > > > > > > > > > > > in from another pc you should still see blinking gleams. > > > > > > > > > > > > > > > > about the ccard embedded in CL... I don't know, it would be > > > > > > > > too "compressed"... how about an in-CL ccard ? > > > > > > > > http://i18.tinypic.com/2e5mg02.png > > > > > > > > > > > > > > > > with a "< back" link to the main cl... I don't know maybe > > > > > > > > it's even worse than the msn-style ccards :P > > > > > > > > > > > > > > I prefer karel's method :P I don't mind the popup card to be > > > > > > > honest, but I do think Karel's 'expand-the-contact' thing has a > > > > > > > certain appeal :) I like it and if we're saying no to the popup > > > > > > > card I think we should be saying yes to the in-Cl expand thing > > > > > > > :P > > > > > > > > > > > > > > > bye ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Amsn-devel mailing list Amsn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amsn-devel