{
  "patent_number": "US 7844915",
  "country": "US",
  "title": "How Touchscreens Handle Scrolling and Rubber-Band Effects",
  "original_title": "Application programming interfaces for scrolling operations",
  "summary": "This patent describes the software logic that allows touchscreens to distinguish between simple scrolling and multi-finger gestures, while also enabling the signature 'rubber-band' bounce effect when you reach the end of a page.",
  "what_it_does": "The patent defines a system that interprets touch inputs on a screen to decide whether a user wants to scroll a page or perform a gesture like zooming. It specifically creates an event object that distinguishes between a single touch point (scrolling) and two or more touch points (gestures like pinching). When scrolling reaches the edge of a document, the patent claims a 'rubber-banding' mechanism that allows the content to stretch slightly and then snap back, providing visual feedback that the end of the content has been reached. This logic is handled through an application programming interface (API) that standardizes how software applications react to these specific touch interactions.",
  "what_it_does_not_cover": [
    "Does not cover the physical hardware of the touchscreen itself.",
    "Does not cover non-touch input methods like mouse wheels or trackpads.",
    "Does not cover gestures that do not involve scaling or rotating, such as simple single-tap selection.",
    "Does not cover the specific visual design or color of the scroll indicators."
  ],
  "filed": "2007-01-07",
  "granted": "2010-11-30",
  "expires": "2027-01-07",
  "status": "active",
  "holder": "Apple Inc",
  "holder_url": "https://patentbrief.org/company/apple-inc",
  "inventors": [
    {
      "name": "Andrew Platzer",
      "url": "https://patentbrief.org/inventor/andrew-platzer"
    },
    {
      "name": "Scott Herz",
      "url": "https://patentbrief.org/inventor/scott-herz"
    }
  ],
  "times_cited": 132,
  "tags": [
    "consumer_electronics",
    "software",
    "ai_ml"
  ],
  "abstract": "At least certain embodiments of the present disclosure include an environment with user interface software interacting with a software application. A method for operating through an application programming interface (API) in this environment includes transferring a set bounce call. The method further includes setting at least one of maximum and minimum bounce values. The set bounce call causes a bounce of a scrolled region in an opposite direction of a scroll based on a region past an edge of the scrolled region being visible in a display region at the end of the scroll.",
  "url": "https://patentbrief.org/patent/us/7844915/application-programming-interfaces-for-scrolling-operations",
  "markdown_url": "https://patentbrief.org/patent/us/7844915/application-programming-interfaces-for-scrolling-operations/md",
  "google_patents_url": "https://patents.google.com/patent/US7844915",
  "relatedPatents": [
    {
      "patentNumber": "7469381",
      "countryCode": "US",
      "title": "How Touchscreens Show and Snap Back When You Scroll Past an Edge",
      "url": "https://patentbrief.org/patent/us/7469381/iphone-rubberbanding"
    },
    {
      "patentNumber": "8683378",
      "countryCode": "US",
      "title": "How Smartphones Switch Between Slow and Fast Scrolling",
      "url": "https://patentbrief.org/patent/us/8683378/scrolling-techniques-for-user-interfaces"
    },
    {
      "patentNumber": "7479949",
      "countryCode": "US",
      "title": "How Touchscreens Understand Your Finger Swipes and Scrolls",
      "url": "https://patentbrief.org/patent/us/7479949/iphone-multi-touch"
    },
    {
      "patentNumber": "8429565",
      "countryCode": "US",
      "title": "How Touchscreen Gestures Use Physics to Feel Real",
      "url": "https://patentbrief.org/patent/us/8429565/windows-8-charms-bar"
    },
    {
      "patentNumber": "8448084",
      "countryCode": "US",
      "title": "How Pull-to-Refresh Works on Your Smartphone",
      "url": "https://patentbrief.org/patent/us/8448084/pull-to-refresh-gesture"
    }
  ]
}