/ Xcode

Interface Builder or code?

I just made a promise that i won't use Interface Builder in my upcoming projects. Why? It's because that tool sucks. There are a couple annoying things that apple should fix.

First of all the constraint tool is still broken. If i want to create a constraint with a specified value instead of the suggestion it will simply ignore my number.

Note: why the hell are there four separate buttons instead of one for all the constraint options?

Pro challenge: try to connect an iboutlet with ctrl+drag while you are using constraints. (Not working)

Also if i want to use storyboards i have this issue with collection views and table views. I want to create reusable cells for every view controller, not for just one. Ok, i could create only one viewcontroller and prototype every cell in that, but i don't like that concept, because i think it would be much better if i could simply create view on the storyboard as well. It should work like an asset catalog but with "xibs".

A word about app icons:

image assets from Xcode 6.2 (are you kidding me????):

Just generate my icons from a 1024x1024 versions, and give me an option to replace them. But i don't want to drag and drop every fucking variant to this view.

Pro tip: sips -Z 29 Icon.png --out Icon-29.png build script

Back to my idea:

Apple should divide storyboards into 2 sections. One for only the business logic with all the segues and actions, and the other one for UI planning.

The problem with storyboards:
Why not to use storyboards.
Yes i know this is an old image, and if you end up like this you are probably doing things wrong. But hey a big storyboard loads for a long time, and if i am creating connections beetween controllers i don't want to edit my UI.

The solution: Storyboard v2

There should be a new interface with a button to switch beetween a UI editor and a "navigation logic" editor. The logic editor needs a better name. Actually story editor is not so bad for it.

The UI editor

The UI editor could handle all the pixel perfect visual editing tasks for each induvidual view, or controller. You could only edit one at a time like now if you select a view controller in the storyboard. You also could have more space by seeing only one "screen" and this space could be used for quick outlet / action management. Another important thing could be the 2-3-4 times zoom feature because pixel perfection rocks.

The story editor

The story editor could tell your stories beetween the view controllers. You could only see the controllers, actions and segues here, without any rendered UI. It would be 'just a flow chart'. But it would be fast, easy to use without the unnecessary UI elements.

Xcode could also render an old version based on these separate editors. It would look like as the current storyboard file, so backward compatibility should not be an issue. (Custom views would only work with the new editors.) Or there could be a segmented control in one of the corners on the storyboard file which could be used to switch beetween the editing modes.


Thanks for reading, hope you like the idea, feel free to contact me if you got any remarks.