Running a Windows Phone 7 app on the desktop - windows-phone-7

I have an application for Windows Phone 7 that I need to bundle up and send to several doctors for a content review. Ideas on how this might be done? I can't expect the docs to install the full SDK, but if I could bundle the emulator with it that might work, or if there's an easy way to convert the app to a Windows EXE that would as well. All suggestions welcomed!

While the theory is that since it's SIlverlight it should just run on the desktop. Years of Compact Framework development have taught me that this theory is almost never correct and getting it to work is often a real chore.
Microsoft has not yet delivered a stand-along WinPhone emulator (no idea if they will, but they did for WinMo) so for now that option is off the table. Getting your end user to install the stand-alone emulator is a fair bit of work anyway.
To be honest, my experience has been that just doing a Camtasia capture of the developer screen while you step through the app is one of the easiest ways to get ideas across to these types of groups. No, the end result isn't interactive, so they can't clock on buttons themselves, but if you walk through the feature they want to see, you can usually answer 95% of the questions this way.
When you need to address that other 5%, my experience has been that it's easiest to just send them a physical device with the app installed.
If they are (or have ready access to someone who is) fairly tech-savvy, shipping a Virtual PC image of a PC with the emulator installed and the app installed on it sometimes works.

Dot NET code using MS libraries is partially upwards compatible and most runtime classes present on a mobile device are also available on desktop Windows (see MSDN docs for details). So create a copy of your source code, ask visual studio to create a desktop .exe from it, it'll tell you it can't for several reasons, and you will need to recode some sections of it, resize the frame window etc. to make it work.
If one is careful about what methods one uses, I have managed to actually use the exact same .EXE file on the desktop without problems!

You simply cannot present the application without the SDK, since Windows Phone 7 applications rely on a completely different subset of .NET Framework and require an emulator to run XAP packages. Although you might say that it's the same Silverlight, don't forget about Microsoft.Phone and derivatives - you need the SDK in order for those libraries to be properly handled.
Also, you cannot convert a WP7 application to a Windows executable due to difference in platform architectures.
What you could do is simply allow the doctors to test your application through TeamViewer or similar products.

i think a "killer app" for winphone7+silverlight would be a desktop browser based emulator. want to try the app? just have the store run the emulator in the browser. (yeah, lots of technical hurdles, limited multitouch etc, but it would be pretty slick!)

Related

Windows Mixed Reality for Surface App

I'm currently at the very beginning of developing an Augmented Reality App that's supposed to run on Surface Pro devices. I should probably mention that this is the first time I ever dealt with AR.
While most solutions seem to favor iOS, Andoid or the Unity platform, I have also stumbled across Windows Mixed Reality.
I'm aware that the website explicity says that it's only for use with headsets. However, I have Microsoft's "Mixed Reality Viewer" on my Surface Book which includes pretty much the functionality I want to deliver myself and I think the name and background suggest, that the two belong together.
Does anyone know any more about this? Ideally straight up if it could be useful for my purposes.
Thanks a lot!
I think what you are looking for is Vuforia, a VR/AR SDK that is now integrated into Unity. You create apps in Unity with C#, and then deploy them to UWP (Universal Windows Platform), which can run on Surface devices and use the cameras for AR. Vuforia lets you do image and object recognition and alter the virtual parts of your app based on the real world environment - if you don't need those features, you can use Unity on its own to create virtual models, UI, etc.
So interested to hear more about the "Mixed Reality Viewer" application you have on your Windows 10 -- did you have the Microsoft Insider "Skip Ahead" version of Windows installed?
https://winbuzzer.com/2017/09/06/microsofts-new-windows-10-mixed-reality-viewer-app-leaks-online-xcxwbn/
I'm on the "Slow Ring" for Windows Insider and already have the Fall Creators Edition installed - and no "Mixed Reality Viewer" - just "View 3D" - which sounds like it will morph into MRV
Either way -- you will likely want to do all of your development in Unity -- which can be used to not only make Hololens application, but also application for the new Mixed Reality Headsets. Going to guarantee that this will also be the case for MRV when it is generally released.
Love to hear more about what you are seeing - and know any time you spend looking at Unity development will be time well spent. :)

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.

WP7 Application deployment for presentation

How could I go about presenting a Windows Phone 7 application with a laptop?
Do I need to install Visual Studio on the laptop with which I will be making the presentation? I've read somewhere about a stand-alone emulator but I haven't found any info on how to load the app to the emulator (total MS-anything newbie here).
Thanks in advance!
If demonstrating via the emulator you'll need to install the tools including VS.
Assuming you have an actual device.
Using an actual phone and a webcam can help give people a better idea about what the app will look like.
If you're showing it to people unfamiliar with the phone then the fact that the UI is so different to what they may have seen on phones before is likley to be a distraction. If you have a real phone then you can better demonstrate your app in context and in comparison with the other apps on the phone.
Tip. Try and use a HD camera if possible as this will make it easier to see the details on the screen.

What is the easiest way to test/debug Symbian applications on the phone?

I am currently experimenting with programming for my Nokia 5800 XpressMusic (running Symbian 9.4). Setting up the development environment (Carbide C++) was already a huge pain, but now that I am actually able to build something the pain doesn't stop! It seems there is an incredible overhead involved when you actually want to test an application on the phone. But I really hope somebody more experienced than me knows some easy way to do it.
If I understood right every application has to be signed. I can sign applications myself, so this is not a problem and it seems to work fairly well. But then it seems not all capabilities are available if I do this, and the one I need is amongst them. So now I have the option to buy a publisher ID to get a developer certificate (current cost: 200$ - no thanks) or I have to upload the application every time to symbiansigned! Every time I change the code and want to test on the phone I have to upload the thing using a stupid web form!
But now I was excited to find that you can do some remote debugging stuff with a thing called TRK (maybe this spares me the signing?). I hoped that I could use this to connect Carbide and my phone. But this doesn't quite work. My phone doesn't show the application required for this connection although it installed properly. I had a look at the supported Symbian version number and it seems to be 9.2, so not mine :( Stuck again?
And the emulator is no option because it doesn't support sensors and cameras :(
So what am I doing wrong (and sure there must be something)? Is the only way to test my app on the phone to actually upload it every time, wait for it to getting signed, download it again, install it and test - just to see it didn't work and that I have to repeat this process over and over again?? PLEASE no...
follow the instructions here http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml to get yourself a free certificate for 5 testing devices, then you can use this certificate to sign your applications directly without using open sign.
When you use TRK, your application is still installed on the phone (in background, with so called silent installation API - by the way, you can use it too, but it's offtopic), because the only eligible way for a binary to get into the phone is the Installer Service. So you still need some certificate. All three options to get certificate mentioned here are ok, though the last, free one (from Mahdi Hijazi), I suppose, is the preferred. :)
Please go to
http://www.opda.net.cn/register.php
then apply for a OPDA Developer Certificate and download signer tool from the site and use it to sign your symbian applications.

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