Modifying Spotify Context Menu via App - contextmenu

Is there a way to access/modify/add items to the context menu within the Spotify environment?
In other words, is it possible to make an app that while running allows me to, as an example, to go to a playlist, right-click a song, and have an item in the context menu called 'my context item,' which would would show an alert?
*From my experience the 'apps' live in their own window only, so I guess my question is can an app affect or source global environment/variables?
Example screen shot of what I would like: http://i.imgur.com/e7B36.png

In short, but using a lot of words so Stack Overflow will accept this as an answer: No, this isn't possible. Sorry!

Related

How to Manage state between tabs in Flutter App

I am using TabBar in my application where I need to get Input in first tab and show
output based on some calculation on other tab.
I am able to get input in first tab but when I click on second tab, my state is lost. I am not sure if I have to make it a Stateful widget at root level.
I am relatively new in Mobile App. Can someone help me out here?
EDIT:
Now I am able to achieve what I said above, but when I am trying to access the list of items from first tab, it throws null exception in second tab?
I solved the above problem using AutomaticKeepAliveClientMixin as described in the answer below.
I think what you may be after is AutomaticKeepAliveClientMixin. I always add that to my screen widgets within TabBarView. This way when a user enters data into fields in one tab and navigates to other tabs and back the data is still there as you would expect.
Then when the user performs an action like "save" I deal with state management (BLoC etc).
You may want to use architecture for managing and sharing states. There are many approaches to manage state:
InheritedWidget to pass app state down the widget hierarchy
Scoped model library to hold app state and notify Widgets of Updates
Redux library to manage app state and update Widgets
Business Logic Components (BLoC)
Check out this article. Check this GitHub repository with different architecture examples

Disable multi-tab browsing for single session/user

[Disclaimer: I'm not sure if this kind of question is accepted here as it is about a piece of software deployed already. Rest assured I didn't drop any confidential information. Also do tell me if I violated any rules in SO by posting this so I can take it down immediately]
I have a working Learning Management System web application and I recently received a bug report about a button not showing. After investigating, I have proved that the user was not using the web app as intended. When taking an exam, he was opening multiple tabs to exploit the feature that informs him whether the answer was correct or not. He then will use this information to eliminate the wrong answers and submit all the right answers in another tab/window.
I'm using Rails 4.2. Is there a way to prevent multi-tab browsing? I'm thinking like if a user is signed in and he attempted to open a new tab of the webapp, he should see something like "Please use one tab" and all the features/hyperlinks/buttons are disabled.
Here's a screenshot of how I proved he was using multiple tabs. Notice that there are multiple logs of the same attempt # because the current implementation allows saving a study session and resuming later (this is the part that's exploited). The opening of multiple tabs searches for the most recent attempt session and continues from there. This is also the reason why most of the sessions don't have a duration value -- the user only finishes a study session for one tab (by clicking a button that ends the study session). The system cannot compute for the duration because the other sessions don't have an end timestamp.
-
This is what a single-tab user looks like:
This is more of an application misuse issue more than a bug.
You should add protection not only from multi tab, but for multi browsers aw well, so it can't be purely FrontEnd check.
One of the solutions could be using ActionCable to check if a user has an active connection already and then act accordingly.
Another, for example, generate a GUID in JS and pass it with every answer. If its different from previous answer, it means user opened a new window.
But of course the solution would depend on your current architecture, without knowing how do you currently organise client-server communication it's hard to give exact and optimal solution.
I found an answer here. I just placed this js in the application view to prevent any extra instance of the website.
Thanks for everyone who pitched in.

link between apps modifying the editing menu (bubble-popup menu) - a similar way to do this

