Keyed vs Non-Keyed Root JSON Elements & UI5 Binding

In a screencast this week (OpenUI5 MultiComboBox First Look) I explicitly used the model mechanism’s requestCompleted event to get to the model data and manipulate it, adding a key to the root array. Initially the data looked like this:

Screen Shot 2014-07-26 at 14.20.21

and I added a key to this root array so it looked like this:

Screen Shot 2014-07-26 at 14.23.44

I did this programmatically in the requestCompleted event of the model mechanism, as you can see in the Gist for the MultiComboBox.html file, specifically starting at line 38:

oModel.attachEventOnce('requestCompleted', function(oEvent) {
  var oModel = oEvent.getSource();
  oModel.setData({
    "ProductCategories" : oModel.getData()
  });
});

However, while fun and interesting, I want to point out that this is not absolutely necessary. The model will still support an unkeyed root element such as this array, as shown in the first screenshot above. You can see how this is done in the Gist for the MultiComboBox-without-Keyed-Root.html file - the difference is we don’t need to manipulate the data in the requestCompleted event and the binding for the MultiComboBox items aggregation looks like this:

{/}

rather than this:

{/ProductCategories}

Of course, having an unkeyed root element means that you can’t have anything else in that JSON source, which may cause you issues further down the line. But it’s not critical for this example.

This Week in Fiori (2014-30)

Well what a week that was. I spent it in Portland, Oregon, which for me being a fan of great coffee and great craft beer, was a fantastic city to be in. It was in Portland that O’Reilly’s Open Source Convention (OSCON) was held, and I was there helping SAP tell the world about OpenUI5 – you can read more about that in this post: “OpenUI5 Tutorial at OSCON 2014“. As usual, there’s lots to talk about, so let’s get going with this week’s TWIF picks.

Oracle Ships Nearly 60 Mobile Apps for JD Edwards by Chris Kanaracus
What’s interesting about this news is that there are many parallels with the SAP Fiori initiative. The apps that Oracle has released are free, and they’re task focused. One of the underlying design principles of Fiori is that the apps are task based – a person with a given role needs to perform a specific task. This not only makes the apps simpler, but it makes them more appropriate for mobile use, where often the available focus time is shorter than when you’re sitting in an office. And of course, after the pressure from customers, SAP Fiori apps are free too.

Finally, depending on your perspective, the fact that these apps are available in app stores is either a net positive or negative. For me, the appeal of Fiori is that it’s (a) cross-platform/device, rather than restricted to mobile devices and (b) hackable. This latter feature is why SAP applications, in my opinion, have been so successful in incarnations going right back to R/2, where I started – the source code is available to copy or modify.

SAP Enterprise Portal 7.4 SP7 – SAP Fiori Launchpad on the SAP Portal and more by Aviad Rivlin
It’s no secret that the SAP Fiori Launchpad and the SAP Portal both operate in a similar space – high level consolidated access to functions and applications in SAP backend systems. There’s a some confusion over SAP’s strategy in this area, and a lot of questions exist. From my perspective, the two initiatives are converging, from both technical and functional points of view. This post goes some way to help further clarify, or at least give some background to SAP’s attempt at aligning the user experience of both Portal and Fiori Launchpad.

More Fiori! New Updates to SAP Fiori Rapid Deployment Solutions by Bob Caswell
In TWIF 2014-28 I wrote about the Rapid Deployment Solutions (RDS) that SAP brought out earlier this year in the Fiori arena. This week there’s an update to the solutions that SAP offer, with more apps covered, a greater emphasis on user experience adoption, and perhaps most significantly for me, an added focus on Gateway. SAP Fiori apps are nothing without OData, and for the ABAP stack, the SAP Gateway product is essential.

OpenUI5 MultiComboBox First Look by me
Remembering that SAP Fiori apps are built with OData on the backend and with UI5 on the frontend, I thought I’d end this week’s TWIF with a link to a short (12min) video that explores a specific UI5 control from the sap.m library.

Just before OSCON, version 1.22 of OpenUI5 was released. This was a huge release with many new features. OpenUI5 is the Open Source version of SAPUI5 upon which SAP Fiori apps are built, of course. And specifically SAP Fiori apps, being responsive by design, are built with controls from the UI5 library that contains the responsive controls, namely sap.m. This library gained a number of new controls in the 1.22 release, and this video explores just one of them – the sap.m.MultiComboBox control. Even if you’re non-technical, this video will hopefully give you an insight into the small but perfectly formed building blocks of SAP Fiori apps.

