I work on IBM Bluemix, specifically I am the technical guy responsible for the Mobile experience on Bluemix. I started this role back in January 2016 and I am just starting to make some changes that are going to appear in the coming weeks. I wanted to explain how the new Bluemix Experience is making it easier for IBM engineering teams to deliver cool stuff for Bluemix developers.
If you have not looked at the new experience, please log into Bluemix and click on the Try the new BluemixSome History
If we look back at Bluemix, it has come along way from its early days only supporting one PaaS model with Cloud Foundry. It can now run Docker Containers , Virtual Images and very recently new Serverless runtimes, with OpenWhisk. It can also support 100+ different services. All of these are cool and exciting from a developers perspective. The issue is the original Bluemix user experience had been developed very closely to the Cloud Foundry Service Catalog and Service Instance model. It had also used iFrames for integration of different service experiences. We know that iFrames are evil things. IBM needed to deliver a broader more integrated single platform and be a more oppionated towards how IBM teams and 3rd parties should integrate into the Bluemix experience.
Lots of developers like simple words to explain things. Wether it be a Service or an App, the issue in the Mobile world is an App means something different to the how a Bluemix server side developer sees an App. Bluemix needs a way to enable things to not just be referenced through the Bluemix Catalog. The Catalog works well for services and vertical pieces of business logic, ie. Middleware like databases and powerful services like Watson. For other horizontal concepts like a Mobile experience or a horizontal developer experience for Server Less integration like OpenWhisk the Bluemix Experience needed to offer some freedom, the mobile team will be introducing the term Project to represent a logical Mobile project that can allow us to hang all the common MBaaS capabilities to it. Over time you will see each area of Bluemix evolve and take ownership for the developer audience its is focused on supporting, Compute and Data have started and Mobile is next.
Chris Mitchell a long term friend, colleague and lead architect for the new Bluemix Experience. Has been working on a modular design for Bluemix UX that is based around the use of Micro Services. When I started to look at how we can take more ownership and control of the Mobile area on Bluemix it became clear this approach is amazing for engineering teams.
When you navigate around the new Bluemix Experience you are in effect moving from one UX Micro Service to another. Each Micro Service owner now has fully control of the pixels for the whole experience. The Bluemix Header Micro Service now allows you to request its content using an XHR call and you inject the returned HTML, CSS and JS directly into your HTML document. When you click on the header or the Profile identity the right nav slides out and gives you control of you spaces and organization. The management of this also fully controls security and access to your spaces and origanisations.
This approach works really well when you think of all the engineering teams that are working on making Bluemix amazing. This enables them to work on their part of the delivery and never need to worry about having to pull in a component library. The Header micro service is centrally managed and seamlessly integrated into your specific Bluemix UX. In true agile and micro service fasion the individual squads can build out their UI using what ever platform launguage they feel fits the squads skill base. The mobile team are using Node.js for all our Web UX.
The Bluemix platform team have also created some cool NPM packages that you can easily consume in your NodeJS Atlas App. These packages manage all the authentication and Bluemix platform management. This means as a developer of content for the new Bluemix User Experience all the heavy lifting has been done for us.
That means the mobile team can concentrate on building out new and exciting Micro Services that deliver an excellent experience for the Bluemix Mobile Developer without any of the pain of managing a centralized UX component library. Trying to deliver multi division user experiences is hard and we have learnt our lessons from early web framework approaches.
Bluemix Design System
So we have a cool way of building modular user experiences on Bluemix, we need just a little more help from the Bluemix Design team. A lot of Node engineers do not know how to spell CSS , so the ones that do we make as happy as we can.
The Bluemix Design team ispart of IBM Design, so some may not know but I love Pixels and Transactions, but maybe I should explain why. I was part of the original IBM Design team before it was IBM Design, how does that work then.
When I started working for IBM I started working for a cool IBM Fellow called Tony Temple, I was a young kid similar to some of the grads on my team now, but I used to like sitting in his big office on his big red sofa. What was cool about him was him was this.
Anthony C. C. Temple IBM FellowProgramming Systems, Warwick Laboratory, United Kingdom
Temple is an expert in end-user computing and user interface technology and was instrumental in transforming IBM’s Common User Access (CUA) from a character-based standard to a GUI.
He taught me how to respect modern user interfaces and pixels. Our team delivered CUA for OS/2 and then helped that Bill Gates character to delivery that Windows thingy. To be fair Windows 3.0 was way better than DOS and all we had at the time, but no way as good as OS/2 but the problem with OS/2 was we let engineers design some of its User Experience. The modern IBM doesn’t work that way, engineering works extremely close to the IBM Design teams.
IBM Bluemix Design System helps engineering take all the complexity out of building user experiences in Bluemix.
There you go some information about what Bluemix is doing regarding its user experience. As a consumer of the Bluemix Platform and the Bluemix Design System, all I can say is its a massive lift for my engineering teams to deliver that time to magic the lovely Offering Managers are focused on creating 😃.