cancel
Showing results for 
Search instead for 
Did you mean: 

Why doesn't SAP use SAPUI5 for this and that

former_member185575
Participant

This is my personal opinion about this topic! Again and again I stumble about this and now I want to share some of my thoughts about this topic. I want to share this from a point of view, when I was not a SAP Employee - I worked at a SAP Partner company - because this best reflects the view from the outside.

1. SAP "wants" us to use SAPUI5

I don't think that "wants" is the right word - the right word is offers! In terms of: hey now even included in your license and open sourced (because you wanted it so). Look - we build sooo many Fiori apps with it - and put in some great enterprise features (right to left, accessibility, translation, ...) and it is responsive. So if you want to build Fiori-like "apps" - there you go - this is your technology to go! This is what I understood.

I was very very very happy that it was build with open standards. But the main point for me another thing - (because I worked with Sybase Unwired Platform and SAP Mobile Platform) OMG an open data protocol!!! OData FTW! I could use ANY front-end technology and consume SAP data - the protocol is REST based - a dream came true. And so I did - yes I played around with Sencha Touch and OData, I used data.js and used it in a standard HTML5 application. We played around with an iOS application we already had and consumed the data. I feed the data into d3.js. I prototyped around with SAPUI5 and I have build apps with it. Brilliant, so I could choose whatever UI technology I wanted.

I always had the feeling, that SAPUI5 was meant for B2E applications - and building many of that - and they should look and feel the same and I can theme the apps. I can use it when I want to make my applications SAP like - so that the user thinks the apps are all the same and everything fits nicely into the Fiori launchpad - great if you want to build partner apps. In my ex company we won a SAP Pinnacle Award - for a native iOS app, no SAPUI5 in sight - but we have received an award, so SAP did not "want us" to use SAPUI5 😉

2. Is it the right UI technology for everything?

At my ex-company I was dealing with mobile applications and web apps. I always knew that I get the best user experience when I write a real native application and if you want it to look like in a very specific way with awesome UI --> you would not do it with a write-once-run-everywhere HTML5 super-styled wrapped (phone gap/cordova) app - you would write the apps for the specific platform and it should feel like it was written for the platform. SAP offered us the SAP Fiori Client that I could enhance the user experience for the Fiori apps, but I was never told to use SAPUI5 it for everything.

The same discussion goes on with: why was the new SAP website not build with SAPUI5, or the UX Explorer (eat your own dog food), or a useful internal app - why Angular, or the other way around why do we even use SAPUI5 and not Angular JS itself. Back to the past - SAP did never tell me to build a website with it, or to build something tiny and small with it (a widget) - or to enhance parts of a website with it - or to build something super-specific with it.


And yes maybe the UI in a mobile app was not SAPUI5 but do you know if it uses Gateway with OData or the SAP Mobile Platform, was the API managed with Apigee, was HCI involved in getting the data from different sources, was it maybe wrapped with SAP Mobile Secure, did it maybe use a HANA backend or some of its features (predictions, text analytics, ...) - are some backend parts maybe hosted on HCP - who knows? So yeah, maybe other SAP technology was involved which you don't see, but in the end it made your life simpler.

Instead of arguing around why this and that was used for this and that - can we save our energy and instead look at the result - which is all what counts - that it was the right UI technology with the right user interface which makes the user happy? I stated something like - does Google use AngularJS for everything? Nope. They offer us something great we can use. Right, maybe AngularJS is not as important for Google like SAPUI5 is for us. But we have something with which we can build our day-to-day business apps with and we do so.

3. We missed great opportunity in not using SAPUI5 for this and that

Let's think about how projects are going: you want something, you look at the costs, you choose most efficient option. Yes this could mean reusing an existing native application which was written long ago and you pimped it up. Or you had outsourced it to a company which wrote a similar app. Or you bought the source code. Or you have some cheap internal staff which could do it (students, trainee), or you could outsource it cheaply. Or all you have is people with experience in this and that technology. Or it must look in a very very specific way (because marketing says so) and you go native. Or it maybe should even differentiate itself and should look NOT like a Fiori app. And no - I don't think - this is my employees view - we are not for example an event app producer. We normally build business applications. And I don't think that we can write an app from scratch "just" for an event in a certain technology. Yes it would be nice if this and that would use SAPUI5, I think if it would be possible in terms of time and costs and UI wishes and hundreds of other factors we would do it with SAPUI5.

