refreshing the GUI

Derek Atkins warlord@MIT.EDU
01 Dec 2000 12:32:55 -0500


Dave Peticolas <dave@krondo.com> writes:

> I see your point, but to achieve real scalability will require much
> more fine-grained information than just naming engine components you
> want to watch. Consider that any time an account's name is changed,
> every register everywhere needs to be updated. So, you have to
> distinguish between changing an account's name, and changing say,
> account notes, if you want to avoid excessive refreshes.

I believe that at some point you need to let the GUI component make
the decision that an event can be ignored.  Sure, it can get an event
callback saying that the account notes changed, but it can see that
it's the notes that changed and just store the new information rather
than doing any kind of UI refresh.  That's just data refresh (which
should happen anyways).

I think there really needs to be a firm line (somewhere) between data
refresh and UI refresh.  Your particular example (account name vs.
account notes) is exactly why this differentiation needs to be made.
The question is, should this differentiation be made in the engine, in
the CM, or in the components themselves?

> Not that that is a bad thing, but I would like to start small and
> simple.

Agreed.  I'd like the architecture and design to be scalable, but the
original implementation can certainly be limited in scope :)

> Probably, but that's just not a problem I'm trying to solve right now.
> You're welcome to have a go at it, though.

I'm thinking about the problem.  I'll send mail if I come up with a
reasonable solution (beyond "do something like what CVS does").

> I'd be happy to work with you on such a design, but I need a
> single-user solution right now. Is there anything about my proposed
> design that will make it difficult to grow it into a mulit-user
> solution?

Let me take a closer look, and I'll let you know.

> dave

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/      PP-ASEL      N1NWH
       warlord@MIT.EDU                        PGP key available