Patent granted – US20140317556A1

During my time at Jive Software, an engineer and I were working on a UI for our search experience on iPad. Because Jive's APIs did not allow for unified results between people, content and groups, we decided to create a view where the search results UI would be first presented as unified collection of cards, but each set of results could still have an infinite number of results.

We iterated on the user interactions many times so it felt natural. Eventually, the design made it's way to some of the Executive Staff and they decided they wanted to try and patent it. The engineer and I worked with Jive's law firm to help write and sepc the patent. The patent was eventually granted in October of 2014.

🏛  View Patent US20140317556A1

Patent Hero.jpg


A method and a device are disclosed including a parallax Graphical User Interface (GUI) software component configured to allow automatic, parallax-type, smooth movement of multiple information panels out of user's view when focus is placed on one of the multiple information panels and the focus information panel is scrolled. When the user scrolls in the opposite direction, the non-focus panels reappear smoothly and automatically and the original user view before scrolling is restored. In various embodiments, search results may be categorized and organized into separate windows, each independently scrollable, which may be viewed using the parallax GUI. In various embodiments, a number of documents and/or software applications used to open such documents, may be registered in a parallax list to allow navigation using the parallax GUI.

Quartz Composer Prototype

When the user decides to dive deeper into a set of search results, they simply start scrolling inside the respective 'panel', the other panels would gracefully slide out of view (or back into view to results to the search results).

Coded prototype

For the development, we decided to make a very focused working prototype of the core interactions in a separate project so we could easily iterate making sure the transitions felt natural and worked smoothly on the device before bringing it into the main project.