Tried again with Chrome (was using FF before) (also I went to walmart.com and got redirected)
What browser are you guys using on Android?

What browser are you guys using on Android?
I don't use my smartphone's browser either. I hate having to read small print on a small screen.
I don't use my smartphone's browser either. I hate having to read small print on a small screen.
RWD you say? People finally realising what I said a few years ago?
Lots of us have been saying it.
Actually you're one of those who supported me when I joined WF and started banging on about it. There were a few others too of course.
But with the example of Walmart above, doesn't that mean it's best to have two versions of your site -- one desktop and one mobile?
Or how about say if you're a bank? On your site is tons of menus & features, from branch locator, to descriptions for personal / business / investing, credit card comparisons, etc. There's no way you're fitting all that onto a phone, so wouldn't it be best to have a separate mobile site, so users can easily login to check their account balance with their phone, etc.?
What am I missing here? RWD can only take you so far, before you're forced to create a separate mobile version of your site, correct? Or am I wrong?
<a href="http://fb.com/blahblah" class="hidden-xs">http://fb.com/blahblah</a>
<a href="http://fb.com/blahblah" class="visible-xs">View</a>
Does anyone have experience with RWD and Google in relation to hiding or showing elements based screen size?
On the specific question (#1) about cloaking, let me give you the most official answer I've seen. JohnMu from Google has previously given this advice:
"Suppressing some content (provided the primary content is still visible) is fine for mobile versions of your site. You could do that in a variety of ways".
If you want more drastic differences between desktop and mobile content than you can comfortably manage without risking cloaking, I'd agree with Boltsabre (who has given you great advice - as always): use dynamic serving and a Vary header (if possible) to signal that's what you're doing.
Looking at your specific example, I wouldn't like to say on which side of the line this example might fall. I think I'd do that with dynamic serving because the content differences between the mobile and desktop versions of the page look like they might be quite substantial.
I completely agree that the advocates of responsive design often prioritize the ease of maintenance and development over user experience - and user-experience is often better served by dynamic serving. Responsive design essentially gives the same website to all users, merely reformatted for the device. And desktop sites made to work like mobile sites with mobile navigation (purely for the developer's convenience) often give a terrible user experience. Mobile users don't merely use different-sized devices: they also work on different speeds of connection in different environments (e.g. standing at a bus stop in the rain compared to sitting at a desk) and they may be demographically different people. So I agree that dynamic serving often makes much better sense. And both dynamic serving and responsive are superior in SEO terms to separate URLs, though separate URLs can produce a better user experience.
It's true that Google recommends responsive design, but do what you think is best for your user. That always trumps what it says in the guidelines. Google's number one guideline is do what's best for the user![]()
Is using one site for mobile and desktop really the best answer if you're running an offer that takes credit card payments? Sales funnels for desktop and mobile e-commerce should be designed differently in a lot of cases, which is a case against one unified design.
"One unified design" isn't always the best answer. But paying a web developer, an iOS developer, and an Android developer is probably a worse solution than paying your web developer to design more explicitly.
I'm not sure if you're talking about multi-form checkouts or use cases where you might require different form inputs based on device (i.e. wanting to require additional business information for desktop, but wanting to be short and to the point on mobile), but in both cases you should be able to achieve what you're after without sacrificing performance with the technology that's available now.
There are many Javascript frameworks that have changed the game in this area, now allowing developers to easily mimic the look and feel of native mobile apps while meaningfully removing/adding DOM elements, unlike basic CSS framework's show/hide helpers.
There are certainly still use cases where you would want a native application instead of using a JS or responsive framework, but I have a hard time thinking of a situation where even a complex checkout cart would warrant the additional cost.