Giter VIP home page Giter VIP logo

modularscale.com's Introduction

Running locally

Modular Scale is a static site built with Middleman. Bundler and Ruby are required for the following installation. If you are using a Mac, you already have Ruby installed.

  1. Clone the repo
  2. In the terminal, cd into the directory
  3. Run bundle install in terminal
  4. Run bundle exec middleman in terminal
  5. Visit localhost:4567

From now on, you can skip #1 and #3.

To build the app, run bundle exec middleman build and it will generate a build directory.

Conduct

We strive to create a welcoming place here for collaboration, ideas, and support. We can’t build the community we want without your help and understanding. In an effort to ensure this is a safe place for the community, we will not hesitate to remove comments that go against the guidelines and block people who are repeat offenders of the guidelines.

  1. Be nice
  • Do not trash talk anyone for ideas, concepts, or things they use.
  • Do not trash talk anyone for personal beliefs, race, background, gender, or any other personal aspect of their lives.
  • Do not trash talk anyone, period.
  • Do not rip on this project, this project’s dependencies, or any other project. You may not like something, but there are methods of critique that don’t involve devaluing people’s work.
  1. This project is built and maintained in free time. Be considerate that this is a labor of love. While we gladly accept feedback and feature requests, please understand the following:
  • A timeline for fixes and features will be at the maintainers’ discretion.
  • Priority of fixes and features will be at the maintainers’ discretion.
  • Scope for new features is at the maintainers’ discretion.

The guidelines are interpreted and enforced by @scottkellum and @tbrown. It is under our sole discretion to make decisions regarding enforcement of this code.

License

Copyright © 2016, Tim Brown and Scott Kellum All rights reserved.

BSD license

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

modularscale.com's People

Contributors

scottkellum avatar tbrown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modularscale.com's Issues

Project goals

I’ll start this thread off.

Goals

  1. Improve and clarify the web calculator.
    1. Live updating of scales based on input.
    2. Provide better visualization of the resulting scale.
      1. Modular scale rulers
      2. Type specimen.
  2. Explain what modular scales are, how to make them, and how to use them.
    1. Do this through text
    2. Do this through UX
    3. Do this through examples
  3. Introduce code based calculation and showcase tools.
    1. Take care that users may be new to preprocessors and other languages.
  4. Collect and showcase modular scale articles.

Constraints

  1. Advertising
    1. sponsored logo and blurb on home page
    2. sponsored logo and blurb on results page
  2. Support existing users and functionality.

Error handling

  • design and create error modal.
  • have errors pop up closable modal.
  • Identify and create error triggers in code.

Launch checklist

On Monday morning:

  • Make repo public (Scott)
  • Move repo to modularscale org (Scott)
  • Transfer DNS (Tim)
  • Promote the hell out of this thing (4:00)

Highlight base

  • Visually highlight the base value
  • Keep the base value in view as values change

Technical brief

Technologies used (Grunt, Sass, JS) and notable plugins.

I assume we are going to be doing client side (JS) calculation of modular scales for this. I am a fan of Middleman as a static site generator but we may want to use grunt or similar.

IA buildout

Modes:

From what I can see there are are 3 basic modes.

  • Web calculator
  • Education/resources
  • Language based calculators

Web calculator should be our primary mode with fluid paths to the other two modes. A basic overview of what modular scales are can act as a live scaling example. A column in the reference table can link to the tools we use.

