cta – Is there any data on adding directional arrows to text links or buttons that help increase conversion?

Does anyone know of any data that backs up adding directional arrows to CTAs whether text links or buttons? I always personally felt it was just added noise or bespoke design aesthetic but I’m curious about this.

Here are some examples of buttons with directional arrows I am referring to.

Button with directional arrow

Text link with directional arrow

Button with directional arrow

forms – Does displaying fields only after selection reduce conversion?

I’m designing a checkout flow, and it needs to ask the user for registration fields at 3 different times (this is necessary by the rule of the third party we are using). I know that this many fields is bad for the experience, so I thought of hiding the last field section at first, so that it is displayed only after the user selects the offer that will be available to him. The question is whether this is good practice or should I show the fields as soon as the screen loads.

conversion – How to Create an ISO Capturing a Windows 10 Installation

I have installed and customized Windows 10 on my desktop computer. I want to create an ISO that captures this installation, including all its settings and installed software.

I plan to load this ISO onto a single-boot USB drive, using Rufus, or onto a multiboot USB drive, using YUMI. I will then boot and run my customized desktop Windows 10 installation from the USB drive, as if I had installed Windows on that drive.

If there is no way to capture a Windows 10 installation directly into an ISO, is there a way to convert the output of some other relevant tool to ISO? For example, there seems to be an option of saving drive C as a VHD and then converting the VHD to ISO. But it appears the latter step requires either a $40 purchase of IsoBuster (if indeed it can produce what I want) or a tricky manual process.

gui design – For a list of 10+ cards, Should I use a CTA button on each card for a better conversion rate?

It probably depends on the Read More link. If it expands the card and displays the whole information, “Submitting a Proposal” without additional navigation to another page is probably a good idea. However, if you click Read More and it takes you to a new page, it might be a bit confusing.

Having a CTA on a card isn’t bad, in fact it’s recommended because every action is different (you’ll be submitting a proposal for a different job each time). On the other hand, if you can’t show the full requirements, you might need to have the CTA on the landing page. In general, for a job board, I think you probably need to use this approach. For example, take a look at Upwork’s approach

Insert image description here

if I click on the “more” link, the info expands

enter image description here

you will see, however, that you cannot submit a suggestion. To do that, you have to click on the title of the post, and then an overlay opens that visually looks like a page drawer (it’s not, it just looks like it).

Insert image description here

Now, Upwork is not exactly a paradigm in UX. In fact, they’re known for their UX disasters. But it is one of the biggest job boards, and in this particular case, the user flow makes sense.

Let’s take another industry reference: Freelancer.com

Insert image description here

You can’t expand the information. If you hover over the job posting, you will see a “Bid Now!” button

Enter image description here

However, if you click on it, you will not be able to place a bid or submit a proposal. You will be redirected to a new page, just like on Upwork

Enter image description here

There’s nothing wrong with your approaches, but if you research your competitors, you’ll find that none of them allow direct submission.

The options I see are:

  • Your A option
  • Your B option (removing the “read more “ link, going to a new page).
  • Your B2 option with expand info, submitting in same page
  • A B3 option (CTA with different wording, just like Luke Sawczak says in his very good answer)

Once you’ve decided on one or more of the above options, you should research this with real users (well, you definitely should) and design the interface based on those results.

product – Notice: Array to string conversion in vendor/magento/framework/Data/Form/Element/Select.php on line 135

When I am trying to delete any CMS page or delete any product in the admin backend it throws an error of the Array to String Conversion in directory /vendor/magento/framework/Data/Form/Element/Select.php on line 135 as mentioned in the screenshot below:

enter image description here

If I modify the code line : 135

 $html .= '>' . $this->_escape($option('label')) . '</option>' . "n";

with

$html .= '>' . $this->_escape(is_array($option('label'))) . '</option>' . "n";

Then It definitely resolves the issue of Array to string conversion while deleting the pages or products.
But It does not show the option value in the product attribute as mentioned in the screenshot below:
enter image description here

We have to put the website to the live side but this issue is coming in a way.
Can anyone help me sort out this issue?
Thanks

Probable “user error” with input parameters, C++; pointer inputs, “binary” conversion

I am trying to write a couple of template functions that convert back and forth between a value of any data type (within reason) bytewise into a character string.
The idea is to (eventually) store the values in a .bin file, and also to be able to recover the values from said .bin file.
However, I need to get the conversion functions correct, first.
Originally, I wrote a toy function that did both that looked line this:

template<typename T>
void buildabin(T x)
{
    char* X;
    T x_;
    X = (char*)&x;
    memcpy(&x_, X, sizeof(T));
    cout<<x_<<endl;
}

