|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On March 12 2013 09:35 fabiano wrote: HCI is just common sense...
Yes, it's amazing how often you find software with horribly made interfaces (Bnet 2.0 is a great example), but still... it all comes down to common sense.
I like to believe that whenever I see a badly designed interface it was just the team who neglected UI in order to prioritize more important functionalities on a tight schedule. "Common sense" is not accurate at all. A large majority of issues with UI is that what's obvious to a designer is completely non-obvious to a common user...or likewise, the common user is far more intuitive about something than a designer believes.
For some more extreme examples, think about double clicking icons. Completely obvious to someone who has used a computer. For someone that hasn't, there is absolutely no leap of logic that would ever allow you to reach a conclusion that clicking twice in quick succession activates a button. And after learning that, you will flounder for a long time trying to figure out which buttons need one click, which need two, which need right clicks, etc.
Or conversely, think about the iPod scroll wheel. Lots of designers wouldn't believe that users could easily comprehend having a circular interface for moving every aspect of interface control, yet in actual practice it's incredibly simple to understand.
Not to mention other aspects like how to make sure something is noticed by every user, or how to make a drastic change unnoticeable.
If you go into UI design thinking using common sense, you will fail.
|
On March 13 2013 08:31 WolfintheSheep wrote:Show nested quote +On March 12 2013 09:35 fabiano wrote: HCI is just common sense...
Yes, it's amazing how often you find software with horribly made interfaces (Bnet 2.0 is a great example), but still... it all comes down to common sense.
I like to believe that whenever I see a badly designed interface it was just the team who neglected UI in order to prioritize more important functionalities on a tight schedule. "Common sense" is not accurate at all. A large majority of issues with UI is that what's obvious to a designer is completely non-obvious to a common user...or likewise, the common user is far more intuitive about something than a designer believes. For some more extreme examples, think about double clicking icons. Completely obvious to someone who has used a computer. For someone that hasn't, there is absolutely no leap of logic that would ever allow you to reach a conclusion that clicking twice in quick succession activates a button. And after learning that, you will flounder for a long time trying to figure out which buttons need one click, which need two, which need right clicks, etc. Or conversely, think about the iPod scroll wheel. Lots of designers wouldn't believe that users could easily comprehend having a circular interface for moving every aspect of interface control, yet in actual practice it's incredibly simple to understand. Not to mention other aspects like how to make sure something is noticed by every user, or how to make a drastic change unnoticeable. If you go into UI design thinking using common sense, you will fail.
Yeah, UI design is actually incredibly hard. You have to learn to look at a UI from the perspective of a non-programmer, which is something only few programmers can actually do. It's all about managing expectations and deriving from what most of your userbase is used to, not reinventing the wheel even if it might be easier or more logical.
Then there are lots of tiny details you have to look for that you might not think about. As an example, my last company developed websites and we did a huge redesign where we upgrades the look of all websites and it looked quite fancy with rounded borders, javascript and all that. Noone of us saw anything really wrong with it except for a few bugs that were to fix, the web designers seemed to have done a good job at making it pretty and useable.
Then i showed it to my parents and the first thing they did was to adjust their glasses, moved a lot closer to the screen and said "Why is the text so small?". The web designers had made everything in a clear arial font of similar size as the sidebar here. That is ok for a site like TL where most of the userbase is fairly young and has good eyes but a lot of our userbase was quite a lot older and as such had problems with their eyes, so the small font was actually a real problem noone had thought about. We had spent hours looking at usecases where we tried to figure out what users would expect when they click something and what stuff they would expect to be clickable... but we never thought about the fact that our users might not be able to read it in the first place.
|
On March 10 2013 11:22 CptCutter wrote:Show nested quote +On March 10 2013 08:31 darkness wrote: I'm glad I don't have to deal with my C module at university anymore. I'm awaiting C++ which should be much more decent in my opinion because I come from Java background, and I like the concept of object oriented languages. I also like to have rich available libraries instead of starting from scratch.
The bad thing is... the lecturer would only allocate about 1-2 weeks for C++, and then the other 3 would be for Objective-C. I guess I should have a look if I can get XCode and Mac on VMWare as I don't want to go to uni lab that frequently. drop the notions of ' c++ will be far better than C because i come from a java background ', depending on how much C you have learned, C++ will open your eyes to the amount of complexity and the ways in which computers work compared to java. I too came from java and went into being taught c++ ( not C, but we were first taught procedural programming in c++, and the only thing that separates it is the fact that you allocate memory completely by yourself with malloc and such). even though i find C++ such a huge pain in the ass, it has taught me far more than java ever would have, which is why i guess that java is the begginer language whilst c++ is not. on another note, anyone here using D? as far as i can see, the only disadvantage of using it over C++ is the fact that C++ is more widely used in the world? Love D, but do not have time to spend too much playing with it. There are some quirks I dislike, but in general I find it to be quite awesome language. Shame that Microsoft did not base C# on it or did not just pick D outright.
EDIT: Point being that then there would be plenty libraries for it and I could use it at work
|
Anyone here that is good with java EE?
I wonder if it's possible to somehow fill a transient variable with data through a SQL query. I'm going to try and illustrate what i got. So i got a Entity called items. It has a primary key called itemid and store data related to stuff that are sold in a store. The entity also have a transient variable that i wish to give data that represent the average rating score. I got the ratings in it's own entity, creating it's own table. It has two foreign keys and those are the itemid from the item table and a userid from a user table. So i wonder are there any way i can give the transient field a value through a SQL query like if i modify the findAllItemById NamedQuery or something?
|
On March 13 2013 07:00 Frigo wrote:Show nested quote +On March 13 2013 02:21 ragz_gt wrote: Does anyone know if there is a JUnit contrib that allow customizable test execution order? I remember such a feature in a newer JUnit release. It can at least randomize orders I believe, not sure about a user-defined order though. Can tell you more details tomorrow when I have access to work mail.
http://www.hascode.com/2012/11/new-features-in-junit-4-11/
Yeah, it is possible.
|
Visual Studio 2010, C++ question.
When building my program, the build takes time to do this
1>Link: 1> Generating code
Could that be because the project I'm working on is kinda big (~170 code files excluding externals), or is there something I can do to improve that because my group mate, who has the same laptpo and everything doesn't seem to have this "problem" (It builds perfectly, it is just that it takes time to build it)
|
Only include what is needed for each .cpp file and use forward declaration when possible for your classes. it should help compile time
|
On March 13 2013 22:24 DertoQq wrote: Only include what is needed for each .cpp file and use forward declaration when possible for your classes. it should help compile time I only include what I need in each file. Isn't that SOP regardless of what language you're coding in?
And thanks for the FD tips.I'm not the lead programmer on the project and I didn't write the engine, but I'll think of that in the future.
|
On March 13 2013 22:46 WindWolf wrote:Show nested quote +On March 13 2013 22:24 DertoQq wrote: Only include what is needed for each .cpp file and use forward declaration when possible for your classes. it should help compile time I only include what I need in each file. Isn't that SOP regardless of what language you're coding in? And thanks for the FD tips.I'm not the lead programmer on the project and I didn't write the engine, but I'll think of that in the future.
I think most refactors would do the FD for you if u need it
|
On March 13 2013 20:08 Frigo wrote:Show nested quote +On March 13 2013 07:00 Frigo wrote:On March 13 2013 02:21 ragz_gt wrote: Does anyone know if there is a JUnit contrib that allow customizable test execution order? I remember such a feature in a newer JUnit release. It can at least randomize orders I believe, not sure about a user-defined order though. Can tell you more details tomorrow when I have access to work mail. http://www.hascode.com/2012/11/new-features-in-junit-4-11/Yeah, it is possible.
It is rather limited that it can only sort by method name (and ascend only, can't descend LOL). But I guess I can name stuff by levels (1000s, 2000s etc) and should work
Kind of silly though
|
you could build a custom runner for the junit tests that randomizes or sorts your test order.
Just extend BlockJUnit4ClassRunner Class.
But you would have to add @RunWith(whateverYouNamedYourNewTestRunner.class) before every class TestXYZ{} or else it just takes the default classrunner.
|
Unit tests shouldn't be dependant on eachother - problem solved.
|
C++
What's the idea behind std::cout instead of cout? Is it because of getting used to using class::function or something? I'm new to C++. ^^
|
On March 14 2013 06:22 darkness wrote: C++
What's the idea behind std::cout instead of cout? Is it because of getting used to using class::function or something? I'm new to C++. ^^
std:: is the namespace. You can skip that by writing "using namespace std;" somewhere at the start of the file, though blindly importing namespaces can have bad side effects where you might import more than you can handle.
A namespace is basically a group of classes, functions, variables and other namespaces that all relate to each other in some way without the constraints of a class.
|
On March 14 2013 06:22 darkness wrote: C++
What's the idea behind std::cout instead of cout? Is it because of getting used to using class::function or something? I'm new to C++. ^^
This is the notion of namespaces : http://www.cplusplus.com/doc/tutorial/namespaces/
Because the standard library uses a namespace (the std:: ), you can also define your own function called "cout" without conflict, it will know which "cout" function you are adressing depending on the namespace identifier.
|
Alright, thanks for explanation. ^^
|
On March 14 2013 06:30 Morfildur wrote:Show nested quote +On March 14 2013 06:22 darkness wrote: C++
What's the idea behind std::cout instead of cout? Is it because of getting used to using class::function or something? I'm new to C++. ^^ std:: is the namespace. You can skip that by writing "using namespace std;" somewhere at the start of the file, though blindly importing namespaces can have bad side effects where you might import more than you can handle. A namespace is basically a group of classes, functions, variables and other namespaces that all relate to each other in some way without the constraints of a class.
std is the namespace and :: is the scope resolution operator, even though it's apparent from your post that std is the namespace and not std::. posting just in case it isn't obvious to darkness.
|
Why can't I figure out how to delete my post? :D I already found the answer to my question.
|
On March 14 2013 06:22 darkness wrote: C++
What's the idea behind std::cout instead of cout? Is it because of getting used to using class::function or something? I'm new to C++. ^^ Other people have already covered what std:: is, but here's some advice: If you're making a bigger program with a lot of source files and a lot of imports etc going on, be a bit wary of using "using namespace std;", and if you do, only use it in implementation files (.cpp), not headers (.h). It might feel a bit "wordy" to write std:: before everything, but it's worth it for readability and lowers the risk of hard to find bugs. Obviously, in smaller programs which rely heavily on std:: classes and functions, feel free to use it.
|
On March 14 2013 16:11 ambikalx wrote: Why can't I figure out how to delete my post? :D I already found the answer to my question. its because you can't, but you can edit it that you already the answer.
|
|
|
|
|
|