Minutes from our Zero Application Review Meeting

Don Boulia - Reserve Application

Application that does an internal room scheduling application. PHP and Groovy with REST and a Mashup. Hosted on bluehost.

  • http://zero.webahead.ibm.com:8090/reserveapp/Login.html
  • A built in Login panel would be useful
  • Need utilities for doing auth against backend resource when you do not control the backend. Needed to implement subset of curl in php to do this. Very manual today
  • Had painful screen scraping code to extract information from the reserve app... screen scraping utilities would be useful
  • Dojo layout of the page was painful
  • Hardest part was the Web UI front end.. scared to make changes...
  • Built the UI as a set of composite widgets and then built the page from a small collection of custom composite widgets
  • Building the custom widgets involved lots of files and tests per widget
  • Testing the widgets required unit tests per widget because getting things to work together was really messy
  • Firebug was essential and development would be impossible without it
  • CSS/HTML/JS combination was difficult... need a tool
  • Deploying and redeploying to bluehost was difficult
  • Resolve does not seem to work in an obvious way... always seems to get the wrong stuff
  • Need to support running on a JRE not JDK, at least for deployment but maybe for development too
  • Potentially an issue with Shared classes in the JDK
  • Proxy config and port assignment in shared environments makes things difficult.
  • Error messages suck... stack traces are not useful... need to go to a person to figure out how to move forward
  • Dual language support not enabled by default.. adding PHP resets default extension mapping to not work for Groovy any more

Brett - Catalog

  • Really slow load time... Dojo.. and loading the data...
  • No paging right now.. need to page on the server.. that is not easy.. no built in support for paging interaction patterns
    • Need paging linked to the Dojo/Client layer
  • Interaction between services (comments and ratings) and the list for sort is complex
  • Dojo learning curve..
    • 9 custom Dojo widgets
    • Client side MVC model
    • Documentation lacking
  • Some syntax differences between Java and Groovy to learn... mostly differences in Zero APIs (such as zero.data)
  • Documentation has examples in one language or the other, but not consistently in all languages
  • Migration is not fun.. need to have a strong focus on keeping things working...
  • Event model worked well (log event) for download counting
  • Security configuration had pros/cons
    • configuring dependencies' security rules difficult because the dependencies do not configure security and user needs to understand URI structure to define the rules
  • Logging setup is too complex.... no ability to turn on global trace simply and no ability to do tracing by module name
  • Poor error messages (too obscure)
  • Needed dev vs test vs deployment configurations
    • Which user registry?, which db?, logging settings?
  • A trace/log file viewer would be useful...
  • Breakpoints not working properly in Groovy
  • Should we eliminate stack traces from the "experience with Zero"?
  • Should we have a more formal testing methodology backed into Zero?
  • Complexity managing multiple repositories from the tools (multiple local repositories)
  • Need a web page design tool for the UI
  • Trash.Versioning does not take milestones into account
  • Groovy code completion
  • Most of the time is spent on the UI code

Binh - Zero Zone

  • Implemented in Groovy and Dojo
  • Backend development is very easy at this point
  • UI development is very hard
  • 90% of time on UI
  • JSLint would be useful
  • Built a set of custom widgets for the app
  • Need to automate Dojo compression step
  • CSS inheritence with Dojo widgets not easy because of page level CSS
  • Not helping with the tooling experience around logical entities (aka widgets) to make things easier to navigate and maintain
  • Hard to debug SQL statements (invalid arguments).. need to see raw SQL sent to the DB.. sometimes related to Groovy issues (GString)
    • Better error messages around invalid arguments
  • GString vs String is non-intuitive
  • Using JSON, Dojo, Data, Security, Atom, Core, Some begin events, creating some custom events
  • Doing dynamic includes where content has to go in the HEAD section is problematic.... need a model for this...
  • No support for selective display of UI elements based on user rights
  • Designer role complicated by Dojo (skill mismatch)

Todd - User Service

  • Dojo IO XHR code is repetitive
  • Used Java for most of the logic instead of groovy
  • How do we enable Dojo distribution via CDN?

r2 - 15 May 2008 - 02:37:45 - steveims
Syndicate this site RSS ATOM
Copyright 2007 © IBM Corporation | Privacy | Terms of Use | About this site