Saturday, June 30, 2018

inkscape - How to create proper Vector Images that can be used as an Android Vector-Drawable?


I'm quite new to creating vector images. I started to learn how the create them because I need some custom icons for an Android app I'm currently working on. And here starts the problem. I'm creating the icons using Inkscape and when I try to convert them into a VectorDrawable using Android Studio, it returns an error about not supporting certain things:


ERROR@ line 22  is not supported
WARNING@ line 139 We don't scale the stroke width!
WARNING@ line 144 We don't scale the stroke width!
WARNING@ line 150 We don't scale the stroke width!

WARNING@ line 156 We don't scale the stroke width!
WARNING@ line 162 We don't scale the stroke width!
WARNING@ line 168 We don't scale the stroke width!
WARNING@ line 174 We don't scale the stroke width!

I firts tried to somehow convert the path to an object within Inkscape, but this didn't worked. Then I looked for some solutions on the web and found the following website: http://inloop.github.io/svg2android/ There I could convert the icon but now I can only use it android 7.0 and higher because I used the attribute 'fill-rule:evenodd'.


Now here's my question: How to make sure I only use the proper attributes when creating an icon and how can I make my icon work on android?


If you want to follow my attempt at fixing the problem, here you can download my SVG file: https://dl.dropboxusercontent.com/u/213285061/Foren/Biologie_Icon.svg


Thank you for every advice.



Answer





Save as a "Plain SVG" in Inkscape.


Note: As of Inkscape 0.91, if you save as "Plain SVG" and then just do a normal "Save", it will save again as an Inkscape SVG. So you'll need to do save and explicitly select plain SVG each time.


Related question about SVG-to-VectorDrawable conversion: Inkscape export XML for Android drawable resource directory



Inkscape's default save format is "Inkscape SVG", which is a normal SVG file that is compliant with the SVG 1.1 standard, along with metadata and additional information used by Inkscape in the inkscape namespace.


That's perfectly valid SVG, and most render programs like browsers have no problem with it. It sounds like your workflow for transforming from SVG to VectorDrawable XML is chocking on that Inkscape-specific code (although is valid vanilla SVG).


Saving as "Plain SVG" removes all that extra data and any features that aren't in the SVG standard. This will result in better compatibility with other programs (like yours), but you may loose some information, depending on the drawing.


Features to avoid


By far the most common non-standard SVG feature people use is a text flow. These are created by dragging to create a text box (instead of just clicking). Wrapping text is not support in SVG—many programs will just ignore the text.



In the Text menu, there's an option in Inkscape for converting a text flow to a normal SVG text object.


In most cases, the offending element can just be converted to a path.


Tweaking output


In addition to using "Plain SVG", there are a few other features for tweaking the SVG tree in Inkscape's output.



  • On the File menu, click Document Cleanup. This gets rid of un-used defs and other metadata.

  • On the Edit menu, click Preferences. In the Input/Output section there's a few options to change the XML


Does something like Illustrator's "Shape builder" exist in Inkscape



Does a smarter boolean tool like Illustrator's Shape builder tool exist for Inkscape? Or a plugin maybe?


I know the same can be achieved with the Union/Difference/Intersection tools, but the Shape builder is a lot faster and less complex.



Answer



There's no Shape Builder tool equivalent in Inkscape, however there is one method to work round the difficulty of making new shapes from complex overlapping shapes.


So, let's say you have a bunch of overlapping shapes from which you want to create a design. Probably easier to make sure they are all just a stroke and no fill at this stage so you can see what's going on.



  • Select them all and do Path > Combine

  • Draw a rectangle that is larger than the shapes, lower it to the bottom, then select both the combined shape and rectangle.

  • Do Path > Division

  • Fill all the shapes temporarily so you can select them easily


  • Then Select and Delete the parts you don't want, and do Path > Union on those you want to become a single shape.


For example


enter image description here


Obviously this technique isn't worth the trouble for fewer shapes where you'd probably be quicker using the boolean operations as they stand.


You can speed this up if you learn the shortcuts for some of the operations. I didn't use them in the above example so you can see what's going on, but here are some useful shortcuts:


Ctrl+A Select All


Ctrl+K Combine


Ctrl++ Union


F4 Rectangle Tool



F1 Select and Transform Objects Tool


End Lower to Bottom


adobe illustrator - Pros and cons to .AI vs. .EPS file formats in 2017?


I've heard "EPS is a dying format" so many times my brain completes the sentence every time I hear "EPS"...yet whenever I research the issue, I can only find posts about why it's a dying format in 2012, 2008, 2002, etc. (And yet it seems to have not died yet, imagine that.) I am not using software from 5 years ago and the quirks and limitations of Illustrator CS2 or whatever are irrelevant to me.


As a marketing designer, I often have to deal a lot with sponsor logos that go onto printed collateral. I repeat myself ad nauseam about what kind of file format I want them in, and the short answer I tell people is "EPS with all text converted to outlines." (It never seems to be designers giving specs directly to other designers, but designers giving specs to marketers who are giving specs to other marketers who are MAYBE giving the specs to their designers, and trying to get the message distorted as little as possible in transit while also trying to make it comprehensible to the lowest common denominator.)


I specify EPS because 1. it seems to be the answer most likely to get me an actual vector file with nothing extraneous in it, and 2. when placing an EPS into InDesign, InDesign places the object with the bounds conformed to the edges of the artwork, not the edges of the canvas. As far as I can tell, this has to do with the default settings for saving EPS and AI files and nothing to do with how I'm placing it, but it's important to me for managing spacing and alignment.


So what I'm wondering is if EPS really is inferior to AI for reasons I haven't noticed yet that are still relevant in 2017 and there's some good reason why I shouldn't be asking for EPS, or if all this "EPS is a dying format" dogma is something that was more pertinent in previous versions of the Adobe software?


P.S. I refuse to ask for a PDF, as getting an actual vector in one seems to be a complete coin toss, and trying to explain to marketers how a PDF can be either a vector OR a raster image ("What's a raster image??") is a complete nightmare.





gui design - Am I right to sort the the RHS listbox alphabetically in a paired-listbox GUI?


I have a Dual/Slaved/Paired Listbox GUI*, and I'm trying to convince colleagues that it makes the most sense for the RHS listbox to be sorted alphabetically rather than in order of addition, especially when there are no "up"/"down" controls to tinker with the sorting later.



  • Am I right?

  • How can I convince them? What precedent is there?




* like this, but nicer:



Paired Listboxes



Answer



Taking into account the fact that there is no semantic meaning to the order of addition, I think it would be best to sort the RHS list alphabetically, for the following reasons:




  • it is consistent with the LHS list;




  • when the user pops up the dialog again later (another day?), it will be easier to scan again and find some specific items to move them back to the LHS list, since long- and short-term would be of no help;





  • if the items in the list represent names of some standards and following a same pattern (for example, ISO 27000, ISO 27001, ISO 270002, etc.), it would be MUCH easier to read and find an particular item.




However, one thing to add that would really help the user see what happens when transferring items, is to select the newly transferred items in the destination list, for the following reasons:




  • since the transferred items are not added always at the same position, the selection would give a good feedback that items are transferred (and still look the same - selected) from one list to the other list, and where the new items are placed in destination list;





  • it would also be possible to quickly revert the transfer in just one click on the other transfer button.




We've just had the same issue on our project, and this is how we dealt with it. I hope this helps.


branding - Should a logo contain stock images?


My wife recently got a logo designed for her new business, by a professional branding company. It went through several stages of approval, getting the logo just right, however, when she went on to the next stage of the process (creating the social media pages) she was asked to find some stock images to use for the banners.


While doing so, she found her "logo" was taken exactly from an existing stock image. The only modification done was to add a little bit of color and her business name.


I don't know the proper etiquette for this situation is. Is it bad that her logo is a stock image and if so, is it too late in the process to request a change (note they claim to allow unlimited revisions but I'm not sure if that applies once we "accept" the design).


Stock Image: http://www.shutterstock.com/pic-198375233/stock-vector-vector-silhouette-of-people-with-dog-on-a-white-background.html?src=yOIJwdwdTHfxKWRIUC_xWQ-1-3


Logo: Logo



Answer




As others have said, it's poor practice as a designer and I would personally be very unhappy. And there may very well be legal issues.


The use of shutterstock images for a logo has been discussed here.


The image on shutterstock says:



Copyright: majivecka



This is from the shutterstock license:



YOU MAY NOT:


i. Use Visual Content other than as expressly provided by the license you purchased with respect to such Visual Content.



