Modularity in the UI - Web Widgets?

I'm delighted with the web centric approach to the next gen architecture.  (Although a bit skeptical about Silverlight).  In the "what's in it for me" vein I'd like to pose the following question:

Is it possible to develop the UI in such a fashion that modules, parts of the UI, could be used in our public websites?  The most obvious example would be the patron's address/contact information.

 

  • I suppose it's a bit early to be looking to HTML 5 to solve some of your issues.  Would be nice if that was further along in adoption. 

  • I think this approach is the best.  Keeping options open until the last possible minute then letting us weigh in on it.  I agree we are going to see advantages and disadvantages to each UI method.  I would ask a few pointed questions.

     

    1.       Will whatever we choose give us the most flexibility in the future?  The choice that we make here is critical, the last version of Tessitura ran for 10 years on its platform, will Silverlight allow us to run for that length of time or will Java?  I think the answer to both of those is likely a conditional yes.  I think the more important question is will either of those allow continued backward support over the years that they are utilized, or will they make it easy enough to change to a more current UI, without impacting the end users?  There are obvious cost considerations in these choices.

    2.       Which one will allow for the most customization?  The thing to keep in mind about customization is that it adds complexity.  If you want something that is fully customizable by a large portion of the installed base, how do you keep the code from breaking due to customizations?  If you choose to limit customization will we continue to be able to get the job done with the software?

    3.       Security will continue to be a very hot topic.  If you look at the threat vectors that existed 2 years ago to today you will see the sophistication has increased exponentially.  They continue to build tools that are easier and easier to attack web sites and place errant code to infect people that use the website from a legitimate source.  I favor a very flexible / dynamic approach to security with many layers.  Having an application be secure in this way adds another layer and I would put a heavy emphasis on it.

     

    Just my two cents worth.  When we do get to the point where we make that decision it will have to be a decision we embrace just as you say Chuck, it won’t make any sense to second guess or continue to bring up the obvious disadvantage that the solution provides.  Test now and choose well!

     

    Dave Alton

    CIO

    Center Theatre Group

     

    From: Tessitura Next Generation Forum [mailto:forums-nextgeneration@tessituranetwork.com] On Behalf Of Chuck Reif
    Sent: Friday, February 05, 2010 9:16 AM
    To: Dave Alton
    Subject: Re: [Tessitura Next Generation Forum] RE: Modularity in the UI - Web Widgets?

     

    No decisions yet.  We're actually working on a dual track approach in development right now, finishing 3 or 4 stories that have UI components in both extJS (a Javascript library) and Silverlight.  So far both have their ups and downs.  Silverlight make solving cross domain issues, much easier and has lots of visual and customization potential.  extJS makes TDD (Test Driven Development) easier, is more open but requires a bit more work on the security and is a slightly higher hurdle on the customization side.  Like most choices, there probably is not going to be an obvious answer but we're committed to learning as much as we can.  Then making a decision by the end of Iteration 4, in 3 more weeks.  And finally, of course, EMBRACING the decision.

    Further thoughts here are always welcome!

    From: Andrea Crain <bounce-andreacrain8512@tessituranetwork.com>
    Sent: 2/5/2010 10:59:58 AM

    I'm just curious if there have been any decisions on the Silverlight vs. other options front. Alan? :)




    You were sent this message automatically by www.tessituranetwork.com because you subscribed to the Tessitura Next Generation forum email notifications. You may reply to this message or visit the site to reply to the post above. If replying via email, please consider deleting the previous message text before sending to help with readability on the site. Thank you!

  • I'm glad to hear that you're taking a thoughtful approach to both options, since the best way to find what's best for a project is to actually test it.

    I would like to add my own concern with the use of Silverlight for the NextGen UI.  Though it has a number of positives, my own experience with Silverlight has been that it's a less efficient (with client resources) and stable platform overall than Javascript.

    The cross domain issue with Javascript is understandable, though, and I know that it can be a bit more work overcoming that.  Ultimately, though, I think that Javascript is a more natural fit for web interfaces.  The model of website navigation is pretty decent, and platforms like Silverlight and Flash have a bad habit of overriding expected behavior, while well developed Javascript tends to enhance it. 

    I also think Javascript will give future Tessitura development more room to move; as HTML5 and future technologies mature, I think it will be harder to shift to them if the site is attached to a more restricted, proprietary platform.

    Personally, I hope that the development team decides that its benefits outweigh Silverlight's, but I understand what I tough decision it will be.

    Either way, best of luck.

    Eric Sipple

  • The folks developing Ext JS are already looking towards HTML 5. http://www.extjs.com/blog/2010/01/14/html5-video-canvas-extjs/

    JavaScript and HTML (any version) go hand in hand. But with Silverlight, it's a closed system. It only uses the browser as a wrapper for delivering an embedded web app. So, going that route, HTML 5 or any other standards are moot.

    I haven't used Ext JS, but reading through the docs, it looks like a pretty nice library. They say it's interoperable with jQuery - thumbs up from me.

       -Morgan

  • There's an additional aspect of Silverlight (especially Silverlight 4) that has its advantages and that's when it comes to interacting with the OS.  We are trying to make a browser based client here but there are some requirements of the current system that pose a challenge.  One of these is ticket printing.  Right now we're able to use OS (Windows) functions to print directly to a specific printer.  This is not possible through a browser, where printing has to be controlled by the browser's printing functionality.  Yes, there are ways to bypass the browser print control but not (as far as I know) to change the destination of the print stream without using the browser print control.   Another aspect is MS Office integration, similar to the things we do now with controlling Word merges directly from the application.  There may be other ways to deal with these problems (and I'd welcome suggestions) but they are problems we know we'll have to face.

    Also at this point we think that we'll have to use something other than Javascript when we get to seatmap rendering in order to make an acceptable presentation.  Now this is far in the future and there may be other ways to deal with this as well.  I just wanted to point out that even if some form of Javascript turns out to the best way to go, there may have to be exceptions in certain areas of the application.

    And I'm loving the discussion by the way, and hope that if you got opinions or thoughts that you will share them!

  • Hi, Chuck,

    Oh... I wasn't thinking of the JavaScript path as using an off-the-shelf browser. My thought was that it would use a browser engine (like WebKit, for example) to render the interface within a custom client application. That way it would be easy to modify the interface using tools lots of people already know, but still have a way to handle functions that need to interact with the OS. Another way that might work would be to use an off-the-shelf browser but write some Tessitua plugins to handle printing, exporting, etc.

       -Morgan