Apr 24, 2015 Creating and Maintaining a Positive User Experience with Cloud Foundry and BOSH
I was reading an article today called Bad UX and User Self Blame that discussed a few cultural things that we have all experienced in the tech world:
- There are apparently two camps of people: the "I'm not a technical person" and the "tech user" camps
- "Tech users" not always being kind to "not tech users" (example given was the SNL Nick Burns skits)
- "Not technical users" blaming themselves for bad, or in some cases even malicious, design decisions (lookin' at you malware).
Of course, the negative stereotype of the impatient incumbents that scare away new adopters and the intellectually curious is sometimes justified and sometimes not.
To keep as far away from becoming a group of Nick Burns-esque techies, as a community we need ensure that:
- We are providing our users with content that they will find useful
- Content is accessible
- Assistance is active and encouraging
- We are constantly exploring new ways to improve
How are we doing with this right now?
Off to a great start
Community Mailing Lists
The Cloud Foundry/BOSH communities really makes the ecosystem accessible to new users. There are Google groups that allow new users and admins to communicate with other users, admins, and even developers working on Cloud Foundry and BOSH themselves:
- BOSH users & BOSH developers
- UPDATE: New list information here, note these lists have been consolidated into one list.
- Cloud Foundry developers
- UPDATE: New list information here.
Since starting at Stark and Wayne I've found these resources to be indispensable and all the dialog I've seen between members has always been helpful and kind.
UPDATE: The BOSH and CF Mailing lists have moved to mailman as of TODAY (4/29/2015) as we have run out of space on the Google Groups lists. If you would like to join the groups after this date, please use the UPDATE links provided. If you were subscribed prior to this update, then you will automatically be subscribed to the new lists.
I'm pretty sure we've all had the experience of joining a project and not having enough documentation to make the process... entirely painless, shall we say. Luckily both the Cloud Foundry and BOSH communities support current and existing users with plenty of in depth documentation:
- Cloud Foundry Documentation
- Pivotal CF Documentation
- BOSH Documentation
- 12 Factor Application Design (from Heroku)
The Cloud Foundry community has actually embraced the 12 Factor application design practices as outlined by Heroku rather than reinvent the wheel. I think this is a great asset - it means that developers already accustomed to building their applications for Heroku will already be prepared for Cloud Foundry.
With the ever growing popularity of online communities, improving the user experience extends into the realm of social media. This shows that the supported product is not only being actively used and improved, but also that it is loved. Let's face it, a massive undertaking like Cloud Foundry is definitely a labor of love. For a new user, it is imperative to see that the product is cared for and maintained - else they will rightfully start to wonder if they need to develop a new strategy because there will be no one to help if there is a problem.
Here the community excels as well:
- Some of the Community Blogs
- Shameless plug: our blog here at Stark & Wayne, of course.
- Active State (Cloud Foundry tag linked)
- This week in CF
- Any Nines
- Cloud Foundry on Twitter
- Cloud Foundry Meetups throughout the US and overseas
And of course there is CF Summit, the annual Cloud Foundry conference in Santa Clara, CA. This year, the conference will be May 11 & 12 2015.
- The Cloud Foundry Advisory Board meets every month to discuss the current state of affairs: who is working on what, upcoming events, new people, and everything else you can expect. The meetings are summarized and publicly available on ActiveState's Blog.
- Members of the Cloud Foundry Foundation are located on the Cloud Foundry Foundation tab on the About Cloud Foundry page.
- Since the Cloud Foundry project is open source, users can view the source, issues, etc. on both the Cloud Foundry Community and Cloud Foundry organizations on GitHub.
- The BOSH repositories are under the Cloud Foundry organization.
- The Cloud Foundry Community Incubator, where projects are submitted for inclusion into Cloud Foundry.
In the rapid development pace of the new era, users expect constant fixes and improvements while also avoiding changing the UI so much that they don't know how to use the product anymore. The open source nature of the Cloud Foundry project really gives power to use the users to make their own tools and improvements.
- BOSH Workspace & Terraform AWS CF Install: both of these projects were created to simplify/automate deploying Cloud Foundry to AWS
- To deploy CF to AWS with BOSH you will need to get a microBOSH running, which falls under another project's domain: BOSH Bootstrap
- BOSH workspace is actually used by other projects, such as Docker Services, to deploy that service with Cloud Foundry.
- Service brokers, such as this postgres broker, are constantly being created and upgraded. Check out the brokers available in the community repo.
- cf-ssh and CloudFocker were both build to assist with application development and troubleshooting in Cloud Foundry. More recently, Dan Higham @ Pivotal created cf-console as a replacement/improvement of
Where can we improve?
- There are several aspects of Cloud Foundry that are still pretty "manual", in the modern meaning of the word. Increasing automation would be a great start.
- Sometimes development outpaces documentation. Depending on the age of the document, there may be information that is outdated or even the random embarrassing typo that has persisted over several iterations. Documentation maintenance is lengthy, but needed.
- The occasional broken link. Although not as common any longer, about a year or so ago the Cloud Foundry Community Docs changed their link format without redirects to the new page. Unfortunately that means that if you encounter older (sometime pre-2014) link, it may be broken. As an example, this Pivotal CF post from Dec 2013 contains this broken link to what was a Cloud Foundry Community Doc page about writing a broker for the V2 API.
How can you help?
With so many moving parts, it may be hard to figure out how you can be involved and contribute to the greater picture. Here are some ideas to get you started:
- Correct any broken links or typos on the Community Documentation as you encounter them
- Make a pull request/fork a repo
- Make an issue on GitHub when you encounter unexpected behavior
- Try your hand at writing a CF plugin
- After you get the hang of your deployments, try automating your process and submitting it to the incubator. Someone else is probably doing the same thing you are doing ┏(＾.＾)┛┗(＾.＾) ┓
- Play around with BOSH deployments and create a BOSH deployment of your own
Together, we can keep this community awesome!