Modern business applications should offer users the following features…
While developing solutions for various projects that I’ve undertaken I’ve come up with a few ideas on the types of features that I’d like my applications to offer users. While this list is far from complete I think it would be good to post it for comment. Bear in mind that when I’m discussing modern business applications I’m discussing thin client web based applications using cloud architecture.
Modern business application features:
- Remote connectivity to data and functionality.
- Encapsulation of business logic.
- Continuous contextual decision support.
- User specific views of the data and logical processes
- Data Importing / Exporting capabilities
Remote connectivity to data and functionality: Traditional business applications ran on workstations and desktop computers. Data was stored on the computer itself or on a server and was not accessible unless the user was sitting in front of the desktop computer itself or another computer connected to the server. This in effect chained the user to his or her desktop device. Modern business applications must utilize web technology and provide device independent services that allow the user to connect to the data and logic of the business through any device that they can be authenticated through that has internet connectivity.
Encapsulation of business logic: Traditional business applications such as spreadsheets, word-processors, and email allowed for the transportation and transformation of data, but the use of business logic was largely left to the discretion of the user. Modern business applications can be designed to encapsulate the steps that must be taken with information and resources to automate processes and insure execution of critical procedures required by users. By profiling the procedures and steps required for critical processes in the business, developers can create software that encapsulates them and insures that the order of operations is followed, all steps required are taken, all resources required are employed, and follow through is complete. Outcomes and ownership of inputs from each step can also be tracked to determine each users contribution to the success of the process. Success ratios for processes can be increased as the mundane oversight of each detail is moved from managers to system applications with the general oversight of larger categories of processes taken on by tech empowered managers.
Continuous contextual decision support: Because of the connectivity offered by todays diverse array of computing devices, from smart phones, laptops, tablet PCs, to thin client enabled desktop PCs. Users now have the ability to receive data and logic at any point of the business process. Modern business applications must provide contextual decision support by offering relevant information to the user at the right time with suggestions for its proper use and allow for user feedback into the system.
User specific views of the data and logical processes: Modern business applications must offer users unique views of the data and logical processes that fits their context to the business. For example a vendor that supplies a business would need access to statistics indicating demand for the particular commodity they offer. Their view of the data and logic would be an on demand view or automated communication with forecasted consumption data generated by internal business processes that the vendor never sees. User specific views of the data and logic offer modular controls to the business and protects its core competencies from probing by competition.
Security: Traditional business applications were prone to interruption by natural disasters and other disruptive events such as fires, floods, tornadoes etc. Modern business applications can offer security to its users by storing data and logic in a cloud environment where information is distributed off site amongst computers in multiple data centers. This offers a degree of security to the user and provides for a significant reduction in recovery time when the business is impacted by such an event.
Flexibility: Modern business applications created with web based technologies are more flexible than traditional business applications because of the ease in which updates can be rolled out to the user. In traditional environments users had to undergo an application update procedure before receiving an updated version of a business application that contained the latest data and logic. Web applications are updated remotely with no effort required by the end user making their innovation, iteration, and revision much more seamless and transparent to end users.
Data Importing / Exporting capabilities: Modern business applications should easily convert data with traditional applications such as spreadsheets and allow the user the comfort of converting data for use outside of the application. Data transfer methods such as XML are a good standard for data export and can allow for data interchange between disparaging systems and applications.
Comments and discussion are welcome.