How we built the new Exec iPhone App
blog.iamexec.com
blog.iamexec.com
My iPhone is not an empty canvas for you to drop an arbitrary UI style on. It comes with Helvetica and a whole bunch of well designed controls. I insist you use them.
Personally I hate that back button - it's huge, but that's a pretty minor gripe in the grand scheme of things. This UI is clean, functional, and its functionality is intuitive. Pretty decent win, all things considered.
Not to mention at the very core it doesn't stray very far from Apple's guidelines - it's very clearly built around the standard navigation stack, uses segmented buttons for radio choices, puts large oversized buttons towards the bottom of a flow for completion, defaults finishing actions to the right side of the screen, uses a minimally styled version of UIActionSheet...
I'm struggling to find anything here that hasn't been seen in a hojillion other iOS apps, or even functionally different than the "standard" iOS flow. But all I see is a fairly minimal, tasteful skin over the default elements.
Gradiented button set in allcaps Proxima Nova is not. It's exactly what you said - a skin, and skinning a single app is a sure way to make it stick out as a sore thumb.
I have never been able to used to the back button or the bluish-gray top nav bar Apple insists on using. If I ever spend time thinking about it, I feel like puking, no exaggeration.
But my dislike for the bar is offset by rest of the device.
But has it? The most common apps that I see people interact with are Facebook, WhatsApp & variations thereof and Apple's own apps, and they all look a lot "more native", i.e. like UIKit with very superficial appearance tweaking. (Even though FB seems to use a custom nav bar, the swipe-to-go-back gesture of iOS6 is broken).
I wish we had public app usage data... I really suspect that the average iOS screen looks a lot more old-fashioned than the average HN front-page app does.
If there's enough budget/time, UIs should always be built from the ground up. At every page and every element in the design process, the designer has the decision to go with:
1. Stock OS elements 2. Non-stock OS elements that follow current UX paradigms 3. Completely custom, designed from the ground up elements
As long as the designer is looking at the purpose of each page and element first and foremost, she can choose any of those options and be correct. You're right that your iPhone is not a place to drop arbitrary UI styles on, it's a place for well-designed UIs that contribute to a great user experience. Calling the design decisions arbitrary is an insult to the designer; I personally think it's a really slick-looking app with a distinct personality.
But a new UX paradigm for messaging window, registration form, map view, person view with Call and Message actions and settings view? This is the designer making themselves employable into the future, not great user experience.
Why do games get a pass, but everything else is expected to re-use the same library of controls and fonts?
I don't want all apps to look the same, they just have to be intuitive.
The examples that I listed seem to me to be developed more like a game engine... They are graphical environments, not drag & drop layouts.
Custom UI is common in most apps - this isn't a bootstrapped app or something quick and dirty. Why would they use the default/built-in/native UI design?
Now, if you meant it's foreign because of the design style, then you may have a point. iOS apps tend to designed with elements such as textures, gradients, drop shadows, inner glow/shadow etc. While Android tends to be flat and borderless.
There were parts where it definitely felt Android/Flat (icons), other parts felt iOSish (buttons).
The custom alerts were definitely a nice touch - don't see alot of apps with custom alerts. I didn't mind them - but some may not find it as impactful as a 'real' alert (it's like a warning usually comes in red, but it's now in blue. Just doesn't carry the same weight/feeling.)
I don't know why you wouldn't wish the same in the iOS ecosystem as well, especially since it is an ecosystem with a comparatively better sense of taste relative to other developer communities, meaning that when it does deviate from the norm it is more likely to get it right than other communities might. Why would we want to neuter the creativity and taste that community has?
Sure it is. Anyone can design and implement whatever kind of UI they want. If it's usable and/or accepted by Apple is a different story. You don't need to download apps you don't like on _your_ iPhone.
The UI for this app does not look all that "foreign." I am not too sure what freaks you out about their UI.
A major reason of using IB is you can position and view their layout visually. But when you build iOS apps that have (1) custom UI components, (2) uses a good amount of animation, or (3) have different enough portrait and landscape views, you can hardly see anything useful when looking at that nib in IB.
NB: re-reading this, I was more responding to Chad's point "Having over 30 screens to program (no Interface Builder here) meant that an overwhelming majority of the time on the app was spent writing interface code." rather than why not extending existing UIKit classes like UIAlertView/UIActionShet which MaxGabriel answered.
Overall, pretty clean, but could definitely be cleaner. I'm seeing four different button styles with no discernible justification for them.
iPhone 5 running iOS 6.0.1