CtPaint is an open source image editor that runs inside your web browser. Its simple, its fast, but its real advantage lies in the fact that its web-connected. Since it runs in your browser, theres nothing in the way of opening up any image on the internet, drawing onto it, and then uploading it to anywhere else (imgur, facebook, twitter..). On top of that, CtPaint can become a community platform in itself where anyone who likes drawing (everyone) can post, store, and share their drawings.
Right now CtPaint available in an alpha version at www.ctpaint.us . It works pretty well, but also needs a great deal of work, and we want to expand it into something much greater!
We have all used simple image editors (like MSPaint), whether to make a dank meme, diagram at work, or gorgeous pixel art masterpieces. Aside from simple paint software being undeniably useful, paint software is a cultural icon that all pixel and video game art is indebted to. So its 2016, where is your handy pixel editor? You dont have one! Macs have never had anything like that, and MSPaint on windows machines has been getting steadily worse each generation. All mainstream image editors today are either enormous (Photoshop), or not suited for raster images (Illustrator). Nothings well suited for the simple raster image editing needs of the average person.
We are modern computer users, who more than ever use the internet to trade images around. Theres no excuse for not having a web-embed image editor thats seamlessly connected with the rest of your online life.
Right, lets get specific. If this kickstarter is funded, we are going to make a software product called 'CtPaint'. It will include..
0 A social media application, where you will have an account, where you will be able to do things like..
- Follow people
- 'Favorite' drawings you like
- See and select your drawings
- See and select the drawings of your friends and peers.
- Comment on drawings and offer feedback
- Clone other peoples images into your own storage repository
- Start projects that contain several images
- Join and work in groups with others
- Search for drawings by tag
1 CtPaint Basic, The actual image editing application, one that is much better in design and performance than the simple alpha version thats currently available at www.ctpaint.us. CtPaint Basic will have a design thats attractive to professional artists and normal people alike. This will have basically everything you would need to make great drawings, and it will be available for free. Its features will include..
- Sample tool
- Fill tool
- Line, brush, circle, and square drawing
- A zoom tool and a gallery view mode
- The ability to select areas and then move or modify them
- A color palette you can edit with menu of red/green/blue or hue/saturation/luminosity sliders.
- Basic transformations like rotate, resize, flip, and invert
- Copy, cut and paste
- Undo and redo
- Save, open, import, export, download, and upload, to several image and project file formats
2 CtPaint Pro, this one has everything in CtPaint Basic and a little bit more. Ive interviewed a lot of professional pixel artists just to get an idea of what they want from their software. CtPaint Pro is for them. Its features, which wont be available in CtPaint Basic, include..
- Indexed color palette
- Advanced color palette options
- Multiple simultaneous views
- Magic wand selection
- Complicated shape selection
- Tiled view
- Grids and rulers
- Animations and frames (downloadable as animated gifs)
- Complicated effects like contrast, saturation, and brightness transformations
- Complicated tools like blurring, smearing, and polygon drawing
- Shading draw tool
- Layer shake (to reveal what content belongs to a layer)
- Onion skinning
- Mid-point color calculator, or color trisection tool
3 Connectivity to everything. For example..
- A user of CtPaint should be able to press a button saying 'post to facebook' or 'post to twitter', whereupon they will be given a dialogue to enter whatever text will go along with their post, and after they hit 'submit' their picture and text will show up on their facebook or twitter.
- There will be a field where a user of CtPaint can copy and paste in a URL of an image on the internet, press 'open', and then they will be editing that image in their image editor.
- A user of CtPaint should be able to hit 'save' or 'upload' and then just have a url of that image that they could give to anyone. This image could be hosted at CtPaint, or uploaded to one of the many other image hosting services on the internet.
CtPaint will always be as accessible as possible, and therefore it will always be as free as possible. But, there are monthly costs associated with servers, web hosting, and software maintenance. Here is our present idea of how CtPaint will be priced..
- CtPaint Basic will definitely be free.
- Having an account and using social media features will always be free.
- CtPaint Pro will be available for a monthly rate not to exceed $5. We are hoping to get that price lower, and maybe even down to $0.
- Private images and project will cost something. Like Github, the project storage system will encourage sharing and collaboration. It does this by enabling unlimited public storage (meaning your images can be seen and cloned by anyone), but allowing you to store private image projects for a small price.
Everyone who contributes to this project will be listed in a section of the CtPaint website called 'Credits', wherein they will be thanked for contributing. By donating to this project your name will become a permanent fixture in the CtPaint project.
You might notice many of the rewards include stickers and shirts. These are good quality stickers and shirts! I have definitely collected my share of t-shirts, so I know feeling and looking good is the difference between my favorite shirt and the rag I use to wash my car. I love the shiny durable stickers hanging out on my laptop, and the ones that werent had to get scraped off (yuck).
If you select the Swag Pack reward level, youll have the choice between these two shirt designs.
The CtPaint alpha demonstrates that good paint software can run inside a web browser. But its really not there yet as an application in itself (and frankly theres a lot of room for improvement as an image editor too). Making it into what Ive detailed above is going to take a lot of work using skills I dont possess. Thats why I need help to make this project happen.
To make this all come together is going to take front end web development (programming what runs in the users computer), back end web development (programming what runs in the CtPaint servers), and some back-end infrastructure too (servers, bandwidth, hosting, etc). I will also be contributing some crucial front end code, but I will not be personally receiving any of these kickstarter funds to do so.
I am estimating about 11.25 months of development time, between three developers (including myself). I expect to contribute about 5 months of development time to this project, with my primary focus being the image editing application itself (but, I will unavoidably have to work on all the code in this project to some extent). I estimate about 3.75 months of work time from a developer focused exclusively on the back end, and 2.5 months of time from a front end web developer focusing on the social media features.
So you can see the break down of the numbers above. Where do these numbers come from? Well, its going to take relatively more time from a back end developer, working on relatively more complicated problems. Recalling prices and technical challenges from my own professional career as a software developer, I just multiplied time by difficulty, for the front-end and back-end developers. The price for the back end itself (servers, hosting) is harder for me to predict. But to come up with the number for that, I considered how much storage I suspect the average user of CtPaint is going to use up, how many users there will be, how much stress each user would put on the server, and then I look at prices from back end services that could handle that stress, and then I multiplied that monthly rate by 6 months.
If this campaigns goals are met, I will produce weekly video journals covering recent progress on the project. Since the project will be open source, all progress will be documented and published online to a Github repo.
I come from work environments like HeatSync Labs, and Local Motors, that are totally inclusive. At Local Motors, we crowdsourced design and engineering work for our fully open source consumer vehicles. I plan on bringing that culture to the development of this project to the greatest extent possible. To do that, all technical problems will be specified in text, and open source contributors will be given due credit and recognition. Making and contributions will be celebrated.
There is a lot of room for growth in this project, and a lot of different directions it could go. The project specified in this kickstarter is just the beginning. Here are our stretch goals beyond $70,000
$85,000 Offline Support - A downloadable form of CtPaint that you can run when you arent online. This version of CtPaint which can sync with your online account, but otherwise is perfectly capable as an image editor when you are not connected to the internet.
$95,000 Chrome and Firefox extensions that will let you right click on any image you find on the internet and select 'open in CtPaint'.
$115,000 CtLine, an in browser vector image editor. Just like how there isnt a good web embedded raster image editor, there isnt a good web embed vector image editor. In this stretch goal, we will deliver a simple vector image editor too that can produce and host svg files.
CtPaint will be entirely open source! The code will be freely available for anyone to check out on Github.
Made in the CtPaint Alpha
In this section I'd like to give shout outs to people who have helped me on the CtPaint project in one way or another. These people have helped me in different ways, from help programming the CtPaint alpha, to putting together this kickstarter, to just drawing pixel art with me.
- Thanks Sascha Naderer, Andreas Kullenberg, Jun, Bo, and Erik 'Kasumi' from the pixelation community, for either their thorough and knowledgeable opinions on pixel art software, as well as their time using the CtPaint alpha to provide feedback, or the pixel art they have contributed to this project.
- Thanks to Ethan Hartman from launchpak, and Dan Lubrich, who have each given me lots of advice about kickstarter campaigns.
- Thanks to my friends and former coworkers at Videoloco, Patrick Gram, Bob Laudner, and David Urbanic, who helped me put together my kickstarter video.
- Thanks Jacob Rosenthal, my friend whos always been around to bounce ideas off, and provide his own insights, in programming and every other area of life too.
- Thanks to NodeAZ, VegasJS, and QueensJS, which have all given me time to talk about CtPaint in front of their audiences.
- Thanks to Jack Hou, a contributor to Chromium, who added 'image rendering : pixelated' to Google Chromium, a development I followed closely and has been essential to the technology behind CtPaint.
Risks and challenges
Making good image editing software is a hard thing to do, and it gets harder when you are trying to make it run in a weird environment like an internet browser. There is a strong element of uncertainty in developing new and complicated technology. Fortunately, the technical aspects of this project are not new to me. Im uniquely prepared to make such technology because unlike a lot of web developers I can program mathy algorithmic things like image editors; and unlike most people who can make image editors, I am a web developer! Computer science is a wide diverse field, and my skill sets dont often come together. I have a rare intersection of computer skills that are necessary for a technologically unusual project like Ctpaint. Perhaps even more rare, I already have in my programming career the history of making an image editor that runs in the web-browser, so I already have a really good idea of how to make the software I am promising in this kickstarter.
Computer skillz are only one part of this however. Once the project gets going I will have not only engineering responsibilities, but also business responsibilities (hiring, project management, public relations..). I have been doing freelance software development for three years now, during which I have had to attain and maintain precious client-contractor relationships. Ive had to negotiate contracts, engage in numerous public speaking opportunities. During my time as a board member of Phoenix's non-profit hackerspace HeatSync Labs, and my time as the Lab Manager at the open-source car company Local Motors, I have done countless business tasks, such as giving financial presentations, running community events, and representing my organizations in meetings with national nonprofits and local government. Also, I got my bachelor of science in Economics. I have the soft-skills to complete this project.Learn about accountability on Kickstarter
- (34 days)