Hey folks, let's design something together! I think it will be interesting and fun to try and tackle a simple design pattern as a group.
The Premise
The design pattern we are going to tackle is a list with functions. Think of a list of five names. The primary function of this list is to click the names. The secondary function of the list is that the list needs to be manageable. There needs to be some kind of functionality to edit and delete each list item.
Let's say the design is for the web, while considering the mobile web experience. The design is not for any specific mobile platform. JavaScript is fine but not required. Let's also assume we are dealing with modern browsers here. This is about exploring a design pattern, not dealing with browser compatibility. There are ways to make things work in older browsers, don't worry about dealing with it for this.
The functionality also doesn't need to actually work, just be designed in such a way it is obvious how it would work.
Example
Here's a very simple example of what I explained above.
Why?
I think this design problem is particularly interesting. For one, it's extremely simple, yet I find it deceivingly difficult at the same time.
The genesis of the idea started at this years Front End Design Conference. My favorite talk was by Sarah Parmenter who talked about iPhone app design. In one small bit of her talk, she mentioned not repeating functional design elements. I believe the example was a list with functionality just like this. Imagine if each list item had visible icons for editing and deleting. That's a whole lot of icons on your screen. Sarah said that could be visually overwhelming and there are cleaner ways to deal with it. I wholeheartedly agree. On the iPhone, there are native gestures like swipe-to-delete that can be utilized. Unfortunately we don't have that luxury (easily anyway) on the web.
My little demo above attempts to solve the overwhelming-icon issue by only displaying a little "gear" icon representing functionality on hover. Hovering the gear displays the actual specific functions. Clunky, don't you think? There is also this:
A very valid point by the Big Z. Source tweet.
So repeating icons are bad, and hover functionality is bad. Boy that makes this harder doesn't it!
I should also mention that I'm not trying to extort you fine folks for free labor here. I have no specific need for this right now. I just think it's interesting and wanted to try a group project like this here on the blog.
Participation
If you have some ideas for how to handle this, please leave a link to your live example in the comments. Using tools like JS Bin or jsFiddle make this easy, but feel free to put your demo anywhere.
I'm going to pick one person after a week or so who I feel like did a particularly good job and declare them the winner. I have a 1 TB Time Capsule (WiFi Hard Drive Backup Thingy from Apple) I happen to not need right now, so I will send the winner that as a prize.
Time capsule supports a whole gigabyte!? :)
Fixed, thanks.
Great idea. In the applications we make we come across these lists a lot. I don’t know if there is a single method which works for every list.
If you look at 37signals products they have 2 solutions.
One where the icons hover in front of the line. This works because the controls are always near to the content (because the content is left aligned) and you can fill up the entire line without covering something when controls show up.
The other solution is having a button which toggles the controls for an entire list on and off. That’s probably what Zeldman would like best.
Twitter (and a lot of other websites) uses hover controls which appear at the end of a line.
I personally like hover controls but understand the problems with it.
Hi,
I don’t have much time at the moment, but: why not just do that the iOS way?
I mean:
1. above the list, top-right a button: “edit”
2. user clicks the button, button becomes “save”, list items have d&d handlers on the left and delete buttons on the right; if a renaming is required – they can have click-to-edit action on text
3. hit save to save everything
It’s easy and versatile solution and – when done properly – can be very pretty.
I would prefer we not take Zeldman’s advice too seriously for this assignment. In fact, I’d go so far as to say that tweet is a bit of a troll if he’s saying that it outright “FAILS.” You can’t click something without hovering it, and we’ve had this convention on the web for several years now. I think it’s extremely presumptuous to suggest that users are going to run home crying because additional functionality was revealed on hover. Besides, fallbacks like the second one Paul S. mentioned can be used as a fallback for mobile devices.
I agree with you Kevin. However in this example I believe you have to take a step back and look at the visual cues that are supposed to enable the user to modify this list. Chris has given us an explanation of what the gears do exactly. But would you have been inclined to move your mouse pointer over the gear to reveal the edit/delete menu, without knowledge of the functionality? From a UI perspective this is the right idea, but the wrong solution to the problem. I believe that there should be a stronger visual cue that really lets the user know immediately that he/she can modify this list. Either eliminate the gear and have text only(boring), or keep the gear and have text appear without having to hover over the gear, or have a hidden element behind the name slide down with options and graphics to edit/delete. The choices are endless, but I believe its how we get the user from point A to point B.
You can click something without hovering. You can tab to it and hit Enter.
I agree. Don’t take my inclusion of Zeldman’s tweet to indicate that hover functionality should be abandoned or not even attempted for this project. Just that it should be considered.
So in all reality it just needs to have a reliable fallback, as Kevin said.
Visual feedback when hovering something is only useful when you get extra information. The implementation of the hover function in the comments I’ve seen so far don’t give any extra information after the first hover. Once you hovered one of the list items, you’ve seen it all. All the other items will show the same edit/delete/… functions over and over again. Repetition?
When the user wants to interact with a list item the first thing he will do is just click it. This is when he should be given the option to view, edit or delete it.
Unless the hover gives extra information about the hovered item it’s very useless.
Is it good to have a fallback “for mobile devices”? Aren’t they the most rapidly expanding market? There are more and more desktop touchscreens on the shelves nowadays, too.
rapidly expanding market != big market
You could easily have two icons instead of the one up at the top or bottom. A pencil icon for the edit, and a X for the delete. Like Herhor said, the icons could then become the save button.
Also, instead of hover, you could just switch it to be a click to show the Edit/Delete buttons.
I agree on Kevin Sweeney
For that kind of functionality, hover is a perfect and clean solution for devices that support it. And it should not be a problem to provide fallbacks for other devices – even if this means that the edit/delete icons are always visible for them.
Not using hover because some devices don’t sopport it is like not using CSS because there are some people using ScreenReaders ;)
Not using hover because some devices don’t sopport it is like not using CSS because there are some people using ScreenReaders
Very well put!
I like the comment
“Not using hover because some devices don’t sopport it is like not using CSS because there are some people using ScreenReaders”
but I don’t think it speaks true. I mean ScreenReaders are not near as numerous as iPhone, Android, iPads, and other devices that wouldn’t make use of hover. Plus this device market is growing exponentially where the number of people that use ScreenReaders is not.
I think the point of this Group Project is to see how we can solve the problem for the future. It’s to expand and experiment with the possibilities, not try to make exceptions.
Just my two cents
I think the Google Reader method is the best way of solving this problem. I’m talking about the list of subscriptions on the left. Without hovering, it’s just a list of links. When you hover over an item, a downward-pointing arrow appears, and you click on this to get a menu for that item.
This isn’t ideal for touch devices without hover, but presumably Google have a different interface for those devices anyway. I think hover is a very useful tool – it’s not FAIL, but we should be aware that it won’t work on all devices.
I think it’s really important to strive towards having a list of actions (eg. Edit/Delete) appear based on the user selecting that data row (whether it’s a click or hover). I’ve found that depending on the CMS, you may have many more actions other than 2, so leaving your options open for a solution which easily supports additional actions is ideal.
What about having the actions appear as a tooltip bubble just above the data row. This way the actions are not far from the current position of the pointer and the data of that row is still visible.
I totally agree on Jessica, in fact I was writing a similar comment while I saw hers :)
For only 2 actions, keep it simple, X and pencil icons should do the trick and you don’t need anything else. But I disagree on the save button for each element (maybe a global save button for the entire list would be better?)
However, if the number of actions could increase, this no longer applies…
i dont really understand why everybody tries to make one version for mobile AND normal… if you have a website/app which has so fancy functionalities like inline-edit, build a second version for mobile.
for normal browsers, hover is an awesome possibility to add semi-important actions which would mess up the layout, if you really want to cover an iPhone(/similar) on such pages, make these elements always visible and build a second version which uses the iOS way — which is awesome to use with fingers, but imho would suck with mouse (swipe for deletion with finger? awesome, but with mouse? no way.)
to say something useful here:
the best way to cover both worlds without the iOS way (edit button on top) would be to double click an element to edit, singleclick to trigger the link and hold down to delete. (with promt). but you need an explanation for this behavior above the list (overlay which has to be closed with click).
Couldn’t have said it better myself.
I have some concerns about the use of double-click for additional functionality. I am prone to double clicking constantly while reading things (a habit I have for marking my place when reading), and it frustrates me no end when it forces some other functionality in there (I’m looking at you, dictionary definitions…).
Maybe if it simply acts the same as hover (showing the 2 edit options – i think that’s what you suggested), but locks the options in place so they remain after you stop hovering, and disappear when you click outside the row.
But the explaining of this functionality (if not possible in the graphic design of the rows themselves) could be very annoying to the user. If I got an overlay that I needed to close every time I visited the site I would not be returning to that site very often.
If your UI needs explaining before people can start using it, it has already failed.
Style as you want, but this has to be the easiest and most obvious solution.
http://jsbin.com/obusi3/6
Why should you have the same policy for desktop and mobile? I think there’s nothing wring with using hover when the client is a desktop browser. And when it’s a mobile browser, one click instead of hover and/or a kind of edit mode for the list is what I’d rather have as a user.
I really don’t see the problem with repeating functional design elements. We tend to hang on usability and best practices and ignore what people are used to often times is what works best. This is not a question that should be asked from a global standpoint by any means. There are (and should be) many solutions.
If I’m building an interface which has an audience of typical white-collar, Excel spreadsheet junkies I’ll build it with repeating function elements in a table-style structure. More tech-savvy, or mobile application, I’ll build in transitions that slide in elements on click or use a hover pop-up.
As with any design the consideration should be on audience, the complexity (what if there are 10 functions), and how the interface is going to be used – is it something people will spend a lot of time on, or just something the access quickly and want to fly through.
I think one of the easiest methods (which I’m surprised isn’t mentioned) is the fact that you’re already displaying the list as a list of links. Users know these are links simply because they should be styled to present that idea.
It is simply a matter of allowing the user to click on a username before bringing up an “Edit/Delete” modal dialogue.
If the link is currently linking to a profile page, just let it continue linking there, but if you have the ability to edit/delete then all displayed fields that CAN be edited should be displayed as input boxes with their values filled out and Edit/Display buttons clearly displayed.
http://jsbin.com/ayola4/2/
Quick and ugly but it gets the job done. I ran out of time to style it.
But I completely left out any delete option. Durr.
While I submitted my own solution, I like this one a lot as well.
I guess for simplicity sake, just assume that if the text input is cleared out the list item will be deleted.
At first I didn’t like this solution, but now that I’m messing with it, it’s really handy.
I know Steve Jobs would approve if this were an iPad settings screen, but I can’t stand this. Thanks for laying it out, b/c when it was mentioned before I almost thought it was a good idea. However, this strategy makes is more confusing. If you click edit, what are you editing? The first person on the list, the whole list, the widget holding the list? It’s so unclear. You could say click edit and then the person to edit, but now you’re adding clicks where the point of the design is to save time and clicks.
I’m not sure I get what you’re driving at. How is this adding more clicks? It’s a pretty simple concept that after reading your post made me realize that it is saving the user clicks.
Click edit. Edit any name in the list you want (could be just one or it could be all of them).
Click save when you’re done.
Two clicks is all you need to edit one item or 5 items. No extra clicks are even needed for a delete. Just delete the name you want to remove before your “save” click.
add delete and your set to go :)
How about using drag-and-drop functionality so you just have the Edit & Delete buttons at the bottom of the list. When dragged into Edit, you’d have it appear in a text box also at the bottom. When dragged into Delete, it would be removed from the list. You could then use hover to identify the action as it’s being edited (in green) or deleted (in red). No repeating icons and avoids using hover for functionality.
I think the problem with this method is that the user doesn’t know that they need to do that instinctively.
Great Idea Chris. I already have an Idea in my head. Going to start working on it right now!
http://uxmyths.com/post/715009009/myth-icons-enhance-usability
An interesting article about th research that has gone in to how intuitive icon-only functions actually are. I also agree that hover is perfectly acceptable if mobile is not a primary concern. Zeldman was obviously in a mobile state of mind.
Couple that with the idea of wanting to put the most destructive button the furthest away from the main point of focus, and here is what I would do:
http://www.designingdotgov.com/examples/list-with-functions/
There is a minor bug with IE7 showing the delete button, but I don’t feel like tracking it down right now.
That’s entirely too simple of a solution – therefore it is probably correct!
Damn you. That’s exactly what I was going to do, but I had to work yesterday. :(
Although, I think for mobile, those buttons could be permanent.
Yes, functionality on hover keeps it clean and collected. For this specific example you could have the name link to edit, get rid of edit on the hover options and put a header on it that says edit users.
That way 1. you have clear functionality labeled if they don’t see the hover, 2. making the hover a shortcut to deleting them with out clicking into the person and optional and 3. Not critical if they can’t use hover.
I would love to see desktop develop some standard actions for these kinds of functions. Here’s my proposed solution:
http://jsbin.com/obusi3/18
It’s interactive but as we all know users want to get where they want as fast as possible, this is kind of to much clicks and movement for simple stuff as edit an delete.
And instead of a modal window for the edit why didn’t you simply go with replacing the text with an input.
Another prob i see is that you need to see the info text to figure out how it works, and unless you make the info stick out from the rest of the design people won’t know how to use it.
This would make them think too much. “Don’t make me think” :)
I disagree here. I think the point of this exercise is thinking about ways we could introduce new actions to this kind of interface, ones that work on the desktop. That was how I approached it, anyway.
Too many icons is the problem I’m trying to solve, so adding icons is exactly how not to solve it. Just like we all sort of know that swipe to delete works on the iPhone, I’d like to think that people would get that dragging off would delete here.
As for modal window, I think that’s pretty much irrelevant, because it would depend on what needed to be edited. If it’s just the title, then inline replacement would be great, but if it’s editing their profile, say, then a modal window would be best.
Well i’m always a bit sceptic about introducing new ways for doing things on the web, people are used to a few specific ways of doing things.
I don’t have an iPhone (don’t see a purpose in it lol, all i need from a mobile device is to call and receive calls), but as far as i understood most apps do things the same way and have some design rules so user interacts in the same way with all of them, which is not the case with the web where we have too many ways of achieving some action.
When you first start iPhone i presume you are guided through the usage of it, but when you first come to a website you need to figure out things yourself, so the designers and developers need to create it as easy to understand as possible, or else they will leave.
So, i think, instead of figuring out new ways to do actions on the web, we should try to improve the ones people are already used to, such as the icons.
That’s just my opinion.
You’re right, convention is definitely a good thing. And while the iPhone experience is definitely something you have to figure out as you go, it’s more natural for new actions because the idea of multi-touch is itself a new action already.
For this specific challenge, I wanted to think through new actions, because convention seems to be creating a problem in some scenarios where icons or text links for standard application action items just aren’t working for the reasons Chris describes in his set-up.
In the right scenario (web app perhaps), creating those new default actions can be a good thing. Once your users learn them, their experience can be a lot better for it.
Yeah, new way of interacting with a web app can improve the experience and productivity if properly made, but i would still rather use simple ways they already know about.
But still if i’m not making an app just for techi users or at least young users (which is actually the same these days), i wouldn’t be so sure about using something new and unfamiliar, even if it would improve experience and productivity at a certain point (when they get the hang of it).
And sometimes not even techi user will be able to understand how it works without having a trouble doing it. A funny thing happened to me today, my mother wanted me to show her pics of her grandchild which are on my sister’s facebook account. So i asked my sister for the user and pass, logged in and there i was starting at that darn thing for 5 minutes trying to figure out how to get in the darn photo gallery of here account. Eventually i called her again and asked her for instructions, turned out i have to go to the external profile, then go to photos.
So why that happened? Well first of all i don’t use that time eating machine, social killer, stupid thing. But the main thing is that i expected to be able to see my photos from the homepage, it had all that crappy widgets and no way to access the photos, and that simple issue i had turned me even away from creating my own account.
It turned out Michelle (fake name) joining the “If you don’t join you’ll never find true love” group is more important then photos on the account. I just don’t get that.
Before i start losing it and find myself in 4 hours still writing about how facebook failed in the most important thing, which is to allow me to compete my objective efficiently (my opinion, don’t kill me facebook fans).
So, back to the new actions discussion. I would always, always, always rather have 4 icons on each item, know what they are, be one click away from my objective, then use for example an interactive drag to remove, double click to edit concept which means more time and more effort. I just took your concept as an example, no hard feelings :)
I know on Windows you can double click the file/folder title to rename it, and that you can drag a file/folder to the trashcan to delete it, but the thing is 90% (wild guess) use F2 to initiate renaming and delete to, well delete. Now we can’t really use those 2, can’t we? So the way we interact with the OS can not be used as a concept for interacting with a web app.
Probably the most boring comment, and noone will read it but what the heck. Submit comment…
Boba, I read it. :)
I approached the challenge trying to figure out the best way to achieve the result without visible icon clutter and without a “hover-to-appear” solution.
PS I don’t know anyone who uses F2 to rename a file — in fact that’s the first I’d ever heard that you can do it!
:) Hell even i didn’t have the courage to read it after i wrote it, i just submitted it.
Yeah, i always use F2, and i rarely use the mouse to select a file/folder, mostly i use the arrows or the letters, mileage on my mouse is really really low, most of it comes from playing Counter Strike online. I simply don’t like moving the mouse, maybe that’s why i wasn’t happy with the delete functionality (drag&drop). :)
Or maybe i hate mouse movement so much is because when i have to move it i don’t use a mouse, i use the touch pad or whatever it’s called on a laptop.
Ohh and are you sure about the double click to rename, i tried double clicking the title on a folder on my desktop to rename it but it kept opening the darn thing.
Boba: you have to double-click *slowly* – it’s more like “clicking twice” than “double-clicking.”
I also find keyboard commands very convenient, but I think we’re probably in the minority. People just don’t learn that way anymore – it’s all point-and-click oriented.
Ohhh, thx, got it :) Slow double click.
Buy F2 rules :)
If you really hate clicking that much, you will love my solution. It does everything, view, edit and delete with just one click! yeah you read it right, ONE CLICK! Scroll down to my comment or just go to http://jsfiddle.net/7y8Bx/1/
Hey, nice solution! I didn’t see it when I made mine which is pretty much the same as yours…
http://jsbin.com/obusi3/79
DOUBLE CLICK = EDIT
turns the text into an editable, prepopulated text input… “blur” to accept changes. (Would think about using ESC to cancel out of edit mode keeping it the way is was before entering)
PRESS & DRAG OFF PARENT = DELETE
creates a cloned drag instance that if moved outside of the bounds of the parent (denoted by the red border), the will be removed from the list. (Would think about using ESC here too to cancel the dragging)
http://css-tricks.com/group-design-project-list-with-functions/#comment-83272
I choose this.
with a touch screen must be the best option.
+10
I have put up a little example.
http://jsbin.com/obusi3/20
Icons with 0.2 opacity, which turn to 1 when the list item is hovered.
1) Yes, Sarah said repeating icons are a NO NO, but they’re barely visible (but still visible, so user can figure it out), so they are not visually overwhelming.
2) Zeldman should be happy with this, no hover is needed to see the icons.
Don’t see nothing wrong with this one, it’s simple and effective.
I like that. I’d just like to see actions for the simple, common tasks so that the right side is free for icons for the more specific tasks of the site or application.
Thanks.
Well in my opinion, if an app includes the options for delete and edit they will be equally as important as those specific tasks, so they should be placed in the same area, and since the icons are small that shouldn’t be a prob.
Now, in case an option can’t be easily described using a small icon like that, the alt tag will help them figure it out, or since those alt tag tooltips are ugly (in my opinion) a nice little jQuery tooltip would get the job done.
this is just my two cents.
1) opaque’d icons generally signify non-availibility of actions in a situation where they would generally be present.
2) also having the icons non-opaqued when hovered will be distracting, particular in a scenario in using touch based devices where you swipe up/down to scroll the list.
Hi Chris!
Here is my revision.
Simple but effective imho.
http://jsbin.com/obusi3/23/
Whoa, just clicking on a list item in “Modify” deletes it! Is that intentional? Seems like a dangerous unexpected action, otherwise I like it.
Wow, this is pretty great, maybe because of the effect. The discoverability is good and it doesn’t rely on hover.
http://jsbin.com/obusi3/21/
Why have the options on every single element? I have made a single menu that activates and positions itself when the person clicks on the list item. So that the menu will work for every element I am storing the index of the active LI, but this could be some other more useful identifier for the list item.
as far as my experience this is as close to expected, and a simple solution except, no matter what zeldman says,(touch interfaces need different solutons) it would be more easily discovered if on hover, not click and the buttons were within the list item
David, the expectation is that for the edit menu, at least, there will be content relevant to that list item only. You could load that content into the one container via AJAX, or you could have it on each li. For a small example like this it probably makes very little difference, since the point is about interface design.
No where in the description does it suggest that the edit menu would be custom per element; as such, I think my reasoning stands.
Thanks for your comments.
It was just proof of concept… buggy ;)
Here is another idea (double-click a row):
http://jsbin.com/obusi3/26
What I don’t like about your solution is that it requires an additional (and effectively unuseful) click from the user. IMHO, it is annoying for the user, expecially if he/she needs to edit a few items in a row (like click, click edit, edit, return to the page, reclic, reclick edit, and so on).
The solution I like the best is the one with opacity on over.
Very stimulating topic and discussion :)
good idea, but that won’t work an an iPhone… to be exact, it doesn’t work on an iPhone, just checked
Very interesting solution Jay.
One issue i see is that you separated the icons too much, i guess the best place for them is as closest to the modify button as possible (less movement is better), so in this example they should both be on the right side.
Another issue i see here is that you will need to make the modify link stand out (as you did in this example) so it gets noticed, which puts the modifying function in the first place, and if the users main objective wasn’t to modify then it will probably distract him from his main objective.
You’re probably going to get a lot of over-engineered solutions. Here’s a pure CSS solution:
http://jsbin.com/edibe4
In case i misunderstood the whole reason for this, then i want to say sorry in advance.
As i understood, the concept should be made in such a way that user will figure out that you can edit/delete those items without the need to hover over it to figure out it’s editable, and your concept requires the hover.
“Let’s say the design is for the web, while considering the mobile web experience.”
Mobile should not get the same experience/code, IMO. The mobile version could get a single right-sided icon (like Chris’ gear icon), which when touched/clicked, would take you to a separate screen where you can edit or delete the entry on the same page. When you save or delete the entry, you’re returned to the list page.
Here’s a dual version, webkit browsers get the faux mobile, FF and IE get the desktop:
http://jsbin.com/eteme4
hover is way more easily ‘discovered’ than click…think about it. Many solutions tendered show NO evidence of individual editability. at leas on hover you find if your looking easily. the link ‘underline’ suggests an action
Yeah. Nice, simple expected, discoverable, usable
Love all the different ideas at approaching a project list with the edit and delete functions, and found some sort of instruction to the user definitely helps. LT
I’ve always liked the Mac-style hold the mouse button for the context menu idea, so here’s my attempt.
http://jsbin.com/ewiti3/3
Just click and hold on a row and the “Edit” and “Delete” buttons show up. It’s a bit hacky, but you get the idea. I’ve tested in Chrome and Mobile Safari.
It may be non-obvious, but if you built a whole app with that paradigm, it might just work out.
I was gonna write something similar, but generally, that’s the idea…
Ahm, this one isn’t very usable in my opinion.
I think its very weird to expect a user to know to hold down the mouse-button on an item. For one, there is no indication whatshowever that your list is editable, not to mention that one needs to keep it pressed for a period of time.
And the same as with others, this one requires two click actions in order to get something done.
how about do what apple does and have a separate button that takes you into edit mode. Then you can edit text by clicking on it and it turns into a textbox (contenteditable maybe?), you can sort by drag’n'drop and delete by pressing a close button. the reason that repeating icons are bad is because it’s distracting, if they only appear when the user is focusing on the list, then it’s not a problem.
This issue is very interesting and I really enjoyed trying to solve it. I got to the solution that works this way:
- in case of hover enabled device, it shows the tools for each item on hover, by CSS. classics.
- in javascript I implemented simple showing/hiding of the tools on click of the list item for touch devices.
- after that, I try to detect hover on body element and in case it fires, the click event for list item is unbound
- I also added a small “help” for touch devices’ users. it says something like “Click the list item for tools” and will be hidden on body hover. this part could be most likely done more elegant but I just wanted to show the principle.
I didn’t polish the tools part or implemented deleting of items from list or editing the names inline since I guess that’s not the actual part of the problem. You can take a look http://jsbin.com/obusi3/36/
this is my own, so ultilize css
simple
http://jsbin.com/obusi3/44/edit
sorry
http://jsbin.com/obusi3/47
Seriously, i would do it with some JS and jQuery…
http://jsbin.com/obusi3/54
works with the iPhone to, and looks nice
i just think that’s the obvious way to do it…
Could be better but… best I could do in a few min. :D
http://jsbin.com/obusi3/57/
Like it. Love your inline edit code.
Entry @ http://sandbox.syntaxmonster.net/uilist/index.html
I’ve stuck some notes on the stuff used here on that page as I actually went to my other half and got her opinion as someone who doesn’t do anything with computers! She definitely did it differently to how I would, but looking at it now. I like the simplistic design of it.
this one is nice too.
i’ll put the add button at the bottom.
(or to the right, but only if INSERT the new row between 2 rows.)
and already tested with one neutral human [(A non technical-orientated-being)]
I do the same, but is not ideal for me, ‘cos I work one week in a proyect and then when I show to her, is like, “uhm, is pretty”.
Here’s what I came up with after reading this:
http://jsbin.com/obusi3/60
A simple edit mode which turns all the list items to text-boxes and shows a delete icon next to each row. Of course in reality it doesn’t handle where the link is going but that could just be a second text-box.
When your finished editing you can just toggle edit mode off and you’re done!
Kinda like this.
Nice one, but it would be better if the gear icon changed to “save”. That way it’s clear how to save the edited data.
my question is, why would you make for example PC user click once more just to show the editing options. she has mouse so we’d better use that fact and therefore hover events.
Here is my try!
I think that the discussion is focused in to hover or not to hover and almost everybody forgot the simplest UI element: checkboxes!
http://jsbin.com/udama4
Interesting take, Marcelo, although I feel radio boxes would be a better choice (or a single-select checkbox list). This will allow you to avoid the use-case of having to edit multiple items at once.
I think that’s the point – to be able to edit or delete as many or few.
For a small list though, seems kinda overkill on steps required to make a change.
Thanks for the feedback! Like Cory says, that’s the point :)
And Cory, it’s one more step, but is a much more intuitive and common way to edit than other options like double-click or hover. I think is the only method I saw where the user can edit or delete multiple items at once.
Boy, threaded comments make it kind of hard to follow a discussion, don’t they?
Well threaded comments are made to make discussion easier to follow :) Maybe a little hide link to hide all threaded comments would be of help.
But i noticed a little bug here, you see that last comment (i made it a long time ago as a reply on a comment), it seems something went bad and now it’s the last comment all the time.
Here’s my try at what seems intuitive to me:
http://jsbin.com/obusi3/79
DOUBLE CLICK = EDIT
turns the text into an editable, prepopulated text input… “blur” to accept changes. (Would think about using ESC to cancel out of edit mode keeping it the way is was before entering)
PRESS & DRAG OFF PARENT = DELETE
creates a cloned drag instance that if moved outside of the bounds of the parent (denoted by the red border), the will be removed from the list. (Would think about using ESC here too to cancel the dragging)
nice implimentation
I have begun a small demo that I thought I would share. At this point, it’s very top level and really only shows how to display the options. I’ll be beefing this up more to show the individual interactions for editing and deleting list items.
I also think that “Add” functionality might be something to consider for this as well, so I’ll be including that also. :)
http://www.reconstitute.net/demos/css-tricks/editable-lists/index.html
Hi Kevin
Like the mobile version a lot! though i expected a new menu sliding out pressing the text/arrow. But it’s very clear what to do. not an issue.
Personally, i believe that yes, icons/text should be visible ( your normal/small version) without hovering and be clearer when hovered. No clicks. Clicks are for actions, not for making actions only available.
I think this is the most complete example and flow i’d go for right now.
thanks!
Bah. Everyone getting to this competition before me. :)
Well played Kevin. I think you’ll win.
http://jsbin.com/obusi3/83/
My solution is this: click to edit – http://css3art.dvp.sk/edit_list/ – using pure CSS.
Do you differentiate between a click on the text (to view to items details) and somewhere else to edit?
This problem can by solved with other design techniques. This was not main problem of article (click on text).