Working at the partner SAP showed me over 50 Fiori apps, now hundreds of Fiori apps are released. SAP now showed that SAPUI5 is going big with S/4HANA. We have seen the Simple Finance solution. I was walking around at the CeBIT this year and I was impressed myself which cool apps and screens have been shown with SAPUI5. I used the SAPUI5 app on a Samsung Smart Watch myself. The SAP Web IDE itself is built with SAPUI5 in its heart. I don't need any other "proves" that SAPUI5 is great. I have seen great use cases for it, but I also know myself when I would use other stuff.

4. My conclusion

There is never every anything which can cover all different use cases. One-size-fits-all clothes also does not fit for everyone even if it says so. If someone creates something great don't judge it by the UI technology. Judge it by the experience and the value it creates. There are reasons why this and that was chosen. Use what fits your needs best with your requirements. Make the end user happy!

Accepted Solutions (1)

Accepted Solutions (1)

former_member182048
Active Contributor
0 Kudos

Hi Denise,

I completely agree with your sentiment, one size does not fit all, it would not be wise given the fast paced nature of front-end UI technology for SAP to say here is 1 hammer, every problem is a nail.

However to quote one of SAPs competitors "a good strategy is one which creates options",

Customers will be looking to SAP to ensure that they get the most value from their investments, like you say wanting to avoid wrong fitting or worse the emperor's new clothes.

If SAPUI5 is not fit for consumer facing websites as Juergen points out above

  • Why isn't this addressed in SAPs UI strategy?
  • Why haven't customers (like big financial services and govt agencies.) been advised this?

Lots of big B2C SAPUI5 developments happening at the moment. Customers are being advise by SAP that SAPUI5 is the tool of choice.

Context

To add some context to what started the discussion.

I believe and please let me know if i am wrong but this thread was started in response to a conversation on Twitter around the SAPPHIRE mobile app in particular this comment form



Somebody please tell me this is an SAPUI5 app this time? I’m guessing not...

This is a popular and long running argument on twitter. I have a strong developer views on this but will try not to soap box.

For years i was learning Android and by far the best source for learning Android was the Google I/O conference app, every year it had the latest features, patterns and best practices and because it was open sourced, relevant and tactile it was invaluable!!

SAPUI5 is desperately missing these flagship reference applications that showcase E2E best practices.

The problem as i see it is around dog food

Dogfooding can be a way for a company to demonstrate confidence in its own products.

[Source: Eating your own dog food]

If SAPUI5 was not the right technology for the conference app and like the recent very popular, awesome SAP cricket app these Apps call for Native

  • Does the app demonstrate confidence in own strategy and products
  • Does it use OData?
  • Does the app use the recommended OData Client, SAP Mobile platform etc?

Customers are building consumer faced native apps with SAP kit and I can tell you from my view in the trenches, customers notice when there is inconsistency in the messaging.

For example next week at SAPPHIRE we are going to get bombarded with "Apple Watch apps" some will be business some will be consumer apps, the lines between the 2 are being blurred, just like the lines between website and app. Apparently SAPUI5 and Fiori is a great fit for these consumer facing watch apps (hammer time!!)..

If SAPUI5 is not the right fit for a consumer facing website like the SAP UX Explorer, and popular tools like AngularJS and Wordpress are a much better fit, surely this needs to be incorporated into the SAP UX strategy and be very visible on the SAP UX Explorer!

Someone should probably have told those departments in SAP that have built their B2C stores in SAPUI5 that they made a mistake, SAPUI5 is not a good fit and their are better alternatives - I am glad they didn't as i use these sites as a reference for building big UI5 apps.

Customers look for consistency from vendors and strong commitment to promoting own products internally.

jsp

ps should have blogged it, thought of an awesome title

"Marketing should eat dog food for breakfast" -  a spin on "Culture eats Marketing for breakfast"

former_member88020
Active Participant
0 Kudos

Hi John,

