ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> pythoncard
pythoncard
[Pythoncard-users] Re: ZwikiCard (was [PythonCard Users] Intro)
by Walt Ludwick other posts by this author
May 6 2002 5:36PM messages near this date
RE: [Pythoncard-users] how to set menu item label? | RE: [Pythoncard-users] Re: ZwikiCard (was [PythonCard Users] Intro)
Kevin Altis wrote:
...
> Walt, it would probably be helpful for you to list specific problems you see
> with a pure zwiki or pure desktop app approach and specific features or
> requirements for an "ideal solution". Then, even if we don't have those
> features yet, they will at least be identified so we can decide if and when
> to incorporate them into PythonCard.
...

Hey, Kevin:  Thanks for the welcome - and invitation.  OK, i'll try to 
address this as best i can from the 50k-foot perspective of a "naive" 
user of Zwiki, knowing nothing about PythonCard but what i've read.

NB:  Since my Friday message, a new development ("BlogFace," by Karl 
Anderson) has been brought to my attention, which Simon Michael (Zwiki 
developer) is evidently working to integrate  (see 
http://www.zwiki.org/ZwikiAndBlogFace ).  This development seems to 
avoid one of the compromises that i am most disinclined to make (i.e. 
going out on a code-fork limb, e.g. 
http://webseitz.fluxent.com/wiki/FrontPage), and seems likely to yield 
some sort of "ZwikiBlog" (to posit a new WikiWord) solution that should 
be worthy in its own right.  I am keen to see what sort of shape this 
ZwikiBlog will take, before attempting any definitive analysis in this 
problem space.

Still, i can address the fundamental problems that i think it safe to 
presume that no server-side solution is going to solve.  I love Zwiki, 
and want more than it is giving me at present.  I want a solution for 
blogging to Zwiki using a handy desktop tool, ideally built in 
PythonCard. (let's call it "ZwikiCard," for want of a working title). 
 Why?  The problems i have with Zwiki alone are essentially threefold: 
 it's (1) too SLOW, (2) too OPEN, and (3) too INFLEXIBLE.  To be more 
specific:

(1) Browsing and occasional posting via web forms is fine, but for more 
granular/ intensive editorial work (i.e. many Create and/or Edit 
operations) having to await an http transaction at every turn is just 
too *slow* - especially for people (like me and my neighbors here in PT) 
with slow (and expensive) dialup connections (NB:  here in Europe, we 
pay local telco for each "pulse" of connect time, if not the ISP as 
well).  For weblogging, we want a tool as fast as thought itself, but 
certainly no slower than our ability to type out our idea, decide where 
to publish it, then move on to the one that follows on its heels.  If 
the tool is significantly slower, then the iterative flow of 
thought-processing (i.e. reading & writing, asking & answering 
questions) is blocked, and we'll either work independently, or via some 
faster (off-web) communication channel.  A related issue (under the more 
general rubric of "access") is *reliability*: temporary disruption of 
weblog server operations can be suffered (unless your blog is a 
mission-critical infrastructure element for fellow worker[s] in a 
knowledge web), but if this tool also serves as your PIM in effect, this 
becomes a productivity hit that you'd rather avoid by using a desktop tool.
       
(2) Of course *openness* is the cardinal virtue of the web, but there 
are limits to what we will expose of ourselves on the web.  So we have a 
body of work on the web, and another body of web on the desktop - with a 
corresponding persona that we wear in each of these contexts (a sort of 
"split personality" phenomenon) - and weak mechanisms for moving things 
from the latter context to the former.

(3) *Flexibility* is an issue with any web application (even those that 
go off the deep-end of "personalization options" madness), inasumch as 
you can't personalize the interface*, without getting into the code-fork 
problem i roped-off above (*unless it could be "skinned" somehow - maybe 
using Mozilla XUL?).

NB:  For all this, Zwiki is still the tool for collaborative thought 
processing that i've yet encountered - and that's the essence of what we 
want to do as much as possible.  Still, dekstop tools are the best for 
peformance, privacy and flexibility;  that's why i want to 
create/integrate one.

As far as desktop applications are concerned, there is really just one 
problem they all suffer to some extent - but it's a big one: ISOLATION. 
 For all of the reasons above (and others, no doubt), we all make notes 
as we work on our desktops;  the trick here is to enable integration of 
our desktop work with the (Zwiki) web in such a way that important 
values on both sides are respected (i.e. community norms on the web, 
privacy on our desktops), and the whole becomes greater than the sum of 
its parts.  We want to gestate & process ideas in a secure, fast and 
flexible environment, with an easy way of publishing them to web when ready.

So, what our emergent ZwikiBlog probably wants out of PythonCard is a 
"power-user" front-end incorporating several important functions:

- WRITE new cards, with date and authorship attributes automatically 
generated;
   -- LINK to existing cards (perhaps retrieved thu active browsing, or 
better thru magic of WikiName invocation, if possible);
- PUBLISH, selectively (keep in mind, the idea is to get over the "split 
personality" sydrome cited above, by enabling one to work for a spell 
without circumspection, then do some decisionmaking about what to 
publish and where).

Also, if this to be integrated meaningfully with the wiki (not just 
living beside it without interaction), you need some additional 
features, i.e.:

 - DOWNLOAD contributions (comments) others have made to your page, and 
(selected) pages of other users that have changed since last download 
(i.e. IMPORT context);
- COMMENT on pages of others (incorporating links to previously 
published material in both these comments and your own pages).

The prospect of integrating these two applications into a ZwikiCard 
solution seems fraught with certain challenges, most significant from my 
preliminary analysis being essentially twofold:  (1) ASYNCRONICITY/ 
SHARED OWNERSHIP; and (2) LACK OF CONTEXT.  To further explain:

(1) This is the  classic database-replication problem, essentially:  how 
to have different people editing same data at same time (offline), then 
merge without update conflicts.  These problems are well-known to anyone 
in the "big-iron" world of relational database replication, and the 
traditional solutions are pretty heavy, i.e.
- checkout/ checkin of pages (a la CVS) or contained objects (i.e. 
"row-level locking");
- referential integrity constraints (to avoid deletion of material w/ 
dependencies);
-  transaction boundary controls (i.e. commit/ rollback);
-  industrial-strength TP monitors (e.g. Tuxedo);
...etc.  At this point, i'm losing my appetite, so i think rather than 
go down that road, we want to scope our application appropriately (i.e. 
small), with clear (i.e. personal) ownership of page/elements in new 
content areas (i.e. not pre-existing) unlikely to be disputed.  
This  suggests to me the shape of a conceptually viable ZwikiCard 
solution:  in this sub-section of the wiki that is the zwiki/BlogSpace, 
there is a page corresponding to each BlogKeeper - perhaps with child 
[archive] pages -  and that user exercises sole editorial control that 
page-body, tho anyone can append comments to another's page (subject of 
course to later deletion by the editor).  This is of course a gross 
oversimplification;  we probably need (once the backend ZwikiBlog 
solution settles into some reasonably stable form) to identify each 
object class implicated in use cases with any actor, and assign CRUD 
(Create, Read, Update, Delete) permissions  for each actor on those 
objects accordingly.

(2) To whatever extent we sidestep the aforegoing problem by (a) 
introducing the notion of page/element ownership into the wiki, and (b) 
keeping the scope of this new reality small enough that it does not 
spoil the prevailing wiki-magic, then we leave ourselves with the 
attendant *lack-of-context* problem to solve.  While the domain of 
desktop idea processing solutions could be fairly characterized as "the 
sound of one hand clapping," the the last thing you want to do is 
project such publishings into wikispace without reference to the 
material that forms its context.  

This suggests to me that our application should be smart enough to 
recognize alert us to dependencies, within the material that we have 
selected for download, on other material that we might also like to 
download.  NB:  Since this is not simple "upstreaming" (i.e. one-way 
flow, a la Radio Userland), but rather a synch operation (2-way flow) 
with a periodic polling to check for anything new on either end, there 
needs to be a mechanism for resolving conflicts, i.e. any new comments 
that may been written to Zwiki while you were editing need to be 
retained (as i can't imagine anyone wanting to overwrite them blind) and 
flagged in some way (as the comment and the edit may not make sense 
together otherwise).

Of course, as any wikian would be quick to point out, this new form of 
"WikiSpace" i am positing is no longer wiki exactly, but a rather hybrid 
that i like to think can live in healthy symbiosis with both wiki and 
desktop.

Does this sound reasonable?


|/|/alt


_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: bandwidth@[...].net
_______________________________________________
Pythoncard-users mailing list
Pythoncard-users@[...].net
https://lists.sourceforge.net/lists/listinfo/pythoncard-users
Thread:
Walt Ludwick
Kevin Altis

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved