What we're doing today!

  • Why you should open source your passion project
  • What is Smooch? What's the Kisekae Set System?
  • An overview of the project structure and how you can contribute.
  • You'll pick some way you want to contribute and I'll help you make it happen!

You should

open source

your passion project!

"But... it's not finished..."

That's okay! I've been working on Smooch for 3 years and it's still not done!

"But... people will find out I can't code..."

Your git history will show how much you can learn and improve by doing!

and 99% of people won't look at the code and don't care!

"But... dudes will be jerks on the internet..."

Your project can become a supportive community that can help you survive the haters.

This is your project, and your community! You can craft it to be what you want and need.

99 reasons

to open source

a silly hobby project

1. Low stress

2. Get feedback and learn

3. Stay motivated!

4. Meet others who are passionate about the same thing!

5-99. It's fun!

Smooch

a KiSS viewer web app

Kisekae Set System (KiSS)

"Sailor Moon" by MIO.H (1991)

"Aylin" by Kimiki (2001)

"Aylin" by Kimiki (2001)

"Aylin" by Kimiki (2001)

  • Layered multi-cell "objects" create items with fronts and backs
  • "Snap-to"

"Aylin" by Kimiki (2001)

"FKiSS" menus

and animation

(show some KiSS dolls in desktop viewer)

"Aurora" by Punky (2001)

What is a

KiSS set?

  • Cels (*.cel)
  • Palette(s) (*.kcf)
  • Configuration(s) (*.cnf)

 

Distributed as compressed archives (Japanese LHA format)

Typically viewed in a desktop KiSS viewer application

 

Configuration

  • Palette(s)
  • Play area size
  • Background color
  • Cels 
  • Objects

Configuration

  • Positions

Configuration

  • The FKiSS scripting language

How Smooch Works

Cels & Palettes

The Back End

Haskell!

The Front End

Plain old JavaScript, HTML, and CSS!

Contributing

https://www.github.com/emhoracek/smooch

A few ways you can contribute

  • Fix an issue
  • Add documentation
  • Improve code (adding tests, refactoring, linting)
  • Review my PR (#49)
  • Suggest architecture improvements
  • Add features from the roadmap in the README

How to contribute JS code

  1. Fork the codebase
  2. Clone your fork
  3. Open the docs/index.html file in your browser
  4. Find stuff you want to fix!
  5. Fix it!
  6. Commit and push to your repo
  7. Make a PR

Fork the codebase

Clone the repository

Clone the repository

git clone (the url you just copied)

Open project in Firefox

e.g. file:///Users/you/path/to/smooch/docs/index.html

These sets all use the same JavaScript and CSS in the /javascript directory.

Find a problem you want to fix

Please choose something

as small as possible

for tonight.

 

Typos are great!

For tonight, please avoid:

  • Any sort of automatic reformatting
  • Even manually reformatting more than one line of code
  • Changing more than a few lines in general

 

Sticking to small, simple changes will help us avoid stepping on each others' toes!

If you want to make a large change:

Awesome!!

 

Make an issue describing the problem you want to solve and your idea for solving it!

Fix the problem and commit!

  • git add <the file you changed>
  • git commit

Push your fix to your fork

git push

Make a pull request

Make a pull request

Make a pull request

In conclusion...

I hope Smooch has inspired you to open source your projects and to contribute to others' projects!


Let's start making some issues and pull requests! :D


Slides: https://slides.com/emhoracek/deck-5-14

Repo: github.com/emhoracek/smooch


Twitter: @horrorcheck


I work at:

@positiondev // positiondev.com

Smooch: an open source dress up doll viewer

By emhoracek

Smooch: an open source dress up doll viewer

  • 1,296