Skip to content

Conversation

@RayyanSeliya
Copy link

Description

Add LFX Fall 2025 mentorship blog post documenting my experience improving the Knative Functions CLI user experience.

Related to LFX Project Issue

Proposed Changes

  • Add new blog post: "My LFX Mentorship Experience: Enhancing the Knative func CLI Experience"
  • Blog follows the standard blog template structure
  • Documents the journey of conducting comprehensive UX evaluation of func CLI
  • Covers systematic testing of 12 core commands with 200+ documented issues
  • Shares insights on improving error handling, help text, and user guidance
  • Includes practical tips for future LFX applicants on community engagement and proposal preparation

Checklist

  • Blog post follows the blog template
  • Content is original and based on personal experience
  • All links are valid and use {:target="_blank"} for external links
  • Proper attribution and acknowledgments included
  • Author information and LinkedIn profile linked

@netlify
Copy link

netlify bot commented Nov 23, 2025

Deploy Preview for knative ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 7080575
🔍 Latest deploy log https://app.netlify.com/projects/knative/deploys/69236ddb43ffc10008b6e374
😎 Deploy Preview https://deploy-preview-6528--knative.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@knative-prow knative-prow bot requested review from Cali0707 and nainaz November 23, 2025 20:26
@knative-prow
Copy link

knative-prow bot commented Nov 23, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: RayyanSeliya
Once this PR has been reviewed and has the lgtm label, please assign pierdipi for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Nov 23, 2025
@RayyanSeliya
Copy link
Author

/cc @Cali0707

Copy link
Member

@Cali0707 Cali0707 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a first pass, this looks good @RayyanSeliya - nice work!

/cc @prajjwalyd

@knative-prow knative-prow bot requested a review from prajjwalyd November 25, 2025 13:19
@prajjwalyd
Copy link
Member

looks good to me as well!

Copy link
Member

@Cali0707 Cali0707 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @RayyanSeliya - thanks again for writing this! As I said before it looks quite good. I've left a few detail comments to help make it even better


My initial weeks focused on improving the help text for all commands when run outside a function directory. I wanted to make those cryptic error messages actually helpful.

Here's how that same error looks now:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RayyanSeliya maybe make it a bit clearer what you mean by "that same error". Perhaps something like "Here's how that same error I mentioned above looks now with the new help text"

func invoke Invoke the function
```

See the difference? Instead of just stating the problem, the message now guides you toward the solution with clear, actionable steps.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the insight you have here, and I feel like you should be highlighting it more somewhere instead of burying it in the middle here.

The point of not just stating the problem, but guiding users to the solution with clear, actionable steps is a key point to your whole work this term, so try to highlight this more somewhere.


If you've read this far, I'd like to share something that might help you with your own LFX journey. The key to my acceptance was starting early and engaging with the community before even applying. I reached out to my mentors as soon as the projects were announced and asked how I could better prepare myself. Their advice was invaluable: play around with the func CLI to get familiar with it, write the research proposal myself without relying on AI tools, think deeply about the research objectives and questions I wanted to answer, plan out how I would approach answering those questions, and create a realistic timeline for the project.

So I did exactly that. I explored all the func commands, experimented with different scenarios, and even got two PRs merged before submitting my proposal. When it came time to write the proposal, I documented this pre-engagement experience in detail, including the issues I discovered and improvements I suggested. I went a step further and created a demo showing how the func CLI could have colorful output following industry best practices from tools like kubectl, git, and aws cli.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
So I did exactly that. I explored all the func commands, experimented with different scenarios, and even got two PRs merged before submitting my proposal. When it came time to write the proposal, I documented this pre-engagement experience in detail, including the issues I discovered and improvements I suggested. I went a step further and created a demo showing how the func CLI could have colorful output following industry best practices from tools like kubectl, git, and aws cli.
So I did exactly that. I explored all the func commands, experimented with different scenarios, and even got two PRs merged before submitting my proposal. When it came time to write the proposal, I documented this pre-engagement experience in detail, including the issues I discovered and improvements I suggested. I went a step further and created a demo showing how the func CLI could have colorful output following industry best practices from tools like `kubectl`, `git`, and `aws` cli.


## Project Overview

Knative Functions enables developers to easily create, build, and deploy stateless, event driven functions as Knative Services by using the `func` CLI. The goal of this LFX project was to conduct a comprehensive UX evaluation of the func CLI, focusing on identifying usability issues, understanding developer workflows, and gathering structured feedback on CLI interactions to improve its intuitiveness, efficiency, and user satisfaction.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here maybe link to either:

  1. The knative functions docs page on the website
  2. The knative func repo


Knative Functions enables developers to easily create, build, and deploy stateless, event driven functions as Knative Services by using the `func` CLI. The goal of this LFX project was to conduct a comprehensive UX evaluation of the func CLI, focusing on identifying usability issues, understanding developer workflows, and gathering structured feedback on CLI interactions to improve its intuitiveness, efficiency, and user satisfaction.

The project covered several areas: assessing command organization and discoverability for both new and experienced users, reviewing help text quality across all commands, mapping common developer workflows to identify pain points, and evaluating error handling and user guidance during failures. But rather than just producing a report with recommendations, I worked on actively fixing the issues I discovered.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good, but I think you should highlight here how you focused your work specifically on error handling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants