The role of software in cultural heritage issues: Types, user needs and design guidelines based on principles of interaction | IEEE Conference Publication | IEEE Xplore