Can an OS X app interact with the web browser? - macos

I want to make a Mac app that is able to know things about the page the user is currently viewing.
Is this possible? I have 1Password installed, and it seems to be able to fill in forms, so it must be possible. Or am I mistaken in what is happening?
If that is what is happening, how does the Mac app find the current open window, find the forms on that page, and then enter the text into them?

I think 1password has an actual browser plugin, which a user would explicitly give permission to view their visited websites. I would imagine that's how it would be able to prefill forms automatically. If you write a browser plugin, you can do this too, but again by requesting permission from the user first.

Related

Closing browser without user interaction in Xamarin Forms

I have a scenario where I need to open a browser to remove user cookies for logging out. So the process is:
Open browser (Chrome CustomTab or SFSafariView depending on OS) and point it towards my URL to delete cookies.
Send the user back to the mobile app login screen.
Where I'm having an issue is step 2. How do I go about closing/minimizing the browser without requiring user interaction? The only thing I have found so far is to run System.Diagnostics.Process.GetCurrentProcess().Kill(); which closes the entire app, but I have seen comments online that doing this might cause the app to get rejected by Google and/or Apple.
Any ideas on how I can solve this?
You can put SFSafariViewController inside the navigation controller and then you can dismiss the navigation controller. That's for iOS assuming that you already know when to call this code, just don't know how. For Android... no idea for now, probably you should ask it as a separate question not too many people are experts both for Android and iOS...

Cannot start web-simulator on google actions for API.AI project

I am working on Google Cloud Platform to develop a project in API.AI, I have an integration (in API.AI) with Google Actions (for Google Home or Google Assistant), they provide me to see my progress as real time in web-simulator, that you can find here:
https://developers.google.com/actions/tools/web-simulator
I am trying to START the web-simulator clicking on START button, then I get a window pop-up but after open, it closes, I try and try again but I obtain the same result, I cannot open the web-simulator. I have allowed the popup windows in my browser.
Of course I have completed all steps to start web-simulator...
I don't know what is happening. Someone can help me? Thank you, have a good day.
First, are you using a compatible browser? Try it in Chrome if you're
not already using it, as Chrome is a Google product, and so is the
web simulator.
Next, are you using any Ad-Blockers or
Script-Blockers like NoScript? If so, try disabling them, as they
could interfere with the operation of the tool.
If it still doesn't work, try going to an Incognito Windows by pressing the
three dots button and opening a New Incognito Window. Go to the page, and log
in. This will ensure that no cookies are interfering.
At this point, if you're still having issues, try a different browser.
(Either Firefox or Opera)

Locking user to browser window (using .dll files)

Is it possible to lock a user in chrome using .dll files (NPAPI plugin) or any other method?
I want to invoke chrome browser in highly controlled environment preferably on Windows. I would download chrome for businesses and write policies such that user isn't allowed to access any url except one.
I would create a packaged app and create an application shortcut on desktop for user which goes to the url. So it will open in KIOSK mode. But I would want that user shouldn't be able to navigate away from chrome, specifically that window and shouldn't be able to use any other program until he logs out of the application or explicitly closes the window. That means disabling function /ctrl/alt and window keys.
Something like this but with chrome.
Even opening chrome itself in 'locked' mode is not a problem.
Has someone ever implemented it? Is it possible using NPAPI plugin or any other method? If anybody could direct me towards any such resources I would be grateful.
No, this is not realistically possible using an NPAPI plugin, at least not by itself. At minimum you'd need an extension (see http://npapi.com/extensions).
If you loaded it from an extension it might be possible to get the window handle of the browser and such, but I think you'd probably be better off with a separate app.

Password manager type application, is this tough stuff?

There is a password manager application for the MAC, and I was curious as to how one would go about developing such a fine piece of software.
I don't know much about the mac, just getting into xcode and iphone development actually.
The idea is, when you are at a website, and login it pops-up and asks if you want to save the login/password to the application.
You can also click on a previously saved login, and it will open up firefox and login for you.
How would you know when a browser is open, and when a form gets submitted?
What kind of application would this be i.e. project type in xcode?
I'd start by reading up on KeyChain, since that already does most of the work 1password is doing (i.e. securely storing passwords). As for bring up a prompt in web browsers etc, that's just a plugin for each browser it works with, so you'd have to dive into the plugin documentation for each web browser you wanted to support.
In short, it's not mind bogglingly difficult, but it's not a small task by any means. If you don't care about the browser integration you could probably write a thin wrapper around KeyChain quite easily, though I've never done it, so don't take my word as gospel.

Communicating with users on other web pages

This question is part user experience, part engineering.
I am trying to find a nice, clean way to have a user communicate with my web page while they are on another web page. I have web services that will accept HTTP POST/GET, so AJAX and other asynchronous niceties are welcome - don't worry about the details of their communication, they can easily be modified to fit a solution.
The problem I'm running into lies within the user interaction. Ex., say the user is viewing a web page and they want to send my system the web site's URL. I would like it if they could do it while still looking at that page, and without too many "crazy clicks" - currently they have to go back over to my page and enter the information (as you can imagine this has tested horribly).
I have ruled out browser tool bars (easy to do in FF, but a lot of my users use IE) and local applications (they won't want to install Java or Adobe Air apps).
Have you ever solved a problem like this before, or do you have an idea of how I could solve it? Should I be looking at separate solutions for FF and IE (ex., a tool bar for FF and something else for IE)? Don't worry about Safari and Chrome, though a solution that supports them too would be nifty.
Thanks.
p.s. The user would have an account on my system already.
Have you thought about something like the Digg Bar?
Users can access it through a bookmarklet, or you can do a url prefix like http://yoursite.com/<other_site_url>. When users click links, the bar stays active.
What if you wrote a system tray application. Something similar to Pixel Ruler
This could sit in their tray, and it would know you're website. That would eliminate browser toolbars, and could conceivably work on several browsers. You could probably even set it up as an install if they visit your website.
Then you could expose a webservice on your site that this control would pass back info to (like the user's name, current website, etc)
I don't know about the details of your application, but the only solution I can imagine is that you have a page split into two frames, with your toolbar at the top. stumbleupon.com does this, but it makes sense because they're providing the web content.
Simply, your users would have to visit your site before they could do their own browsing. Is that reasonable for your project? That sounds like it could be a user experience disaster of its own. Also, if most of your users are using IE, I'm going to assume that they're not the most web savvy users out there.

Resources