PaintCode v2

After sitting on the fence for a while, I finally decided to buy the second version of PaintCode. I already owned and enjoyed the original PaintCode, and I wasn’t really sure if the new release would justify the price. That was however, until I took the time to watch some of their tutorials at, and this one in particular.

I’m really loving it so far. Close to all implemented features work as I want them to. But as often happens, as I start using an application for an actual project, I come across and discover missing features or workflow related shortcomings. This post is simply a collection of those discoveries, in the hope it could help improve the software in the long run.

If you have any feature requests on your own, please hit me up on twitter @johanhwb. I’ll keep this page updated. The list was last updated January 14, 2015.

UI/UX Related Requests

  1. Alignment Tools; I have a feeling they are missing, though I’m not sure that is even possible. In either case I can’t seem to find them anywhere, not using help or online resources.

    You can find the alignment tools as a contextual menu, but only when you have more than one object selected. Align to canvas however, is not possible. I hope that is added in a future update.

  2. Opt+drag to copy; no matter what software I’m using, dragging and dropping an item while pressing Opt copies the object. I would like to see the same thing in PaintCode. And it should work on the canvas and in the canvas index (in the sidebar). It should even support duplicating a canvas.
  3. Zoom tool with Z; maybe this is just Adobe talking, but I do expect Z to activate a zoom tool.
  4. Arrows to increase values; I would love to be able to adjust numeric values in text boxes up and down with the arrow keys, and Shift+arrow should increase the value by 10 instead of 1. (Confirmed. This feature is in the pipeline for a future update.)

    Partly added in version 2.1.2 of PaintCode 2; it’s still not possible to use keys everywhere.

  5. Screen Shot 2014-07-02 at 14.23.20Multi-node nudging; when I select several nodes/vertices I want the keyboard position nudging to work – for the entire selection. Xcode allows this for multiple UI elements, check how they do it.

    Make sure the canvas with the selection has the focus when you start nudging with the keyboard. It’s not possible to nudge using the sidebar, or tweak sizes as in Xcode.

  6. Drop color on Groups/Selections; I would love to be able to add color to a group or selection, just for the sake of speed and convenience – the color would still be assigned to each individual shape.This could even be possible with mixed selections/groups: when the color is dropped on the selection, the user picks from the regular context menu. The action will only affect applicable shapes, so a bezier without a fill will not be assign the dropped fill. However, pressing Opt while the context menu is shown, will add “Force ” in front of the options, which means all shapes are affected by the color assignment.
  7. Drop a Canvas on a Tab; I can’t work out how to move a canvas from one Tab to another. I was assuming dragging it from the sidebar, and dropping it on the target Tab would do it, but no. You could also add a “move to tab” action to a contextual menu when right-clicking on a canvas name.In the Canvas contextual menu, offering Duplicate Canvas when an existing canvas is selected would would be convenient.When deselecting all canvases, the sidebar only shows the Tab name. The sidebar would be even more useful if it also listed all the canvases on the currently selected Tab. From there I could drag a canvas to other tabs, delete or duplicate them. Feels like a natural fit.

    Adding settings for a tab like default background color for new canvases, is also a natural fit for the sidebar, when the user has deselected all canvases.

  8. Cmd+Shift+Opt+N to add and name the new Canvas; just like in Adobe, adding Opt to the new canvas shortcut should move the focus to the name field of the newly created canvas.
  9. Add a library color drop down when deleting a color; would be nice to be allowed to pick a replacement color from the library when deleting a color used by shapes in the project.
  10. When drawing a bezier: toggle Point between Round and Sharp by pressing 1; the contextual menu is handy, but pressing 1 on the keyboard to swap between round and sharp is faster and more convenient.
  11. Canvas only mode; working on a laptop, being able to take full advantage of the screen real estate is important. I would love to have a key (eg. Tab) that toggles visibility of everything but the canvas.
  12. Paste in Place; I would really like to be able to paste a copied object in place, instead of always having to nudge the position manually.
  13. Drag and Drop Copying of Objects in Sidebar; I find it very frustrating that I can’t copy objects directly from the sidebar. First of all, it would solve the current offset issue when using copying an object. Secondly, having to click the item on the canvas often much slower than using the sidebar.
  14. Renaming objects in the sidebar; currently I have to move down to the associated text field after selecting the an object to rename it. Would be great to be able to rename objects inline.
  15. StyleKit Color display could be easily improved; managing custom colors with PaintCode and StyleKits is fantastic. I have However, the current handling and color display is not optimal for color palette management adding custom colors to the StyleKit is a really nice feature. However, the display and arrangement of the colors generated could easily be improved:
    • At least as an option, allow me to remove the outline of the StyleKit colors. They affect the color impression and doesn’t really add any value.
    • Allow me to order the colors in any order I want. Right now, I can only order the colors in the sidebar, but I think it makes more sense to allow custom order in the main view.
    • Add an option to show the color samples as squares instead of circles, and have an option to remove left-right padding, so the colors will touch adjacent colors. This makes it easier to see how the colors harmonize.
    • Offer some automatic color structures and sort orders, like a pie chart, hue sorting, brightness sorting. Basically anything that might make it easier to work with the color palettes.
    • Would be great with palette folders as well, allowing me to group colors. Each group is given a name, and the group icon reflects the colors it contains (showing maybe 5 or them, and additionally a number when exceeding that limit).

    StyleKit Mockup

  16. Set StyleKit Drawing Method also in the StyleKit tab; currently I have to locate the shape on a tab to be able to set the Drawing Method of that StyleKit canvas. I think it would be a nice improvement and a nice time saver if I could simply right-click a canvas in the StyleKit tab to right there tweak the Drawing Method option.
  17. Right Click canvas in StyleKit tab to jump to Tab with Canvas; would be great to be able to see size of a canvas in the StyleKit tab, and be able to jump directly to the tab containing the canvas and right-clicking and selecting “Go to Tab”.
  18. Color Indicators letting us know how the color is used; with several colors in the color palette, it would be of great help to instantly be able to see which colors are methods, local variables and stylesheet. Something like this would work great: S for Stylesheet, M for methods and L for local variables.


Framework Integration

  1. Wrappers for UI/NSBezierPath; this would allow PaintCode to work on both iOS and OSX. @Seivanheidari
  2. SpriteKit support @Seivanheidari
  3. Allow hooks to generate code @Seivanheidari
  4. CAShapeLayer support; an option to generate CAShapeLayer code. @BrianMueller333

Bugs & Minor Glitches

  1. Outline Only doesn’t seem to update the canvas in certain situations, though I’m still not sure what those are (I’ll update this entry when I do find out).

That’s it!

This article was posted in Games. Bookmark the permalink. Follow comments with the RSS feed for this post. Both comments and trackbacks are closed.