Thank you for your reply. Accidentally I saw the notification mail coming in from your post before going to bed. As I know me, I wouldn't sleep anyway with this post not being answered. So let me at least answer shortly.

As I said, I see a need in discussing about what we are talking about when it comes to websites, apps, business apps and so on. You mentioned customer facing websites. In fact this is again another flavor of what I mentioned above. Besides the fact that all this is not a digital 1 or 0 decision but needs to consider many aspects, customer facing websites again are usually connected to business systems. As such, I agree that this might not fit to the thinking of a simple website and as such would not be covered by my statement that I wouldn't recommend UI5. Connected to my thinking above, I see this more in the category of an browser-based business application where UI5 can be a good choice. Again, under consideration of all customer specific aspects.

In regards to the UX Strategy. I didn't wrote the document, so maybe others like or could jump in. However, as mentioned before, I see no conflict in customer facing B2C scenarions being developed in UI5. Nevertheless, after your statement I just scanned the latest version of the strategy document which doesn't state the words "website" or "customer facing" at all. Maybe this is something that should be added to the next update of the document, to make things clear.

In regards to your quote. I think SAP has a pretty good strategy that offers a couple of great options. Or did I got your statement wrong? It's half past three in the morning here.

SAP UX Explorer is by the way no B2C application and also has no connection to any SAP business backend. Interestingly nobody at least mentions that it is running on SAP HCP since a long time. If somebody start this kind of discussion (and actually there are not many so far) it is only about what it is not using.

Looking forward to your answer.

All the best,

JJ

former_member182048
Active Contributor
0 Kudos

Hi Juergen

I can relate to commenting on very little sleep, most of my editing happens in a panic after i press send.

I did wrongly classify UX Explorer B2C. My point was whilst i agree there is no one-size-fits-all, there is a missed opportunity here and it has been picked up by many customers.

WRT the new site

  • Why wasn't it developed in UI5?
  • Why was it developed in AngularJS?

There are numerous theories along the lines of UI5 was not up to the job or divisions within SAP around what is fit for purpose.

Either way it would be nice to know, lots of customers choosing SAPUI5 over AngularJS and wondering whether it was the right decision.

jsp

joao_sousa2
Active Contributor
0 Kudos

Without being related to SAP I can imagine one very simple reason. AngularJS has been used for creating large websites and there is a huge developer community, whereas the developers capable of doing the same thing in SAPUI5 are rare.

Also compare AngularJS + Bootstrap with SAPUI5 for "prettyness" factor. Go to the Bootstrap site and look at all the cool stuff that has been done, even at the CSS elements that come out of the box. They are B2C heaven.

SAPUI5 comes from the enterprise world, and has a very small development community, focused on business apps, not B2C websites.

As a SAP consultant my main investment is in SAPUI5, but I spent my saturday afternoon looking at Polymer. And as proven by the Angular2.0 rewrite, customers shouldn't expect their investments in UI technology to last more then 2 years (look at BSP, WDJ, WDA, SAPUI5). What they need are developers who understand the next big thing is out there, and they should use whatever tools is best suited.

I would see a problem if SAP used AngularJS for the S4/HANA UI, but they used SAPUI5

EDIT: The Angular2.0 rewrite is also a reason for SAPUI5's existence. When WDJ was put on maintenance mode, SAP gave a 5 year maintenance period while Angular 1.X will get 2 years at most. Even 5 years is short by enterprise standards.

former_member182048
Active Contributor
0 Kudos

Hi Joao,

Going back to me point about Dogfood, I don't buy the aesthetics argument, there are a number of really large SAPUI5 developments in Australia alone, some of them you would not pick for SAPUI5 and in my opinion have been properly designed, almost pixel perfect, they leave Bootstrap and even "Material Design" for dead.

My feeling is the reason why AngularJS and Bootstrap were chosen was around performance, guessing metrics like TTFB and FPS and maybe SEO.

JSP

former_member182048
Active Contributor
0 Kudos

Hi Joao,


wrt maintenance, that is another discussion so answered separately


