Yes, I’m actualy going to be productive and suggest fixings instead of just complaining! There are some things we all have heard alot about already, so I’ll try to cover things that bother me and haven’t been brought up all that much.
Interface.
Problem: Default interface color sucks. It does, it’s grey, that’s gloomy and gives an overal… dark… feeling of SL. I’m sure a dark grey background is great for people used to console windows and sports cars, but SL is neither. While it may look great as a style, when dealing with SL daily that color scheme can get to people on a subconscious level, and if you don’t believe that, then go and look up the huge pile of research on color and what it does to the mind that has been built up over the years.
Solution: Torley had some great ideas on recoloring the interface, unfortunately my efforts went… well… I didn’t do it, I’ve no excuse other than I’ve not felt like messing with it, sorry Torley. But yes, the overall fix would be to lighten the interface. A nice white or light grey background or maybe even some pasdel(sp) color (Ewww, I know, right? But Google uses pasdels and no one bitches about that, and if they do they should shut up.). What colors are pleasent on the mind? (well, most minds) Shades of non-intensive blues, earthy greens, light pinks (think salmon), these are non-threatening colors. What colors to avoid? Red (causes people to become intense and arguementive), black, bright deep yellow (double-yellow lines on the road kinda yellow), those are colors that generaly have a negative effect. Oh and actualy expanding on the skinning capabilities we never got would be great for added value.
Building.
Problem: The building gap. Users having to open the Edit menu and dealing with a complicated interface (even without the “More >>” expanded, it’s still pretty complicated and could be better) just to move a peice of furniture. Arrows and axieeee(sp), red green blue, grids, and all that fun stuff. The Edit menu is… uh… “ok” for dedicated builders… I want to say great, but honestly they could be better for builders too… anyway… for users who just want to move a peice of furniture or a lamp or an item, it’s more than they need to deal with (and more than what alot of people want to deal with).
Solution: There are two good examples I can give on how to simplify these things. One is the There.com model, where your avatar “picks up” the item it wishes to move, and using “the force” the item will move with the avatar as the user moves the avatar to move the item, think of it like the Crane Game with the claw and all that, but with avatars and much easier. The problem with the There.com model is.. it seems like alot of movement for results that seems so small. Like, say I want to rotate a lamp, so my avatar picks it up and I have to rotate my avatar around in a circle and place the lamp back down in the same spot… I think, unless they changed it or I missed something. It leads you into awkward movements and the camera angle on it can be hard to get a barring on where exactly this lamp is going.
The other example is Animal Crossing for the Nintendo DS. In it, you have a house and items, now say I want to move a couch, I put my character infront of the couch and using the d(irectional)-pad I move forward and my character “pushes” the couch, or I can move backward and my character will “pull” the couch, or I can press left and my character will rotate the couch left. This is a little more intuitive than the There.com model because we all know how to push and pull things. However the shortcoming of this is that if I want to move the couch to the Left, I have to let go of the couch then run around to it’s side, then push it to the left from the side. While that isn’t horrible it is an extra movement that could perhaps be done without.
While the AC model works great for furniture, if you want to move or rotate a lamp, thats a bit harder, or impossible all together. Both methods also deal with collision differently. There.com will have the objects go over other objects automaticly, so if you step too much forward, instead of the table being next to the couch, it may be on top of it. AC on the other hand, blocks any further movement, push the table next to the couch, and try to push it anymore forward, it won’t budge.
SL could benefit with a combination of the two… It’s four in the morning and I’m going to take a wild shot at a method that could be used, so if theres any obvious flaws I miss, go easy on me. Say you click, or right click, an object and select from the pie menu or whatever a “Move This…” option, (doing so shifts your camera to focus on the object, you get a UI overlay somewhere unobtrusive in a corner or something with camera buttons to zoom out a bit more, move the camera to the left, right, pivot down, etc, with arrows symbolizing the movement ?), your movement keys now control where the object goes, left right back forward up down, we have all those already, they just now lock to the object, you would also have a UI somewhere that also moves the object if mouse clicking is preferred (like the camera controls), a “Place Here…” button at the top or somewhere visible but not blocking the view would unlock the keys (and return the camera to it’s previous view ?). Rotation could be done perhaps with the usual CTRL things toggling from direction controls to rotation controls, a UI for this could also exist.
Now, problems that arise, how to handle movement of the object. The movement would have to be very fluid and allow for the finest type of inching. What I mean is… more like There.com’s and less like SL’s sometimes-horrible grid snapping. Perhaps toggling the measurement scale with a keypress, say, with just pressing a key once, an object will move, half an inch, however press Shift-Movementkeys and it moves an inch at a time. The longer the user holds down the key, the further the measurement should be, i.e. if I hold down the arrow key for three seconds, the object should move something like 12 inches, if I hold down the arrow key with shift pressed for three seconds, move the object like 3 feet, if I tap the arrow key, move it half an inch, etc. Associating the length of a keypress with the distance you wish the object to go seems intuitive to me.
Snap-to-object could be handy. Say I want a table next to a couch, simply enter into the moving mode, tap the arrow a key a few times and my table snaps into place, along the floor and along the couch, with the table snapping to the nearest objects it collided with. I use collided in a kind of “entered bounding box” type way, not in a physical type way. The problem comes when you have complicated shapes I guess, I honestly can’t give a solution for that as it goes into realms unknown to me. But the simple idea behind the snap-to-object is that when two objects “collide” they find each others edge and line up against it directly, like magnets. The problem is if I want one object in another for some crazy reason. The best way to do this then would be to someway toggle the snapping through keypress or UI cue, but at the same time you don’t want too many toggles because then it becomes complicated. You could say that in this Move mode, objects should not intersect, but should always instead snap when you “collide” two together (and unsnap as soon as you move it appart), and that to have one object in another, you have to use Edit mode. This would be fine with me.
The goal of this isn’t to replace the Edit menu, or Edit Mode, or our current building system. But rather to provide a simpler interface for those who don’t want to deal with all the crazy numbers and vectors and rotations and just want to move their damn table.
Chatting.
Problem: “Who the hell is talking?!”. As SL becomes faster and can handle larger and larger crowds a problem arises of telling who says what. Even in small groups of Four it can be easy to lose track (if they’re new people you aren’t aquinted with). The chat bubbles we have in SL suck and conversation groups like There.com wouldn’t work and suck for large groups (by large I mean Town Hall size). Name tags become messy jumbles, and they distract from the viewpoint and the chat window as Ventrella has pointed out, at the bottom of the screen, also takes you away from your landscape.
Solution: Ok, so I can’t come up with an idea to get rid of the whole chat history thing and in fact my solution to the problem incorporates it. So, what if (how all science starts: what if) when someone spoke, there was a highlight around them, like when you’re sellecting an object, it may last for a certain ammount of time, or it may last untill someone else says something. With the highlight around their avatar, their text is also highlighted in the Chat History to differentiate it from anyone elses. If the person is not in your view, say, behind you, an arrow of the same highlight color with their name above it appears at a side of your screen that they are closest too, if you left click the arrow, the camera will pan around (maintaining the zoom level you currently have, not zooming in closer or out farther) so that the person is within your view, and then the person is highlighted as normal… if you RIGHT click the arrow, the arrow simply goes away, either way their text in the Chat History is highlighted correctly. If the person flys away, or logs out or dissapears, the arrow fades away. The arrow may also fade away on a time limit, and if you have previously right-clicked the arrow (showing that you don’t really care for the person?), the arrow will fade away slightly faster than it normaly would. Short review before going on: The camera sticks, it doesn’t move unless the user cues it too (by clicking an arrow if the person is out of view), the person who typed the last message, their avatar is highlighted along with their text in the Chat History, this is so that you can instantly see in a crowd of people (or even with just a few new friends) who said what, kinda like the old chat particles but more involved.
Now, moving forward with this and incorporating the Chat History more so its not just a text box (which it feels like right now, with no “special features” not even freaking url linking). Lets say you miss something in a conversation, so you scroll through the chat history, you see someone said something, someone you don’t know and you want to see who it is. You see their name in the Chat History, but you want to see their avatar, so while in Chat History you click (or right click) their name, it instantly highlights their text and their avatar (if they’re still around). This way if you missed something in a meeting, you can click the chat and see who said what not just by names in the Chat History, but by visualy connecting the name with the avatar.
A step further slightly in a different direction. Currently, you can have an over-the-shoulder camera view focused on the person who last spoke by hitting Tab (as long as you aren’t sitting, stupid bugs). I personaly like this feature, while it is not good for huge groups, it’s nice for private conversations. I’d like to take my above mentioned, and apply it in the same way this tab works, but have it do it automaticly. So instead of me having to hit tab each time I want to focus on the last person that spoke, the camera does it automaticly, while highlighting them and their chat (untill I hit Tab again, then it stops auto-focusing, but continues highlighting).
Bonus Feature: With the above all layed out, I’d like to steal a feature from AW 4.1, that feature of “Scenes”, but more specificly, scene cameras. You may say “But we can already control cameras!”, true, but stay with me. I want to be able to have it so that when someone enters a “scene”, the camera can be shifted to a specific location. I could create this Scene by putting a giant box in a room, when someone enters the box (via VolumeDetect perhaps?), they then become part of the scene, as does their camera. This could give way to games like Resident Evil, where your camera may shift to the corner of a room you just entered. Or you could make “Chat Conversations” like from There.com with specialized camera views. Or when giving a speech the camera in a hall could be focused on a certain person, or could give a view of the audience over the speakers back. Anyone who enters the scene would be put into that same camera view. Sure they could Alt-Zoom out of it, but the effect would be great for certain aspects. The reason I incluede this is because of two scenarios, the above mentioned speech, or say Town Hall/Community Round Table, where everyone is gathered, to give people a starting point of the best overall view of everyone who is talking, with SL auto-highlighting those who are speaking would be a much better experience than what we currently have. The other scenario is say, a friends hang out, a run down old bar with a squeaky cieling fan, you enter the room and your camera shifts to the back wall, you have perfect sight of everyone in the bar from here, anyone who talks, from your best friend to a stranger in the corner (of the room and of your camera) is highlighted and it’s easy to tell who is talking.
Things like this could possibly make it easier to socialize in an otherwise chaotic enviornment. Not anything that GRABS the camera and SHOVES it in someones face, but just things that suttly point out whats going on, helpfull hints like gleems of a hidden key in a room of an adventure game. You want the user to have some visual cue as to who is saying what, where things are coming from, because currently with the Chat History all we have is the typing animation/sound, which can be overridden or hard to see (and the chat bubbles are crap, I’m sorry, but they are), or the Tab which only works well in small groupings (or not at all if you’re sitting!). The Chat Particles we used to have helped in this respect, but they were kinda cheesy and bad looking (which is why I guess they were taken out), the highlighting may be too, but there needs to be some visual cue, especialy in large crowds.
And thats all for now, I really need to get to bed.