Personalization is something which we have witnessed for decades in SAP User Interfaces and have helped the end user tremendously around any activity of an application. We could observe it while working on ABAP Workbench itself. You may have not realized that when we open a transaction which has an input field we get a default value which is personalized. Do observe it when you open a transaction next time. Default value is personalized as per the last value entered by the user before one leaves the screen. The Framework does it for us. So far the logic is quite simple how about changing it to the most frequently entered value. In this case the idea may not go well but if we consider the personalized value help where a user has a list of personalized values for an input field how about prefilled input field with a default value and default value is selected as per the most entered value in the field instead of the last value entered by the user.
This can make huge difference to the end user experience, if we consider a screen where an end user has to enter the data so even if we enable input fields with personalized value help one has to enter some letters before one could identify the desired value and if there are good no of input fields the effort required is significant. The challenge is how well you could apply the logic to set the default value and probability of acceptance of such value is close to 1.
I believe we are yet to explore the power of personalization in User Interface of applications and enhancing it with artificial intelligence. SAP Webdynpro ABAP offers amazing personalization capabilities both implicit and explicit but I see a great scope to take it to the next level.
With the recent features being introduced in webdynpro ABAP framework where an end user can rearrange the column of a table and even resize it, it is also personalized and a developer would acknowledge that one has to only make few changes in the property to achieve the same which is something implicit and even If you want to achieve something which is not provided by the framework you could do it explicitly and framework manages storing and retrieving the personalized value. I have thought of some immediate provisions which could be enabled in a webdynpro application.
I think we could also personalize the default value of an attribute in context, most of the time we don’t maintain it because framework doesn’t allow it to be personalized implicitly and the above scenario which I mentioned of a screen with input fields can be achieved easily and we could enable the developer to apply the logic by himself.
Personalizing Rich Client Components, I believe one of the prime objectives of embedding such components is to make user interfaces rich in media and have moving images and all those things which would attract eye balls, it does take a toll on performance but it is worth the effort as it targets the human psychology and encourage them to use the application. To maintain a balance I would suggest that we could personalize the visibility/rendering of such components. When the end user visits the screen for the first few instances we could enable it and then remove unnecessary components and hence personalize it only for users who are new to the screen.
Personalizing the layout of an application, with Drag and Drop capabilities one can easily change the layout of a screen and we could also personalize the same but we hardly use it. I see a great scope of using the personalization in our webdynpro application for enabling the end user to manage the layout and we could even decide the default personalization as per the roles defined for an application. Moreover we could even manage the client space effectively. With applications moving to various devices including mobiles, Palmtop it is important to manage visible components effectively. Suppose we have some components in a screen where some components are collapsed so the remaining components should be rearranged so as to utilize the space reserved for the components which has just been collapsed or if we use a table we should change the visible row at runtime whenever we see a scope.
User Experience has always been a key to the adoption of an application and Personlization is one key aspect of User Experience. Webdynpro ABAP User Interfaces are always good, Now let’s run it better. J