VS2013 Application Insight for desktop applications - visual-studio-2013

I have created one desktop application using MFC. It contains different tabs like settings, about etc. I want to know hit count of these tabs i.e. how many times user clicks/opens these tabs. Can I use Application Insights or is there any other method to do so.

To get started though, from SDK perspective we can support other types of apps like desktop apps. Here are the steps required to setup it up manually and the code required to get metrics, events, traces, etc sent to the application insights service.
Desktop App with App Insights

This feature, it seems, is quite wanted and you can vote for it on the official site: https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/5484795-add-support-for-desktop-apps-to-application-insigh.
I also agree this will be awesome if they make it available for desktop applications, so fingers crossed!
edit: As it seems, on the upper link I provided, on December 05, 2014 they added support for this in the following matter:
While desktop apps are not listed as targeted app types for Application Insights, it’s possible to get instrumentation for desktop apps using Application Insights SDK. Please refer to this thread for more details: Application Insights for WPF Application. At this point Application Insights team believes this should unblock most of the users who voted for this feature, and we are closing this item and releasing your votes back to you. Please let us know if there is another aspect that blocks using AppInsights for desktop apps.

Related

Xamarin and Managed Extensibility Framework (MEF)

I'm thinking about a new mobile/tablet application.
I want to allow the users to develop their own plugins.
Imagine a cash desk application running on a Android tablet. The user could use many alternative when connecting to the credit card reader (Square, Sum'Up, ...).
If my application was an old Win32, I would just publish an API and let Square or Sum'Up developpers create a DLL. This DLL would then be placed somewhere on the computer. At application startup, I just have to look for those DLL and dynamically load them.
In fact, the real question is : Is it possible to create a plugin based application ? I'm thinking about Managed Extensibility Framework here. Many questions come to mind :
How to deploy those plugins ?
Does this work for all the platforms (iOS, Android, UWP) ?
...
I was unable to find any documentation on this.
Many thanks for your thoughts and indications.
Not sure if this answers your question fully.
However, a MEF like architecture could probably work on Android if you put the DLL's somewhere publicly discoverable, such as in /storage/emulated/0. Alternatively, such plugins could be distributed as separate Apps, providing Services, Content Providers and Activities consumable from other Apps.
However, on iOS you would not be able to publish such an App in the App Store though, as Apple does not allow you to use dynamically linked libraries there. You could maybe do it for Apps that don't go on the App Store, such as for Enterprise distribution.
While it might not be the greatest solution. You would always be able to navigate between Apps on iOS through URLs. However, that is not the greatest experience, since this would mean you would be leaving your App every time you wanted to get into a "plugin" App to do something.

How to track WinRT applications (in Win32 it was simple)?

In "old" times I created simple tool for Windows users, which tracks what they were doing in the front of computer (where simple activity monitor). I was using Win32 api and functions like GetForegroundWindow, GetWindowThreadProcessId, etc.
Yesterday I installed new Windows 8 and tired to run my program. I got 50% success: for "classic" desktop it works like always:).
For Metro UI I just got one application: WWAHost :( without any details.
So my question is: is there a any way for tracking active application in Metro UI?
Thanks for help
UPDATE:
I'm trying to access Metro UI app from Win32, I know that accessing Metro app from another Metro app is impossible
You see, in WinRT, your application is the top-most application. And when your app is not the top-most application then your threads are suspended and the kernel will not schedule any more operations for your app. End of story.
This means what you are wanting to accomplish cannot be done in WinRT. You are thinking more like a resident app or a service with access to the desktop. Those apps have two advantages. 1) they are always running. And, 2) they have the API to do what you are wanting.
WinRT intentionally puts apps in a sandbox so that the user's experience, performance and battery life are protected. Your scenario and scores more like yours underscore the continuing need for desktop apps. (as long as there is a continuing need for those types of apps ;)).
Sorry, if this is bad news.
As for enumerating other apps. This is also not possible. You cannot know if another app is installed or if it is running. You can call out to another app through protocol activation or file activation or (in a sense) through the share contract. But you are unaware if they get the message and if the user has it installed in the first place. And this is by design.
It is worth mentioning that you can pinvoke to Win32 APIs in your WinRT application. It causes lots of problems and can create a headache to get certified into the store. But even then, not all APIs are open to you. And you will find this particular use case is a non-starter.
I am sure this will not be possible. With Windows 8 'Metro' only a single application is active. All other applications will be in a suspended state whilst the topmost application is running. This makes it impossible to write an application that monitors other applications which are currently executing.
See the numerous articles on the Windows 8 app lifecycle.

