Target audience
note
The goal of this document is only to outline the target audience of our "introduction to webdev" wiki. Other "learning pathways" on this site may be tailored to different personas.
Audience goals
Ideological goals
We want to help fandom people:
- move their content out of closed corporate platforms (including social media sites) that restrict which content they can create and control how and with whom they're allowed to share it
- join (or create) web projects made by and for other fandom people
- produce sites which reflect their individuality and collect their content (e.g. art, fanfics, meta), even if some might find this content 'distasteful'
- gain a solid understanding of modern web development technologies that allows them to explore further on their own, and take advantage of the resources available to web developers on the larger web
Summarized, the goal is to "empower fans with the skill, knowledge, and resources they need to create their own spaces of self expression on the web, and open up a path for those who would like to join wider collaborative efforts, or pursue a professional career".
Practical goals
Artifacts fandom people might produce include:
- A shrine to their OTP or their favorite series
- A wiki/info page for an event they're running
- An "about me" site, similar to linktree/carrd websites
- A gallery of content they've created (e.g. art, fanfic or meta)
- A multipage website they can maintain and expand in their leisure time
- A custom AO3/Dreamwidth/Tumblr skin
- Custom elements for websites that accept HTML (e.g. a "fake tweet" within their fanfiction)
- Sharable elements and tools for use in fandom projects (e.g. web components, npm packages)
Non-goals (at this stage)
- Self-hosting
- Backend development
Audience characteristics
- Roughly in the 25-40 years old age range, that is millenials/Gen X'ers who may have been on the web in the late 90s/early 00s.
- Can understand written English.
- Have full lives outside of coding, and splintered slivers of free time.
- May be neuroatypical, and have anxiety or trauma exacerbated by feeling unwelcomed or rejected by traditional learning institutions or group settings. May have attention regulation problems, and get easily distracted or hyperfocus.
- None to beginner knowledge of web technologies. They may have dabbled in HTML/CSS in the olden days, but have out-of-date knowledge. They may have used carrd, wix, or other "website builder" technologies.
- We assume no pre-existing knowledge of JavaScript, but some level of curiosity (mixed with anxiety).
- Likely Windows user. We assume access to at least a laptop.
- Are curious about programming, but may have an underlying anxiety about "not being cut for it". They likely feel overwhelmed by the existing "learn to program" offerings.
- May feel that they have no use for "advanced programming technologies" (e.g. git), and be fearful/skeptical of anything beyond "editing simple text files".
- Has felt progressively disempowered from customizing and controlling their experience on the software they use.
- [POLISH] Likely to be "financially challenged", or otherwise resistant to spending money on software. They may go to great lengths to avoid paid software, unless the value provided (for example in terms of time saved) is overwhelmingly clear. Their income levels may tend to fluctuate, and when they spend money, some may tend to prefer one-time payments or a lump sum for a yearly suprscriptions. Conversely, others may feel anxious longer-term commitments to paid services. Some may be from non-US countries with lower buying power, and may benefit from region-based pricing. Regardless, they feel more comfortable supporting smaller services than big corporations, especially providers that are well-known in the community and offer direct communication.
Audience needs
General questions
General questions that our audience may have include:
- What is web development? Can I be a "web developer" if I only want to learn how to build simple websites?
- Am I capable of learning web development? What will I need to effectively learn it? Which languages will I need to learn?
- Is learning web development fun? Is it going to be easy or hard? How much time will it take to reach [X] goal?
- Can I learn web development and create my own websites for free?
- Will these guides be useful for me if I don't want to become a professional web developer? Will these guides be useful to me if I'm considering a professional career?
- How does modern webdev differ from the webdev of the 00s? Has it gotten harder or easier?
- Is it normal to be overwhelmed by the endless stream of keywords/terminology? Is it normal to find most explanations out there overwhelming and confusing? Does this mean I'm not cut out for web development?
- How long will it take for me to learn web development? Is the road meant to be so full of up and downs?
- Where can I go if I have questions? Will that place be welcoming to me?
- Why should I learn the technologies in this guide? Why should I use the software you recommend? Why should I trust you?
Specific questions
Specific questions that our audience may have include:
- Where do I type code? What do I use to write code?
- Where do I store my code? Why should I use git(hub)?
- What are package managers (npm, yarn)? Why should I use them?
- What is static site generation? What are its limits?
- How do I add content to a website? How do I style the content?
- How do I preview my website on my machine?
- How do I deploy my code to the web? What is a webhost?
- Do I need a domain name? What happens if I want to move my website to a different host?
- How do I structure my content? How do I organize my files? How do I reference file paths in my code?
- How can I ensure my content works on different browsers and at different sizes? How can I make sure my content is accessible to all users?
- How should I handle images?
- How do I reuse layout elements across different pages?
- How do I add interactivity to my website?
- How can I install and use external packages?
- What is a framework? What is a component (and props)? What is JSX? What is MDX?
- What are some file formats I may encounter in my webdev adventures? Which ones are specific to certain technologies? Which ones are universal?