Well that just about wraps it up for this week. Until next time, share and enjoy!

OpenUI5 Tutorial at OSCON 2014

This week finds me in Portland, Oregon, for O’Reilly’s Open Source Convention (OSCON), an amazing conference with a wonderfully diverse range of topics (over 20 of them). I attended OSCON as a speaker in the early 2000′s and, along with an old friend and colleague Piers Harding, talked about SAP and Open Source, and I’m very happy to be coming back to OSCON as part of an extended SAP team to talk about SAP and Open Source topics.

This year SAP is an OSCON Gold Sponsor and there are a number of sessions that are related to that. One of these was a 3.5 hour tutorial on OpenUI5

Discover OpenUI5 – The New Web UI Library from SAP

We (Andreas Kunz, Frederic Berg and me) presented this tutorial which was based on an updated version of some work we and other UI5 team members had previously prepared for SAP TechEd. It was a lot of fun, and hopefully, educational for the attendees.

Of course, being Open Source related, we’ve made the session material (slides), comprehensive exercise document, the starter project and all the solutions to the exercises available. We collaborated on a Github repo, and it’s all there:

https://github.com/BluefinSolutions/OpenUI5-OSCON-2014

So have at it, see how you get on, and spread the OpenUI5 love.

Share & enjoy!

This Week in Fiori (2014-29)

My SpendI’m currently writing this episode of This Week in Fiori (TWIF) on a flight from Manchester via Philadelphia to Portland for O’Reilly’s Open Source Convention OSCON. It’s a super conference on all things Open Source and I can heartily recommend it.

Back in 2001, 2002 and 2003 I attended OSCON and spoke on the subject of SAP and Open Source. 2014 has come round and I’m back, this time on the subject of OpenUI5, the Open Sourced version of SAP’s UI5 toolkit. Along with a couple of friends & SAP colleagues Andreas Kunz and Frederic Berg, we’re giving a tutorial on the subject: Discover OpenUI5 – The New Web UI Library from SAP, as well as a presentation.

So I’d like to start the week by giving a couple of pointers to background material (“UI5 Credits” and “The Essentials”), to help you get a good idea of the Open Source software upon which UI5 is built. And of course, it’s upon UI5 that SAP Fiori apps are built.

UI5 Credits by the UI5 team
This part of the UI5 Software Development Kit (SDK) lists the libraries, toolkits and other software in the Open Source domain that are used to power parts of UI5.

The Essentials: SAPUI5, OpenUI5 and Fiori by me
If you’re interested in finding out more about the relationships between SAPUI5, OpenUI5 and Fiori, this short post should clear things up.

Updated Version of SAP Fiori Client by John Wargo
The SAP Fiori Client is a hybrid app for specific mobile devices (such as those running Android and iOS), designed specifically to run SAP Fiori apps. Built using Cordova (PhoneGap), it’s a hybrid app in that it is an OS-native install, but is effectively a shell around a browser core, which then acts as the runtime SAP Fiori as usual.

The SAP Fiori Client was designed with performance in mind; amongst other things; for example, it caches the runtime to reduce startup costs. Since the initial release there’s been an update, described in this post. The update contains bug fixes and relatively minor new functionality, but it’s a good sign that maintenance is ongoing. The SAP Fiori Client is definitely worth a look.

The SAP Fiori Fit: Part 1 – Your Fiori Strategy by Molly Maple
This is a nicely balanced piece in the SAP Mobile section of the SAP Community Network site. It talks about what SAP Fiori is (a “UX toolkit”) and what it isn’t (a “mobile platform”). It talks about the orthogonal styles of application delivery: Function-oriented (found in the traditional “dynpro-style” apps) and task-oriented (exemplified by the SAP Fiori apps themselves). And it covers some of the current benefits and shortcomings of Fiori when compared to the SAP Mobile Platform.

HR Renewal & SAP Fiori Q&A Transcript by Jeremy Masters
SAPInsider ran a recent Q&A session focused on HR Renewal, Employee Self Service / Manager Self Service (ESS/MSS) and SAP Fiori. Being a chat-based Q&A the questions and answers are all available. Folks asked about the ease of implementation, about the relationship with, and future demise of WebDynpro, and of course the Portal conundrum, made more interesting by the arrival of SAP Fiori’s Launchpad. Reading this Q&A gives you a good insight into what your peers are really thinking.

Of course, I have to take some slight exception to one of Jeremy’s answers regarding a reference to “web services” and Gateway :-)  Yes, OData has the concept of a service document, and it’s on the web (HTTP) but the specific phrase “web services” conjures up something altogether more complex and heavyweight (and less RESTful).

Well that just about wraps it up for this week. And while I’m thousands of feet over the Atlantic, currently somewhere due south of Iceland, I wanted to leave you with an observation: It seems that each week, new companies and offerings are appearing in the SAP Fiori arena. Webinars (yep, we hosted a webinar on Understanding SAP Fiori last month), demonstrations, Q&A sessions, fixed price implementation services and offers of free prototyping.

The best I saw this week was a statement from an SAP technology consulting company in the US, where the SAP Fiori practice lead claimed to have “five years plus of SAP Fiori focused delivery”. Seeing as SAP Fiori has been around for less than two years, that’s quite impressive! :-)

 

This Week in Fiori (2014-28)

SAP Fiori App Analysis toolAlready a week has passed since my first post in this series and the Fiori related content is increasing. A lot of that is technical, as folks get to grips with the configuration and development mechanisms that underpin Fiori. Perhaps I’ll have a technical “This Week in Fiori” (TWIF) post next time, but for now, here are some more articles, along with some observations.

SAP Fiori Brings Out Four Tools To Improve User Experience by Steve Anderson
The thing that struck me about this article is that the tools that Steve writes about – rapid deployment solutions, proof of concept services, and design thinking – implicitly underline the fact that User Experience (UX) has really arrived in the SAP world of enterprise software. UX has stopped just being a natural by-product of application design, as it might be when dynpro-oriented applications are built with a transactional focus; it’s now an explicit and important part of the overall process.

SAP Fiori UX – Apps Overview with Screenshots by Oliver Lehmann
This is a link to a great PDF-based resource containing details of the current SAP Fiori applications, of which there are over 300 (313 to be precise – see the “Webinar & More: Understanding SAP Fiori” link below). With the organisation by Line of Business (LoB) category, and role, and plenty of screenshots, it’s extremely useful as a visual reference, especially if you haven’t seen may of the SAP Fiori apps in action yet.

SAP Fiori Design Guidelines
Talking of great resources, one not to miss is this set of (beta) design guidelines for Fiori from SAP. I spent 6 months working as a member of the core UI5 team at SAP Walldorf in 2013/2014 and in my time there I really got to appreciate the tremendous passion, the effort and the attention to detail that the design and development teams have and exhibit on a daily basis. A lot of this detail, essential in making the SAP Fiori UX what it is today, has been collated and made available in a very easy to follow guidelines. As we move from “SAP Fiori” to “Fiori” and start to build our own apps, these guidelines will play an important role.

Webinar & More: Understanding SAP Fiori by me
A few weeks ago, Brenton O’Callaghan and I hosted a public Bluefin Solutions webinar “Understanding SAP Fiori” which was very well attended and fun to do. I wrote up some details in a followup post here, which you may find interesting. In particular, I’d like to draw your attention to a couple of things: there’s the SAP Fiori App Analysis tool that I wrote (itself a Fiori style app) which helps you explore the details of the currently available SAP Fiori apps, all 313 of them; it’s accompanied by a short explanatory video too. Then there’s all the stuff that Brenton and I didn’t manage to cover, in particular a deep dive into some of the details of an SAP Fiori application’s architecture. We recorded this as a sort of “Director’s Cut” video “Understanding SAP Fiori” as a follow on to the webinar itself.

So that’s it for this week, until next time – share & enjoy!

This Week in Fiori (2014-27)

SAP Fiori

