This post is here to save your time during GUI development in Mathematica. And one way to do this is to know where limits are and to be aware of features that are awaiting.
Background
Usually I don't have to care (it hurts my brain though) about misaligned details, additional/missing pixels. But currently I'm participating in a project where the design matters and I have to follow examples made by a graphics designer. I have to workaround 10 "features" per hour, and I'm not talking about fancy stuff.
This is intended to be a cheat-sheet for GUI development, based on our experience.
What is on topic here
Links to guidelines making GUI creation process more stable, predictive.
Links to guidelines on how to achieve robust dynamic performance of GUI-s.
Links to known bugs and workarounds for GUI-related issues, preferably posted as separate Q&A threads.
Tips about communication with designer/manager about requirements.
People are used to the fact that you can create very nice layout with css in no time. How to explain that it is impossible, or not worth the time spent, in Mathematica? How to explain why getting rid of "white line" in some secondary menu took me half a day, and I've failed?







Framed, etc. I rolled my ownGraphicsGridprecisely because of these "issues". Is doing everything in raster a must? I'd personally feel more confident working in vector. (removed silly question aboutRasterize/Image. – LLlAMnYP Mar 09 '16 at 13:29Graphics[{Red, EdgeForm[Directive[Blue, AbsoluteThickness[1]]], Rectangle[{0, 1}, {99, 100}]}, ImageSize -> {100, 100}, PlotRange -> {{0, 100}, {0, 100}}, AspectRatio -> Full, PlotRangePadding -> 0, ImagePadding -> 0, Background -> Green]for example. Note the coordinates of the rectangle, that are needed to get its edge in the right place. – LLlAMnYP Mar 09 '16 at 13:49Manipulateand the demonstrations project and the "cool" stuff that can be done in the classroom at the expense of applications for commercial (internal) deployment – Mike Honeychurch Mar 09 '16 at 23:16ItemSize,ImageSizeetc (Full,All,Automaticetc) change a layout especially for composed interfaces. Also CSS has been designed for managing resized interfaces but IME this is a lost cause for sufficiently complex interfaces in Mathematica (fixed pixels only used now). It reminds me of a post on managing the complexity of big code except here it is for "big interfaces"; while I think the strategies presented there offer hope for taming the ... – Ronald Monson Mar 17 '16 at 22:48ManipulateandDynamicbut development seems to have tailed off in recent years as focus has shifted towards Data Science and Cloud offerings. There is however a natural synergy between all three so perhaps a couple of hard-won successful examples might start to indicate this potential (how such interfaces are distributed/monetized to provide resources for such development - well that is another story altogether ...) – Ronald Monson Mar 17 '16 at 22:55APIFunctionandEmbedCode. – Rolf Mertig Jul 13 '16 at 20:00