It is true there are a lot of Enterprises still on XP and IE8. There isnt much you can do with IE8 and SAPUI5 though. The customers i am seeing on XP are using Chrome for XP for rolling out Fiori. This solution will be short lived as both XP and Chrome for XP are nearing if not at EOL.


Modern browsers are now evergreen as in they will update themselves, Angular 2 is focusing on these modern browsers and modern techniques, makes complete sense today's mobiles devices are already more powerful than yesterdays desktops, tomorrow brings ES6 and HTTP2 and lots more room for improvement.


One thing to note like the core SAPUI5 team the core Angular team is very lean, they have limited resources for supporting legacy versions and spend most of their time keeping up with requests for internal teams. At the announcement of Angular 2, Google already stated that there will be a separate fork of Angular 1.X maintained by the community for supporting older browsers, that strategy would partly make sense for SAPUI5 also.

JSP

joao_sousa2
Active Contributor
0 Kudos

Possibly it's also performance, but I wouldn't use Australia as an example because at least in my company they are the ones on the cutting edge of digital. I work for Deloitte in Portugal and the office we talk to when we want advice on digital is Australia, which is on the opposite end of the world. Deloitte Digital itself was born in Australia.

SAPUI5 developers are few, SAPUI5 developers then can make that kind of site are even less.

Not saying it's one of the other, probably both.

Answers (3)

Answers (3)

Former Member
0 Kudos
former_member88020
Active Participant
0 Kudos

Hey Denise,

Thanks for pulling this discussion into SCN. Makes it much easier to discuss compared to Twitter. But I also have to apologize in the beginning that my answer now exceeds 140 characters by 50 times.

Let me share my thoughts and personal opinion as well. I will try to look at it from a strategic point of view, as you – as the technical UI5 expert - have already covered the technical perspective.

SAP recommends using SAPUI5 where it fits to customers’ requirements


Let me begin with a clear statement from my perspective: It makes no sense that SAP takes customer decisions.

Of course, customers expect SAP to help them with their strategies and decisions and of course we are helping. But at the end, the decisions have to be taken by the customer who needs to take the specific conditions of the company into account. The most important condition in the context of UX is the end user. But we shouldn't forget the business strategy as the most important influence factor. I’m not saying that technical decisions are completely unimportant, but I would like to point out that other things are more important for a company.

As a result, it wouldn't make a lot of sense if SAP would just want every customer to use SAPUI5. To me, customers need recommendations leading to solutions that satisfy their needs and requirements.

There is not that one UI technology that serves all needs

This headline might be a challenging statement and I can already imagine reactions to it. But in fact I can confirm this sentence easily. You always have to combine different technologies. Some of them are from SAP others not. The selection and combination of these technologies is different from customer to customer because the requirements are different. There are still reasons to use Web Dynpro ABAP and I’m still recommending SAP NetWeaver Business Client, POWL (Power Lists), WDA Chips, FPM based on the given environment of the customer. And obviously there are also reasons for UI5.

SAP already proves the usage of SAPUI5

In general, I see two different use cases here: Developing custom applications vs. adopting applications from SAP.

In the one case, customers want recommendations on development environments and UI technologies that consider their development requirements and existing conditions (e.g. existing skills, given implementations). SAPUI5 is a great UI technology and there are some special aspects that make the decision obviously easy. If I want to create simple business applications that can be connected with my SAP system easily, especially in combination under responsive conditions on multiple devices and targeted for casual and/or occasional users UI5 might be the right choice for many.  Exactly this pattern is what many customers are searching for these days. So, the recommendation for UI5 comes quite often.

Whether or not SAP proves the usage of SAPUI5 in their own world is to me more connected to the use case where customers want to adopt SAP applications. And in deed, SAP is using SAPUI5. There are hundreds of SAP Fiori applications that have been built with SAPUI5 and there have been a lot of other applications developed using SAPUI5, too. And again, there is a huge need for applications for casual and/or occasional users, so that’s a big reason for SAP to create such applications.

Websites vs. Business Applications

This discussion was triggered by some statements in twitter, that SAP sites such as sap.com, SAP UX Explorer or the latest mobile conference app are not developed using UI5. Actually I see these to be websites but not business applications. I have never told a customer to build a website in UI5 and I would continue to do so.

