como melhorar a usabilidade de menus suspensos preenchidos dinamicamente?
<p>estou trabalhando em um aplicativo para um cliente que possui uma "interface de usuário exclusiva" na qual desejo melhorar.</p><p><img src="https://i.stack.imgur.com/g9jdo.png" alt="search drop down"></p><p>atualmente, quando o usuário acessa esta página da web, há apenas um menu suspenso mostrado para a região. quando o usuário começa a selecionar a região, a página inteira envia e mostra a zona suspensa. isso se repete para cada lista suspensa até que todos os valores sejam selecionados. região, zona, distrito e revendedor.</p><p>claramente, isso não é muito utilizável ou preferível para o usuário, pois a página inteira é atualizada e requer muitos cliques. eu queria ver se há alguma maneira de melhorar a experiência do usuário aqui?</p><p>uma solução que posso fazer, se não conseguir melhorar a interface do usuário, é recorrer às chamadas ajax para evitar a atualização completa da página. mas como posso melhorar a interface do usuário?</p>
<p>pelo que entendi, você já tem o nome da concessionária que deseja abrir.</p><p>essa abordagem de design de interface do usuário específica replica a maneira do mundo físico de entender as coisas. se eu quiser chegar a essa concessionária, como eu faria? bem, eu tenho que ir a essa região, chegar à zona, chegar ao distrito e depois encontrar a concessionária. no mundo físico, não há muita escolha.</p><p>mas, para seu objetivo aqui, acho que uma abordagem baseada em pesquisa seria não apenas mais apropriada, mas também muito mais simples e utilizável.</p><p>o que eu estou falando aqui é ao longo das linhas do google sugerir. o usuário começa a digitar o nome da concessionária que deseja abrir. se houver apenas um com esse nome, tudo bem. você tem isso. caso contrário, mostramos várias sugestões que incorporam informações de região, zona e distrito e o usuário pode escolher a que deseja acessar.</p>
<p>aqui está outro exemplo baseado em <a href="http://jquery.com">jquery</a> . ao contrário de todas as outras respostas postadas aqui, leva em consideração todos os eventos de teclado e mouse, especialmente cliques:</p><pre><code>if (!$.support.leadingwhitespace) { // if ie6/7/8 $('select.wide') .bind('focus mouseover', function() { $(this).addclass('expand').removeclass('clicked'); }) .bind('click', function() { $(this).toggleclass('clicked'); }) .bind('mouseout', function() { if (!$(this).hasclass('clicked')) { $(this).removeclass('expand'); }}) .bind('blur', function() { $(this).removeclass('expand clicked'); }); } </code></pre><p>use-o em combinação com este pedaço de css:</p><pre><code>select { width: 150px; /* or whatever width you want. */ } select.expand { width: auto; } </code></pre><p>tudo que você precisa fazer é adicionar a classe <code>wide</code> ao (s) elemento (s) suspenso (s) em questão.</p><pre><code>&lt;select class="wide"&gt; ... &lt;/select&gt; </code></pre><p> <a href="http://jsfiddle.net/hnv9q/">aqui está um exemplo do jsfiddle</a> . espero que isto ajude.</p> <p>quando você clica nas opções de pesquisa ao lado do botão de pesquisa, uma das opções de filtro é "pesquisa". altere a lista suspensa para "possuído por mim". em seguida, altere o menu suspenso "compartilhamento" para "compartilhado por mim". isso deve mostrar todos os itens que você possui que você compartilhou - portanto, os itens que você publicou.</p> Acabei de encontrar uma solução metade mim, se alguém estiver interessado: "javax.microedition.lcdui.ItemStateListener". Esta função pode lidar com os estados (ou mudanças de estado) dos itens GUI em tempo real. A sua não keyPress, mas isso vai funcionar tão bem para a minha candidatura. olá @luis freixo    isso pode ocorrer por vários motivos (cache do navegador), performance do navegador, performance do player invocado pelo navegador, algo que o navegador está a bloquear (javascript, cookies etc).  dos testes que fiz o firefox mostrou-se com uma execelente performance para o tipo de acesso. [@jeferson\_jung](/u/jeferson_jung) seja bem vindo à comunidade, limpe o cache do app e force a parada, pra ver se funciona olá, recomendo que você altere os atalhos nas preferências do seu navegador:   

https://help.opera.com/en/latest/shortcuts/ <p>não acho que eles sejam mutuamente exclusivos, mas, nos casos em que são, você deve observar o que seus clientes desejam/precisam.</p><p>qualquer interface pode ser simplificada movendo funcionalidades complexas para outro local. eu acho que esse é o principal compromisso. para facilitar o uso para o usuário médio, você precisa torná-lo mais complicado para o usuário avançado. eles precisam fazer mais alguns cliques para obter suas coisas.</p><p>mas é claro que muitas vezes o software pode ser facilitado tanto para usuários avançados quanto para usuários casuais, sem sacrificar a usabilidade de nenhum deles. uma coisa importante é criar recursos ortogonais que possam ser combinados facilmente. muitas vezes, o software é complicado porque há muitos recursos sobrepostos. em vez disso, ao criar alguns recursos distintos que podem ser facilmente combinados, o software pode ser muito mais flexível e simples.</p><p>descobrir isso criando uma matriz de objeto/ação. liste o número de objetos diferentes no seu aplicativo ao longo de um eixo e as ações que você pode executar neles em outro eixo. a matriz não deve ser muito escassa.</p> <p>oi lucas, tudo bem?</p>
<p>quando você impulsiona uma postagem na sua página no facebook, você está destacando somente um conteúdo da página. esse tipo de ação é uma forma de atrair a atenção de quem já compra de você ou de clientes em potencial e aumentar o alcance da sua postagem.</p>
<p>o interessante de se fazer um impulsionamento é o fato de que os amigos dos seus seguidores podem ver as curtidas e comentários da publicação. isso dá mais credibilidade e confiança para seu negócio.</p>
<p>esse post aparece em destaque no feed de notícias. por isso, as chances dessa publicação ser exibida para seu público são grandes. mas, vale ressaltar que esse conteúdo aparece somente no feed de notícias via mobile ou desktop. você não consegue definir objetivos de campanha.</p>
<p>o máximo de informações personalizadas em um impulsionamento são:</p>
<ul><li>pessoas que você seleciona através de direcionamentos (local, idade, gênero e interesse);</li><li>pessoas que curtiram sua página;</li><li>pessoas que curtiram sua página e amigos delas;</li><li>públicos personalizados definidos anteriormente.</li></ul>
<p>já criar os anúncios no gerenciador costuma ser o mais indicado, porque você pode trabalhar com os objetivos de campanha. os objetivos das campanhas abrem um leque de direcionamento do seu anúncio e garantem uma maior otimização.</p>
<p>você pode pensar que o impulsionamento faz isso, mas lá o foco acaba sendo no alcance das postagens. se você está interessado em ter conversões, o gerenciador de anúncio é o caminho.</p>
<p>quando você cria um anúncio no gerenciador, esse conteúdo não aparece na timeline da sua página, como se fosse uma postagem na sua página — a menos que você decida usar um post já publicado como base. esses anúncios também são mostrados em outras áreas no facebook, como na barra lateral, por exemplo.</p>
<p>no gerenciador de anúncios, você pode criar vários anúncios ao mesmo tempo e fazer testes para avaliar qual tem um desempenho melhor com base na sua estratégia e objetivo.</p>
<p>ficou mais claro?</p> <p>olá willian,</p>
<p>o procedimento para alcançar este efeito é um pouco trabalhoso mas é descrito no link abaixo:</p>
<p><a href="http://www.slideshare.net/vidhi\_khatri/create-circular-reveal-animation-and-ripple-effect-like-whatsapp" rel="nofollow">http://www.slideshare.net/vidhi\_khatri/create-circular-reveal-animation-and-ripple-effect-like-whatsapp</a></p>
<p>basicamente você vai adicionar o seu menu ao seu layout e mantê-lo escondido. quando o botão do menu for pressionado você vai utilizar o recurso de animação para revelar gradualmente o seu menu que estava escondido.</p> <p>agradeço o help. consegui a seguinte solução: comunicação entre ipcrenderer e ipcmain através dos métodos send() e on(). </p>
<pre class="prettyprint"><code>botaostart.addeventlistener(&#39;click&#39;, () &#61;&gt; {
 ipcrenderer.send(&#39;start-tela&#39;);
});</code></pre><p>uma vez realizada a comunicação, utilizei o método: browserwindow.webcontents.send() enviando um evento para todas as telas interessadas.</p>
<pre class="prettyprint"><code>ipcmain.on(&#39;start-tela&#39;, () &#61;&gt; {
 controlwindow.webcontents.send(&#39;start&#39;);
 mainwindow.webcontents.send(&#39;start&#39;);
});</code></pre>