Where is the killer app builder?
I’m going to sound old, and also weird, but it has to be said…deep breath…I miss Flash. Actually, Flash sucked but it’s the nearest thing I can mention that some people will remember. To sound older and weirder, I miss Macromedia Director. When you’ve finished being outraged/shocked/confused/laughing I shall explain.
If you want to make an app right now the process is roughly wireframe > design > prototype > develop. Each one of those stages uses different tools and is often the realm of different people. Each one these stages are made a bit more efficient occasionally by some new tech or product. In the design realm, the super-streamlined software Sketch has become the go-to software for interface design. For high-fidelity prototyping there has been an incredible influx of tools such as Pixate, allowing you to create interactive fully-animated native mockups of your app design. For coding, developers celebrated the introduction of Swift into Xcode, a more human-friendly language. All these things are great, but not good enough.
A large part of the problem is the handover of the design to the developer. After meticulously using cutting-edge software like Sketch to layout the design, the designer uses some hodge-podge of methods to give the design to the developer, who then has to re-layout the elements in, say, Xcode. There are a number of problems with this, even when using some sort of middle-man app like Zeplin to give accurate measurements and colour codes. A developer (usually) doesn’t want to be a designer, they don’t want people harassing them about something not being aligned right or an element being slightly the wrong colour. Most importantly the layout work HAS ALREADY BEEN DONE. Are we seriously still at the stage where we have draw a diagram of how to manually re-create a layout in one digital filetype in another digital filetype? There are numerous prototyping apps which allow you to directly import your Sketch (and Photoshop) layouts and get straight to building interactivity. Why is the dev stuck designing something that has already been designed?
Xcode’s Interface Builder works very similarly to Sketch in some aspects but is much clunkier. Imagine the time saved if it were easy for a designer to import their sketch file and then set up the constraints for an adaptive layout, thereby reducing the dev’s workload and not doubling up on work. The thing is, the clunkiness of Interface Builder puts designers off delving too deeply. The same thing goes for animations, there are lots of great interaction prototyping tools for creating custom animations, but they all have to be translated by developers into the final app. A designer may bust out some amazing work in After Effects but that same poor dev has to make that magic real from scratch! Everything is being done TWICE.
What we need right now is something like..umm.. well Flash unfortunately. Flash but way better. We need one tool that imports layouts (or has a kick-ass Sketch-like tool inside it) that has the designer-friendly sleekness of Pixate, possibly with the ability to create little time-line based animation cycles a la After Effects, backed up by a powerful coding environment. This would encourage designers to take on some of the labour of building the actual app, rather than just generating guides for the dev. Meng To, the author of DesignCode, suggests that 30% of the work in creating an app is the UI prototyping and implementation. Simply being able to import layouts would vastly reduce that 30%. Back in the day, designers would jump straight into software like Flash and Director and start playing and making stuff, because you could build an end-to-end product inside them and they were accessible. Somewhere along the way we have broken everything out to different pieces of software and different roles, and that has actually made things very inefficient. Of course Flash and Director had their own problems, but as someone who has experienced all of these tools (and numerous roles) first-hand I’m telling you we have lost something as well. Xcode is just not user-friendly enough for designers, and if it is to be the killer tool, it needs to catch up to some of the prototyping tools out there.