...


vii. Use any Visual Content (in whole or in part) as a trademark, service mark, logo, or other indication of origin, or as part thereof.



trends - Data Synchronization


I'm working on market trends. I have daily prices for 33 assets from different markets. I was wondering if there is a way to cancel the effects of different opening/closing times.


I have been told that a moving average over four days would be enough; I think a weekly moving average should improve many thing. As I observe a 50-day moving average to observe market trends, I don't really see the point in doing this first moving average.


Is there any literature about this topic? Are there simple solutions to cancel the effects of markets desynchronization?



Answer



Effects of non-contemporaneous trading (i.e. different closing times) for risk management are covered in this article (preprint,link to journal).


The conclusion is that a moving average process in the sense of time-series analysis can handle the resulting cross-autocorrelation. This means that in each time-step you have lagged correlations (e.g. Japan today to US yesterday) but only for lag $1$.


In case you want to use e.g. the Hodrick-Prescott-filter in a Kalman filter setting for fitting a trend, this model approach could improve the picture (I can not tell from experience but as an idea ...). For hints on the HP-filter you can start here.


modeling - Simple 3D Drawings


I'm hoping someone can point me in the direction of a 3D modelling program or some such.



I simply wish to draw/view: edges/lines; solid triangles; wireframe boxes. I also prefer to manually adjust individual vertices.


Everything I've found seems focused on high quality models or engineering and design. This is understandable but I can't find simple access to the features I require.


This is to help visualize a project I'm working on.



Answer



For questioners asking simple 3D freeware, I have several times recommended DesignSpark Mechanical. It's a bare bone simplification of SpaceClaim Engineer, but still has a remarkable value. Here are three different views of a random drawing that I made in one minute:


enter image description here


enter image description here


enter image description here


And here is another made for removing all suspects of the incorrectness of a simple manual drawing:


enter image description here



Like the free versions of commercial high cost software usually, there are plenty of planned limitations. Some of them:



  • There's no other 2D output than screenshots or printing. Fortunately there's some usable exports( see NOTE1).

  • Assembling prepared parts exactly with snaps is prohibited


NOTE1: Exporting as several widely used polygon meshes is possible. Printing the current view with Adobe PDF gives a PDF which is an Illustrator compatible vector drawing - change only *.pdf to *.ai in the Windows file explorer. The last omission in the freeware invalidization process rises the value of the software so much that it must be considered to be an error. I didn't even believe its existence until I one day accidentally opened a wrong PDF in Ai and saw it editable.


Friday, June 29, 2018

gui design - (One to many) to many form?


What is a good pattern for displaying a form with a One-to-many-to-many relationship in a web form for data entry?



  • One parent element (a case - 15 data fields)

  • One or more 2nd level elements (customers - 20 data fields)

  • One or more 3rd level elements (inquiries - 20 data fields)


Use case: A customer calls in and the user enters a case. There may be more than one contact/customer (someone calling on behalf of someone else) and each of those customers can have one or more inquiry. All of these are contained in the single case. The information will not come in any particular order because the caller will simply start talking and the data-entry person will have to quickly be able to record things in the correct form-field and there can be much going back and forth between the sections.


The customer will never see the case directly and the users of the system who are capturing the information will be trained and use the form multiple times daily so speed of entry is more important than prettiness or even intuitiveness. It's not that I want to avoid intuitiveness, but an "intuitive" design that will split the form up into several forms and/or require several additional steps to enter the data will not be ideal.



Any ideas?




usability - Accepting multiple Terms and Conditions at once


I am working on a mobile and web form. There are a few products X, Y, Z under an umbrella product, let's call it XYZ.



Is there a way for accepting multiple Terms and Conditions by placing all of them in one place? I can only think of the following layout. Or is it better to get customers to accept the terms and conditions one by one?


prototype of combined terms and conditions




Blending colors in photoshop and illustrator


I am working on a print for my wall and I am trying to create something like this:


Example


Source


I have already created the letters in Illustrator and now I am adding the colors in Illustrator and then exporting everything to Photoshop and then using the liquify tool to blend the colors to create a similar effect. I also used the healing patch tool to blend in the hard edges.


Is that the right way of doing it? Or is there another way?




design - Why most of the microphones are placed on the left of headsets / headphones?


I've noticed that the mayority of the well-known brands (Sennheiser, Logitech, Plantronics, Razer, SteelSeries, Audio-Technica, Phillips, etc) tend to make headsets with the microphone on the left, is there any UX related reason for that tendency? If not, what's the reason of that choice?


The position of the mic would be equidistant to the the mouth when placed on the right side, so there's no difference when recording.


My improbable theories:


1) Maybe it could be useful for people who eat (or make something using with their right hand and mouth, like smoking) while wearing their headphones, supposing that the person is right-handed(what it's true in most cases) and the mic is neither in front nor too close to their mouth.



2) I think we usually align our body more to the left side of the keyboard (centered between 'g' and 'h' keys or so, and probably to center of monitor too, to avoid neck tension) for writing comfortably, and right-handed ones place the mouse on the right, so the mic on the left could go along with the "left side weight" and avoiding the possible sensation of the microphone "being in the middle". This theory is enhanced in the case that the cable is not divided in two to reach each side and just reach the side where the microphone is placed, so the cord will hang closer to that side and not centered to your body.




adobe illustrator - Why won't "Multiexporter" export any artboards? ("Will export 0 of X artboards")


I use the Multiexporter script (blog article explanation, github link) for bulk exports of PNGs or PDFs from many artboards. It usually works fine, but sometimes it refuses to co-operate, with a message like:



Will export 0 of 10 artboards




...even though there are plenty of artboards with content on them. There's no clue as to what the problem is, except a line about "currently visible layers" - but they do all have currently visible layers. Adding prefixes, suffixes and output directories make no difference.


enter image description here



Answer



It turns out Multiexporter ignores artboards that haven't been named. Enter a name for each artboard, and they'll be included (that name will also be used for the filename).


For example here, it's recognising each artboard that doesn't have the default name.


enter image description here


If you create an artboard by alt-dragging an existing artboard, the copy will appear if the original had a name and won't if it didn't:


enter image description here


Unfortunately I don't know of any quick way to name hundreds of artboards.


Thursday, June 28, 2018

Font Awesome as Photoshop Custom Shape Set


Everytime I need to use font awesome in photoshop, I'll always copy an icon from website and paste in photoshop. I can print it into pdf and copy into illustrator as vector but I want them as photoshop custom shape set. I've copied whole text into photoshop but then I need to split layers to each icon in each layer and this will take a long time. How can I convert them all into .csh file?



Answer



This could be a good time to introduce scripting and the script listener to your tool set. While a plugin is fine you might have some other ideas later where this might help. So here is my quickly clobbered together script. To use this change the setup part and put this in a jsx file (and then drag an drop on Photoshop for instance):


// setup preferences
SIZE = UnitValue(24, "pt");

FONT = "Cambria";
CHARS_TO_CONVERT = "ABCDEFGHIJ"

doc = app.activeDocument;
for ( var i = 0; i < CHARS_TO_CONVERT.length; i++ ){
var ch = CHARS_TO_CONVERT.charAt(i)
var layer = doc.artLayers.add();
layer.kind = LayerKind.TEXT;
layer.textItem.contents = ch;
layer.textItem.font = FONT;

layer.textItem.size = SIZE;
layer.textItem.convertToShape();
makeCustomShape(ch);
layer.clear();
}

function makeCustomShape(name){
// recorded with script listener will make currently active path a custiom shape
// with a specified name
var idMk = charIDToTypeID( "Mk " );

var desc29 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref13 = new ActionReference();
var idcustomShape = stringIDToTypeID( "customShape" );
ref13.putClass( idcustomShape );
desc29.putReference( idnull, ref13 );
var idUsng = charIDToTypeID( "Usng" );
var ref14 = new ActionReference();
var idPrpr = charIDToTypeID( "Prpr" );
var idfsel = charIDToTypeID( "fsel" );

ref14.putProperty( idPrpr, idfsel );
var idDcmn = charIDToTypeID( "Dcmn" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref14.putEnumerated( idDcmn, idOrdn, idTrgt );
desc29.putReference( idUsng, ref14 );
var idNm = charIDToTypeID( "Nm " );
desc29.putString( idNm, name );
executeAction( idMk, desc29, DialogModes.NO );
}


Its faster than doing things manually.


And heres one for the specific usecase:


// setup preferences
SIZE = UnitValue(24, "pt");
FONT = "FontAwesome";
arr = [
"glass \uf000",
"music \uf001",
"search \uf002",

"envelope-o \uf003",
"heart \uf004",
"star \uf005",
"star-o \uf006",
"user \uf007",
"film \uf008",
"th-large \uf009",
"th \uf00a",
"th-list \uf00b",
"check \uf00c",

"times \uf00d",
"search-plus \uf00e",
"search-minus \uf010",
"power-off \uf011",
"signal \uf012",
"cog \uf013",
"trash-o \uf014",
"home \uf015",
"file-o \uf016",
"clock-o \uf017",

"road \uf018",
"download \uf019",
"arrow-circle-o-down \uf01a",
"arrow-circle-o-up \uf01b",
"inbox \uf01c",
"play-circle-o \uf01d",
"repeat \uf01e",
"refresh \uf021",
"list-alt \uf022",
"lock \uf023",

"flag \uf024",
"headphones \uf025",
"volume-off \uf026",
"volume-down \uf027",
"volume-up \uf028",
"qrcode \uf029",
"barcode \uf02a",
"tag \uf02b",
"tags \uf02c",
"book \uf02d",

"bookmark \uf02e",
"print \uf02f",
"camera \uf030",
"font \uf031",
"bold \uf032",
"italic \uf033",
"text-height \uf034",
"text-width \uf035",
"align-left \uf036",
"align-center \uf037",

"align-right \uf038",
"align-justify \uf039",
"list \uf03a",
"outdent \uf03b",
"indent \uf03c",
"video-camera \uf03d",
"picture-o \uf03e",
"pencil \uf040",
"map-marker \uf041",
"adjust \uf042",

"tint \uf043",
"pencil-square-o \uf044",
"share-square-o \uf045",
"check-square-o \uf046",
"arrows \uf047",
"step-backward \uf048",
"fast-backward \uf049",
"backward \uf04a",
"play \uf04b",
"pause \uf04c",

"stop \uf04d",
"forward \uf04e",
"fast-forward \uf050",
"step-forward \uf051",
"eject \uf052",
"chevron-left \uf053",
"chevron-right \uf054",
"plus-circle \uf055",
"minus-circle \uf056",
"times-circle \uf057",

"check-circle \uf058",
"question-circle \uf059",
"info-circle \uf05a",
"crosshairs \uf05b",
"times-circle-o \uf05c",
"check-circle-o \uf05d",
"ban \uf05e",
"arrow-left \uf060",
"arrow-right \uf061",
"arrow-up \uf062",

"arrow-down \uf063",
"share \uf064",
"expand \uf065",
"compress \uf066",
"plus \uf067",
"minus \uf068",
"asterisk \uf069",
"exclamation-circle \uf06a",
"gift \uf06b",
"leaf \uf06c",

"fire \uf06d",
"eye \uf06e",
"eye-slash \uf070",
"exclamation-triangle \uf071",
"plane \uf072",
"calendar \uf073",
"random \uf074",
"comment \uf075",
"magnet \uf076",
"chevron-up \uf077",

"chevron-down \uf078",
"retweet \uf079",
"shopping-cart \uf07a",
"folder \uf07b",
"folder-open \uf07c",
"arrows-v \uf07d",
"arrows-h \uf07e",
"bar-chart-o \uf080",
"twitter-square \uf081",
"facebook-square \uf082",

"camera-retro \uf083",
"key \uf084",
"cogs \uf085",
"comments \uf086",
"thumbs-o-up \uf087",
"thumbs-o-down \uf088",
"star-half \uf089",
"heart-o \uf08a",
"sign-out \uf08b",
"linkedin-square \uf08c",

"thumb-tack \uf08d",
"external-link \uf08e",
"sign-in \uf090",
"trophy \uf091",
"github-square \uf092",
"upload \uf093",
"lemon-o \uf094",
"phone \uf095",
"square-o \uf096",
"bookmark-o \uf097",

"phone-square \uf098",
"twitter \uf099",
"facebook \uf09a",
"github \uf09b",
"unlock \uf09c",
"credit-card \uf09d",
"rss \uf09e",
"hdd-o \uf0a0",
"bullhorn \uf0a1",
"bell \uf0f3",

"certificate \uf0a3",
"hand-o-right \uf0a4",
"hand-o-left \uf0a5",
"hand-o-up \uf0a6",
"hand-o-down \uf0a7",
"arrow-circle-left \uf0a8",
"arrow-circle-right \uf0a9",
"arrow-circle-up \uf0aa",
"arrow-circle-down \uf0ab",
"globe \uf0ac",

"wrench \uf0ad",
"tasks \uf0ae",
"filter \uf0b0",
"briefcase \uf0b1",
"arrows-alt \uf0b2",
"users \uf0c0",
"link \uf0c1",
"cloud \uf0c2",
"flask \uf0c3",
"scissors \uf0c4",

"files-o \uf0c5",
"paperclip \uf0c6",
"floppy-o \uf0c7",
"square \uf0c8",
"bars \uf0c9",
"list-ul \uf0ca",
"list-ol \uf0cb",
"strikethrough \uf0cc",
"underline \uf0cd",
"table \uf0ce",

"magic \uf0d0",
"truck \uf0d1",
"pinterest \uf0d2",
"pinterest-square \uf0d3",
"google-plus-square \uf0d4",
"google-plus \uf0d5",
"money \uf0d6",
"caret-down \uf0d7",
"caret-up \uf0d8",
"caret-left \uf0d9",

"caret-right \uf0da",
"columns \uf0db",
"sort \uf0dc",
"sort-asc \uf0dd",
"sort-desc \uf0de",
"envelope \uf0e0",
"linkedin \uf0e1",
"undo \uf0e2",
"gavel \uf0e3",
"tachometer \uf0e4",

"comment-o \uf0e5",
"comments-o \uf0e6",
"bolt \uf0e7",
"sitemap \uf0e8",
"umbrella \uf0e9",
"clipboard \uf0ea",
"lightbulb-o \uf0eb",
"exchange \uf0ec",
"cloud-download \uf0ed",
"cloud-upload \uf0ee",

"user-md \uf0f0",
"stethoscope \uf0f1",
"suitcase \uf0f2",
"bell-o \uf0a2",
"coffee \uf0f4",
"cutlery \uf0f5",
"file-text-o \uf0f6",
"building-o \uf0f7",
"hospital-o \uf0f8",
"ambulance \uf0f9",

"medkit \uf0fa",
"fighter-jet \uf0fb",
"beer \uf0fc",
"h-square \uf0fd",
"plus-square \uf0fe",
"angle-double-left \uf100",
"angle-double-right \uf101",
"angle-double-up \uf102",
"angle-double-down \uf103",
"angle-left \uf104",

"angle-right \uf105",
"angle-up \uf106",
"angle-down \uf107",
"desktop \uf108",
"laptop \uf109",
"tablet \uf10a",
"mobile \uf10b",
"circle-o \uf10c",
"quote-left \uf10d",
"quote-right \uf10e",

"spinner \uf110",
"circle \uf111",
"reply \uf112",
"github-alt \uf113",
"folder-o \uf114",
"folder-open-o \uf115",
"smile-o \uf118",
"frown-o \uf119",
"meh-o \uf11a",
"gamepad \uf11b",

"keyboard-o \uf11c",
"flag-o \uf11d",
"flag-checkered \uf11e",
"terminal \uf120",
"code \uf121",
"reply-all \uf122",
"mail-reply-all \uf122",
"star-half-o \uf123",
"location-arrow \uf124",
"crop \uf125",

"code-fork \uf126",
"chain-broken \uf127",
"question \uf128",
"info \uf129",
"exclamation \uf12a",
"superscript \uf12b",
"subscript \uf12c",
"eraser \uf12d",
"puzzle-piece \uf12e",
"microphone \uf130",

"microphone-slash \uf131",
"shield \uf132",
"calendar-o \uf133",
"fire-extinguisher \uf134",
"rocket \uf135",
"maxcdn \uf136",
"chevron-circle-left \uf137",
"chevron-circle-right \uf138",
"chevron-circle-up \uf139",
"chevron-circle-down \uf13a",

"html5 \uf13b",
"css3 \uf13c",
"anchor \uf13d",
"unlock-alt \uf13e",
"bullseye \uf140",
"ellipsis-h \uf141",
"ellipsis-v \uf142",
"rss-square \uf143",
"play-circle \uf144",
"ticket \uf145",

"minus-square \uf146",
"minus-square-o \uf147",
"level-up \uf148",
"level-down \uf149",
"check-square \uf14a",
"pencil-square \uf14b",
"external-link-square \uf14c",
"share-square \uf14d",
"compass \uf14e",
"caret-square-o-down \uf150",

"caret-square-o-up \uf151",
"caret-square-o-right \uf152",
"eur \uf153",
"gbp \uf154",
"usd \uf155",
"inr \uf156",
"jpy \uf157",
"rub \uf158",
"krw \uf159",
"btc \uf15a",

"file \uf15b",
"file-text \uf15c",
"sort-alpha-asc \uf15d",
"sort-alpha-desc \uf15e",
"sort-amount-asc \uf160",
"sort-amount-desc \uf161",
"sort-numeric-asc \uf162",
"sort-numeric-desc \uf163",
"thumbs-up \uf164",
"thumbs-down \uf165",

"youtube-square \uf166",
"youtube \uf167",
"xing \uf168",
"xing-square \uf169",
"youtube-play \uf16a",
"dropbox \uf16b",
"stack-overflow \uf16c",
"instagram \uf16d",
"flickr \uf16e",
"adn \uf170",

"bitbucket \uf171",
"bitbucket-square \uf172",
"tumblr \uf173",
"tumblr-square \uf174",
"long-arrow-down \uf175",
"long-arrow-up \uf176",
"long-arrow-left \uf177",
"long-arrow-right \uf178",
"apple \uf179",
"windows \uf17a",

"android \uf17b",
"linux \uf17c",
"dribbble \uf17d",
"skype \uf17e",
"foursquare \uf180",
"trello \uf181",
"female \uf182",
"male \uf183",
"gittip \uf184",
"sun-o \uf185",

"moon-o \uf186",
"archive \uf187",
"bug \uf188",
"vk \uf189",
"weibo \uf18a",
"renren \uf18b",
"pagelines \uf18c",
"stack-exchange \uf18d",
"arrow-circle-o-right \uf18e",
"arrow-circle-o-left \uf190",

"caret-square-o-left \uf191",
"dot-circle-o \uf192",
"wheelchair \uf193",
"vimeo-square \uf194",
"try \uf195",
"plus-square-o \uf196"
]

doc = app.activeDocument;
for ( var i = 0; i < arr.length; i++ ){

var data = arr[i].split(" ")
var layer = doc.artLayers.add();
layer.kind = LayerKind.TEXT;
layer.textItem.contents = data[1];
layer.textItem.font = FONT;
layer.textItem.size = SIZE;
layer.textItem.convertToShape();
makeCustomShape(data[0]);
layer.clear();
}


function makeCustomShape(name){
// recorded with script listener will make currently active path a custiom shape
// with a specified name
var idMk = charIDToTypeID( "Mk " );
var desc29 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref13 = new ActionReference();
var idcustomShape = stringIDToTypeID( "customShape" );
ref13.putClass( idcustomShape );

desc29.putReference( idnull, ref13 );
var idUsng = charIDToTypeID( "Usng" );
var ref14 = new ActionReference();
var idPrpr = charIDToTypeID( "Prpr" );
var idfsel = charIDToTypeID( "fsel" );
ref14.putProperty( idPrpr, idfsel );
var idDcmn = charIDToTypeID( "Dcmn" );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref14.putEnumerated( idDcmn, idOrdn, idTrgt );

desc29.putReference( idUsng, ref14 );
var idNm = charIDToTypeID( "Nm " );
desc29.putString( idNm, name );
executeAction( idMk, desc29, DialogModes.NO );
}

Illustrator now refuses to draw lines with stroke weight below 1 pt


Starting yesterday, Illustrator has been refusing to let me set a line weight under 1pt. If I set a lower one, the line snaps back to 1pt weight.


This is crippling to my work: The art is being output to a laser cutter. 0.01pt lines are how you signal "cuts" for the printer driver. Heavier weight lines are treated as "etch" commands. Without fine lines, I can't cut things out.



I first noticed the problem yesterday, and it's persisted through reboots and such. Prior to it cropping up, I'd been doing a lot of work with making custom brushes in Illustrator.


Has anyone run into this before or have an idea what might cause it?



Answer



Uncheck "Align to Pixel Grid" in the Transform Panel.


You may need to first select objects, then uncheck the option on the Transform panel.


When opening a new document you can uncheck the "Align to Pixel Grid" option in the new document dialog box as well.


This is a feature in Illustrator 15.x (CS5) to assist in the creation of sharp web/screen images. The pixel grid assumes the smallest measurement is 1 pixel so as little anti-aliasing as possible is used. This allows strokes or fills to be sharp and crisp when output for screen devices. However, it also means you can not draw a stroke smaller than 1pt (1px) and some paths or fills may move slightly to align to the pixel grid.


You may need to choose Show Options from the Transform Panel Menu to see the Align to Pixel Grid Option


Alternative gender selection radio buttons


I would like to create a form which includes gender selection. However, I don't like classic male/female dropdowns. I would like to improve look and feel as well as user experience in a smart way. What is the most decent and neat way of getting gender of users?



Answer



If I am interpreting your question correctly, this is not a simple matter of what controls to use, but rather what options to provide your users and how to allow for these options.


One must first ask if gender is a required field at all. But if it is, your best bet and one that has been occasionally adopted to much praise from the community, is also the simplest.


A plain text field. Or if you want to still keep the radio buttons for the most common choices, use radio buttons for male, female, and finally an additional option that enables a plain text field. This allows users to define gender for themselves, any other form of selection is going to alienate someone.


In order to keep your stats happy, do some flexible text matching to group users into male, female, and other groups. Just occasionally scan the groups to see if their are any incorrect categorisations, and adjust the algorithms accordingly.


advertisement - engaging users in freemium services


there are applications nowadays that give options to perform certain in-app functionalities/services, but then link to an explanation of the functionality/service, followed by a statement saying "pay X dollars to access!"


in my own use, this never seems to engage me in actually wanting to use the functionality/service after clicking it because I felt deceived as a user. I thought it was something i could use within my current profile, but it wasn't (ergh!).


I'm wondering if there is a better alternative to getting users to buy-in to the premium functionalities/services of a free application. I'm trying to think of something that's not deceptive and carries some sense of gratification for buying in.


My first assumption would be to provide a "free trial" for the functionality/service, but is there any other alternatives you all have seen or used?




Wednesday, June 27, 2018

gui design - Is there any distinction between badges, labels and tags?


We are looking at a set of design patterns for helping classification of projects on a list – there seem to be some strong discussions around what the difference is between badges, labels and tags.


My thoughts are, badges (like notifications) are small, usually image-based identifiers, labels are non-interactive identifiers and tags are interactive combinations of the two previous options.



Answer



Badges are numerical indicators of how many items are associated with an element (a link) and labels are used to provide additional information about something. A tag is a word or a group of words temporarily attached to an item, a SEO tool.


See this explanation on Atlassian Design Guidelines:



Badges provide quick visual identification for numeric values such as tallies and other quantities. They are not used for anything other than integers. To call out tags or other high-visibility attributes, use Labels. Labels, like mentions and lozenges, are a way of visually tagging UI objects for quick recognition and navigation. They are used in taxonomies (tags) to provide an ad-hoc, user-generated scheme for classification and searching, or in multi-select controls to indicate already locked-in elements.



Labels can include an action icon (usually 'remove'). Bear in mind that they increase the amount of visual noise, particularly in combination with other visual tagging elements. They should be short and not require line-wrapping.



user behavior - Does a password strength indicator increase password strength?


Just browsing the internet, I saw a password strength indicator on a sign up, and I realized that I personally didn't care. Does anyone know if, on average, password strength indicators increase the strength of the password entered?



EDIT


This question has to do with the psychological effect of the password-strength indicator. Obviously the algorithm for determining password strength must be accurate, and obviously the password strength will increase if the software forces the passwordto be a certain strength



Answer



Researchers from Carnegie Mellon University recently (2012) looked at password strength meters and its impact on password creation. The paper "How does your password measure up? The effect of strength meters on password creation" has all the details, but the abstract summarises their findings nicely (emphasis is mine):



We present a 2,931-subject study of password creation in the presence of 14 password meters. We found that meters with a variety of visual appearances led users to create longer passwords. However, significant increases in resistance to a password-cracking algorithm were only achieved using meters that scored passwords stringently. These stringent meters also led participants to include more digits, symbols, and uppercase letters.


Password meters also affected the act of password creation. Participants who saw stringent meters spent longer creating their password and were more likely to change their password while entering it, yet they were also more likely to find the password meter annoying. However, the most stringent meter and those without visual bars caused participants to place less importance on satisfying the meter. Participants who saw more lenient meters tried to fill the meter and were averse to choosing passwords a meter deemed "bad" or "poor."



Emphasis was added to point out the differentiation between password length, and password strength.


plot - How can I make a character who isn't a jerk seem like one?


I have an MC who, because of certain circumstances, everyone sees him as harsh and cruel at first. As they get to know him through the first few chapters, they eventually see he's nicer than they thought. How do I describe that in a novel? (If you can access meta, look at my NaNoWriMo post.)



Answer




Such characters are often found, from the works of Jane Austen to those of Tolstoy. People are perceived as what they appear to others either through actions or words.


In Pride and Prejudice, Elizabeth Bennet comes to believe that Mr Darcy is arrogant and not worth her time, but she later realizes her error. Quiet people who do not seek to please the opinion of others might be seen as proud (or a jerk) while they are simply aware of their own worth.


Others, reticent by upbringing, can appear cold and distant. Certain cultures inculcate the notion that strength of character means being a man of very few words.


Choose what kind of person your MC truly is, then select a somewhat skewed view for your other character to have, always seeing him silent might make them wonder, but maybe he believes it is better to remain silent and be thought a fool than speak and remove all doubt.


modal windows - Drawing users' attention to unrecoverable actions?


We're working on an internal business app, and throughout the process the users have been very involved in all aspects of the design. They have explained their workflow, terminology, etc. and the app models that as closely as possible, with their input at every step.


Most actions in the app can be undone, but there's one action that (per the users' instructions) can't be undone without going into the database and manually changing data. In order to confirm this action, the user has to click "yes" on a modal alert. Alerts are used very rarely in the app; there's only one other action that will bring about an alert. Neither action is performed very frequently.


However, the users are still somehow occasionally clicking on the wrong action and confirming their choice in the alert (presumably ignoring the text on it). What's the best way to remedy this?


The text in the alert is a bit long, so we're looking at making it shorter and more to the point, and maybe renaming the buttons so they aren't just yes/no, but we don't know if that's enough. Is there some other way to draw the users' attention and make them really realize what they're doing? Are there proven ways to reduce errors like this?




Our ultimate solution: For now, we're focusing on changing the text and appearance of the alert dialog, as per Matt Lavoie's and André's answers. We made the text shorter and more to the point, added a caution icon and a clear statement that the action can't be undone, and changed the buttons to say what they'll do and not just yes/no.


We also changed the text on the button that launches the action to be red and in caps (all the other button texts are in black and just first letter capitalized).


Finally we made the entire background of the app go bright red when the alert dialog comes up. It's quite jarring, so the users should definitely notice it.


We mentioned the changes we're making to the users, and they were totally in favor of it. If these aren't sufficient we'll add additional input requirements to the alert, as in Andrew Leach's and JeffH's answers.




Answer



You could try using color and/or icons to differentiate the more critical actions from the less serious ones. If there is a series of buttons next to each other that are all grey and then one that is red, I will be more likely to differentiate that from the others.


mockup


download bmml source – Wireframes created with Balsamiq Mockups


Maybe even in big bold red text right in the modal you could put "This action may not be undone" right above the continue button.


mockup


download bmml source


Worst case scenario you can pull the old "Type 'DELETE' into the box to permanently delete this item" and not enable the continue button until they type delete (or whatever the action is) into a text box. In that case they cant really deny that they didn't know what they were doing.


Create rounded button with inset edge, gradient and inset text with Gimp


This is my first attempt at seriously using Gimp. I am more of a front end developer slash developer myself and I have only used Gimp or Photoshop for very basic stuff such as removing backgrounds, cropping. So this the first time I want to do more and as I am planning on ditching PS I am trying to work with Gimp. Please see attached image


op-menu-buttons.


It shows simple rounded buttons with nice inner shades and a beveled background as well as inlaid text. How in Gimp do I:



  1. Create this shade gradient effect on the button?

  2. Do the inlaid/embossed inset text effect?

  3. Make the button background with the inset lines?



Thanks in advance for your help!


Update


Checking http://www.youtube.com/watch?v=p1K3L7RdbKw for engraved text (engraved = embossed)



Answer



You will have to use gradient to get that kind of background. Go through this nice tutorial to understand how gradient works : http://mygimptutorial.com/round-web-20-button-with-a-metal-ring


And then play around according to your needs. Let me know if you need help with anything specific.


Tuesday, June 26, 2018

usability - Whats is the best UI interface for permission?


I would like to know what is the best user interface to represent Multi-group inheritance permission.


I am not sure the treeview is the best way to show permission. What should be the best UI ?


Example : In the picture you see the permission of a particular page using groups permissions system. The group 4 is the child of Groupe 2 and Groupe 9. If you look, the group 4 has the authorization when he is the child of group 2 but is denied when he is the child of the group 9. At the final the group 4 is supposed to be denied but how show this situation efficiently?


enter image description here



Answer



You need to reduce or remove the confusion of the multiple inheritance and that is classically a very hard thing for users to understand when being displayed as a tree because a tree has a single direction of information - from the root node downwards (trunk to leaf)


So perhaps you could instead use something along the lines of a Miller Columns as in the following example.



Here are three columns which map onto the three levels of your tree.


enter image description here


Column 1 has all the top level items. Column 2 has all the second level items. Etc etc.


When an item in a column is selected



  • it is highlighted (blue above)

  • any parent node under which the selected item appears is also highlighted in the column to the left

  • any sibling which is not underneath any of the parents (at left) is shown greyed out.


This has the advantage that you can see the routes/paths that Groupe 3 has to the top - thus giving you the paths of inheritance - and therefore the paths of dependence.



Examples:


Example 1: Selecting Groupe 3 (in column 3) - as in the image above


Groupe 3 is under Groupe 2 so Groupe 2 is highlighted in column 2


Groupe 2 is under Groupe 1 so Groupe 1 is highlighted in column 1


So Groupe 3 is not checked itself, but you can see it could be because it's path of inheritance is all ticked.


Example 2: Selecting Groupe 4 (in column 3)


enter image description here


Groupe 4 is under Groupe 2 and Group 9 so both Groupe 2 and Groupe 9 are highlighted in column 2


Groupe 2 is under Groupe 1 so Groupe 1 is highlighted in column 1


Groupe 9 is under Groupe 8 so Groupe 8 is also highlighted in column 1



So Groupe 4 is not checked itself, and neither can it be because you can that one of its parents in the column to the left is not ticked. It's easy to see that somewhere along it's multiple paths of inheritance one of them is not ticked.


An item can only be ticked if all the items in all its paths of inheritance are also ticked


You could mark any item that cannot be checked with a forbidden symbol - indicating it's inability to be selected due to a blocker in the inheritance path So for example Groupe 4,10,12,13 can never be checked - until Groupe 9 is checked at which point the forbidden icon is removed


Yes, it's a little complicated to explain it all in words but the point is that visually, the information is much easier to digest. Maybe you can adapt this idea to fit your particular scenario and usage. For example, I don't know whether you need this to be purely informational and read-only - or to be interactive and clickable, but the pattern works either way - just make your icons and symbols afford interaction if required.


Why grey out any items at all? Well maybe you don't need to but it can help enforce a sense of what other items in the same column are also affected by the same parent nodes, and therefore aids in recognizing a particular chunk of the overall hierarchy. Depends on your scenario of course, as to whether this is useful.


As ever - if you're thinking of implementing this - test it out, get a feel for it, adapt it if necessary.


responsive design - What are the ideal widths a website should be designed for on a phone/tablet/computer?


What are the ideal/typical widths that an adaptive/responsive website should be designed for in order to accomodate the most devices possible?



Answer




Below are the sizes I like to design for; not all of these may be ideal for your needs, however I find this tend to provide the cater to the most common configurations of devices out there. When I refer to device width, it is in "device independent pixels" :P


1024px


This is the typical device width of 1:1 scale tablet in landscape mode, which also lends itself well to larger computer monitors.



1023-980px


This is the default viewport width for iOS devices (which is supposed to represent the "average" website width), which also lends itself well to average sized computer monitors.



979-768px


This is the device width of an Apple iPad in portrait mode. Note: Many 16:9 Android tablets have a device width of 720px: Android Developers: Supporting Multiple Screens




  • iPad Technical Specifications Note: iPad with Retina display still maintains a device width in the browser of 1024px in landscape, and 768px in portrait


767-480px


This is the typical device width of 1:1 scale phone in landscape mode.



480-320px


This is the typical device width of 1:1 scale phone in portrait mode.



How to crop an image in Illustrator?


I've read a few tutorials but I'm still new to Illustrator. Currently, I am trying to work with a sketch that I am trying to position on the artboard. If I were to resize the entire shape the sketch is drawn on to within the bounds of the artboard, however, the sketch would be too small. How can I crop or otherwise keep the sketch the same size as it is in the image below, while keeping the shape it is on within the artboard?


enter image description here



Answer




You can not crop raster images in Illustrator. At least not with the standard Adobe installation.



You can utilize clipping masks if that helps.



  • Draw a rectangle above the raster image.

  • Select both the rectangle and the image

  • choose Object > Clipping Mask > Make.


This will hide a portion of the raster image but will not remove it.


If you need the raster image cropped, standard procedure is to crop the raster image in a raster editing application, such as Photoshop, before placing or importing the image into Illustrator.


There is a third party plug in titled Rasterino from www.astutegraphics.com which will crop raster images from within Illustrator.




Select the image, and click the Crop Image button on the Control bar across the top of the screen.



vector - What is a good CLI-based bitmap tracing method?


I often use the 'trace bitmap' function in Inkscape to create a vector image from a raster image. However, on larger or more complicated bitmaps, the program completely freezes. GUIs being what they are, I know that a command-line based approach would suit the task. So what's a good way to do that?




Answer



The software that powers Inkscape's bitmap tracing function is actually a non-GUI program called Potrace, so you're in luck:


http://potrace.sourceforge.net/


Download here: http://potrace.sourceforge.net/#downloading


Is a 'back' button needed on a web form?


I am re-designing a multi-page web form that currently contains 'back' and 'continue' buttons.


I am wondering -- is the 'back' button necessary? If the user wants to go back, they will know to use the back button on the browser (which works in this case -- I am aware that on some forms it doesn't).



Answer



I personally always expect 'back' buttons on multi-page form processes. Having a button to move forwards without the equivalent control to move backwards is disconcerting. As you note, the browser back button won't always work with forms, so some people are nervous about using it.


You'd also be surprised (as I was the other day when presented with the results of a user testing session) how many users don't use their browser back button. They expect to find a link within the page.


One potential issue with form processes is how you handle validation when a user clicks your 'back' button. If they have modified fields on the current page, do you save that data? If they have not yet completed all mandatory fields, do you force them to complete those fields before allowing them to go back?


Monday, June 25, 2018

font identification - How do I make a drop shadow with a halftone effect?


enter image description here


I have already tried doing with Drop Shadow settings and i could only produce a black smudged shadow, not the spotted one. Look at this text. Can you see that spotted shadow behind the text? I want to know how to do that.


Is it related with brushes? Or something in the drop shadow? Or maybe something else? Please Help Me.


Also, does someone know the font name?




Sunday, June 24, 2018

technical writing - How should be the format for literature references that are websites (URLs)?


In technical writings are good established standards for formatting literature references. But that doesn't work this well for URLs. How should these references be formatted?



Answer



Check out the question What are the most common style manuals?, find the one that is pertinent to the intended publisher of your piece of technical writing, and look up how they suggest you format a URL. Make sure you have a recent edition, but all style manuals I know of should offer you their canonical way to handle URLs.


website design - Do online-feedback tools generate useful feedback?


We'd like to gather feedback from our users after the re-launch of our website. We do usability tests and interviews but I'd like to provide an easy way to give feedback for any user.


There are tons of tools for that (uservoice.com, userrules.com, getsatisfaction.com etc.).


My questions:



  • Do they generate useful feedback?


  • Which tools work best for a non tech savvy audience?

  • Is there a danger that one group of users provide more feedback than others? (could lead to over- or underestimation of some issues)

  • Are there any other things to consider when integrating a feedback tool?



Answer



We use UserVoice for Handcraft. Before launch we looked around at various tools and were ultimately looking for something that was quick and easy to integrate, relatively unobtrusive, and really easy to use. Uservoice meets those goals because you can start voting straight away, it has sign-in integration with services like Twitter, and you can hook it into your site with one of those overlay tabs ("Feedback" lip on the left of the screen).


The quality and kind of feedback has varied. Since Handcraft is a technical tool aimed at designers, we sort of straddle two groups of users: the front-end developers who report technical bugs and features like "I want zen coding" or "pasting a certain kind of code leads to this error", and interaction designers who're looking to improve their workflow with feedback like "please add FTP support". But if your tool is more focused on a single group then you might have different results.


I find it's been useful to have Uservoice because it's been another place where people can go to drop some feedback and, more importantly, vote on others' feedback. That helps us prioritise where people want the tool to go next. Zen coding has been a feature request for a year with several upvotes, and we recently integrated it so we could go in there and change the status to "completed", which felt pretty good. ;-)


It's important that this is just one avenue of feedback, however. We also make it easy to email us, tweet at us, and have a custom feedback flow built into the first use experience so early questions can be quickly answered. So don't depend too much on it as a holistic solution.


Once Handcraft gets bigger we may move to Get Satisfaction. I think the biggest difference between something like Uservoice and Get Satisfaction is that the latter allows people to help each other. So if you have a community of users and you want to decentralise customer support a bit, Get Satisfaction is a great tool. For simple feedback purposes, you'll probably do fine with Uservoice or comparable tools.



Definition of human centred quality in ISO 9241-220 separates usability and user experience, why?



ISO 9241 defines user experience as:



a person's perceptions and responses that result from the use and/or anticipated use of a product, system or service.



Based on this definition, we would expect that usability froms part of a user's experience when they set out to achieve a goal by accomplishing tasks using a product or service.


In the same document, human-centred quality is defined as:



usability, accessibility, user experience and reduced risk



So the question I would like to pose is this: If the purpose of applying a human centred design is to improve the user experience of a product or service, why is the definition of user experience more inclusive (i.e. includes usability) than the definition of human-centred quality (where usability is another element alongside user experience)?





website design - Should multi-select dropdown/box have an "all" option?



We have a situation where we have an optional "multiple select" box, that looks something like this:




This select box allows you to select multiple items which will then be submitted with the form. I'm wondering, does it make sense to have an "All Options" or default option at the top of the list? Is it redundant? The HTML would look something like this:





Here is a jsFiddle demonstrating the HTML and how a "clear fields" button may work: http://jsfiddle.net/m3Zu2/




Answer



To answer the question you asked, I would strongly recommend not adding an 'All' option to a multi-select dropdown. You'd be providing two methods to accomplish the same thing: selecting all individual items OR selecting 'All', which is confusing for users (violates Neilsen's heuristic of Consistency & Standards) and likely would introduce data fidelity issues unless you made sure that both selection methods are recorded as the same in the database.


However, to answer the question you didn't ask... don't use a multi-select dropdown at all. Seriously. According to Alan Cooper (et. al) in About Face 3 (p. 451):



The selection idiom in list controls is very well suited for single selection but much weaker for multiple selection... It is thus far too easy, in the case of multiple selection, for users to select an item, forgetting that they have now deselected the first item because they can no longer see it...


When objects can scroll offscreen, multiple selection requires a better, more distinct idiom... the check box.



Quince has some potential solutions to the problem that don't involve a multi-select dropdown, and this previous UX.SE question has some more ideas.


forms - Why might right aligned field labels be better?


For the longest time, I've used left-aligned labels in my forms, like this:


Left Aligned Labels


I did this because I thought having the labels left aligned made it easier for readers to scan the list of labels.


However, I found my axiom challenged recently while watching the video of Billy Hollis' talk from NDC 2011, in which Billy asserts that right-aligned labels are simply better, like this:


Right Aligned Labels


I've done a bunch of research and found a lot of discussion, including this UX question, which compares and contrasts the approaches, but nothing definitive.



In particular, I haven't been able to find anything to indicate why Billy Hollis changed his opinion from left- to right- alignment for labels (apparently he switched around 2007).


I figure Billy's too smart to have made the change without evidence - so I'm interested in seeing that evidence for myself.



Answer



Luke Wroblewski wrote about this in Top, Right or Left Aligned Form Labels (April, 2007).


In it, he references eyetracking data from an article by Matteo Penzo called Label Placement in Forms (July, 2006). Matteo drew several conclusions from this study, including that right-aligned labels have a lighter cognitive workload for users:



Alignment of labels—In most cases, when placing labels to the left of input fields, using left-aligned labels imposes a heavy cognitive workload on users. Placing labels above input fields is preferable, but if you choose to place them to the left of input fields, at least make them right aligned.



It's possible Billy saw Luke's article and changed his stance based on it.


Saturday, June 23, 2018

Upper bound option price in volatility dimension


All,


I have a theoretical question about the value of an option when spot price goes to infinity as a function of volatility going to infinity.


I know that for a call option:





  • The option value equals the discounted payoff when there is zero volatility,




  • The option value at infinite volatility is equal to the spot. One can derive this fact by evaluating what happens when $\sigma \to \infty$ in the Black-Scholes PDE.




Now assume we add a dimension of, besides volatility, the spot price.


My question is, given "infinite" spot price, how will the option value approach the spot price by moving 'up' in the volatility dimension?


For example, a (EU) call with (A) strike $100$, spot $100000$, $\tau=1$ year, lets say $r=0$%, and volatility $200$% has value $V=99900.2846$, which is almost equal to payoff. when (B) vola $500$%, $V=99981.6396 \approx$ spot. And for (C) vola $1000$%, $99999.9985$, which is even closer to the exact spot. Now lets say in want to truncate my spot (and volatility) domain and need a boundary condition at the upper bound of this (truncated) spot domain. Is there a way to know how the option value on this bound (spot $\to \infty$, vola $\in (0,\to\infty)$) behaves?





keyboard - Why would number lock be disabled by default?


There was a time that number lock was enabled by default (at least in a Windows environment). Then, after an update one day, all the sudden the Number Lock is disabled. Why the change? What is it about disabling number lock that would be considered a better user experience?




Friday, June 22, 2018

ux field - As a programmer, how do I move into User Experience Design?



I've been a developer for over 6 years, mainly working in the web context, and generally distributed applications, services, and also front-facing apps. I got into programming originally through Interactive Design studies back in university, but then moved away from that as I'm most definitely not a graphic designer.


However, I really have a passion for visual arts, visual design, UI design, and user experience. When I say UI design, I mean more toward the Information Architecture side of things, as opposed to "graphic design".


With that in mind, How would a programmer make a career move into the User Experience area?


For example:



  • Would I have to go back to school (I really don't want to do this)?

  • Do I just throw myself into the deep end and apply for jobs?


  • Can I leverage the skills and experience I have as a software developer to help get work?

  • What would a portfolio for a UI/User experience guy look like?

  • What are employers looking for when they look for this kind of position?

  • Would building some UI centric apps/wireframes in my own time help?



Answer



Start working on your 10,000 hours any way you can. That means reading up on material concerning the field, diving in and applying for a job, hacking away at something as a hobby, keeping up with industry developments, paying attention to the thought leaders (eg. Jakob Nielsen, Jared Spool, Steve Krug, etc) and asking lots of questions. So I'd expect to see your reputation here go up quickly!


You don't need to go back to school unless you want to, which you don't, so skip it. Instead, read books, blogs, and attend conferences and events. Leverage your approach to the field from an engineering point of view as an advantage other visual or UX designers don't have: you know how the guts of software works and have a much clearer idea of constraints and limitations introduced into an architecture by technology. This angle can be a much needed ground in reality for many design teams.


Portfolio


A good portfolio for a UI/UX designer consists mostly of stories. You encountered such-and-such problem in such-and-such situation and considered a bunch of different variables in order to offer a certain solution. As you can tell from answers on this site, with UI/UX there can be many possible solutions to a problem, which is different from engineering where there is frequently a solution that was intended by the creator of the ecosystem you're working in.



In this field, however, things are more subjective, and the only way to solve problems is through experience and common sense. The experience part takes time, and common sense is something that gradually evolves from having seen a lot (which you probably have if you've been using the Web for the past 10 years). So you should be on the lookout for great UI/UX and start building an encyclopedia in your head.


Aside from stories, make sure you have a clear idea in your head of what platforms you know. There's a big difference between designing a UI for a Winforms desktop app compared to an iPhone app. If you can demonstrate knowledge in both areas, congrats, you're special.


Employment


It's hard to say what employers look for in "User Experience Designers". Personally I try to stay away from that term as it's so broad (like "software engineer") that it doesn't really specify what you're doing. Instead, try to specialise your knowledge and let that give you a head start. The user experience field is all about overseeing many things and making the best decisions based on carefully assessing different variables (business logic, user needs, technical requirements, etc), which hopefully lead to the best decision for the user.


User research methods are important, so brush up on them but don't obsess too much. Make sure you expose yourself to testing. User testing, usability testing and remote testing are important and you should familiarise yourself with each of them, even if you do it Steve Krug-style.


Hope that helps. You'll get other answers telling you something completely different, and they'll all be as valid as this one, which is typical of the field. (Unless someone comes in and says you should go to school or fry - they just don't know what's up. ;))


adobe photoshop - Drawing thin shapes without losing quality or being blurry


I want to draw an "x" and the size needs to be 8 × 8 and 10 × 10 but I can't do it without losing quality and it being blurry.


I tried in Photoshop and Illustrator, I tried to draw it big and then resize and I tried to draw it in 8 × 8 but no matter what I do when it is 8 × 8 or 10 × 10 it gets blurry and thick. I tried using a rectangle, line or even with a letter.


How can I draw a small thin "x" like the Microsoft Edge close button?


here is an example for the x i want to draw



Answer



The "blur" is just anti-aliasing, which is generally exactly what you want, otherwise everything looks jagged and pixelated.


You actually can't turn anti-aliasing off for shape layers in Photoshop, so (if that is what you're doing) you'll either have to use the shape tools in "fill pixels" mode on and uncheck "Anti-alias" or just draw the shapes yourself...


The following is an "X" drawn as a shape layer (on the left) vs one drawn pixel by pixel with a 1px wide pencil (on the right)...


enter image description here



If you're using text to create your "X" then you can set the anti-aliasing mode to "None" (bottom right of the Character panel)...


enter image description here


But as you can see, getting the pixels to fall in the right place can be a challenge...


8 × 8 pixels and 10 × 10 pixels are small enough sizes that drawing the shapes yourself — pixel by pixel — makes the most sense.


A/B Testing vs Cohort Analysis


I had a few questions about A/B Testing vs Cohort Analysis (dividing users based on registration time).


1.) Is A/B testing mainly used for UX design changes (such as change in Sign Up button Color) or can be used to split test features (such as conversion rate on freemium vs free trial)


2.) What conclusions can I draw from results received from A/B Testing vs Cohort Analysis? Example: A/B Testing helps to tell us that this feature improves conversion in general irrespective of the user Vs Cohort Analysis tell us that conversion of users joining in month 2 is better than in month 1 gives us overall direction a site is going in (conversion rate may or may not be because of new feature implemented between month 1 and 2).


3.) Is it true that A/B testing can be used to test hypothesis faster and Cohort Analysis takes more time?


4.) Should we run A/B testing on a new feature to see if conversion rate has improved and then use Cohort Analysis to see long term effect of new feature? (if Cohort Analysis shows improvement in conversion month over month how strongly can we attribute it to the new feature implemented if no other changes are made to site)



Answer




The point of doing A/B testing rather than cohort is that it eliminates the conflating variable of time. The data you gather is only valid if there aren't ulterior explanations for why two groups behave differently, and groups doing things at different times will often behave differently.


For example: if you're an e-commerce site and you compare user behaviors between people who registered in December vs. people who registered in January, you're going to get wildly different results due to the Christmas shopping season. This would totally invalidate a cohort analysis, unless your goal is to observe how these two groups behave differently.


In short, A/B testing is for testing how two features are different. Cohort analysis is for testing how two groups of users are different.



  1. You can A/B test anything you want! The only requirements are that the two sides (a) happen simultaneously and (b) are randomly assigned.

  2. Again, A/B tells you how features differ in effectiveness and cohort analysis tells you how groups of users differ in behavior.

  3. A/B is faster if your cohort analysis requires you to wait for new people to sign up. But if you're just breaking existing users into blocks, it should take the same amount of time.

  4. This is a reasonable approach, but remember that at the end of the day, the research method you apply needs to be based on the kind of information you're looking to gather.


adobe illustrator - How to disunite pie chart elements?


I've created a Pie Chart Using Illustrator CS6 using Chart tool.


enter image description here


... and the "Group Selection Tool" to pick single pie chart elements and move them around. All pie chart elements are within one layer and grouped together.


Now I want do the movement automatically. In other words, I want to equally "explode" the Pie Chart elements, like shown on the following figure:


enter image description here