Maybe we need to discuss the difference between a website and a business application. I guess it is not easy to find a common understanding here, as the borderlines between several worlds have disappeared in the last years.

Some years ago it was more or less easy to differ between:

  1. Native desktop applications running on a specific desktop OS
  2. Native mobile applications running on a specific mobile OS
  3. Browser-based applications running in specific browsers
  4. Websites, basically running on many browsers

In the first three categories we saw business applications. 1 and 2 were selected especially when specific functions of the device and OS where needed to be accessed (for example the camera of the mobile device, the fast rendering capability of the desktop). 3 was also used for business applications but in most cases on desktop browsers.

Today, one can develop browser-based applications that look like native applications and even can access the devices like native applications. Responsive design breaks the borderlines even more. Now, browser-based content can be rendered perfectly on a desktop browser as well as on a mobile phone and a user might even not be able to judge whether it was originally intended to be developed for the one or the other.

So maybe there is no big difference anymore between websites and browser-based applications. But there is still a difference between browser-based applications and browser-based business applications, where additional requirements such as integration into business systems are drivers. Here I see SAPUI5 as a very cool UI technology.

That’s just my 2 (personal) cents,

JJ

joao_sousa2
Active Contributor
0 Kudos

Hello Denise,

I completly agree with what you're saying. As far as AngularJS vs SAPUI5, I think believe that there are two drivers:

Provide something from SAP. SAP enterprise developers are focused on proprietary tools, they are used to have SAP tell them what to use. They are used to have the knowledge transmited to them by the old guard or by SAP forums like SCN instead of StackExchange. Speaking from my experience, it took SAPUI5 (well actually OpenUI5) for me to open my eyes to technologies like Node.js and AngularJS. And I had actually worked with jQuery Mobile in the past, but inside a traditional BSP.

Provide consistency: Yes, AngularJS is pretty powerful but it doesn't have a consistent way of accessing backend data like SAPUI5 has. While B2C requires flexibility, B2E requires standards, a "right" way of doing things, and theme consistency. For B2C there are so many frameworks, it's harder to provide a consistent experience.

In the end of the day, I'm "sad" that developers keep investing on tools like SAP WebIDE that, while simplifying the work, make then too focused on SAPUI5, and like you say, SAPUI5 isn't the right tool for everything.

I only started "enjoying" Javascript, after I saw how "open" it was, and how I could use it with those different technologies out there. Right now my main job inside my company is to have my people keep an open mind and grab all the opportunities out there for developers who know the back-end and can bring great input for the front-end even if someone else ends up doing the actual design. There are so many processes that can be optmized by design thinking and new UI technologies! Exciting stuff.

former_member185575
Participant
0 Kudos

Great input Joao and I totally agree! To sum up my thoughts and understandings with your input:

How I interpreted the SAP slides and Infos on Fiori, Mobile Platform, Netweaver Gateway:

Hey if you want to "get rid of SAPGUI access or an alternative to Web Dynpro" and access your Business stuff/B2E on every device with consistent look and feel we have an enterprise grade UI framework for that: SAPUI5. Look at our SAP Fiori apps to get an idea and keep S/4HANA in mind. We have some UI patterns like fullscreen, master Detail and a whole bunch of controls, but you can also create your own.

Otherwise, did we mention that as part of that we now provide an open data access with OData? There are sooo many libraries out there for all different languages to access this data, and for UI also. We are open. Suprise us with new apps, we also invent new things with different technologies. Everyone should be able to create SAP apps.

Or have you maybe never used SAP technology, you don't know OData,  you are more at home in the REST JSON Web World? We open sourced our enterprise grade SAPUI5 framework to OpenUI5, try it out, fork it, do whatever you like, build something great and tell us!

And like Joao said: exciting times with Design Thinking and all those different UI technologies! Stay open minded!

Former Member
0 Kudos

Hi Joao

Would you please explain your statement how SAPUI5 is consistent and Angular is not in interacting with backend. We are trying to build our app using Angular instead of SAPUI5 so that it would help us decide.


but it doesn't have a consistent way of accessing backend data like SAPUI5 has.

Thanks and Regards

Maniteja Baragada