Last week we talked to a Principal Scientist (let’s call him Ken) at one of the worlds largest pharmaceutical companies. Ken gave us some really great insight into why and how they use SmartClient.
Ken’s organization provides software support (at varying levels) for thousands of in-house scientists scattered across “innumerable areas of expertise and roles”. Scientists come to his group when they need customized or unified solutions from software developers with domain knowledge.
The web applications that Ken’s team writes are obviously used by people who are highly educated. Their time is precious and their patience low. They demand “solutions that are highly sophisticated“, and they have “uncompromised expectations on ease-of-use.” They “have many ideas, theories, and hypothesis that they want to explore”, so there is a long list of web applications to be developed, and also a long list of feature requests raised as their hypothesis unfold. Their work also generates and requires analysis of “huge volumes of data“.
For Ken, these demands meant he needed a platform that:
- Can handle volume data from both performance and a usability perspectives
- Has intuitive, high productivity UI components
- Supports rapid development of web applications
With several years experience using SmartClient, Ken said:
I really like Smartclient because I can create new solutions quickly and then easily adapt to user’s feature requests as they evolve because it’s usually only a matter of re-configuring how I’m creating Smartclient objects. I don’t need to be too careful about collecting all possible use-cases up front because when they come to a new understanding of their own expectations, I don’t need to tell them that we’d need to change technologies to deliver their new ideas.
ListGrid, FormItem, and DynamicForm are the key widgets I turn to.
I also highly value the support forum. I imagine that my needs which are sometimes off the beaten track, so I highly value the rapid turnaround on enhancements, bug fixes and/or suggestions.
Here are just a few of the solutions Ken’s team built this year (note that all of these are leveraging our new ‘Tahoe‘ skin):
#1 Bulk Data Handling – “PPB Editor”
The “PPB Editor” (you can think of it as an electronic lab notebook) was written to enable scientists to rapidly load bulk data into a 3rd party data storage solution. The 3rd party had provided their own GUI, but it was too tedious to use at the scale the scientists required. It also didn’t match the scientist’s workflow. Furthermore, by writing their own interface, they have a convenient place to implement their own business rules (e.g., “autocalculators” and validation) to help people conform the raw data they collect to expectations set by the business and to support analytics. In particular, SmartClient helped with the following:
- Binding to Datasources extremely quickly
- ListGrid Expanding rows capabilities to allow additional information to be accessed without adding an unmanageable number of columns
- FormItem was also a key feature — particularly since a class can be defined once and reused in both ListGrid and DynamicForm contexts. This meant that in their bulk editor, they can leverage multiple widgets to update the same data – saving much development effort and providing the scientists with the optimal UI.
- Formula fields (see here for more details)
#2 Analytics – “Mylo”
- Charting (see here for more details)
- Log scale
- Mean & deviation
- Error bars
Export to Excel
Binding to Datasources
#3 Hypothesis testing – Plate Layout
The “Plate Layout” tool came about when a scientist described an upcoming technical challenge to Ken. Ken then created a GUI in less than one day that the scientist could use to test a hypothesis.
For Ken, the ability to rapidly develop web applications makes SmartClient indispensable in the pharmaceutical research and development environment.
Thanks much for the insights, ‘Ken’.
The Isomorphic Team