Hacker News new | past | comments | ask | show | jobs | submit login
Mac OSX Lion's scroll breaks the web (micho.biz)
210 points by michokest on Feb 3, 2012 | hide | past | favorite | 157 comments



To all of those complaining that "side scrolling is a bad idea": This is a red herring. The chief complaint here is that Apple made a single gesture which in the past caused a single action (scroll to the left) and made it modal, such that it means "scroll left" UNLESS (1) the user is in Safari and (2) there is no more content to the left, in which case it means "go back".

This is an excellent complaint, and it has been raised before by users (https://discussions.apple.com/thread/3192014?start=0&tst...) and bloggers (http://www.tuaw.com/2011/08/02/baffling-inconsistencies-in-o...). It's a UI inconsistency which makes no sense, is confusing for users trying to scroll, and causes problems for developers.

Regarding reverting it, the following Stack Overflow question and answer seems to have found a solution via a github plugin:

http://stackoverflow.com/q/8737709/168775

I have no idea if it works. Good luck!


The problem isn't apple or safari. Chrome copied a safari feature poorly, THAT is the problem.


Yes, Chrome's implementation is extremely buggy and is triggered by all sorts of small movements, in addition to providing terrible clues to the user about what is going on.

Safari's implementation is much less painful, is only triggered when I really want it, and provides sufficient visual clues about what's going on.

Chrome's blunder is almost enough for me to switch to Safari, which is saying a lot given my preference for Chrome otherwise.


I use Safari for this reason, and because it took forever for Google to get out a version that wasn't mostly broken on Lion.


I quite like Safari myself, save for the visible tab limit (8 or 9 on my monitor, and have to use the drop down on right hand side to get to other tabs; what year is this?!) and no favicons. Do you or anyone else happen to know of any remedies for those?


A suite of Safari extensions/hacks known as Glims[1] adds favicons to tabs among other things, not sure about allowing more than 8 or 9 tabs though.

[1]: http://machangout.com/


If it happens in ff the same as its reported to work in chrome, then they're both at fault.

Safaris implementation makes it very clear you are going to navigate back a page, and it's very easy for the user to cancel the action.


Gooogle has a broad-based commitment to breaking scrolling, from scroll bar width hacking to having multiple scrollable regions in a web page with invisible separators, to hiding and reflowing page content to cut off everything off-window. Chrome integrates with Google's web apps, to the point that you never know how to navigate a page if you use a gapped in Chrome.


Indeed; I've never really had an issue with this in Safari, but Chrome's version is very easy to trigger.


And yet the Chrome version lets you block the action, while with Safari you can't do anything about it...


You don't need to "do anything about it" in safari, as it works properly.


I use chrome, and I haven't noticed a problem. Is the issue just than it scrolls back too fast, or won't allow horizontal scrolling period?


I turned it off because it was too annoying, but what it was doing at the time was

* I'd scroll something horizontally,

* I'd reach the edge of the page

* Chrome would render the "I'm about to go back a page" arrow

* Nothing I tried would cancel the "Back" action


It's really bad for something like phpMyAdmin that does a lot of things through POST and doesn't support the back button especially well. Accidently triggering back button can wipe out the query you have made.


PHP has been a leader in breaking the web for much longer than Apple or Google.

Overuse of POST should help, though, as it lets the browser jump in to rescue you with a popup before you go Back.


I dont' think thats correct. This occurs in Firefox as well.


I've checked in Firefox 9 and Chrome 16.

Chrome is terrible compared to safari - the notification to the user is a very small barely visible arrow that gains visibility as the user scrolls further sideways.

Firefox is terrible compared to chrome, it just happens.

So as I said - Safari does something great, others copy it poorly, and "Lion breaks the web".


Then Firefox also copied poorly (wouldn’t surprise me).

It’s a bug in Firefox and Chrome, nothing else.


Yes, the author of that post wrote the GitHub plugin you're referring to.

https://github.com/micho/jQuery.preventMacBackScroll


Update (I'm the author). This is the feature I finally implemented: https://gist.github.com/1733598

It listens to see if the user scrolled recently and navigated away without clicking, and then explains her what happened and how to avoid it next time. You can dismiss that message if you like Mac's behavior, or you now know how to disable it. Easy peasy.


So maybe you should update your blog with the fact that this is NOT a case of "Lion breaks the web" but in fact a case of "Chrome and Firefox break the web because they can't /copy/ a feature without stuffing it up"


froth much?


The author claims "Lion breaks the web". This is false, and the majority of people commenting seem to simply ignore that the problem he sees is caused by third party browsers that attempt to copy a feature in the included browser, but fail to implement the usability/UX part correctly, thus causing the issue.

How is highlighting that "froth"?


Heh, well, good for him, and I hope someone finds a way to get it to work in Safari as well.


Actually, the "back" or "forward" (aka previous page, next page) behavior is controlled by a system preference for trackpads, and you can easily turn it off.


This seems like such a bad UI Choice by Apple. 1 finger scroll. 2 fingers, in-app action(forward/back), 3 fingers inter-app action, 4 fingers desktop action.

I think differently if I'm looking at a page vs, navigating, and I continue to fail to use scroll-to-navigate. If 2 fingers did forward back I would love it. The current method overloads an abstraction to the point I can't trust it.

The fact that chrome and firefox duplicated it is disappointing.


Can we just stop the horizontal scrolling on websites already? Users hate it (countless usability studies), it's ergonomically difficult to perform it consistently with a mouse, and it always seems "too clever" like someone was trying to think outside the box.


Thats a pretty ridiculous solution, the web is not limited to reading plain text documents anymore, there are a lot of applications where horizontal scrolling is perfectly suitable requirement.

Imagine drawing apps that could only handle a fixed width, or spreadsheets where you could only go as far as the F column


>the web is not limited to reading plain text documents anymore

That is true. It is also true that it is becoming more frustrating to use the web for its original purpose of reading plain text documents, and the need to scroll some pages horizontally is a symptom of that.


I thought the purpose of the web was scientific hypertext documents?


"Scientific hypertext documents" then. Point is that it is becoming more difficult to use for its original purpose.


The place this trips me up routinely is reading code on GitHub. I think they rightfully boxed the source file view to be fixed width so it doesn't blow out the rest of the layout. And it'd be inappropriate for them to wrap the code in that view. So, we have a scroll bar, which works fine, except on a trackpad on Lion.


Why is it inappropriate to wrap? It might need some language specific code for old Fortran versions but should be doable...


Have you ever tried to read wrapped code? It's pretty terrible. Obviously that's opinion, but I've never come across anyone that's disagreed. Plus, your line heights now differ, which makes navigating vertically even harder.


I find 'smart wrapping' very easy to read. (Code is wrapped and auto-indented to the current indentation level.) I wish this feature was far more prevalent and it means that I don't have to worry about manually breaking the occasional long line, the entire line still fits within a window of any size, and the code remains perfectly readable.


I don't disagree that the usual implementation of wrapped code is pretty terrible (because it goes back to the start of the line, thus spectacularly breaking the indentation-based formatting - UltraEdit is the only implementation I've seen that gets it right), but it's still the right thing to do because the alternatives are even more terrible.


I didn't think horizontal scrolling was too bad, until Apple screwed that up. For a while, I could just use Firefox, but they implemented this same behavior, but without the nice animation. So, it's even more befuddling.

It's one of the many reasons post-Lion that I've decided to just move on to another OS. I shouldn't have to adapt the way I work to some OS updates quirks.


I get truncated code all over the place, and that is worse! Clearly you do have to get the indents sane. Of course short lines are better too.


Actually, I prefer wrapping over scrolling. Sometimes my webbrowser may not be very wide, and having to scroll left and right to read every line gets annoying very quickly. This is similar to when people use code-view for quotes on HN, it makes reading a pain.


it's easy with a trackpad though. And on a touchscreen.


And a with a trackpoint.


How?

Since a trackpoint can't possibly support two-finger scroll, which is what makes scrolling both directions so easy on a trackpad, it seems like you either would need to drag the scrollbar block or hold down a key in order to scroll, two cumbersome solutions.


You just hold down the middle key and push the trackpoint. Since its right by your thumb anyways, it really isn't cumbersome at all. And I find it much easier and more precise for scrolling long distances than either trackpad or screen scrolling since I only have to hold something down, and releasing it stops the scrolling instantly.


Speaking of horizontal scrolling, I wonder what it would take to make HN verbatim text not get cut off horizontally, when viewed on mobile Safari. Anyone know if HN uses a PRE? Does mobile Safari cut off all wide text in PREs?


Its <pre><code>foo</code></pre>.

All browsers will not automatically wrap text inside pre tags, since the text inside pre is supposed to have both width and line-breaks preserved. Scroll with two fingers inside the box to view whatever has been hidden by "overflow: scroll;". If you find a site that lets pre code snippets overflow into the right sidebar and off the screen, let them know their site is unusable and to add an overflow CSS rule to make it respect smaller screen widths.


You can also use white-space: pre-wrap to allow wrapping in preformatted text.


Just as an FYI, you can drag those HN verbatim/code text elements horizontally on iOS. It wasn't obvious to me because the box doesn't have an outline.


Scrolling horizontally is particularly important when viewing horizontal timelines like Gantt charts and large tables.


"countless usability studies" References?


If references were given, they could be counted, not countless.


I agree, dammit - the entire web should be formatted so no horizontal scrolling is ever required on my 800x480 eeepc!


I know you're being facetious, but realistically the vast majority of websites can be designed to display on lower-resolution displays. It's not a fun experience to read text by scrolling in a Z pattern.


Or more to the point, browsers should always wrap text that would otherwise be cut off, regardless of what erroneous instructions they get from the website. As one writer put it, "anyone who puts up with horizontal scrolling probably has other vices as well."


Sounds like you are planning to break my browser's back functionality. If I were evaluating your site, you'd need to be pretty compelling to get to do that more than once.

There is a huge visual clue to the user that they are doing a "back" instead of a scroll (the whole page moves off to reveal the previous page behind it). It can be done accidentally, but a user will know what they have done and return. (In the static case, you have to move the page at least a quarter of the way out of the window. If you do a dynamic release it looks like less depending on how fast you are going. A "flick" could get you an accidental "back".)

Without looking at your site, I'll suggest that the bigger issue is that either "back"-"forward" isn't a no-op, or you leave a string of strange things in the back list. Both are common and both annoy users.


Not at all. The behavior in Lion (inverted scroll movement, bouncy scroll edges) encourages the user to see themselves as actually touching and directly manipulating physical objects on the screen (cf iPad/iPhone). One such resultant user-behavior is "flicking" to quickly perform the scrolling action.

If this behavior is overloaded with a navigational function, the user now may very well accidentally invoke the navigation function with a flick and lose data (HTML form data for example.)

This is a genuine usability issue that needs to be addressed by Apple.


It alerts you if you have typed stuff and try to go back


The real world metaphor of flicking versus scrolling is quite obvious (you can move a paper on your desk, but flicking it will result in that paper not being there anymore).


Certainly, but the inertial scrolling on OSX actively encourages flicking as a mechanism to scroll a long distance. A genuine feature IMO.

…except, if you happen to be in a browser and at the far left or right of a page, then a big context switch suddenly occurs and navigational action is performed, potentially losing valuable state.

The use of two finger "flicking" is unnecessarily overloaded. Apple can solve this by making 3-finger navigation the default.


You say that, but the gesture has caused problems on our site that features no horizontal scrolling and no dynamic history stuff. Witness:

    http://forum.greenfelt.net/viewtopic.php?f=2&t=1268
in which a user doesn't understand what is happening and one of the devs heroically guesses the cause of his symptom.


I found nearly all Lion's UI changes annoying, and instantly looked for ways to revert them after installing. It made me worried that Apple is getting Redmond Disease. Windows used to have a nice unified UI -- learn once, use anywhere -- before "creative" monstrosities like the new Office UI.


I don't know man. You sound like you just don't like new stuff.

That said, I am not very excited about many pieces of the Lion UI either. Inertial scrolling is amazingly useful, though. Also, I quite like the 'Ribbon' in Office. Much better discoverability than all those hundreds of menus beforehand.


I can't speak for the parent, but personally, I just don't like awful new stuff. My iMac has a 27" display and a fairly expensive set of peripherals. It's not an iPad. In their efforts to make it into one, they broke nearly everything they touched. Scrolling that can't be set up the way I want it (without third party utilities), scroll bars that hide useful information in order to save 0.04% of screen real estate, full screen windows that are almost always massive overkill, but can't really be ignored because to implement them they had to break useful functionality in Spaces. The list goes on, well, not quite forever, but the list of stupid ideas in Lion is to a first approximation, the same as the list of ideas in Lion.

The single greatest improvement I've seen in the time I've had my iMac was when the hard drive died and it came back with Snow Leopard without me having to spend the time to downgrade it myself.


See, I don't really agree with that. Yes, fullscreen is worse than useless on more than one monitors. But you don't have to use it. Fullscreening an app on a big monitor was never very useful in the first place.

But as I said, inertial scrolling is great. Spaces are great. The gestures to navigate spaces are great.

All that Versions and Autosave stuff is atrocious. But I rarely stumble into it since I mostly use Emacs.

I really like the non-existent scrollbars. I don't miss having those ugly grab-bars on every window one bit.

All things told, I'd rather have Lion than Snow Leopard, but really only by a small margin.


> But you don't have to use it.

Except that the useless button replaced one that I actually used before. Especially Finder windows are a pain to get to 'normal mode'.

> I really like the non-existent scrollbars.

The problem is that they only work when the content is obviously clipped, which is easier to ensure on the iPhone.

I had two instances where the content seemed to perfectly fit its box (Xcode4 & Recovery Partition). Took me a while to find out that there's more.

I appreciate what Lion aims for, but I could rant about its usability for hours. Almost all my bugs are duplicates, and they are all still open even after 10.7.3. :(


Fullscreening an app on a big monitor was never very useful in the first place.

We use a mac mini for a 'display wall' monitor... which it turns out sucks because OSX doesn't like you fullscreening things.

Then there's the good old 'everyone gather 'round, I want to show you how this works' type thing.

Then there's wild differences in the visual area available on a 13" screen vs 27"+

There's plenty of use for fullscreening programs.


I'd bet a million dollars Apple's gonna fix the full screen "bugs" in a future release. They probably just haven't figured a good way (and API) for that...


If inertial scrolling were actually implemented everywhere, I might be alright with it. Instead, it exists for the normal case of scrolling content, but when you go to use spaces you hit right and the content goes left. The same thing happens when you scroll to the side to go back/forward, though this is only true if you conceptually represent your current web page as the rightmost of a sequence.

I have liked that Spaces is no longer incredibly broken, but it's a bit annoying that I can't have any configuration other than a really long line full of virtual desktops.


The "make it like iOS" thing scared the hell out of me. Desktops and laptops are not the same type of device as iOS devices. Attempts to unify them will result in ugliness and functional regression.


The problem with scrolling in Lion is not so much that it's "new stuff" but rather that it breaks a convention that people (even Apple users) have been used to for decades. All of a sudden, by moving your pointer down, you scroll up. It is freaking annoying.

I don't know, I don't like most of the changes in Lion. They look like a really bad "first step" towards something that isn't there yet. Like removing your car's wheels just because you imagine that at some point people will want flying cars that work on antigravity. And then you get the inconsistent bits like making the window buttons smaller. Just... crap.


  > it breaks a convention that people (even Apple users)
  > have been used to for decades
And it took me about 40 minutes to adjust. I just told myself "you are moving content within a window, not window around the content, just like you do on iPhone" and thing everything clicked into places.


I'll make the seemingly-obvious argument that is made every time this issue comes up in Internet forums: "natural" scrolling is fine for a single user of a single computer, but if you use multiple computers -- particularly multiple OSes -- "natural" scrolling is anything but natural.

Further, it may be easy to adapt to for one person on one system, but what is the net benefit? It seems to me the sole benefit for "natural" scrolling (and most other Lion changes) is seen primarily in unifying the UI for users who own a Mac and one or more iOS devices. Otherwise, it's yet one more change forcing users to adapt. And yet, the new scrolling method is the default. Was the old way really hindering anyone?


Just like an iPhone, where you touch the screen, and there is no touchpad or mouse, so not like an iPhone at all.


If we kept on doing things by tradition though, we'd be stuck with some of the base assumptions of the first computers. Breaking changes are absolutely necessary for many kinds of changes, especially one like scrolling direction where there are only two mutually-exclusive options.

They don't always lead to improvement, but they are a requirement a large amount of the time. Why the nostalgia for what you've used for 'decades'?


All this talk of suddenly the scrolling going in a different direction reminds me of playing Halo in middle school. Everyone knew who played "inverted" to avoid picking up their controller.

I agree with you though, I bought a refurbished Macbook Pro for school this summer and I was so happy to learn refurbished machines still shipped with Snow Leopard.


The scrolling direction change was one of the few changes in Lion's UI that I actually liked; it took me an hour or two to get used to it, but I'd gotten scrolling directions confused between iPad and iPhone and the Mac before that -- especially when the iPad was propped up and facing me, like a monitor.


Agreed. I think the worst offense in my book is reopening all of my previous apps when I restart. Not only do most programs still not support it (so they don't reopen my documents etc and just sit there) often the whole point of restarting was to get myself to a nice fresh slate. With "sleep on lid close" and other such things I never actually power my computer down these days.


No, the worst is each application remembering your open windows. Particularly Preview.

Let's say you view a sensitive image in Preview, then use Cmd+Q to quit. A week later you open a new image, directly from the Finder, to show a work colleague, and it opens in Preview.

First Preview loads up the previous sensitive image (restoring the state of Preview), and afterwards your work image. Work colleauge sees sensitive image. Embarrassment all around! (Well, actually just lots of laughs, but it could have been!)

Moral of the story: always use Cmd+W to close all documents individually in Preview, and only afterwards Cmd+Q.

Bigger moral: Apple really messed this one up. Opening applications via documents in the Finder shouldn't restore previous application states, because the whole point is that you're starting with a new, specific document.


Happened to me too, I had a party invitation open in a work environment because Pages was the first app that bit me. Rotating through five NDA'd projects, I'm happy that it was as harmless as that.

Another privacy trap is how Lion's Dock menus show recent files. Given a setup where a Mac is connected to a projector (presentation, video night), this makes it fatally dangerous to quit applications. You easily end up broadcasting Secret-Client-Sales-Pitch.ppt or sensitive video filenames. Also annoying when sharing computers, where before I used to trust my friends not to dig into Recent Files menus (not something you'd do by accident).

Two of my personal anecdotes:

Winamp cleverly remembers its last playlist. I once wanted to use a close relative's open Windows laptop to play a clearly visible music file at a family gathering. I accidentally presented his most recently watched 'rather sensitive video' to everyone.

Another time, I downloaded a sex ed quiz from the App Store's Top 50. It claimed a very low rate of infection from an HIV positive mom to her baby. For the benefit of science, we verified that fact using Google. Imagine the thoughts of a CouchSurfer when she saw the "recent" search query weeks later, borrowing my iPad to look up train schedules. Glad she asked me about it.

These are all things that should not even go wrong once, so "getting used to it" does not help.


Doesn't really solve the issue but you can globally disable per-application restore in Preferences and you can use Cmd-Opt-Q to make apps forget currently open windows instead of manually closing documents.


I had no idea! Thanks. Done.

(It's under General > Restore Windows When Quitting and Re-opening Apps)

Now if only there were a way to stop Document Versions from irrevocably eating up hard drive space...


Funny, the whole point of restarting for me is either "my battery ran out and I need to boot up again after plugging in" or "I had to install software updates", and it's a total pain in the ass to lose all my tabs and stuff when that happens.

If I just wanted to close all my open applications, I would just close all my open applications.


I disagree: Having to switch to Windows from time to time (insufficient power to run Visual Studio virtualized), I love it that I can reboot into the same state I was before. Most of my applications save their view state anyway, so coming back is no problem.

Plus Lion asks you everytime if you want to save the state or not.


Plus Lion asks you everytime if you want to save the state or not.

We'd both be happy if it remembered our preference in that dialog box. It does not.


I found this: https://discussions.apple.com/message/17468919#17468919

(It looks like he's just unlocking that plist! - I haven't tried it myself as I almost never restart my macs and I'm on my iPad right now.)


Yes, I did manage to disable the reopen functionality. But I shouldn't have to mess around with .plist files to do so, IMO.


Sounds like: http://en.wikipedia.org/wiki/Baby_duck_syndrome

It doesn't make you wrong. Your preferences are your own. But the changes very well could be better for newcomers. At some point you have to abandon old conventions to improve.


I agree, in snow leopard i learned to love 2 finger universal scrolling, with the option of 3 finger navigation between pages and around a document. All of that broke in Lion.


their elastic bounce scrolling is so irritating to me that I bountied someone else's stackexchange question for some way to disable it: http://apple.stackexchange.com/questions/18187/can-you-disab...

Sadly there doesn't appear to be a system-wide solution yet, and even after months of using Lion it still grates on my nerves every time.


I installed Lion last night and had the same reaction. I wanted to make my disk show up on my desktop so I went to:

- System Preferences -> Desktop (duh!) - System Preferences -> Appearance (ok...) - Right click on desktop -> Show view options (surely it's here!)

By the time I finally found it, I had a familiar feeling of low-level frustration that I usually associate with Windows.

The new maximize feature is rather passive-aggressive as well. Instead of something sensible like making option-clicking the '+' maximize the window, they added yet another button which does a needless animation and disables the menu bar and the dock. It almost feels like a fuck-you to people who have been asking for such a feature for years.


Menu bar and dock are still there for your use, drag your mouse to the top of the window or to the bottom. When you click a different app you will be switched to a desktop with that app.


It's interesting that you mention that "it breaks the web with a non-standard behavior".

Anytime I have to scroll horizontally in a browser, it feels awkward and non-standard (especially if I have to scroll horizontal AND vertical).

Whilst it's just my preference, I'd sooner not have any web pages scroll horizontally.


On a touch device, side-scrolling feels very natural. The problem is that Apple is trying to create a consistent set of rules for devices that are inconsistent (with very good reasons) in their UI designs. A touchpad is not the same as a touchscreen.


I'm OK with either vertical or horizontal scrolling -- but not both at the same time. Everyone in my company has a minimum of a 1920x1080 screen, and most have more than one or something even larger. We should not have to scroll in more than one direction, and a layout that makes that happen is ugly.

(I also agree that mapping forward/backward to the horizontal scroll is worse than ugly: it breaks user expectations by being inconsistent.)


I'm a big fan of sideways scrolling in the right places. Apples own product nav on the website would be a great place for two fingered sideways scrolling to be implemented.

For reference: http://www.apple.com/mac/


That pane did have horizontal scrolling at one point; think they changed it ~ Lion release (since no more scrollbars)


It didn't work with swipe gestures as I recall. I remember because I was looking for a good side-scrolling implementation that used swiping about 2 years ago and thought that might have it.

Not that it matters, I'm just clarifying.


Horizontal scrolling is a pain in the rear and I hope most web developers stay away from it entirely. I can't think of any good reason any web page should ever scroll unless your monitor is smaller then 1024px.


> I can't think of any good reason any web page should ever scroll…

They give you a very good reason why the webpage should horizontally scroll: task boards. I've implemented and used task boards before and hit this exact same issue.

Horizontal scrolling is only really an issue for those users who don't have a decent device for horizontal scrolling. On trackpads and the Magic/Mighty mouses, horizontal scrolling is very natural.


What is a "task board"?

"Horizontal scrolling is only really an issue for those users who don't have a decent device for horizontal scrolling"

Then why are you developing applications that likely an issue for most people?


This is a much underrated point - side-swiping fingers is easier than vertical-swiping them.


With some web apps, you can actually lose data because it's so easy to inadvertently swipe back in Safari for Lion. This only seems to happen when the page tries to catch the unload event and throws up a "Leave or Stay" dialog. Choosing the latter does _not_ return the user to the previous page as it should, so if you were in the middle of typing something when you accidentally triggered the Back event, you've lost that work.

I've seen this happen with JIRA and Gmail. Hacker News, which does not attempt to catch a user with unsubmitted data, works just fine. You can type a comment, swipe back, then swipe forward, and your comment will still be there.


Gmail auto-saves your content, JIRA should do the same (or have an option to). The Safari back "feature" is not much worse than closing a window, browser crashes or OS crashes - stuff happens, a simple modal to prevent loss isn't adequate.

I'm not trying to diminish the complaint of the posting (which is valid) but web-apps should really capture "intents" as new stored data. If I intend open a new ticket, a new record should be automatically be created regardless, and then marked "deleted" if I abandon it (which could be reversed later).


When typing into a text box field and navigating back Safari will actually ask you if you meant to do that. It is the same behaviour when you close a tab that you've typed in, or close a window that you've typed in.


True, Safari will present a warning dialog if you have entered text and you attempt to close the current tab. It will not do this if you initiate a Back action (easily verifiable with this very site).

The latter behavior is fine in most cases, as you can initiate a Forward action and return to the page with your text. There is a specific case where this is broken, which is what I was talking about.


I’ll keep looking for a better solution to prevent this event completely in JavaScript. Apple, Google, are you reading?

I think it's pretty safe to assume that apple & google won't be providing you with a javascript api to inhibit page back & page forward.


It isnt the scrolling that "breaks the web," but the forward & back being two finger swipes -- the same as scrolling.

I've made my forward/back three finger and spaces switch to four finger, seems to work well.


I agree. Its the defaults they have. It is extremely annoying though... I personally turn off that paging feature myself as it annoys the flip out of me when I'm scrolling horizontally and because I like the rest of the defaults as they are...


Why is it just OS X Lion? Snow Leopard has horizontal-scroll to go back/forward in browsers also.

As someone who uses this gesture all the time I'd be very annoyed if a page hijacked the scroll to prevent my forward/back.


The SL gesture used three fingers; Lion instead overloads two-finger scrolling with back/forward. It's a bad move for UX since it's not immediately obvious what's going to happen when you drag two fingers to the left/right (esp. since Lion also killed scrollbars, leaving no indicator that there's content to be scrolled).


I think this "breaks the web" accusation is reactionary and short-sighted. Touch screens can't support onMouseOver; does this mean that all mobile devices "break the web?" Things change and innovation happens, and whatever the user likes best will survive. Figure out what the user wants or be left behind.

FWIW I like a lot of the UI change in Lion, natural scrolling in particular.


Do people really have this problem? To transition from scrolling to page-turning requires a significant swipe across the pad -- where scrolling would've stopped, and then you'd have started to see the 'go backward' arrow appear across the screen. I find it difficult to accidentally go backward or forward when I'm scrolling horizontally, unless I'm scrolling 'violently' left and right. Is this typical behavior for your app? (such as a user getting to the 'end' on the right, and then wishing to return to the full beginning on the left?)


He's using Chrome (see the screenshot). In my experience Chrome is much quicker to interpret a horizontal scroll as a back/forward gesture; Safari implements a good difference between them (as you describe).


I agree. I experience this problem a lot in Chrome and I've lost form data a few times from it.


Also, Safari gives progressive feedback on the action and releasing it before halfway cancels the move, whereas Chrome has it instant. IMHO if anything this is a Chrome implementation issue, not a OS X issue.


Don't bash chrome too loudly, you'll be down voted like a monkey with rabies at a kids birthday party.

Dont you know google is every single developers favourite company and they can do no wrong?

It's clearly not googles fault for copying a feature in a half-assed manner, it's apples fault for not predicting that would happen and abandoning the feature.


This is part of a much bigger evolution occurring in the UX space. This whole change is part of Apple trying to unify their UX across tablets (where "paging" with a swipe is nice) and laptops. One of the most core tenets of UX is consistency and this is an attempt to start to add some UX consistency between Mouse pointers and Gestures. Long term this consistency is a good thing. Short term its going to cause some pain.

Here's the thing its only going to get worse as more and more devices and interaction models start working their way in. My company does bespoke app design and development across a lot of emerging platforms. We're building apps that work on connected TV's, Game Consoles, and mobile devices. Right now we have a project which has an app on LG/Samsung connected tvs which need to be navigated via a traditional up/down/left/right enter remote and the LG TV "Smart Remote" (basically a Wiimote pointer - or a mouse). We're porting this app to the Xbox, on which we need to support the console constroller/Kinect Gestures and Voice. As well as parts of the design are making their way into tablet devices with gestures. One App/Design - 5 different input mechanisms.


Consistency between gestures and the mouse is a terrible goal, absolutely terrible because they're so different. The pinch to zoom and swipe to scroll works well on iOS devices but it is horrible on track pads because of the presence of a cursor. On a trackpad and a mouse you use your fingers to move a cursor, not to swipe and gesture.

Maybe it's just me, but mouse gestures, swiping and scrolling are far too easily activated. Take the worst offender in this area of all: Google. There is no UI inconsistency worse, IMHO, than scroll to zoom on Google maps. Absolutely atrocious. No matter how long I've used Google maps, I cannot seem to stop myself from using the scroll wheel/swipe/whatever to move around on the page, inadvertently zooming. Not only that, but the trackpads and Apple's "magic mouse" are impossibly sensitive, scrolling, swiping, and gesturing seemingly at random. How anyone uses these, I cannot say.

Must be me.


There's a lot of anti-sidescrolling sentiment in this thread... which I find odd considering how common place sideways gestures are on touchscreen devices.

I'd say that sideways scrolling has a big future ahead of it and in a lot of cases is better than having to press prev-next buttons.


Gestures are one thing, scrolling is another. To get a look at the immense difference in usability, check out an app like flipboard vs feedly, one uses vertical-scrolling and the other uses side-scrolling. I very much prefer the vertical scrolling, but I won't speak for everyone, just giving an example to try out.


This behavior doesn't break the web. It breaks the user experience for Lion users. It's their problem, not yours. Stop wasting your time on it. You have better things to do! Apple will fix it if it's enough of a problem.


We just ran into this problem yesterday. A box with overflow: scroll will appear un-scrollable to users. It is a great example of form over function. Apple is too far on the form part of the equation quite often. Another example are the sharp edges on laptops... it makes you wonder if "user is able to slit wrists with edge of laptop" is one of their user stories. Obviously "looks cool" has it's drawbacks as a product requirement ( and I'm a designer ).

Slicing apple with laptop video: http://www.youtube.com/watch?v=rZvMlzVxQJE


I have had to hold back from implementing features in web apps because of this behaviour, I love swiping to navigate back / forward on normal websites, but in some applications it really destroys their capability

Saying "dont scroll horizontally" is not a solution, there are a lot of solutions where scrolling horizontally is required, think of a drawing tool with a fixed width canvas, or a spreadsheet where you can only go to column F


Minor point for me: The twitter button was laid out in such a way that I thought the first sentence was "... elements like [TWITTER BUTTON] kanban views and Gantt charts" not "elements like kanban views and Gantt charts" and twitter button off to the side. Poorly cropped shot here: http://imgur.com/sbZ4t


Change back/forward to three-finger swipe. Problem solved.

It should be that way by default, hopefully that changes in an upcoming patch or 10.8.


Overloading the horizontal scroll with page navigation is a bad idea, and although hyperbolic, does, in my opinion, break the web. Apple should change the default behaviour to avoid the overload. I am developing an app using horizontal scrolling and hadn't noticed this particular issue before unfortunately :(


I just posted an update to the post with the screen we're showing (only once) to "teach how to disable this".

I believe that's the best compromise: Keeping the scroll behavior, but teaching you how to change it. http://cl.ly/1R0T1Z1n2y160C1V3V0V


I've noticed the lack of a scrollbar completely confuses me on sites that have a scrollable iframe and there's no content "cutoff" to illustrate there's more stuff to see.

I recall the startupweekend website had this issue but they seem to have redesigned around it.


Horizontal scrolling is an anti-pattern imo, if you want 0-friction horizontal panels, include a column with a massive arrow to the sides so users will know there is content being cut to the sides.


I have to agree. It also bothers me when scrolling down a page that contains a scrolling div, The scrolling stops, scrolls the contents of the div and then moves on. While logical, it's jarring.

My solution would be for OSX to only scroll the contents of a div if the scrolling action started on that div, and never to scroll the page if the scrolling gesture started on an element which responds to scrolling.

That sort of behaviour might fix the issue. Although, perhaps fwd/back swiping in OSX should only be three fingered by default.


Am I the only one who thinks it's awful that a website developer is even trying to detect and disable this feature? As a user, the interface to my OS and browser remaining consistent is much more important than disabling a single feature that may cause trouble on a single website.

In fact, I find it presumptuous that they are trying to even detect this, and then tell the user to disable it system-wide!


One of the first things I did after installing Lion was changing switching spaces/fullscreen apps to a 4-finger swipe and navigating back and forward to a 3-finger swipe. I think I mainly did it because at the time Chrome wasn't "Lion-aware" yet. Like a lot of Apple's UX decisions this is one of the many boneheaded things they like to piss their users off with on a regulary basis.


This is a user issue; It's the way your one finger swipes work on multi-touch. You'll also notice when you swipe with one finger it navigates backwards (as noted in the document).

You can adjust this in your OSX mouse settings by having it to two fingers (which is very handy). I switched mine instantly and now i'm able to navigate through various pages with two finger swipes.

This isn't OSX breaking the web...


I think many people felt Lion wasn't an improvement in speed or usability over the previous OS. Instead of respecting the differences between a desktop vs. tablet and building the absolute best system for each; it attempts to merge the two and provides a less than ideal experience. I love my Apple products but I can say after many months of using Lion it is disappointing.


I think it's multi touch gestures, not "Lion's Scrollbar". Honestly, I love the feature and use it all the time and I like the fact that I can see when I initiated it and just unscroll to sotp the action.

I don't think it's such a big deal. The only websites that have this problem are horizontal scrolling websites, and even then it's usually when I'm playing around with the mouse.


If you want to prevent this, your options are limited.

Good. Stuff breaking the web, the web should stop breaking the browser! Disabling right click menus should never have been allowed, nor should Flash overriding browser/OS hotkeys, nor should sites hiding browser chrome in new windows, nor should disabling zoom on mobiles, and nor should stopping back navigation in JS.


I was going to check out their UI but trying to sign in with twitter gives you:

Authorize Teambox to use your account?

This application will be able to: Read Tweets from your timeline. See who you follow, and follow new people. Update your profile. Post Tweets for you.

And for google:

The site teambox.com is requesting access to your Google Account for the product(s) listed below.

Google Docs Google Calendar Google Contacts Gmail

wat?


Did you read their feature list? It clearly integrates with those services as part of their value proposition.

Honestly, I don't understand all of the API hate lately. People get upset when you don't have OAuth or integrate with their existing services, and then they get upset when you DO have it and it tries to integrate with your existing services.

For a community that is supposed to support each other trying to innovate and take risks, we've lately been really negative.


You can't really call it breaking scrolling, you can still scroll back and forth, up and down. The two-finger gesture on the other hand has been reserved for back/forward.

Personally I'd take gestures for moving back and forward in history over the ability to easily scroll horizontally. I find it very unintuitive and awkward.


The rant surprised me at first because it doesn't happen on my MacBook. But sure enough, I disabled it (as well as reverting scrolling back to normal).

I also dislike that the "delete" key backs up a page. It should not be so easy to accidentally move pages, especially since it potentially messes up form data.


Oh, nonsense. Lion's gestures make the web MUCH more easy to browse, for me. All you have to do is change the forward-back gesture to three fingers, if you want it to never interfere with scrolling. This takes five seconds. To say this "breaks the web" is silly and hyperbolic.


The problem is that you cannot control what your users will do, and telling them to change a system setting is not viable.


Lots of comments are about horitzontal scrolling being a PITA. The author point is that some web-apps (trello?, plurk?) may be broken by a non-standard behaviour implemented in some browsers.

I would love to see javascript hooks to this events so you could cancel this behaviour programatically.


In Firefox, I can use alt+leftscroll and alt+rightscroll to go backwards and forwards respectively. Personally I find this works perfectly. Whenever I try to use Chrome on my laptop, I am disappointed I can't use this.


You can turn off the horizontal-scroll triggering Back/Forward in System Preferences > Trackpad > More Gestures.

Set "Swipe between pages" to anything other than "Scroll left or right with two fingers"


Doesn't event.preventDefault() cater to this case?


"Breaks the Web"? Really? Maybe you shouldn't be treating the Web as a pixel-precise platform with a single control model.

The Web is all about separation of concerns and unintended reuse; it's about browsers being able to innovate and provide new features while staying backwards-compatible with existing reasonable content.

If you want perfect control, go use Flash or Silverlight (and, thereby, die in a fire).


Breaks the web? You mean breaks your site, I am still happily browsing 99.999% of other websites.


Web works ok for me over here.

- Linux/Windows user


Anyone has a cache?


It's still up for me.


Why the downvote? It was never down, which means there was no need for a cached-version. It must've been some local error for the original poster, which was what I wanted to point out.


> Teambox 4 is our newest release, and it’s awesome.

Web developers have spent the better part of the past decade avoiding anything to do with horizontal scrolling as it's far from the best way to display information to the user in both software and hardware configurations and Apple simply went ahead and codified what had become a standard convention. And if you pick up any tablet product, regardless of manufacturer, you can confirm this.

If you're still intent on designing apps that don't follow convention while simultaneously blaming manufacturers for a poor user experience, then I have nothing to offer. The rules of the web are not set in stone and they will evolve over time as users either demand a different experience or become accustomed to and expectant of certain functionality that works for them.


We try like hell to avoid horizontal scrolling. I hate it. It's especially bad now that OS X hides scroll bars, so there is no visual indicator that you can scroll horizontally.

The issue for our application is that sometimes there's just too much data. If I have a matrix of information that is 25 columns by 100 rows, I don't have a lot of choices but to scroll horizontally. Drilldown is taken off the table by the fact that the information must be available for quick cross-reference.

Our issue is not unique. Lots of people solving business process problems face this issue, and I'm not aware of any good solutions. I'm ready and willing to be educated though. Even if an alternate solution is harder, we're not afraid of putting in the extra effort. We have a base set of requirements to meet though:

* Must accommodate variable record counts in the x and y axis

* Must make data available for quick cross-reference (moving in and out of sub-screens to compare data is not acceptable)

* Must maintain the x and y axis relationship of data; that is to say, collapsing columns or rows is fine, but shuffling is not

We experimented with an option that collapses columns, but at some point, even collapsed columns take up too much space. This means moving them out to a separate "column selection" widget, which limits the maximum number of selections and is even more confusing for users than horizontal scrolling.

Not an easy problem to solve.


> The issue for our application is that sometimes there's just too much data.

If that's the case then you have either not executed proper information architecture and design or you're trying to shoehorn a product into software for which it is not suited.

Not everything can be translated properly inside of a web browser. It's a very limited tool that has its uses, but beyond the basics it cannot compete with native applications which can take true advantage of the OS and hardware along with allowing the developer to circumvent many web conventions.


Gotta be honest, I disagree with just about everything you've said there, with the exception of one part.

"...or you're trying to shoehorn a product into software for which it is not suited."

I agree with the statement, but disagree with the context. If by software we mean the display methodology, then yes. I take issue with the assertion that this is a web browser problem though. We're basically talking about a pivot table here. Large pivot tables often require horizontal scrolling. Moving the pivot table to native software doesn't magically solve this problem.

This is an information representation problem. We're currently using a pivot table. There is probably a better solution. I'll readily admit that I don't see it, and that's my deficiency. I cannot see that this is a problem inherent to web browsers though.


Because you're looking to display it in a web browser. A PC may not be the most suitable platform. Not everything works correctly on one nor can everything be adapted to the context of a browser. It may just be that simple.


make native apps and stop doing that web bullshit then?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: