Context :OnAbstraction

I'm interested in abstraction and, in design and the building of systems, how we move from concrete to abstract.

In DoesAbstractionScale I wondered if we expected to keep things abstract even at a grand scale.

In UsersFindAbstractionHard I thought about how users find abstraction difficult.

A lot of this is made explicit in a discussion with AdrianHoward in AnEasyInterface where I say that interfaces need to support the growth of a user's expertise and abstraction to higher level thinking.

I praise wiki's CategoryCategory convention for being a bottom-up method of abstraction. And generally praise wiki's extremely fluid mix of concrete text and abstract / higher level control functions. (OnWiki, WikiAsUltimateUserConfigurableApplication)

The old SpreadSheet $ notation which allowed you to to turn an absolute address into a relative one is an interesting case of generalization.

: It's the other way round! Absolute cell refs are preceded by a $ so they don't change when the formula is copied elsewhere on the sheet. So in this context "generalisation" is the default mode, as many naive developers have been surprised to discover.

:: OK, thanks. I misremembered. – PhilJones

SmallTalk had a great feature which remembered the last manual text replacement you made, and let you repeat it. I wonder if any editors continue with this?

Interesting that Adobe's new Thermo seems to help designers generalize multi-layer mockup drawings to actual user interfaces :,

: is there a difference between grown or incrementally arrived at abstractions like this and those designed as abstractions in the first case?