Web Calculator 20%

  • Settings tray
    • Base size
      • option to add more
      • multiple unit options
    • Ratio
      • option to add more
      • Customizable values with drop-down of common ratios
    • Function reference
      • Sass/JavaScript/Stylus + links
    • Advertisement
  • Intro copy
    • Basic description of what a modular scale is and why you might want to use them
    • link to education/resources
  • Results table
    • Column with the units specified
    • Column for ems
    • Ems @ 16 (DO WE NEED THIS?)
    • % of 13 (DO WE NEED THIS?)
    • Function reference (falls back to scale #)
    • Toggle text preview
    • Advertisement

Education/resources

  • Detailed description of modular scales including history.
  • Detailed how to use modular scales. Illustrate use with different units and applications.
  • Promote recent articles that talk about modular scales.

Language based calculators

  • Promote calculators written in various languages
  • Basic documentation
  • These are official or semi-official, not just a list. This should be comprehensive and authoritative.

Lock values for initial load

Currently on initial load sizes are calculated via JS. Once we settle on defaults these should be hard-coded into the page to make the site feel faster.

Decouple ruler visualization from font-size visualization

At small sizes the current ruler visualization is inaccurate because it is coupled to the font-size visualization (because of my browser’s/OS’s font-size minimum, I guess). We should decouple it from the font size visualization.

Denote scale strands with symbols, in addition to colors

We should denote scale strands with shapes (square, triangle, circle, star?) or letters (A, B, C, D) in addition to colors, case folks with color blindness have trouble distinguishing the color differences. These symbols should appear everywhere the strand-specific colors do.

Visuals, local preview?

Hey Scott, I had a few minutes this morning and pulled the latest version of this repo. It seems like you've made some good progress. Where are your latest plans for visuals? Maybe I could offer feedback on that.

Also, how do you like to preview the site locally? I've used MAMP before, and for Typekit Practice we set up a build command that invokes grunt-contrib-connect for a local server....

multi-scale visualization

  • denote what values come from what scale by color or something
  • design and build a ruler that illustrates different scales.

Ops

This is now a static site! This means we don’t need to do any server-side computing and can host on cheap and fast hosting like s3 if we want to. Anyway, we don’t have to worry much about getting hit hard because the server won’t be doing much.

  • Set up the server (bitballoon)
  • Set up a deploy process (drag and drop into their interface)
  • Make sure the site is getting pushed up to a CDN (yup)
  • make sure gzip is working (yup, 10kb down)
  • make sure cache is working (yup)
  • point DNS to the right place

Build apps

iOS, Android and maybe Windows universal apps.

Create simple web views for

Do we want to change for the app?

  • yes
  • no

Language support

  • select between web, Sass, and JS support
  • dynamically build settings as input changes
  • build documentation and provide links to basic install paths.

Soften branding changes

I started a branch to explore subtle adjustments to wording, typography, and color, to see if we can introduce this design's new concepts while staying true to the familiar branding at modularscale.com: https://github.com/scottkellum/modularscale/tree/tb-branding

Scope is currently limited to the form and about panes (though I haven't paid attention to about pane typography yet).

  • Masthead uses title case Freight Text instead of uppercase Freight Sans, which is a nice evolution from the current Athelas.
  • Masthead in white so color in form fields draws more attention.
  • All sans-serif text now uses Bernino, which is more legible than Freight Sans at small sizes and – similar to the masthead type shift – a small step away from modularscale.com's current use of JAF Facit. Bernino looks great with Freight Text, too.
  • Type size and vertical spacing adjustments.
  • A bit more horizontal padding in the ad area.
  • Made the credit/copyright sentences into one paragraph, added some words, and put Scott's name first.

Next step is to explore subtle color changes to see if they yield anything desirable. In a quick test that I discarded, desaturating the form background nicely emphasized the type scale in the output pane.

visual output panel mode

This would be an output panel mode that illustrates scales and ratios with boxes instead of type.

Ads

I like sponsorships but maybe we can talk with The Deck about possibly working with them: http://decknetwork.net/

Maybe we can have a premium offer we can sell and use The Deck when we haven’t sold a sponsorship.

About panel

  • Overview
  • How to use
  • Bases
  • Ratios
  • Plugins
  • Links and resources

Open source?

I’m up for open sourcing this code base. BSD licence seems like the way to go as it protects us as creators from malicious knockoffs but allows re-use. It’s what we use at Vox Media for our open source products.

Make design fully responsive

  • Give pages the peek effect.
  • Apply pager for small screens.
  • Paging on medium screens
  • Apply swipe effect for small screens. Going to leave this for later

Tooltips

  • Add markup for tooltips on different inputs to help guide people through.
  • Create cookie to allow users to disable this feature.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.