
Show HN: FlatUIKit - Flat UI components for iOS - jackflintermann
https://github.com/Grouper/FlatUIKit
======
huhtenberg
I'm going to say something that many won't like, but I feel very strongly
about it.

    
    
      --
    

Please stop wasting time on pretentious designer bullshit like this. Skinning
is great for in-game HUDs, but making a regular repeated-use app look
_completely_ alien against native look and feel is one of the worst things one
can do.

Some customizations here and there are fine and all successful apps notable
for their UI do it to a degree. This is what gives an app its personality and
character, _but_ note that it's done through meticulous visual polish and
attention to details. On the other hand, if you are running on a device that
uses inherently skeuomorphic styling and a specific font, then going all flat,
green and Proxima Nova is like walking into a cocktail party in flip-flops and
a pirate hat. Sure, it will give some people a chuckle and make everyone
notice, but it will also make you look like an eccentric dork. And sure as
hell it will make hosts think twice about ever inviting you again.

------
jackflintermann
Hey everybody, creator here. Let me know if you have any
questions/comments/feature requests - I'm going to keep working on this.

~~~
anonyfuss
This total disregard for platform conventions does your users a disservice by
making moot the effort they've spent learning how the platform operates and
what to expect from UI elements and interactions.

On top of that, you have to reinvent all the native components you otherwise
would get for free, and your app looks like an ugly odd duckling on the
platform.

Why do this? It demonstrates an insane level of condension towards your users,
the platform they've chosen, and the time they've spent learning it.

~~~
jazzychad
Disregard this feedback. Do you know how to use a blue pencil instead of the
standard yellow? I thought so. These controls maintain the overall look and
feel of the native components while just giving them a different skin. Sheesh,
even Apple recognized that developers wanted to give their own look to
controls by giving them Appearance hooks.

You know what else you get by coding your own UI components that mimic native
components? A greater knowledge of the underlying platform. Even if you and
everyone else hates the end results, the creator has increased his knowledge,
which is more valuable than your troll.

~~~
anonyfuss
Disregard this fellow's feedback, since he clearly has disregarded the
platform users and the shared conventions of the platform community.

These elements don't maintain the look and feel of the components at all.
They're roughly in the same place, most of the time, and that's about all you
can say for them:

[https://www.joingrouper.com/assets/new_landing/OnboardingScr...](https://www.joingrouper.com/assets/new_landing/OnboardingScreen3@2x.png)

> _Sheesh, even Apple recognized that developers wanted to give their own look
> to controls by giving them Appearance hooks._

Yes, which you can use without breaking users' expectations, because they
still look like they belong. They truly are re-penciling, not a rework of the
UI to look like Windows Phone.

~~~
conradev
> _They're roughly in the same place, most of the time, and that's about all
> you can say for them_

> _a rework of the UI to look like Windows Phone_

I am laughing at this comment in particular only because most of the project
uses the APIs _provided by Apple_ to change the appearance on _existing
controls_ , exceptions being the switch and the alert view.

The project only makes it easy to generate and integrate flat images into
these controls. You make it sound like he is rewriting UIKit.

~~~
anonyfuss
> _The project only makes it easy to generate and integrate flat images into
> these controls. You make it sound like he is rewriting UIKit._

What does 'native UI element' mean if you're swapping out all the bitmaps and
completely changing the visual language, and _ALL_ UIKit elements must be
significantly modified to fit into your new language?

------
mkoble11
Great job, Jack! I love when companies open source their projects. Aside from
sharing knowledge, they're a great 'passive' way to recruit.

~~~
jackflintermann
Thanks! It feels good to get this out there - we want (and plan) to open-
source more stuff but have been so busy that we haven't had the time.
Deliberately writing this to be open-sourced also made me a lot more
considerate when developing it and improved the code quality as a result.

------
avelis
FlatUIKit reminds me of following the projects on Github:
<https://github.com/domesticcatsoftware/DCControls> &
<https://github.com/domesticcatsoftware>

I personally had to fork the DCRoundSwitch project to make it more FlatUI
like. I am glad there are other efforts out there to help grow this component
set.

------
conradev
Great work! This is a really cool project. I actually did something like this
in an app I am working on using the same approach. I knew it could be
generalized to all UI components and not just buttons, but I did not take
those further steps and implement it.

This is definitely a step above using drawRect: to draw custom views, when
images are more efficient in this case thanks to UIControl.

------
orangethirty
Looks good. You should sell it, rather than give it away under the MIT
license.There is good demand for this sort of stuff.

~~~
paranoiacblack
Make sure you file DMCA takedown notices for anyone who ever makes any similar
icons, though.

~~~
orangethirty
He could sell the icons as a pack, too.

