A Tool That Lets Designers Tweak iPhone Apps Without Code

Hone allows designers to tweak the appearance of iPhone apps from their Macs, instantly and dynamically, without messing with code.
hone
Hone

Jaanus Kase isn't sure we should teach every kid to code.

Wait, don't grab your pitchfork just yet. He thinks it's a perfectly noble idea, just that it ignores a basic fact: Programming as it exists today is tedious and a highly specialized skill---one that, frankly, not everyone is well-suited to. "Saying that everybody is a programmer, everybody must code, it's dangerous," he says. "It trivializes the art of programming. And it is an art---a craft."

Rather than teach everyone to code, maybe it makes more sense to build tools that let some people side-step programming altogether?

That's what he's trying to do with Hone, a piece of desktop software that allows designers to tweak the appearance of iPhone and Mac apps instantly and dynamically, without messing with code. I downloaded a demo and within minutes I was reworking the user interface for a simple alarm clock app that Hone's creators built to show off the concept. As limited as it was, I found the experience invigorating. Smartphones don't make tinkering easy. Beyond rearranging the icons on your home screen, there's little you can do to make apps your own. Hone is a nice reminder that this is neither inevitable nor unchangeable.

Tweaking Apps, Sans Code

Hone wasn't built with the lofty aim of democratizing app-building. Nor is it meant to be a programming environment. In fact, Hone has a fairly limited scope. It's meant to let designers tweak how their apps look. Kase, an engineer, built Hone with designers Sergio Palomo and Priidu Zilmer. They all work together at Wire, a German messaging startup. Engineers and designers everywhere will find the relationship between Kase and Palomo familiar: Palomo would want to make some change in Wire's design and had to bug Kase to make it happen. Not an efficient arrangement.

"For each little change, you have to make a new build of the app," Kase says. "It takes time. There's a lot of overhead." The group noticed the same dynamic throughout the company---and beyond it---and decided to build Hone as a means of giving code-illiterate designers the ability to iterate on their own.

Hone is indeed easy to use. To see how it works, you can download the alarm clock demo app and switch it to "developer mode" in your iPhone's settings. Then you download Hone on your Mac. If they're on the same Wi-Fi network, you'll see an option to connect the two devices. At that point, you can play with a number of parameters in Hone to change how the alarm clock looks. You can adjust colors and fonts, reposition and resize arrows on-screen. Everything you do on your Mac is reflected instantly in the app. When you're done tinkering, that's it. The app remains just as you've left it.

Hone

Kase and company are currently soliciting developers who want to use Hone to refine their own apps in a closed beta. They say it just requires a few lines of code to make Objective-C and Swift apps compatible. They're also developing on a version that will work with Android apps, as well as other platforms, like Arduino and Lego Mindstorms.

Hone is far from the only tool trying to do this sort of thing. Kase is quick to mention things like Xcode Interface Builder and Reveal, which let programmers tweak UIs directly. Then there's the fast-multiplying bevy of visual prototyping tools, like Quartz Composer, Origami, and Framer, which simplify testing and refining designs.

Hone is meant to be a more "complete" solution, Kase says. For one thing, it's simple enough for anyone to use---no developer accounts or multi-gigabyte code bases necessary. It's also built so that you're working on actual apps, not mock-ups. "With Hone, we said we're not interested in prototyping," Kase says. This is what made the experience exciting for me: I wasn't messing around with some virtual demo. I was redesigning a real app, running live, on my phone. It was a novel sensation.

The Thrill of Agency

Hone is just one small piece of a much larger movement centered on rethinking how we make software. The basic problem: Programming languages are daunting. Even the professional designers at Wire, presumably technically proficient to some degree, get nervous when confronted with code, Kase says. "If they launch Xcode, they're afraid to click anything, just like your Mom is afraid to click the wrong button on the VCR."

Loren Brichter, creator of the original Twitter app for the iPhone, is one prominent engineer who has recently expressed his frustration with the state of programming. In an interview earlier this year, he offered this dim summary: "It’s not like a boat with a couple of holes that we can patch; it’s more like trying to sail across an ocean on a pile of accrued garbage." Bret Victor, a former Apple interface designer, is another persuasive proponent. His 2012 essay "Learnable Programming" lucidly outlines everything that's so maddening about traditional programming languages.

The next generation of tools could make it easier for programmers and designers to realize their ideas---to spend less time debugging and more time dreaming, designing, and refining. Languages like Swift, Apple's recent creation, are slowly starting to realize these ambitions.

Even though Hone was built for a far more specific and prosaic purpose, it seemed to me a glimpse of how these new tools could someday make it easier for all users to regain a sense of agency---something that's been lost to a large degree in the mobile age.

The small thrill of using Hone---fiddling with settings on my computer, seeing them reflected instantly in an app on my phone---is something every developer and designer will be familiar with. But for me, a regular old smartphone user, it was totally unfamiliar. It got me thinking about my relationship with apps more broadly---namely, how I've accepted that they're things for me to use, not create. People often talk about how the iPhone itself is hermetically sealed, but playing with Hone made me reflect on how the app model in general shuts users out. For those who aren't code literate, there are diminishing opportunities to tinker with settings, to chain together workflows, to custom-build solutions. (Indeed, for a certain group, this has long been one of Android's advantages over iOS.) I don't know how to code apps for my Mac, but I can at least define my own keyboard shortcuts, or organize icons spatially on my desktop, or set which apps I want to run on startup. There's isn't nearly as much opportunity for this sort of thing on the phone.

It's the darker side of the mobile era's intoxicating ease: When you get rid of menus, file systems, and all those other messy things that once were integral to "personal computing," you sharpen the divide between those who create software and those who consume it. There's no such thing as an iPhone power-user.

Kase and Palomo weren't thinking about any of this with they built Hone. They just wanted to make it easier for designers to iterate apps without pestering engineers. That's fine. But for me, Hone stirred more idealistic thoughts. Even though I was just changing the background gradient on an alarm clock, it got me thinking about a future in which we won't have to teach kids to program, just like we don't really have to teach kids to build things out of Lego blocks today. It made me optimistic, at least momentarily, that someday we'll build digital tools that demystify the process of building digital tools.