This seemed to work fine.
However, when I tried to separate out the two capabilities, using:

template<typename T>
void buildabin(char*& X, T x)
{
    X = (char*)&x;
}

And:

template<typename T>
void buildaT(char* X, T& x)
{
    memcpy(&x, X, sizeof(T));
}

It seems as if it is doing the conversion to the binary string correctly, however, upon input to “buildaT”, it barfs – after placing some couts for X in various places, for some strange reason, it is not getting even the address of X correctly.
And of course, “little” x just returns garbage.

I have tried every scheme I can to get this to work. It seems it’s a “user error” on my part with respect to input in the “buildaT” function, but I am stuck as to where the error lies.

Here is main, if that helps:

int main()
{
    //char* G = new char(sizeof(double)); //(tried this also)

    char* G = NULL;

    double g;

    cin>>g;

    buildabin<double>(G, g);

    double g_;

    buildaT<double>(G, g_);

    cout<<g_<<endl;


    return(0);
}

conversion – Python to Mathematica code bug

I have an assignment in Mathematica, which I’ve already solved using Python and it’s a bit hard to convert the code. Here’s what I have done so far:

def sigmoid(x): # define the sigmoid function
    return 1/(1+np.exp(-x))

def pos_list(node): # returns the neighborhood of node, A is a matrix of adjacency
    return np.nonzero(A(node))(1)  

def neg_list(node): # returns nodes that are not neighbors
    return np.where(A(node)==0)(1)

I have these in Mathematica:

sigmoid(x_) := 1 / (1 + Exp(-x))
M := AdjacencyMatrix(undirectedEdges) (* this is A from above*)
posList(n_) := M((n))("NonzeroPositions")
negList(n_) := Flatten(Position(Normal(M((n))), x_Integer /; x = 0))

Now there is a longer function:

def next_choice(v,t,p,q):
    positive = pos_list(v)
    li = np.array(())
    for pos in positive:
        if pos==t:
            li = np.append(li,1/p)
        elif pos in pos_list(t):
            li = np.append(li,1)
        else :
            li = np.append(li,1/q)
    prob = li/li.sum()
    return np.random.choice(positive,1,p=prob)(0)

So I am stuck here. This is what I’ve written:

nextChoice(v_, t_, p_, q_) := 
 Module({li, vpositive, tpositive, len, i, prob},
  li = List();
  vpositive = posList(v);
  tpositive = posList(t);
  len = Length(vpositive);
  For(i = 1, i <= len, i++,
   If(vpositive((i))((1)) == t, AppendTo(li, 1/p), 
     If(Length(AnyTrue(tpositive, # == vpositive((i))((1)) &) > 0), 
      AppendTo(li, 1), AppendTo(li, 1/q)));
   );
  prob = li/Total(li);
  Return(RandomChoice(prob -> vpositive, 1)((1)))
  )

This list li only has one element and I cannot figure out why it doesn’t go through all the if statements. any ideas?

graphs – Conversion from TSP to ATSP does not imply constant factor approximation algorithm

As I understand there is a constant factor approximation algorithm (e.g Christofides algorithm) for the symmetric TSP problem. This is however not the case for the asymmetric TSP problem (I am assuming we are talking about the metric case for both).

According to Wikipedia there is a reduction from ATSP to TSP, which then can be solved to obtain a solution for the ATSP instance – so why does a solution on this reduction not imply that there is a constant factor approximation for ATSP?

custom – Currency conversion from 3 character code (USD) to their symbol as output ($) in magento 2?

Does magento 2 is having something inbuilt function for currency symbol getting ?
What I want is – Input will be 3 characters currency code as USD, INR, JPY, EUR etc. corresponsing to that output should be $ , ₹ , ¥ etc…

All the solutions are appreciated even if its inbuilt in magento 2 or custom function or some API.

Thanks
Vibhore

c – Float to binary conversion

I wrote a program to convert float to it’s binary IEEE754 representation in C.

Any improvements to this is appreciated

#include <stdio.h>
#include <stdlib.h>
void binary(float num) {
    int n = *(int *) &num; //Evil bit hack from Quake3 Q_sqrt function
    int size = sizeof(n) * 8; 
    char *s = malloc(1 + size); //A string which can hold 32 characters
    s(size) = '';
    int index = size - 1;
    while(index >= 0) {
        if (n & 1)
            *(s + index) = '1';
        else
            *(s + index) = '0';
        n >>= 1;
        index--;
    }
    printf("%sn", s);
    free(s);
}

int main(void) {
    float num;
    scanf("%f", &num);
    binary(num);
}