first of all an Happy New Year to all :)
I have found that it's possible modify the editing menu (copy/paste/select etc) thanks to the UIMenuController menuItems.
I'd like to have a link to my app from other apps through this editing menu, for example a "copy to my app" menu item. Obviously, I can't modify the code of other apps, but is there a way that nears to this?
It's called "cloud computing". This is, where you have a web service you send the data to, and then in your other app, on startup or entering the foreground state, you check to see if any new data is available using whatever protocol you design. You have no access to any state of any other application, be it read-only or read-write. I'm sorry.

Is it acceptable to make external links target="_blank"?

I'm a bit confused whether or not I should make the links on my website that point externally target="_blank". Does this practice negatively affect the usability of your site (i.e. breaking the "back button trail")? Is it commonly found annoying by most users? Is it acceptable in some situations but not others?
I want to make an enjoyable user experience for all of my sites and would hate to do something that annoys my users. What is your experience/advice on the matter?
Most people will say to leave it out, all for very good reasons.
Most people will not tell you this: watch how different people browse using their computer. Sit down for an hour with an average user: a teacher, a piano player, a retired Vet, a stay-at-home mother, or a mechanic. Watch how people who are disabled browse.
You will discover that you should not:
Open new windows (it is highly confusing)
Have menus disappear immediately after leaving them (requires fine motor control)
Use excessive numbers of links on a page (also confusing)
Provide too many features and options
Use Flash animation
Be overly clever
You will discover that you should:
Be clear and concise
Be simple
Keep the user on the same page
Avoid frustrating the end user at any cost
Create an extremely responsive website
And much more.
I've read plenty of usability documentation suggesting that end users resent being forced to open a link in a new window. I tend to agree, if I want a new window I will right click and select whether I want the same window, new tab, or new window.
However, the marketing types believe that opening an external link in a new window will keep the end user on your site because they will eventually close the new window and wind up back on your site.
EDIT: Best information I've read on this subject is in Steve Krug's book "Don't Make Me Think" (website).
MHO: just link it. If I want to open the link in a new window, I can do it myself.
Leave the target attribute out and let your users decide if they want to open the link in a new window. If you want to warn the user that the link will take them away from your site, you can implement a page that makes it clear (US Government sites do this for instance).
I agree that as a user, I prefer to have the choice as to whether or not I open a link in a new window. Unfortunately, many users don't realize that they have that choice, and will lose your website when they click a link to an external site. I tend to err on the side of caution and make external links open in new windows, but it depends on your audience, really.
Here is a nice write up for not opening links in a new window/tab from Smashing Magazine. Essentially, it is better to give users control over link behavior than to decide for them.
Usability guru (?) Jakob Nielsen suggests not opening new browser windows (It's 10 years old though).
Quote:
Opening up new browser windows is like
a vacuum cleaner sales person who
starts a visit by emptying an ash tray
on the customer's carpet. Don't
pollute my screen with any more
windows, thanks (particularly since
current operating systems have
miserable window management). If I
want a new window, I will open it
myself!
Designers open new browser windows on
the theory that it keeps users on
their site. But even disregarding the
user-hostile message implied in taking
over the user's machine, the strategy
is self-defeating since it disables
the Back button which is the normal
way users return to previous sites.
Users often don't notice that a new
window has opened, especially if they
are using a small monitor where the
windows are maximized to fill up the
screen. So a user who tries to return
to the origin will be confused by a
grayed out Back button.
And, every rule has an exception: He suggests document like PDF or DOC that are opened in the browser should be opened in new windows, to avoid confusion.
It's worth mentioning that target isn't valid in XHTML anyway.
I think it depends on the situation. For a simple website with just a few links like about us, contact, services etc., I will not open new window. It is easy for the user to know which page they are at and which page they have just looked at. For a site that has a listing summary page which links to hundreds or even thousands individual listing page. I would prefer to open new window for each listing. It allows the users to compare service/price.... on each opened page. Plus the user doesn't have to click the "back" button to return to the summary page and wait for the same page to load again.
It depends, typically for links to additional content on your site, I would not use the _blank. Anytime I link to off-site content I use the _blank to keep a page open for my site. That way when the user is done on the external site they see my site again.
With modern browsers this usually opens a new tab. I expect this behavior, but usually I control click to get a new tab/window when I want to keep my place.
That being said, for a web application, I'd always leave the target attribute off so the user can decide to open a new window or not.
What people hate is opening links in a new window and not knowing that it's coming. For each external link, go ahead and use target="_blank", but add an icon that suggests you're opening a new window. Wikipedia's double square icon is a good example of this, so you can just grab that from them and capitalize on the literacy that users already have there.
What's great about a 'new window' icon is that users then have the option of opening in a new tab instead, which isn't so obtrusive. I'd also say that many of those vehemently arguing against your proposed approach are looking at it strictly from an aesthetic/usability standpoint, and not in terms of business requirements or the functionality of your own application.
If you think that you or your users stand to gain from keeping users on your site and opening external links in a new window, you get to make the final call on that. Just be respectful about it.
You need to consider what users are doing in your window, when deciding how links should behave. If I could potentially lose a lot of work by navigating to another page, then I might want links to open in new windows, or give me an option to cancel.
For example, if I'm composing a message in Gmail, most of the links show a confirmation dialog, so I don't accidentally lose my work. And the links on top, which go to other applications like Calendar, open in new windows. I think this is a good example to follow.

Is It Ever Justified To Open A New Window/Tab From A Hyperlink?

Simple question, spurred on by the removal of the target attribute in HTML 4.0 Strict and XHTML 1.0 Strict.
I personally don't think so, as web users become more savvy, they'll ask for a new window from the browser. It annoys me when a website does this a lot.
I think the question is sort of subjective. It could be good if you're launching a javascript game or something.
Here's Neil Turner's reasons not to do it.
On social content sites like Digg or reddit I prefer links to be opened in a new window/tab, as I am constantly going back to the original page to grab more links to look at.
That being said, I think that wherever you can you should allow a logged-in user to make the decision for themselves. I know Digg allows users to choose how they want links to behave.
I think this is pretty subjective, so I'll just give my opinion as a user. I prefer if it's just the default behavior. If I want it in a new tab, I'll middle-click.
If you're going to open it in a new window, warn me like this [new window] or something.
As a law, there is an exception to every law. Although in most cases simple links are best, sometimes links in a new window are just what is needed.
For example, I very much enjoy blogs and forums that open any external links in a new window, so I don't loose track of the original post I was reading.
Another good place to put them is when you click on a picture to get a larger version in an internet store or something.
You really have to evaluate this on a case-by-case basis, but my opinon is that in the end both are necessary for a good UI.
I do if it is an external link, other than that it is probably a bad idea.
The only time I force a new window is when the page I'm designing is ment to be used as a Web Part for a Sharepoint site.
I look at it this way, if you force a new window, you have taken choice away from the user. That's bad.
With two exceptions, the answer must be a resounding "no".
Rationale: Yes, as others have already pointed out there are many cases where I prefer to have a link opened in another tab. But thanks, I'll make the determination of when and which myself. The basic tenet of the web is that the user is sitting with a user agent, a.k.a. web browser. The browser is in other words an agent on behalf of the user. If I'll want a particular link opened in another tab, I'll command-click (or ctrl-clik on another OS), and if I don't, then I'll click regularly. When a link on a web page opens the link in a new tab without my asking, it annoys me no end and breaks the predictability and familiarity of the web.
Exception 1: When clicking to see a large version of a picture or some other plain pop-up window. I see this as a separate topic.
Exception 2: Fully Ajaxy web applications, which seem to set aside most of the rules of the web anyway.
Yes, in web apps it sometimes makes sense to use a popup window when pulling up something ancillary that you need to look at without losing the content on the page.
For instance, I have used popups to display reports. In those cases (which are situational), users needed to look at the report and the screen at the same time, not navigate away to a reporting interface.

Resources