by Julie Campagna
When you think of RIA (rich Internet applications), you might think of Flash, Flex, Web 2.0, and the hipster of the web: all those social networking sites and applications like Facebook or Buzzword. The last thing that probably comes to mind is the stodgy corporate world of ERP (enterprise resource planning) software. Workday, Inc. is changing that.
Dave Duffield, cofounder and former chairman of PeopleSoft, founded Workday in 2005. This time around, Dave decided to do a whole new take on ERP software. The first big change was the delivery model: Software as a Service (SaaS) instead of traditional in-house installations. The next big change is the departure from relational databases for an in-memory system. Lastly, the traditional user interface is replaced by a richer, more immersive web application.
This article covers only the last aspect, the UI. After learning why Workday went with an RIA platform starting with Ajax, then moving to Flex, you'll learn about Workday's unique style of generating their UI. While some ERP vendors have over 100,000+ screens making up their UI, Workday has none. They merely build Flex components and dynamically create screens on the fly. Lastly, you'll find out how this proven innovator in the ERP realm supports today's corporate warriors outside their RIA application.
Michael Bonadio, manager of the Workday UI team, said, "There are three things that are important to us: 1. Keep it simple and intuitive. 2. Work the way our customers work. 3. Keep it cool. It was these three things that drove us to RIA technologies." The richness of Ajax and Flex applications is what helps Workday achieve its mission: to provide a productive and pleasing user experience while differentiating the Workday product line in the marketplace.
"We started out with an Ajax front end. However, as we started to move towards larger and larger data sets, we found that it was difficult with Ajax. That's when we began to investigate Flex. After our first few experiments, we knew Flex was for us and we never looked back," Michael added. The Flex framework is a collection of classes, widgets, and effects. Flex provides two main benefits for Workday: portability and extensibility.
When you're a SaaS vendor, portability is important. You have to be able to support many different systems with countless configurations. There could be a Windows machine running Internet Explorer or a Mac running Safari; you just don't know. Workday's Ajax version of their application only ran on Internet Explorer 6.0. Granted, this was by design and not a limitation of the Ajax technology itself. Had they continued with Ajax for the next version, they would have chosen a library (or created their own) that would have supported multiple platforms. During the exploration phase for version 2, the desire for performance and a quick path to richness once again pointed to Flex. The beauty of the Flex version is that it utilizes Adobe Flash Player, the world's most pervasive software platform. The portability of Flex code meant that Workday went from supporting one version of one browser on one OS to supporting numerous platforms of various configurations — with no extra effort.
Extensibility is the other big factor of Flex that Workday found attractive. The Flex framework is an extension of the Flash platform. The key to the Flex platform is components. The components in Flex either inherit properties from another or are created by grouping a few components into one. Components, it turns out, fit perfectly into how Workday creates their application. Unlike traditional ERP applications, Workday does not have one hard-coded screen or form.
How does an ERP system not have screens or forms? By definition, this is a system that presents forms to users for logging their vacation time, purchasing office supplies, or managing their company's employee base. With all the possible configurations and tasks, it's easy to see how ERP systems can have over 100,000 screens and forms. Keeping track and managing all those screens would be a nightmare. It is for that exact reason that Workday decided not to hard-code any of the UI for its screens.
Workday's system basically has three parts. There's the back end that keeps all the data and logic, called the OMS. Next, there is a UI server that makes requests to the OMS for data and then transforms the responses from the OMS into a homegrown description language. Lastly, there's the Flex application that interprets this meta-language and creates the screens on the fly. An easy way to think of the Workday application is that of a Flex virtual machine. The UI server gives the data and general layout in XML, then Workday's Flex app puts them both together to create a screen.
Workday's navigator tool
This is why component building works so well for Workday. While traditional Flex applications have hard-coded pages and forms made up of Flex components, Workday's doesn't. The only thing Workday's Flex developers build are more widgets for the virtual machine to process. The beauty of this is that a form can change over time, but the basic widgets that make up the form stay the same. Therefore, the UI developers don't get bogged down with form change requests. Whereas many Flex developers have to spend their time closing tickets that say things like, "Move name field down 3 pixels" or "Swap layout of Form A to match layout of Form B," Workday's developers don't have to bother with such trifles. Instead, they're left to innovate the advanced widgets that make up the future of ERP software.
Workday's prompt widget
Today's working professionals have many tools on their belts (sometimes literally). Aside of the standard desktop, you have laptops, BlackBerry devices, Apple iPhones, and more. People want to be connected 24/7 to their business. Workday is more than willing to help them stay connected.
The application already supports RSS feeds for staying updated on changes to your data. You subscribe to the feeds just as you would a blog or podcast; when the data changes, your feed gets updated. Many of the reports inside the Workday application support web services (REST or SOAP). This allows the customers to create and utilize mashup technologies. Whether it's posting jobs and having people apply inside of Facebook or creating a Google Map with all the branch offices mapped out, web services allow the users to make use of their data that in the past was stuck behind company (fire)walls.
Workday's internal search interface
Workday is investigating ways to support business intelligence and analytics from within their application. With the data being separated from the screens, manipulating that data is easy. Providing functionality such as drill-down capabilities on totals is one such example. In the past, other systems made users run a new report to see what numbers were behind that total. In Workday's system, the user merely has to click the number and instantly receive a breakdown so he or she can make better judgments faster and easier.
As you can see, RIA is no longer just an abstract term in the software industry. It truly is a new programming paradigm. If corporations have embraced this new way of working, then it's safe to say this is not a fad. Consumers have been enjoying the benefits the RIA technologies for quite some time outside of work. It was only a matter of time before they started to demand that richness in their corporate lives as well.
The amazing thing about this next generation of applications is the desire to change the paradigm. Whether it be through hosting customer applications, creating in-memory systems, or bringing richness to the experience, these companies are on a never-ending quest for constant innovation. "While our UI is one of the most advanced ones in the ERP space, we at Workday still see room for improvement," concluded Bonadio. "We're just getting started."
Julie Campagna manages the Adobe Edge newsletter as part of her work on the Adobe Developer Relations team. In addition, she contributes feature articles and produces video interviews for the Developer Center. In her free time, Julie likes to dabble in Flash video and produce web-based movies that feature her two English bulldogs, Daisy and Laverne.