DELETE i1.*
FROM items i1
LEFT JOIN
(
SELECT id
FROM items ii
ORDER BY
id DESC
LIMIT 20
) i2
ON i1.id = i2.id
WHERE i2.id IS NULL
«Не заставляйте меня думать!», Название и книга чрезвычайно полезны при разработке пользовательского интерфейса. Вот некоторые из моих любимых разделов:
Пользовательские интерфейсы часто предназначены для разработчиков программного обеспечения или тех же технически подкованных людей, а не только для непрофессионалов. Если у вас есть такой интерфейс, вы можете получить выгоду как от пользователя, так и от автора.
Этот опыт даст вам понимание того, как писать лучшие интерфейсы, некоторые из которых могут быть полезны как непрофессионалам, так и техническим специалистам. Однако будьте осторожны; не каждая функция, которая хороша для разработчиков, хороша для не разработчиков. Шаги 2 и 3 предназначены для того, чтобы сформировать у вас мышление, не являющееся разработчиками, и помочь вам в большинстве случаев; на «последней миле» ничто не заменит реального пользователя.
Быстрый поиск в Google показал следующее:
Пойдите и прочтите Контроль над окружающей средой делает вас счастливым , а затем прочтите Не заставляйте меня думать! Здравый смысл в удобстве веб-использования .
Будьте проще, не игнорируйте соглашения и имитируйте сайты / программы, которые работают хорошо.
Я всегда пытаюсь запомнить «7 элементов (максимум) на страницу / форму». Он возник на моем уроке графического интерфейса в колледже (7 или 8 лет назад).
Мне вспоминается веб-комикс, где был дизайн Apple, за которым следовал дизайн Google (оба очень простые), а затем «наш» дизайн с десятками элементов, засоряющих форму.
В произвольном порядке (и из моей головы):
Если вы читаете Азимова, вы обнаружите, что это легко запомнить: интерфейс не должен в результате действия или бездействия позволять непреднамеренно разрушать работу пользователя .
Это не совсем соответствует вашим требованиям к маркированному списку, но я все же рекомендую прочитать Суть отличного пользовательского интерфейса - Обзор , Почему так сложно достичь отличного пользовательского интерфейса? , Отличный интерфейс, четкость и актуальность информации , Великий пользователь Интерфейсы, четкость и параллельная информация и Отличный интерфейс: четкость и цвет на уровне представления .
Он также рассказывает о некоторых из тех же концепций в dnrTV эпизоды Марк Миллер о науке об отличном пользовательском опыте, часть 1 и , часть 2 .
Nielsen предоставляет это список - с которым я в целом согласен
Джоэл Спольски (соавтор SO :)) написал книгу «Дизайн пользовательского интерфейса для программистов» , а также серию статей на своем веб-сайте. (Joel On Software), относящуюся к этой книге.
Еще один отличный ресурс для начала - веб-сайт Джейкоба Нильсена .
Не прерывать пользователя всплывающими диалоговыми окнами. Покажите обратную связь, которую пользователь может увидеть, и предоставьте им способ решения проблемы, когда они захотят.
«Принцип наименьшего удивления».
Применить разумные значения по умолчанию
Показать реакцию на вводимые пользователем данные в полсекунды.
Не забывайте о доступности клавиатуры и, в более общем плане, о доступности для людей с ослабленным зрением (вот почему очень много крутых интерфейсов на самом деле - отстой).
Кроме того, Алан Купер (из Известность Visual Basic) гласила: «Не ставьте might , прежде чем will », что означает, что вы не должны облегчать людям выполнение того, что они могли делать, затрудняя им выполнение действий, которые они будут делать с вашим программным обеспечением.