The interest in SAP Fiori and the User Experience (UX) renewal at SAP is growing week on week. Ever since the launch of SAP Fiori Wave 1 back in summer 2013, with 25 Employee Self Service / Manager Self Service (ESS/MSS) apps, the momentum has been growing. Not surprising, given these things:

  • the successful growth of SAP’s HTML5 tookit “UI5″, in both its guises: SAPUI5 and OpenUI5
  • the fact SAP Fiori is “the future direction of the SAP experience” according to SAP’s Chief Design Officer (CDO) Sam Yen (see later)

Moreover, with the announcement at Sapphire 2014 in Orlando this year that SAP Fiori, along with SAP Personas, are now included in the existing licence and no extra fees are applicable, that interest has changed gear completely. As a result, there are plenty of articles to read; I thought I’d share my top picks of articles and posts that are doing the rounds right now.

How SAP is Reinventing the User Experience by Sam Yen.
This is a Q&A style interview with Sam that was done a couple of months back, but it’s a must-read not only given the recent Sapphire announcements, but also because it underlines the clarity of statement for SAP’s UX and User Interface (UI) direction. Regarding strategy, Sam states: “With SAP Fiori, we’re able to say ‘This is the future direction of the SAP experience’. All SAP solutions are going to be converging in this direction“. This nicely echoes a piece I wrote in 2012 – “SAPUI5 – The Future Direction of SAP UI Development?” … around a year before SAP Fiori was announced. It was clear from the state and potential of the UI5 toolkit even back then that the HTML5-based outside-in UI paradigm at SAP was here to stay.

Becoming Simple takes focus – now Fiori and Personas are free – how do you target your UX efforts? by Jocelyn Dart.
This is a good in-depth piece which talks about UX, a subject relatively unknown in the SAP world until recently. There’s an interview with two folks in the SAP UX space, one coming from SAP’s Design and Co-innovation centre and information on SAP’s UX Advisory service, which is designed to help customers shape their design skills and strategy.

Fiori Changes Perception of Campus Life! by Rob Jonkers.
Earlier this year I flew to SAP Labs Palo Alto to attend a board meeting in my role as a member of the SAP Developer Advisory Board. While there, I chanced to meet some of the members of HERUG – the Higher Education & Research User Group. This is an interesting and well established group within the SAP ecosphere, and they have their own focus, goals and direction. But what makes them part of the ecosphere is their common interest in UX and this post captures that very well. The breadth of functional coverage for Fiori is huge.

The Fiori Design Principles by Kai Richter.
In my role as an SAP Mentor I’m lucky enough to be able to attend and sometimes speak at some internal events, one of which was DKOM last year, where I saw Kai Richter speak. Kai is part of a large team of designers at SAP who are responsible for the UX that SAP Fiori brings. The members of the UI5 development and design teams are heroes of this new SAP era. This is a short article but captures nicely the principles and the essence of what Fiori means from a chief designer’s perspective.

If you have any must-read Fiori articles, let me know! 

SAP Mentor Monday on UI5 – Links

Today I was privileged to host a public SAP Mentor Monday on UI5, with Andreas Kunz as special guest. This is a collection of links that were mentioned in the session.

Session

General

SAPUI5

OpenUI5

JSBin

  • As you saw on the call, JSBin is a super environment for trying out, prototyping and sharing snippets and small apps for #UI5 and more
  • It also has that great codecasting facility that we tried out*

*I realise now why the people watching the codecast as well got “No data” later on in their binding display – it’s because I wasn’t using a proxy prefix for the OData service, I was using my Chrome Canary which by default opens with web security disabled, so it just worked for me. More on that in another post!

Paying IT Forward Links

Today I recorded another SAP CodeTalk session with Ian Thain, this time on the topic of teaching kids computational thinking, teaching them to code: Paying IT Forward … IT Does Compute.

Here’s a quick list of links to the activities and organisations we mentioned in the talk.

CodeClub

CoderDojo (Our Manchester CoderDojo, is hosted at the fantastic Sharp Project)

Young Rewired State

STEMnet

And if you need any more convincing about our computational future, you may be interested in this TEDx talk on “Our Computational Future“.

Share and enjoy!

 

 

OpenUI5 CodeTalk Links

I was honoured to be a guest again on SAP CodeTalk with Ian Thain. This time we talked about OpenUI5 - the open source version of SAPUI5, SAP’s UI development toolkit for HTML5.

 

Here are the links to what was mentioned.

Near the start of the recording, Ian mentioned our previous 2-part SAP CodeTalk on SAPUI5 and Fiori.

I talked about the differences between SAPUI5, OpenUI5 and where they fit with Fiori. Here’s a post explaining that in more detail: “The essentials: SAPUI5, OpenUI5 and Fiori“.

You can compare what’s available in SAPUI5 and OpenUI5 by looking at their respective API references: SAPUI5 API Reference and OpenUI5 API Reference.

Andreas Kunz’s post on SCN “What is OpenUI5 / SAPUI5?“, published when the open sourcing announcement was made. Just before the announcement was made, Jan Penninkhof’s post “13 reasons why SAP should open-source SAPUI5” was published.

OpenUI5′s “home” on the web is Github: http://sap.github.io/openui5/. There’s also a fledgling blog at http://openui5.tumblr.com with an inaugural “We’re open!” post.

Bug reporting for OpenUI5 is possible via Github issues, please read the “Report a Bug” page for more info.

Technical (programming-related) Q&A is active under the ‘sapui5′ tag on Stack Overflow (even though the questions are mostly independent of whether it’s SAPUI5 or OpenUI5).

Recently the OpenUI5 library was added to the list of selectable libraries in JSBin, and there is a small but growing list of templates for JSBin based snippets too (contributions welcome!)

Last but not least, there’s a Public SAP Mentor Monday webinar this coming Mon 24 Mar 2014 on UI5, with special guest Andreas Kunz. Come along and attend, all are welcome!

Alt-K: Reading Notes

With my Kindle, and the Send to Kindle Chrome extension, I have a nice workflow for saving stuff (with a quick alt-k keypress) to read later. The nice thing about the way the Kindle displays new articles is that there’s a “new” tag, until you’ve read it, and once you’ve read it, it floats away to the top (where I can find it, review what I’ve read, and remove it). So here’s a quick rundown of the stuff I read this early evening on a break. If it’s in this list, it’s recommended.

How to be a mentor: A thoughtfully written post with a lot of good suggestions for guiding a mentee along the right path. Let mentees set the agenda for meetings; allow them the occasional mistake (great learning); help them to help themselves by providing strategies for discovering the solution, rather than direct answers; use your experience to help them sort the wheat from the chaff as far as online content is concerned.

Getting access to SAP Fiori trial: many obstacles: Unfortunately the obstacle phenomenon is not a new thing; SAP seem to constantly struggle to make easy the things that should be easy. And in this case it’s commercially disadvantageous for them, hindering customer from trialling Fiori. This is one example of many instances where SAP really need to get a grip and learn from other presences on the Web (another is the SAP ID Service, but that’s a story for another time).

Why you don’t need an Enterprise Service Bus (ESB): This article made me smile, as it’s a simple piece but has a very strong impact. There are too many architecture astronauts out there (I for one have had my share of overengineered, overcomplex and underthought designes pushed in my face from them in my career) and I can imagine this piece being a lovely little wake up call to all those who have seen the classic “ESB icon [seemingly] pre-painted on their whiteboards”.

The many languages native to Britain: A fascinating piece, not only because of the myriad languages that are still alive within our shores (and beyond, it seems) but also because of the difficulty (futility?) in classification. What is a language, what is a dialect? What is native and what is immigrant? When do these classifications change? Who says? (Joseph – this is the piece I was telling you about).

King has trademarked the word CANDY (and you’re probably infringing): I read this piece probably with my mouth wide open. It beggars belief that the US Trademark Office bureaucrats are stupid enough to cause this to happen. It’s one thing for a greedy and self-centred games company to apply for a trademark like them (good luck to them, bold as brass and all) but it’s another for the ridiculous request to be granted. Good grief.

Stack Overflow’s About Page: I’ve recently started to become active on Stack Overflow in the UI5 area, in the light of OpenUI5 and our reachout to the wider non-SAP developer ecosphere(s). The reason Stack Overflow is such a success is because of the quality of its content, and the reason for the content quality is the conduct expected. This conduct is explained concisely in the About page, and there’s more information in the Help sections too. After struggling with SCN’s software for years, and trying to decipher hazy and incomplete questions so that I might answer them, it looks like Stack Overflow will be a breath of fresh air.

So there you have it. I really enjoyed each of these articles, perhaps you’ll find something there too.