This thread has surfaced a number of interesting issues and questions. 

First, I know the challenges that Tim, Jordan, myself, and others had in 
picking up and trying to use Shindig. Some of this might be documentation 
(bits and pieces, spread out all on various blogs, wikis, web sites), but 
I think Tim's identified a more important and subtle point regarding the 
intent of Shindig. This is likely because of the excitement, ramp up, and 
need to deliver function. This is the natural side effect of some very 
good effort and rapid evolution from which we are all reaping the 
benefits. Eclipse went through something similar as that project matured. 
Several things were a result including their API guidelines and a 
refactoring of the Eclipse download site (
http://www.eclipse.org/downloads/). Maybe we could think about how Shindig 
is going to be used and structure our APIs and deliverables in this 
manner. For example, Jordan's "Mediated OpenSocial" came out of a need to 
have a bare bones set of libraries with a limited set of dependencies, et. 
Are there similar things that we've learned as the teams from hi5, Plaxo 
and others have put shindig in production that would help. (BTW, the new 
web site is a huge step forward. Hats off to the folks that did that 
effort!!)

Second might be Shindig's dependencies. If you put on "newbie" shoes for a 
moment, in order to start *really* working with Shindig, you need to know 
OpenSocial--at a minimum, both gadgets and social APIs, not to mention 
pipelining, templates, et--Java and/or PHP, Javascript, OAuth, Maven, 
Guice, and JSON. A related issue with a larger number of dependencies is 
the added complexity of the various IP licenses that govern their use. I 
know, I know. This is everyone's favorite issue. Believe me, I've had more 
"fun" than I'd like with this already, and as a result know lots of good 
lawyer jokes. (Why don't sharks eat lawyers? Professional courtesy.) This 
is easy if everything is contained/derived from Apache. But as third party 
libraries are brought in, it increases the burden to ensure clean IP. 

Third, we should think about how we balance the current pace of 
contributions (a good thing) with the ability for adopters to consume 
these changes (another good thing). As the number of deliverables built on 
top of Shindig increases, the ability to keep up with the changes 
decreases. In this case, predictability is a good thing. From a planning 
perspective, it helps to know that the last Friday in June is when Eclipse 
will be released, what bugs will be included, new features available, etc. 
Stable drivers along the way are also a plus. If we stabilize 1.0 now 
(OpenSocial 0.8.1), when is 1.1 and will this be OpenSocial 0.9? Is 
Shindig 2.0 the implementation of OpenSocial 1.0? We many not have all the 
answers, but we should have some kind of roadmap (and returning to the 
earlier point, we should clearly articulate the expected API 
compatibility/changes).

As we go forward, is it worth stepping back and taking an objective look 
at what we really want to accomplish with Shindig and how we might be able 
think about some of these issues? It seems we have evolved quickly and 
"1.0" may be an opportunity for us to provide some clarity regarding the 
stability and purpose of the APIs, the extension model, and intent of the 
code (e.g. framework vs. application).

-Mark W.









From:
"Fisher, Tim" <[email protected]>
To:
<[email protected]>
Date:
04/23/2009 04:39 PM
Subject:
RE: Shindig API guidelines....



I agree with Jordan that to the new user, its not at all clear what
Shindig is and how it works, even after having poured through most of
the documentation available for it.  I got it down pretty good now, but
it took me awhile.  As Jordan says there is an initial confusion as to
is this a library or an app.  Then there is the confusion of is Shindig
meant to run alone as a server which your social site is meant to make
remote calls to?  Or is Shindig meant to be integrated into a social
site at the source code level?  These things are not clear to new users.
There needs to be some type of high level architecture diagrams and
overview available I think.

Tim 


The contents of this e-mail are intended for the named addressee only. It 
contains information that may be confidential. Unless you are the named 
addressee or an authorized designee, you may not copy or use it, or 
disclose it to anyone else. If you received it in error please notify us 
immediately and then destroy it.

From: Jordan Zimmerman [mailto:[email protected]] 
Sent: Thursday, April 23, 2009 3:25 PM
To: [email protected]
Subject: RE: Shindig API guidelines....

>at present it's more of a big application (not even a framework, just
an >application).

It would be nice if this was stated as early as possible in the Shindig
docs and on the website/wiki. This was a major roadblock for me when I
started. I anticipated Shindig to be a library and it took me weeks to
figure out that it was a standalone application.

Jordan Zimmerman
Principal Software Architect
831.647.4712
831.214.2990 (cell)
[email protected] 

SHOP*COMTM
Shop Smart, Save Big(tm)
www.shop.com

This message (including any attachments) is intended only for the use of
the individual or entity to which it is addressed and may contain
information that is non-public, proprietary, privileged, confidential,
and exempt from disclosure under applicable law or may constitute as
attorney work product.
If you are not the intended recipient, you are hereby notified that any
use, dissemination, distribution, or copying of this communication is
strictly prohibited. If you have received this communication in error,
notify us immediately by telephone and
(i) destroy this message if a facsimile or (ii) delete this message
immediately if this is an electronic communication.

Thank you.


Reply via email to