We’re rewarding the question askers & reputations are being recalculated! Read more.
32

No. Those are two fundamentally different jobs. Except in the scenario that the UX design is for a product the primary purpose of which is OOP development (e.g. an IDE). Otherwise, of course, there is no harm to knowing the "principles" of OOP. Further, knowing about a broad range of different things (including OOP) can certainly help you to think ...


30

I have a feeling this question might be moved to the Stackoverflow site but Its an interesting question. The reason behind this was because Fortran introduced the concept of using "=" as assigning values from one variable to another which led to a lot of confusion about what to use as an equality operator. To quote this wikipedia article. The use of the ...


29

The first time I saw this behavior was with Office 95. Word, to this day, still does this. In Word and Other applications like Notepad++, this cursor change indicates "a whole line" is the point of selection. Clicking while the cursor is in this state will select the entire line. Selecting an entire line is especially useful activity in text editors like ...


22

Simple answer is NO. Do not add artificial delays. But what if the message is important for all users? If its important you shouldn't put it at application loading screen. Most people don't even care to watch the loading screen, its usually a good time to leave the seat and go grab a soda or chips. In-case of Hybrid installers (i.e. installer that run ...


14

As a programmer, I prefer the line breaking to happen at the boundaries of words (assuming your assessment that line breaking is needed is correct). However, I would change the way you break. Instead of continuing at column 0, I think you should continue at the same column as the line you are breaking, and you should indicate somehow that it is not a real ...


14

Perhaps not so much learning the principles, but understanding the principles of Object Oriented Programming or the equivalent does help with some aspects of UX design. The short answer would be NO (i.e. it is not crucial), but the long answer would be YES because by developing a process that helps you articulate the relationship between different entities ...


12

It's a good combination of skills! UX + coder is an extremely desireable profile here in San Francisco. There a number of reasons for this: Modern app development is a lot less siloed than it used to be, with small sprint and scrum teams operating cross functionally and following the life cycle of a product from conception through design and ...


9

I've worked on visual programming systems/languages and I agree with Frederick Brooks. Graphical or diagrammatic or any kind of non-text based languages do not make good general purpose programming languages. Text is very efficient at describing complex things, especially behaviors and actions, usually much better than non-text. A picture is worth 1000 words ...


9

There are 4 types of application postures defined by Alan Cooper - Sovereign, Transient, Daemon, and Parasitic https://en.wikipedia.org/wiki/Application_posture A posture is nothing but the behavioral stance of the application. IDEs fall under sovereign applications that monopolizes the user's attention for long periods of time. Word processors, Image ...


7

Since it's a CLI, I don't think you need to explain too much. I'm assuming the end user is somewhat tech savvy, so they should be used to providing input the way you describe. My only recommendation is adding a hint at the end. i.e Do you wear glasses (y/n):


7

Breaking up words/names is a bad idea for the simple reason that it's hard to tell where the function name begins and where it ends. Names can be abstract which makes them even more difficult for the brain to stitch back together. The first just feels more natural and although still difficult to read, you quickly can understand that text is wrapping and ...


6

I have worked for a long time writing software for the financial industry, and I have to say that Excel is by far the most successful visual programming interface for non-technical users. Novice users start off working with simple rows and columns. They start "programming" with simple drag to select and sum a column (or some other simple operation), and ...


5

Checking equality is not used exclusively in if statements. For example: are_equal = foo == bar If the syntax would allow for using single equals sign, such assignment would be ambiguous: are_equal = foo = bar This could either mean "compare foo and bar, and assign the result to are_equal", or "assign bar value to both are_equal and foo".


5

One option is to set a minimum width on the code container and let the user scroll horizontally. Code that wraps unexpectedly is confusing at best, and in languages like Python it will appear completely broken. (This would be overflow-x: auto or scroll on the code element's parent in CSS.) 80 monospaced characters is often the default line length.


5

I'm a web developer and darn good at what I do. I once applied to a mechanical engineering company to re-build their lousy web site which was originally created by a mechanical engineer part-time. To get the job, I had to take a mechanical test. Most of the things on the test I had never even heard of before much less knew how to answer. (It mostly tested on ...


5

As someone who works as a designer and knows OOP languages, I think some of the philosophies of OO kinda help with understanding structure, particularly if you're getting into SCSS and modularizing your design to create reusable chunks of content. But that's not really OO, but more understanding of variables and basic programming concepts (like keeping it ...


4

I have never heard of any wrapping algorithm that would break up words on anything but syllables (or soft hyphens). So breaking up a words at any arbitrary character is certainly not advisable. For programmers words in code are identifiers or operators etc. They only have meaning as a whole. So in this contexts even breaking up on syllables is ill-advised.


4

As a UX designer I design experiences, and that might not include the final wireframes. I very rarely get anywhere near final visual designs. I leave that to visual designers or interaction designers. Your portfolio is what I would call an interaction design portfolio. It includes a lot of the final product and what a few wireframes. In other places ...


4

UX as a term and discipline is somewhat new. Prior to it being called UX it was often call HCI (Human Computer Interaction). Today, now, aside from recent grads, most UX professionals do not have a User Experience Degree. The degrees and experience they do have can very wildly. Graphic Design (maybe lean towards UI Design) Industrial Design (also UI ...


4

Main reason: smarter and modern IDEs Line numbers are most of the times only needed when looking at stacktraces and errors etc. But the most modern IDEs have smart error tracing tools, and with a single mouse click the cursor will be placed on the line that generated the error. That's the main reason why line numbers are disabled by default, they are simply ...


3

The keyboard shortcuts that your application uses should be the ones that your users expect to use. Keyboard shortcuts are easiest to remember and most useful when they are consistent. As you have identified, you have two different consistency concerns here. Prioritize consistency with the OS and its conventions over consistency in your application across ...


3

Anecdotally, as a developer, it is more of a difference with knowledge in a Framework, rather than a specific language that affects speed. In your Objective-C/Swift example, your developer is going to be using the Cocoa or Cocoa Touch framework, regardless of language. If she knows exactly what views and controls AppKit/UIKit offers, their APIs, how to ...


3

The grid does align with the monospace font -- each glyph is two blocks tall and one block wide. It's a (not terribly effective in this case) way to help visualize the amount of indentation per line -- you can count grid spaces to determine the amount of indentation. (This is important in code: whitespace is significant in some languages, and in nearly ...


3

Wow, a satisfying thread. There is often a debate in modern society - should a designer be able to programming? Personally, I think that knowledge of programming patterns or concepts (OOP) is necessary to become a high-class designer. Why do I think so? You can model the database in cooperation with a back-end developer. (Creating models) The design ...


2

Boy is this a rock and a hard place. Definitely keep words intact. No programmer is going to like this (as is already clear), too much info is being removed by the indentation being mucked up. Breaking words doesn't solve this and it does add other problems. To make the best of a bad situation you need to clearly delineate lines. Your examples use zebra ...


2

I know the good way of wrapping for humans, including developers. The first way. You don't break words. If you do break words, they are not readable anymore. When reaching the wrap point, you may make it clearer that the line continues, by putting at the right a symbol like an arrow ⤶. Nice text editors do that.


2

Make a toggle: Linebreak [yes] or [no]. Depending on the programming language being displayed, inserted linebreaks will alter the execution of the code. Once you do break the code onto a new line, indicate this by adding the linebreak character at the end of the line. With a toggle you will be able to give the user of your application the option of making ...


2

While there's no definitive answer, reading code is still reading just like any other text and some guidelines indicate that 50-75 characters per line is a good number for English. The cognitive load of code is often far higher per line than it is in English so you probably want to err on the shorter side. I haven't seen any research on the specific column ...


2

im still fascinated about the software http://en.wikipedia.org/wiki/MeVisLab . It helps to see the flow of the app in kinda tree hierachy, but enables also developing extreme complex modules, that then a non-tech user can use for its own ideas.


2

I found the more successfull project in the field is a plugin for unity 3D : playmaker. Playmaker is a visual states machine that emphasize on helping games devellopper on main tasks and allow to iterate quickly with visual feedbak in real time. In fact maybe nodes are not the best visual system to help non programming people to understand code logic. Each ...


Only top voted, non community-wiki answers of a minimum length are eligible