How can I be sure my application is published on the Android Market?

I published my first application on android market. In developer console, i see my app. and green check icon which means that successfully published. However, when i searched my app. in market, there is no application appears. Therefore, i asked myself some questions for feeling worried:
Is my app. clearly published but need some time for appearing?
Does it has some publishing errors in my manifest file(e.g. lack of permissions) or settings in developer console?
Many Thanks.
All applications in the Android market are tested to see they are not malicious or harmful. That's why it takes some time for your application to appear. Read google's publishing terms to see how long it should take for an application to be published.

Corporate apps for Windows Phone 7?

Apple has a corporate developer program with an elevated licensing cost, does Microsoft provide such a service for Windows Phone 7 developers?
This was asked at a recent MS event. You can assign (I think 5) phones to developer unlock them, then load application directly/bypass the marketplace.
Also, there were talks that they are hoping to soon allow beta/redemption codes to allow limited deployment of your application to non-unlocked phones, bypassing testing/marketplace acceptance.... But I do not know the status of this.
The best thing you can do at the moment is develop your application as normal and have a password/login screen at startup. This is a horrible approach, but it does work.
At the moment, the phone is very much targeted towards consumers.
I'm not sure what is provided in the Apple Enterprise version, but so far Microsoft only has the one registration process and no private app distribution: you can distribute apps on the market to everyone, or by giving your xap file to people with dev-unlocked phones, nothing in between.
The official line is NO, not yet.
Windows Phone 7 was created, first and foremost, for consumers, not enterprise customers.
That being said, LOTS of people are asking for this and Microsoft have said they will address this in the future. No timescales or details have yet been announced yet.
This will likely be related to the way that beta testing and home brew distribution are implemented. (Just my assumption.)
I don't know why I can't just comment on another answer in this thread, so my apologies for placing these remarks in an answer.
I think MS needs to really make this happen since it could be the saving grace for WP7. While I personally feel that my experience with WP7 and my Samsung Focus have been just as good or better than that with the second-gen iPod Touch that I have, there are a lot of people who aren't convinced. For better or worse, it really is the ecosystem that matters and MS has that within the corporate world.

Non-dev-tools Windows Phone 7 emulation

In developing a number of WP7 apps, I have a need to show clients how the app will be when deployed. The clients are a) not in the same location as I am, b) not technical at all, and c) may not even be using a PC. The purpose is to demo, get feedback and make any needed changes.
I'm not finding any realistic options to just simply show them what it would look, feel and run on a Windows Phone 7 (using the ApplicationBar, etc.). I found this link - http://www.redmondpie.com/standalone-windows-phone-7-series-emulator-9140536/ - but it's rather hacky for me to ask someone to do to set up an emulator on their machine without also installing VS Express, etc.
Does anyone know of any links to an official emulator that can be run on a PC, has a simple install and can load WP7 apps?
Have you considered using a product such as Citrix GoTo. Clients do not need to be particularly technical to join such a meeting, you can then take them through a demo. This will cost you though.
A free alternative would be to set aside a PC running the emulator with your software loaded. Create a VPN for you clients to connect to and let them use Remote Desktop Connection to connect to the PC. They can then play around with it remotely.
Have you considered using SketchFlow? Although by default the UI is "sketchy" (sorry), you can apply styles to the controls you drop on your pages, including the very same styles that are used by Windows Phone controls.
If you use a Silverlight SketchFlow project, you can deploy the content to a web server and provide a link that can be consumed on any machine that will render Silverlight content...they can go through the navigation, provide feedback, etc.
Christian Schormann has a writeup on what is required to use it in the pre-release tools... http://electricbeach.org/?p=573
You should take a look at this: http://justinangel.net/WindowsPhone7EmulatorAutomation. I believe it will answer your question exactly.

Resources