Hacker News new | past | comments | ask | show | jobs | submit login
"I decided to add "inertial" scrolling, where you gave the image a push..." (folklore.org)
74 points by vark on April 20, 2010 | hide | past | favorite | 18 comments



the switcher (http://www.folklore.org/StoryView.py?project=Macintosh&s...) story is also pretty interesting. i can't believe apple paid that much for what seems like a (relatively) small utility.


Great story. My favorite part is the contrast between Gates' and Jobs' negotiating styles. Gates: use your pride to set a lowball effort/value frame. Jobs: imply use of Apple proprietary information, leverage reputation of stubborness.

Hertzfeld's tactic is nice, too: request a royalty for the unbundled version that Apple "would never do" -- but did.


I like the note from Bill Gates as well. A gentle reminder that behind the caricatures we all create for celebrities there are real people with depth ... some of whom spend too much time playing maze games.


I hadn't zoomed the letter until your reply. Looks like the early Mac's Geneva font, printed on an ImageWriter. :)


"The program is only half finished, and if I don't think you're paying me fairly, I won't be motivated to finish it."

Wow, this guy made 150k while he was about to make 750k from the Thunderscan stuff? Incredible stories.


Based on his royalty agreement ($7.50 per unit) and the stated total sales of around 100,000 units, he made $750,000 in royalties. Nice! Sorta wish I got royalties for my projects....


And those are 1987 dollars. That's roughly $1.4 million today.


Do people still do royalty based contracts? I wish they did.


We get royalty money in the games industry. Of course it depends on the project deal, but often once the game has sold a certain number of units royalty checks start coming in. For very successful games these checks can be quite large.


i've had a couple proposals for projects that offered a perpetual royalty instead of upfront payment. i had to weigh the cost of development against the feasibility of the product "taking off" or just dying on the table and earning nothing.


Is there a context behind the posting? Are we all saying this is prior art for some UI patent somewhere?


No context in particular :) Just an observation of how the "inertial scrolling" people are raving about on the new iDevices has a history deeply rooted in Mac folklore (Andy Hertzfeld was part of the original Mac team).

Also note mention of hysteresis and Floyd-Steinberg Dithering which are worth reading up on.


Interesting read. But I was expecting it to end with 'when Steve Jobs found out about the device, he added a new clause to the ImageWriter warranty forbidding the use of 3rd party attachments, and that was that.' ;)


FWIW, I implemented inertial scrolling (or flinging) on the timelines at http://www.preceden.com. You're welcome to check out the JavaScript if you're interested in implementing something similar.

It was exciting to set up... really brings you back to high school pyhsics.


Hah, funny you should mention that. I noticed it when I stumbled across Preceden a month or two back, but it's always seemed a bit buggy, and put me off trying out the site. In Firefox & Chrome, if you drag the timeline to one side and hold in place for a bit, then release, it scrolls as if I hadn't held it stationary.


My friend Mike's essay on making things stop: http://stereopsis.com/stopping/ (I've been meaning to port it to JS, but haven't yet.)


Does anybody have any pointers on how to use hysteresis to make inertial scrolling work better? It was mentioned in the article but I don't see how to make it work.


I'm guessing he means something like "when the user clicks, drags, and releases something, keep scrolling at the rate the mouse was moving at the release point only if the rate is above some threshold." It'd be annoying if the mouse had to be absolutely still when you let it go, most people don't have the fine motor control for that.




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

Search: