GithubHelp home page GithubHelp logo

michelf / sim-daltonism Goto Github PK

View Code? Open in Web Editor NEW
256.0 10.0 18.0 9.05 MB

A color blindness simulator for Mac and iOS

C 2.93% Objective-C 53.86% Swift 37.18% HTML 2.51% Metal 3.52%
color-blindness-simulator

sim-daltonism's Introduction

Sim Daltonism for Mac and iOS

Website: https://michelf.ca/projects/sim-daltonism/

Sim Daltonism is a color blindness simulator for iOS and Mac. It takes a live video feed from the camera on iOS and filters it in real time using a color blindness simulation algorithm.

The Mac version has a filter window that shows the content underneath the window filtered.

The application is almost a clone of Red Stripe where the filter algorithm has been replaced with an OpenGL adaptation of the color_blind_sim javascript function found on the Color Laboratory. The video capture and live filtering code is taken in part from the RosyWriter sample code provided by Apple.

This application shares a lot with my other app Red Stripe. Note that contribution accepted in Sim Daltonism will often land into Red Stripe too, which is closed source.

Copyright & License

Sim Daltonism
© 2005-2020 Michel Fortin

Includes the color blindness simulation algorithm color_blind_sim.
© 2000-2001 Matthew Wickline and the Human-Computer Interaction Resource Network

Sim Daltonism is available under the Apache 2.0 License. See the Apache License 2.0.txt file for the complete terms. Additional license terms apply to the color blindness simulation algorithm as follow:

The color_blind_sims() JavaScript function in the is
copyright (c) 2000-2001 by Matthew Wickline and the
Human-Computer Interaction Resource Network ( http://hcirn.com/ ).

The color_blind_sims() function is used with the permission of
Matthew Wickline and HCIRN, and is freely available for non-commercial
use. For commercial use, please contact the
Human-Computer Interaction Resource Network ( http://hcirn.com/ ).
(This notice constitutes permission for commercial use from Matthew
Wickline, but you must also have permission from HCIRN.)
Note that use of the color laboratory hosted at aware.hwg.org does
not constitute commercial use of the color_blind_sims()
function. However, use or packaging of that function (or a derivative
body of code) in a for-profit piece or collection of software, or text,
or any other for-profit work *shall* constitute commercial use.

20151129 UPDATE
	HCIRN appears to no longer exist. This makes it impractical
	for users to obtain permission from HCIRN in order to use
	color_blind_sims() for commercial works. Instead:

	This work is licensed under a
	Creative Commons Attribution-ShareAlike 4.0 International License.
	http://creativecommons.org/licenses/by-sa/4.0/

A note about that license

The copyright for the original color blindness simulation algorithm is shared by Matthew Wickline and the Human-Computer Interaction Resource Network. It seems the HCIRN is not reachable anymore, and it probably no longer exists. Because of this, Matthew Wickline decided to to change the license to something he believed would reflect the original intent of the HCIRN. But it is possible that someone still owns the HCIRN copyright, which would make that license change legally contestable.

So I am relying solely on the older non-commercial clause for distributing this app.

If you distribute a derived work that does not include the color blindness simulation algorithm derived from color_blind_sim, then you only have to follow the terms of the Apache License 2.0.

sim-daltonism's People

Contributors

importryan avatar michelf 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  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  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  avatar  avatar

sim-daltonism's Issues

Apple Silicon Support

Hello! First I wanted to start off by saying how indispensable this app has become to my design workflow for work. I'm truly grateful for this app to allow me to improve my own designs and ensure colour schemes are accessible to people with varying types of colourblindness.

The current Intel build uses between 35%-40% CPU when the window is active, due to the real-time translation through Rosetta, so I was hoping that by recompiling for Apple Silicon/M1, we'd be able to see this number go down dramatically.

That said, the app is perfectly usable through Rosetta 2, albeit the preview does turn white when you move or resize the window, but this is a very minor issue.

Please let me know if there's anything I can do to help. Even if you don't have an M1 machine, I believe you still should be able to create an ARM64 build through the latest versions of Xcode.

Citation for the 2015-11-29 license update

Hey! great project!!

on your readme you mention Matthew Wickline updated the license to CC4-BY-SA on 2015-11-29, but the only mention of this I can find on the internet is right here on this repository!
Do you happen to have an original source for this update? we'd love to use this algorithm in a project of ours, and CC4-BY-SA is very doable but contacting a defunct resource network is not !!

Porting to other platforms

Hey, I heard about your app from Ustwo's design handbook. Awesome piece of software, but it's so unfortunate that it's available only on Apple's platforms :(

Would you be interested in porting it to other platforms? I'm thinking about forking the repo and trying to get it to run on both Windows and Ubuntu in my spare time, so I could use it myself.

Let me know.

Release with filter correction?

Do you plan a new release after correcting the Sim Daltonism filter?
We are recognizing neutral grays being slightly purple colored and wonder, if the corrected filter code reduces this colorization.

Using over fullscreen apps switches to the desktop

Using Sim Daltonism over fullscreen apps is difficult as whenever you try to move the viewer it snaps you back to the nearest desktop. The Helium app does this well, so here's their implementation:

https://github.com/JadenGeller/Helium/blob/b35a416376dee7184f788e6ae5736f19890d3ddc/Helium/Helium/HeliumPanelController.swift#L122-L129

class HeliumPanelController : NSWindowController {
    ...
    private var panel: NSPanel! {
        get {
            return (self.window as! NSPanel)
        }
    }
    ...
    private func setFloatOverFullScreenApps() {
        if NSUserDefaults.standardUserDefaults().boolForKey(UserSetting.DisabledFullScreenFloat.userDefaultsKey) {
            panel.collectionBehavior = [.MoveToActiveSpace, .FullScreenAuxiliary]

        } else {
            panel.collectionBehavior = [.CanJoinAllSpaces, .FullScreenAuxiliary]
        }
    }
    ...
}

Feature Request: Low Contrast Simulation

Would it be possible to have a "low vision" type of option? I'm thinking something that would crank down the contrast and possibly increase the brightness? This would simulate "viewing in the sun" or other low vision conditions (while not perfect or even that scientific).

I'm not too savvy with Swift otherwise I'd love to contribute.

window shows only desktop

No matter the app settings, it is showing only the desktop, not the open window it is on top of.
Sonoma 14 OS
Apple M2 Pro chip

Purplish color in deeply saturated blues

There appears to be a problem with very saturated blues. This is with Sim Daltonism:
Capture d’écran 2020-06-16 à 7 24 44

And this is with Coblis:
Capture d’écran 2020-06-16 à 7 29 34

From the page description, it seems they're using the same algorithm by Matthew Wickline and HCIRN as I use in Sim Daltonism, which is part of jsColorblindSimulator. The results are pretty similar too, except for that purplish tint in the deeply saturated blues.

Project-level indentation settings

The project should set its own indentation settings instead of relying on everyone having the same settings in Xcode, which is quite unrealistic. This will make it easier to contribute.

Feature: Ability to change the colors

Hi!

Sim Daltonism is an awesome app :) Thanks. Helps showing other people how I see stuff like logos or websites.
I wonder if you could add a way to change the colors slightly? For example I have a protanopia weakness but the two modes provided in sim daltonism (protanopia / protanomaly) both don't quite match what I see when I e.g. point it at a color spectrum.

Thanks, keep up the great work 👍

Grayed out vision menu when command-clicking when app is in the background

When the app is in the background (the window will still be in the foreground, but it doesn't matter), and you command click on the vision menu, the menu pops up without activating the app (because command as a modifier does that), but the menu is all grayed out.

This has probably something to do with those menu items being wired to the first responder.

Deuteranopia: strong color tint towards pink in neutral shades of gray

After testing SD and comparing it to the output of the Photoshop color blindness simulation, we think that neutral grays should look the same in all simulations. The Deuteranopia setting seems to have a strong tint to pink in the neutral grays. See attached image bottom right.

sim_daltonism_vs_photoshop

Small resize region

Compared to previous versions of Sim Daltonism, the area in the bottom corners of the window that you used to be able to resize the window from is smaller (limited to the thin edge). It'd be nice if the resize region was a bit larger in the corners, like in the older version, to avoid erroneously clicking on the content in the back.

Camera Input

Greetings,

My name is Aniket and I'm quite new to swift as a language. I'm hoping anyone could be able to guide me through the process of connecting an external camera and use it as an input method for the Sim Dalton OSX app.

stopped working after upgrading to catalina

i love your product, it help me alot to design the app with color blindness taken into consideration. thanks for it!
however, since upgrading my mac it stopped working. i miss it...

image
image

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.