Logic9s develops scalable software solutions that simplify data complexity. Our premier product is ClearFactr™, a SaaS application that combines a Self-Describing Spreadsheet®, a powerful simulator, a suite of analytics, and the ability to easily share and monitor everything with others. Logic9s targets a broad audience of traditional spreadsheet users who have experienced the workflow pains of models and formulas that are impossible to understand, analytics that are cumbersome to use, and poor communication.
A typical use of ClearFactr might be entrepreneurs looking to develop a financial model for their new company, and then sharing that plan, including the ability to run simulations on it, with a community of investors. Both parties benefit from the Self-Describing Spreadsheet.
Each party also gets to configure, run and save simulations based on their own assumptions, and then they can compare and contrast the results. Patent-pending analytics like the Sensitivity Analyzer use unique visualization techniques to draw attention to important drivers and relationships within the plan that might otherwise go unnoticed.The owner of the plan, all the while, can see who’s really interacting with things, so they know how to prioritize their follow-up.
The front end of ClearFactr is built entirely with Sencha GXT. Amazon Web Services drives the rest of the app.
Table of Contents
Why We Chose Sencha GXT
We wanted to leverage Java in a front-to-back fashion. Google Web Toolkit fit that bill perfectly, but left us wanting for the elaborate user interfaces we were envisioning. GXT, conceived and built in Java from the ground up, was the clear choice over some other alternatives we surveyed and experimented with. The cohesive design and architecture of GXT shines through its excellent Javadoc. Class and method names are completely intuitive, and our many years of Java Swing history translated perfectly to GXT within hours. BorderLayoutContainer for example, modeled after Swing’s BorderLayout class, forms the basis for ClearFactr’s highly interactive Dashboard. The relationships between the various classes and the implicit design patterns are tried-and-true and correspondingly powerful.
The GXT Grid widget dramatically outperformed alternatives in rendering and navigation speed, including in “dev mode”, which allows our developers to be that much more productive. Working with Sencha engineers, we made some important customizations to the widget to deliver the kind of user experiences we needed. We often hear comments like: “I can’t believe this isn’t a native desktop app.” And we’re just getting started.
The Sencha GXT charting library was a clear standout as well. Again, the API was the selling point, providing a completely natural integration to ClearFactr’s elaborate front-end data structures of analytical results. The rendering capabilities, and the ease with which these could be customized, further sealed the deal.
Business Value of Using GXT
The greatest value of Sencha GXT is its architecture-neutral stance and full embrace of Java’s history and feature set. The API is built around Java Generics, so the UI code can easily and naturally work with real business objects containing powerful behaviors, not just simple data structures. Better yet, those behaviors can also be easily accessed at the server-side via the ‘shared’ package every GXT app supports.
Sencha isn’t in the server business, so they’re not trying to push a particular application architecture at you. Using GWT-RPC to communicate with AWS Elastic Beanstalk, for example, is trivially simple. It delivers excellent performance and scalability, affords complete compile-time type safety (which yields a completely self-documenting codebase that dev tools like Intellij IDEA can make the most of) and allows for the easiest, most maintainable gateway to ClearFactr’s highly parallelized, multi-component backend.
I’m a developer with many years of large-scale end user application development experience, but not on the Web. All of the benefits above allowed me to transition to a high-performance, highly scalable, Web-centric platform in short order. Most importantly, the resulting code base is a pleasure to work with, so it allows us to stay focused on understanding what our customers want and delivering those solutions without fighting a UX framework.
Our Advice to New Developers
When coming up the GXT learning curve, definitely start with the excellent Sencha GXT Explorer showcase. It’s filled with examples that demonstrate both capabilities and best practices. But if you need something really special, don’t hesitate to reach out to Professional Services. Put a price on your own time and consider the cost of getting too far down a road that could eventually present some severe architectural obstacle.
Sencha GXT literally made ClearFactr possible. We will soon be upgrading ClearFactr to GXT 3.1.We plan on using the new Theme Builder to develop a custom theme that will tie the graphic design of our app into our website. We’re also eager to use the enhancements to the Grid widget that support multi-line cells; they’ll make the Self-Describing-Spreadsheet that much more effective. As we say, we love Excel, but not for everything. For those cases where ClearFactr is a better fit, Sencha GXT ensures that we give our users a great experience and unquestionable value.
When you are planning to release 3.1 ? And which version will support Java 8 ? I now GWT 3.0 should support Java 8. What is about GXT?
Hi, the Japanese translation of this blog article is here: http://www.xenophy.com/sencha-blog/10971
Link to the Japan Sencha User Group: http://www.meetup.com/Japan-Sencha-User-Group/
Colin Alworth says
Eugene, GXT 3.1 is now available. There is no reason that GXT 3.1 should not work with Java 6, 7, or 8, provided that there is a GWT version that supports that language version and is compatible with GXT 3.1. If there are API breaking changes in GWT that break GXT (such as 2.5.1->2.6), we’ll release a new version to catch up again.
For a followup discussion, post on the forums, I’d be happy to answer in more depth.