How can I achieve this? Doing it manually looks quite messy. Optimally, it is possible using effects, because this would enable an adaption of the pie chart's data afterwards... Thank you!



Answer




You can simply increase the Stroke width and give it the same (white) background color:


enter image description here


screenwriting - Shots in a spec script?


I'm writing a feature-length movie screenplay - well it's still at the story stage, so I haven't started to write the screenplay itself yet. I have been reading wordplayer and a few scripts to see the structure.


I've got one scene in mind where the POV is really important for maximum effect. I want to describe that the camera should be inside the boot of a car (trunk for the Americans here), pointing back at a character. It's similar to at the start of Pulp Fiction when Vincent and Jules get the guns out of the boot.


In terms of the story, it is obviously irrelevant where the camera is placed. But this is a comedy and the camera angle will make it funnier.



Should I put in a camera direction for this? I don't intend to direct the film myself, so want to do whatever would maximise my chance of selling it as a spec script.


Thanks




Thursday, June 21, 2018

print design - RGB and CMYK: Why both?


Any of you who have at least little experience with graphic design software, photography or professional printing, must have -almost undoubtedly- have gone through this: 'the struggle' of RGB and CMYK colour spaces.


Now, there are many questions regarding matters of 'which should I choose', 'what is what' and converting problems, but that's not really what I'm after here.


As a graphic designer with only a couple of years of experience, I still have this struggle from time, and find the whole CMYK/RGB choosing/converting/saving situation quite confusing, to say the least. I do know that RGB is meant for digital end purposes, and CMYK is suitable for printing.


I have always been wondering about the neccesity of this whole thing. So, my question is: why are there these two colour profiles, instead of just having one?


Wouldn't it be a lot easier if printers or software could convert any RGB file to a CMYK printing document instead? I'm pretty sure it does already exist, by the way, because printing an RGB file sometimes simply prints the right colours for me. Alas, not always (doesn't seem to be related to the printer of software I print from).




I have gone trough some RGB vs. CMYK-related questions and found this, a.o., (on this page), an answer of user DKuntz2 (thanks DKuntz2):




RGB is a light-based theory. All colors begin with black "darkness", to which different color "lights" are added to produce visible colors. RGB "maxes" at white, which is the equivalent of having all "lights" on at full brightness (red, green, blue).


CMYK is a color-based theory. All colors start with white "paper", to which different color "inks" are added to produce output colors. CMYK "maxes" at black, at which point all "inks" are applied at 100% (cyan, magenta, yellow, black).



Not sure if this is entirely right, though, because some people disagreed with DKuntz2:



I disagree. With RGB you start with black - the absence of light; with CMYK you start with white paper.



– e100


Although this does clarify the differences fairly well, I still don't see the point of the two colour profiles(/spaces)





Side question: What happens when you work in an RGB document in photoshop, then press ctrl+y? Photoshop says the document is RGB/8/CMYK, but it can't be both. Right?


EDIT:


Big thanks for the answers, the (current) three below are very informative and interesting. I understand the whole thing a bit better, although it's all very complicated and in-depth to me. Especially when I read about terms like colour models, colour profiles, colour spaces, colour spectra and gamut all one after another.


As much as I would like to accept an answer as the desired one, I feel that my question in the core isn't fully answered yet. What I would really like to emphasize is what I asked about earlier: Wouldn't it be a lot easier if printers or software could convert any RGB file to a CMYK printing document instead?. As Alan Gilbertson explained, the reason is - if I understand correctly - basically a 'lost-in-translation' thing that makes the conversion not 100% accurate, and the colours to possibly be a bit distorted.


However, I still don't see how the solution cannot be an automated conversion done by a printer. Should be possible with modern technology; if you can convert RGB to CMYK in Photoshop, why can't a printer do the exact same for you? As was also said in the answers, the slightest differences in colours and colour spaces, can not be seen by the human eye. And that's what it all comes down to: what we want to see. Be it on a screen or on a sheet of paper.


The fact that this question has three very long answers, or even moreso the fact that there are so many questions about these two colour models (I now know the right term, yay) kind of proves that this is way more complicated than it should be.




ios - Rate Now, Remind Me Later, Never Remind Me Again


I'm creating a mobile app that would alert users on its initial startup to rate it and link to the App Store for a written review.


From doing some research so far I've found two approaches that currently exist.




  1. The first gives the user two choices Rate Now | No Thanks. If the user clicks No Thanks the option would still be available ideally in a settings menu.





  2. The second gives the user three choices Rate Now | Remind Me Later | Never Ask Me Again. Is reminding someone later more of an annoyance than being helpful in this instance? How often should the prompt reopen if the user selects to remind them later (this could also apply to Approach A)? Also the option would still be available ideally in a settings menu.




My goal is obviously to get as many reviews as I can from willing participants but more importantly create a frictionless process with little to no frustration for the user.



Answer



I'd advise against asking "on initial startup." General consensus seems to be that users hate being asked to rate apps with a pop-up (regardless of the content), and developers risk negative ratings for asking too early, too often, or too intrusively.


This is especially true:




  • Right after start up, when the user wants to accomplish something

  • When it randomly interrupts their action based on an arbitrary timer (5 uses, 10 days, etc)

  • When you ask within a very short time of first installing the app, before they've even had a chance to use it & form an opinion.


Best practices & options are still a matter of debate, but in general have started to steer away from this approach.


Some good suggestions to avoid berating users include placing your rating/feedback area in an "about" view with your contact info. This has the added benefit of providing a users with a clear alternative way to report bugs/crashes - hopefully they send you a private email instead of leaving a 1-star rating. If you just say "Rate Now?" you get what you ask for...


You could also opt for a less invasive way to ask than an alert (like a banner-ad style subview). This Tumblr has some good & bad examples of things you could consider.


Sending emails to (willing) subscribers, or including a reminder in the App Store copy to leave reviews after each update could also help.



"But Flappy Bird got ranked #1 with its big ugly alert! Why can't I?"




True ... placing the "Rate Now" pop-up directly at the time/location of the "Play Again?" button is one reason cited for Flappy Bird climbing the charts from obscurity to fame and fortune.


The key difference though is that the pop-up appeared strategically, after the user had played a few times, and right after they'd died, a clear stopping point/milestone. It wasn't the same interruption as a random alert getting in the way of the task.


The placement over the "Play Again" button sort of tricked people into leaving a review. This surely angered/confused some people & its success isn't likely to be repeated, but the sheer volume of ratings had the desired effect, and eventually it took off.


If you do go with the pop-up alertview, then the 3-button option with "Never Ask Again" is safest. If people like the app & want to leave a review, they will.


navigation - Breadcrumbs: OK to use on mobile site?


Wondering if anyone has thoughts on using breadcrumbs as a method of navigation on a mobile website (for a content site).


The breadcrumbs would show the heirarchy of the site as such:



Site > Category > Subcategory > Group > Item




My guess is that the breadcrumbs (if well-designed) would help the user quickly understand the site structure; at the same time, mobile users prefer large buttons and bars to links.


Is there a breadcrumb design that combines the best of breadcrumbs and buttons/bars/standard mobile UI components?



Answer



If you're on mobile and you feel you need traditional style breadcrumbs to navigate then something probably went wrong with designing your site for mobile use - ie it's too complex (too deeply nested) for the type of usage and environment that mobile provides.


Jared Spool wrote on ixda in response to a similar question



Can't speak specifically to mobile, but I'd suggest that you not think in terms of breadcrumbs. Instead, you should think of local "what would I like to get to next" navigation.


I believe that breadcrumbs only fix a symptom of a bigger problem (the user was in the wrong place to start with). I think you're better off focusing your energy on getting the user to the right place instead of coming up with a fix.


I wrote about this in an article called Design Copout #2: Breadcrumbs. (Design copout #1 is site maps.)




As Luke Wrobleski discusses in his book Mobile First, you only have half the attention from a mobile user - they only have "one eye and one thumb" on the situation.


Mobile users don't want to get entangled in your website, so if you are trying to get users to use a site which is complex enough that breadcrumbs are required in order to try and 'fix' the situation, please give another thought about how to make it less complex first, so that breadcrumbs aren't even on the cards.


Mobile UX:


For a more in depth look at considerations for the mobile user experience - especially when transitioning content from desktop to mobile, see my notes and slides on Mobile UX which underlines the need for simplicity in designing mobile content and navigation. The major example I cite is rei.com which has a rich hierarchy of content on desktop, but trims the fat for mobile ( m.rei.com ) while still presenting a full featured experience - and I might add - without the need for breadcrumbs on mobile.


technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...