I've been using Java Shindig for a few weeks now and there are some
things I'd like to see changed. 

* J2EE vs Plain Java *
The major change should be a refactoring to make Shindig a code library
as opposed to an application. Shindig makes deep assumptions about the
environment it is running in. In particular, it assumes a J2EE compliant
container. It then runs in that container as a standalone application.
Developers must plug in to the Shindig application. I suggest a
refactoring into two libraries: Shindig J2EE and a Shindig Engine. I
don't see why Shindig has to be released as a set of servlets. For
example, ProxyServlet is a thin wrapper around ProxyHandler. So, the
engine is actually already there.

* Dependency Injection is awful *
DI is an implementation detail that should be left to users of Shindig.
Shindig's use of Guice serves to obfuscate the internals of Shindig
without a lot of benefit that I can see. I've been able to get Shindig
up and running without using any of the DI. If I can do that, then it
seems unnecessary. Leave this in the J2EE layer (which should be a
separate library as I said above).

* Documentation is not hard to write *
I can't understand why there isn't minimal documentation. Take a few
hours and document the main classes, how they work together and how an
implementer might use them. Further, there are lots of hard coded values
in the JS files (e.g. %js%) that aren't documented anywhere that I can
see.

It's wonderful that Shindig exists. But, so far, it's been very
frustrating trying to get it to work in my environment. My comments
above are a few of the reasons why it's so frustrating.


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

SHOP*COMTM
All your favorite stores.
OneCart(r) convenience.
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