There is more to it than than just oil. OKC didn't go nuts like much of the country did during the real estate boom and likewise we didn't get our asses handed to us when the market dropped. We saw moderate gains followed by moderate loss. That's a big reason why OKC has maintained one of the lowest unemployment rates in the country throughout this financial crisis.
IMO this is a reflection of a culture that's a little more traditional and a lot more conservative than the rest of the country (and I don't mean crazy-right-wing-extreme-conservatism, though we have that here, too). People live, work and start businesses in OKC because they want to be here — not because they want access to VC/talent/incentives/loopholes.
I've lived in OKC for 20 years and we've stayed because it's a great place to live. My kids aren't passing through metal detectors at school, I can drive anywhere in the city in 20 minutes, the other guy always lets you go first at a 4-way stop, and when I say "hi" to a total stranger on the street they smile and reply in kind.
So this is google's crazy impression of what kids look like now. He can listen to 'adult' music/movies, but the guts of this tablet are _completely_ hidden.
When I, and probably much of this site was that age I was dicking around with Linux distros and trying to get nvidia binary drivers to work so I could play quake 3. Then there was that whole thing when I discovered shell scripts and python. There are cs learning apps for android, but nothing like opening up a bash shell in linux and getting the python interpreter and command prompt. Hopefully that kid has access to a real computer, and a bloody password on his account.
Generally I'd agree with you, but not in this case. In the case of something like Retina screens, I don't think there's any good reason to name something that is, as far as I know, simply a step up in a metric that is already commonly measured and unnamed.
"Flat design" and "responsive design" (probably better named "responsive functionality") are specifically different in numerous ways than other design trends and consistent within the trend itself. Naming the trends doesn't have to equate to a 'movement'. However, it does provide a much easier way to refer to and discuss them.
I find it rather ironic that with higher resolution screens we are seeing more simple, minimal, and orthogonal designs. Straight lines and solid colors aren't going to have a recognizable difference with a retina screen. And I found that the only place I really recognized the retina-ness of the iPad 3 was with the complex icons that Apple had designed for the device... every other icon and interface that was simply increased to 2x didn't appear to utilize the benefit of the retina display.
So I'm really conflicted with this retina trend and how designers are (not) utilizing it. I don't think information density should increase, but certainly more complex artifacts could be used rather than these simplistic ones.
I think something about the high resolution makes flat design (which is really just a derivative of 20th century modernist design) somehow feel ultra-clean. There's suddenly a new depth to the minimalism. It stands out more against 3D elements. It's much like how Swiss Design feels very different on paper vs. on a screen.
Subtle texture and animation on a retina display can recreate the latter effect to some extent.
I understand where you're coming from but dismissing it as a 'thing' is a bit cynical. I disliked the whole 'web 2.0' look, it was garish and rarely had any relation to things in real life. With more designers embracing the flat aesthetic, I think it shows a deeper development that design is becoming more humanist, and this can only mean users are more aquatinted to digital interfaces and no longer need high gloss buttons to understand an elements can be clicked etc. The move towards flat to me a great thing, a turning point in digital design.
I don't think it is cynical. This is a new trendy style. In 3 years, everyone will be complaining about flat design, hipster mustaches, and wishing we had more gradients and glossy reflections.
I would mostly agree with you that flat design is a new style if we limit the context to only web/application GUI's. No one can really disagree that flat design is an already historically established visual aesthetic in the real world.
So this is digital flat design. With digital there are different metaphors to consider, like user interaction, boundaries, display capabilities etc. This is the web adopting some of the best things about established design aesthetics in the real world (minimalism) and integrating them in an entirely new way to incorporate those considerations.
I agree that it is inevitable there will be some new design trend in a few years time (please hopefully not one that involves monstrous glossy buttons and gradients), however this current flat design feels like it is laying the groundwork, especially in how a design should be technically achieved. The flat design is naturally more vector, which makes it inherently more native to web technology (CSS, HTML). This is very different from previous web design trends I can remember which were essentially hacks, initially involving tables, and later divs compiled from static bitmapped assets exported from Photoshop. This I believe is a new chapter in the evolution of design on the web.
It's totally a thing, the latest in an incredibly long line of the latest thing.
Zeldman wrote this in 1999 and it's still true today:
"The web used to look like a phone book. Now much of it looks like a design portfolio. In fact, it looks like the design portfolio of 20 well-known designers, whose style gets copied again and again by young designers who consider themselves disciples. Distinctions between graphic design and communication design are lost on these designers. As is the distinction between true style, which evolves from the nature of the project, and derivative pastiche, which is grafted onto many projects like a third arm."
All of the content screens in the app are still HTML5. Because of that direction, we now have a native experience on iOS AND a solid mobile experience in the browser. HTML5 still offers the greatest reach, a superior layout model and the fastest development. It's a myth that web views are inherently a poor experience.
I just made the same upgrade from a 2011 i7 MacBook Air to the 13" Retina MacBook Pro and I disagree with nearly every part of this review. Battery life seems on par with my Air. Performance is improved on the MacBook Pro. A good example is something like installing imagemagick from Homebrew. On the Air that resulted in max-fans, the MBP handled it without breaking a sweat. I haven't noticed any UI sluggishness. I loved my Air (like many have said, it's my favorite computer I've ever owned) but this machine is every bit as nice, feels more capable (CPU-wise) and has a gorgeous display. The only drawback is the extra weight and thickness.
> I'm not sure how much I agree with this approach. When you do what this article is describing, you are creating a very tight coupling of your css structure to your dom hierarchy. This can create a lot of issues when you are trying to refactor your code or getting new people on-boarded to the project.
We've found it to be just the opposite. Because nested selectors don't repeat the names of parent elements it's a piece of cake to grab a block and move it up or down in the tree or just plain move it somewhere else. We find that we refactor more because it's so much easier to hold the style model in your head and so clear where to move a block of styles in order to increase or decrease their scope. That just makes for better CSS.
I tend to chain selectors as little as possible in plain CSS, so I generally don't run into having to read huge chains of sub-selectors.
I will agree that heavily-cascaded stylesheets are practically impossible to read. Writing styles in a way that reduces your need to create long inheritance chains feels like a more flexible option (not so tightly dom-coupled) that doesn't require a "style model", though.
How do you handle adding the same styles to page elements that aren't siblings/exist in vastly different areas of the dom structure?
Mixins could probably do it, but writing too many of those would open up new problems.
> How do you handle adding the same styles to page elements that aren't siblings/exist in vastly different areas of the dom structure?
That's usually a case for refactoring. Either by pulling styles common to both elements out and up the tree so they apply more widely or creating a class that can modify both. In the latter case we'll usually use a technique like the last example in the article (more of an OOCSS approach) that works independent of the dom structure.
Makes sense. Do you ever run into specificity collisions when you pull styles out of the main style tree?
I could see whatever you pulled out being clobbered by the huge amount of specificity you have built up by mirroring the dom. Heavy use of the child selector would probably prevent that from happening as much, though.
It's difficult to explain without lengthy examples but we aren't seeing a lot of collisions (really none) because we're very careful to only nest when necessary and only as deeply as necessary. We aren't taking a stand here and completely obliterating cascading, we're just being mindful about when things really should flow to child element instead of just letting it happen all the time.
The examples in the article are simplifications for the purpose of illustrating the points. We'd almost never use nesting to any element all the way back to the HTML or BODY laments. But when you have elements like SECTION, ARTICLE, LI, DIV, etc which can be nested infinitely in HTML judicious use of the child selector is a godsend.
The examples in your gist would not benefit from additional use of child selectors, but I'll bet they'd appreciate it if the parent elements did :)
" I, for one, don't want to code my whole life. Something 37signals can't offer me."
I'd say it's just the opposite. The lack of organizational hierarchy and title means that people can work outside their normal expertise more easily. Nobody is stuck in a box.
Designers pick up programming skills as their interests allow. Programmers with UI ideas can try them out. Both contribute with writing, with workflow ideas, and on customer support. We've even had people completely shift roles from programming to design.
IMO this is a reflection of a culture that's a little more traditional and a lot more conservative than the rest of the country (and I don't mean crazy-right-wing-extreme-conservatism, though we have that here, too). People live, work and start businesses in OKC because they want to be here — not because they want access to VC/talent/incentives/loopholes.
I've lived in OKC for 20 years and we've stayed because it's a great place to live. My kids aren't passing through metal detectors at school, I can drive anywhere in the city in 20 minutes, the other guy always lets you go first at a 4-way stop, and when I say "hi" to a total stranger on the street they smile and reply in kind.