In this Guest Blog, our Windows Phone Development MVP, Mayur Tendulkar covers the important FAQs around Windows Phone development.
In our technical communities, many folks ask me questions on Windows Phone development. Most of these questions are same & repetitive. So, I thought of compiling ‘Top 10’ of them as ‘FAQs’ and here they are. Let’s call it FAQ v1.0.
1. I’ve bought a laptop year ago, can I use it to build WP apps?
Any laptop with a processor, motherboard and BIOS supporting virtualization and Second Level Address Translation (SLAT) can be used to build and test WP apps, provided it is running Windows 8. Intel calls SLAT as Extended Page Tables (EPT). If you know the processor model, you can check details about your processor on processor manufacturer’s site. Else, you can use coreinfo.exe (read here: http://technet.microsoft.com/en-in/sysinternals/cc835722.aspx ) utility which can give you details about your machine. However, this feature is required for emulator. If you want to build and test on real device directly, any PC with descent configuration can work.
2. I want to keep my development environment separate, can I use VM for WP development?
This idea is not supported. Even though there are some sites which use third-party virtualization tools to create VMs for WP app development, I personally will not recommend it.
3. What version should I build for v7.0, 7.1, 7.5, 7.8, and 8.0?
7.0 was first release of Windows Phone. After that, major release was 7.8 with many features. However 8.0 is a game changer. Apps built for 7.x can run on 8.0 however, reverse is not supported. If you want to target all WP devices, 7.x is the way to go. However, 8.0 provides many new features and rich API set. You’ll miss-out these features if you build for 7.x. You can have more information about WP versions here: http://msdn.microsoft.com/en-US/library/windowsphone/develop/hh202996(v=vs.105).aspx
4. Do I need to pay annual fee for developing Windows Phone apps?
To build and test app on your own device, you don’t need to pay any fees. You can developer unlock one device and test 2 apps (maximum at any time) on it. However to change this number or sell the apps you’ll need to get a developer account by paying annual fees. You can read more about it at: http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/08/06/making-it-easier-to-get-started-with-windows-phone-app-studio-beta-simplified-phone-registration-support-options-amp-more-payout-markets.aspx.
5. While building my app, how can I test my app with location data?
Windows Phone SDK comes with fantastic tools and Windows Phone emulator is one of them. It has functionality to emulate sensors (Accelerometer, Camera) as well as location. You can test your location specific functionality using this emulator.
6. Can I associate my app with files, share data between two apps or launch another app?
Yes. You can associate file types with your app, so when file is downloaded or opened, your app can be an option for the user to open that file. Read more about it here: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206987(v=vs.105).aspx If you want to share data between apps or launch another app, you need to know the URI schemes associated with it. To launch system apps: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662937(v=vs.105).aspx, example of other apps: https://developer.skype.com/skype-uris/reference
7. My app is ready, can I submit to the store now? Once your app is ready, rather submitting it on store directly, test is on real device. Run Store Test kit to test it for performance and other bugs. Also make sure you’ve taken proper screenshots of the app (again use emulator’s feature to take screenshot rather than print-screen/screen clipping). Make sure it is not leaking memory, not showing any debug information and most importantly, build it in ‘release’ mode. More information about test kit can be found here: http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394032(v=vs.105).aspx
8. Is there any way to provide more information to test-team? Sometimes, you might have implemented login/authentication functionality in your app OR used some special features which may cause certification failure OR you may want to convey some message to the testing team. In this case, to provide more information to the team and to make their life easier and help expedite your app certification process, always provide details about your app along with ‘technical notes to testers’ whilst submitting the app.
9. Can I share my app without going through store? The only way to distribute your app to consumers is to go through store. However, if you’ve built enterprise application and want to distribute internally, you can do enterprise distribution. However, you’ll require a ‘Company Account’ not an ‘Individual Account’. Another way to distribute your app to selected few people for testing purpose, you can go through store under ‘beta testing’ option. It will allow you to distribute the app to selected people and will make your app private, without showing on store.
10. My app failed the certification. What should I do? If your app has failed the certification process, you’ll get a mail about it with detailed error report. Look for reason for failure. Usually, the report also contains steps to reproduce the error. Try to reproduce it and fix it. After fixing it test it again and resubmit.
I hope with these FAQs answered you can kick-start your Windows Phone Development and build some stunning apps. By the way, have I told you there are gifts for Windows Phone Developers who complete challenges! Visit http://www.dvlup.com
About Guest Blogging
South Asia MVP Award Program introduces Guest Posts by the MVPs from the region. These posts would help readers to be in touch with the recent trends in technology and be up-to-date with knowledge on Microsoft products.
Author
Fixing “The file wmploc.dll has a version…” Error in Windows 8.1
By Soumitra Sengupta published on 01-12-2014
Whenever I try to use Windows Media Player I receive the….(more)
O365: Block Sender Domain in Exchange Online Protection
By Prabhat Nigam published on 01-13-2014
This blog is explaining the steps to block the Sender Domain in Exchange Online Protection….(more)
Add Content to Reading List app in Windows 8.1
By Anand Khanse published on 01-13-2014
The app sports some dedicated options integrated right into the Share charms in Windows 8.1 you can access to open the app and view the content….(more)
Learn PowerPoint 2013 for Windows: Convert Text to Shapes by Fragmenting
By Geetesh Bajaj published on 01-13-2014
PowerPoint 2013 enables you to use its repertoire of Shapes to create some amazing artwork. Its Merge Shape commands allow you to create complex shapes….(more)
Find first non-blank item in a list with formulas
By Purnachandra Duggirala published on 01-15-2014
Although the non-formula approach works, it is manual. That means every time your data changes, you must repeat the steps. Not very cool, especially if you call….(more)
Names and tech words shown as spelling mistakes! Here is the solution
By Dr. Nitin Paranjape published on 01-18-2014
You send a proposal to a customer. The customer name is shown as a spelling mistake. Now you correct it on your PC by adding the name….(more)
Deploying Windows 7 Using SCCM 2012 R2
By Prajwal Desai published on 01-13-2014
We will be creating a device collection first and then we will import the computer information to this device collection. One the computer is added to the collection we will create task sequence….(more)
360 Degrees View of QuickBooks Customer records from within Dynamics CRM
By Roohi Shaikh published on 01-13-2014
Companies generally use 2 different applications to handle their CRM and Accounting needs. If you are a Dynamics CRM user that uses….(more)
Can we enable Circular logging on Exchange database which has Database Copies
By Satheshwaran Manoharan published on 01-13-2014
There are few situations like . where storage is filling up faster because of log files . where databases having more database….(more)
Cannot sign in because the server version is incompatible with Microsoft Lync 2010
By Balasaheb Ilag published on 01-15-2014
When user trying sign-in to Lync 2010 client but Lync client throw an error that server version is not compatible means….(more)
Visual Studio 2013 Tips & Tricks – Disable All Caps in Menu title
By Senthil Kumar published on 01-12-2014
In Microsoft Visual Studio 2012 and Microsoft Visual Studio 2013, the menu titles are shown in caps by default….(more)
A Simple CRUD Demo with Koa.js
By Shiju Varghese published on 01-12-2013
In this blog post, I will demonstrate how to write a web app in Koa.js with basic CRUD functionalities. The source code of the demo web app is available….(more)
Calling an External Process from Windows
By Abhishek Sur published on 01-13-2014
You might have developed many projects and want to deploy them to the clients but want to avoid….(more)
Create Echo Server in Node.js
By Dhananjay Kumar published on 01-14-2014
Before we move ahead, let us understand what an echo server is. In echo server, client sends data to server and server returns….(more)
How to retrieve Free Space details in WP programmatically?
By Kunal Chowdhury published on 01-17-2014
In this small but useful post, we will discuss about the API and will share a small piece of code, which will allow you to know the available free space….(more)
HTML5 Geo-Location, SQL Server Geography Data Type, Entity Framework and ASP.NET
By Brij Dammani published on 01-17-2014
In this article, we will implement to save current geo-location(latitude, longitude) of user in Sql Server Geography data type column using Entity framework and ASP.NET Web Form….(more)
Visual Studio Online 2013 (VSO) – Developing in the Cloud
By Gouri Sohoni published on 01-18-2014
Visual Studio Online (VSO) has new features like Project Repository, Tools for Project Planning, Testing with VSO, Distribution of work, CI Build, Collaboration between team members using Team Room….(more)
Rowset Concatenation with Special Characters
By Visakh Murukesan published on 01-16-2014
Whenever we think about row set concatenation in SQL Server the first method that comes to our mind is by the use of….(more)
Staged Publishing support for AzureWebsites
By Rami Vemula published on 01-17-2014
The concept of staging deployment is not new in Azure world, we have this support from long time for Cloud….(more)
Legal Professionals: Searching scanned documents
By Dr. Nitin Paranjape published on 01-05-2014
Legal documents are archived by scanning. Scanned documents just contain an image for each page. Therefor it is impossible….(more)
Throne Together For Windows 8.1
By Soumitra Sengupta published on 01-05-2014
Place blocks to build castles for your royal clients and please the Castle Inspector in this addicting block-based….(more)
Compute “running total in” across years in a Pivot Table
By Ashish Mathur published on 01-06-2014
Assume quantity sold date by date and City in a three column database. The objective is to determine year wise….(more)
Overview of Office 365
By Niraj Bhatt published on 01-06-2014
Office 365 is suite of Microsoft products delivered software as a service from cloud. For consumers it represents a simplified pay as you go model….(more)
Bar chart with lower & upper bounds
By Purnachandra Duggirala published on 01-08-2014
Let’s say you are looking at sales of various products in a column chart. And you want to know how sales of a given product….(more)
O365: Block sender email address in Exchange Online Protection
By Prabhat Nigam published on 01-08-2014
This blog is explaining the steps to block an email address of the sender in EOP….(more)
Fix: Windows Script Host access is disabled on this machine
By Anand Khanse published on 01-09-2014
Several “HTML viruses” have been reported to use WSH objects as a result of which, those who do not require this feature, tend to disable….(more)
Review: Ultimate Windows Tweaker 3.0 for Windows 8 , 8.1
By Shantanu Kaushik published on 01-09-2014
Tweaking or Customizing Windows is something that a lot of us want to do. Changing some setting or doing something different….(more)
Callout Sample 03: Curved, Connected Callouts
By Geetesh Bajaj published on 01-10-2014
Continuing our series on how you can use callouts within your slides, here's another sample to share. This is actually quite simple….(more)
Exchange 2013 with Outlook 2013-Force OAB Generation
By Manu Philip published on 01-05-2014
In Exchange 2013, the OAB is generated by each Exchange 2013 Mailbox server(s) that hosts a special type of arbitration mailbox, called….(more)
Steps to recover access/reset SA Password to SQL Server Instance without downtime
By Jugal Shah published on 01-06-2014
There may be situation where you are unable to access the SQL Server. In this article I will guide you how you regain the access….(more)
PowerShell and DHCP: Installing DHCP Server Role on Server 2012
By Aman Dhally published on 01-09-2014
In this series, we will configure a DHCP Server from scratch and we configure it using PowerShell. We will try to use as much as PowerShell….(more)
Duet Enterprise for Microsoft SharePoint and SAP Server 2.0
By Amardeep Singh published on 01-09-2014
I was thinking from so many days that SharePoint is very vast in terms of synchronizations with other tools such as outlook, Active directory, MS office and other….(more)
Head First into ASP.NET Web API – A Time Card Service using Media Formatters and KnockoutJs
By Suprotim Agarwal published on 01-05-2014
Introduction of ASP.NET Web API before exploring custom Media Formatters in Web API and how to build one….(more)
How to consume WCF REST services using C#
By Brij Mishra published on 01-06-2014
In this Post, we’ll see how can we easily write a code for consuming WCF Rest services. There could be many other scenarios where we need to write….(more)
Computed Observable in Knockout.js
By Dhananjay Kumar published on 01-06-2014
In this post we will take a look on Computed Observable in Knockout.js. Let us start with an example….(more)
Create Pre Signed URL Using C# for Uploading Large Files In Amazon S3
By Gaurav Mantri published on 01-06-2014
Before we talk about using Query String authentication in Amazon S3, let’s take a moment and talk about how large files are uploaded….(more)
Simplest way to Encrypt and Decrypt of data in Windows Phone apps
By Kunal Chowdhury published on 01-06-2014
Sometime we need to provide an encryption mechanism to protect user data in phone and/or sharing the data over internet to a database. Data security should….(more)
Azure Table Storage Concurrency Test and Importance of ETag Property
By Rami Vemula published on 01-06-2014
In this tutorial, I am going to show how Azure Table Storage entities are being protected for their data integrity during concurrent transactions. Table storage entities….(more)
Koa.js: Next Generation Web Framework for Building Node.js Apps Without Callback Hell
By Shiju Varghese published on 01-06-2014
I have been following the Node.js platform since 2011 and had been observed that it was difficult to maintain full-fledged web apps….(more)
Unit testing async marked methods using mock library
By Amit Choudhary published on 01-06-2014
Have you ever tried unit testing a method marked with async? There’s a known problem of unit testing the Async marked methods. When Nunit tried to run the test….(more)
WEC2013 – How to set Debug Information
By Vinoth Rajagopalan published on 01-07-2014
Every Windows based program, DLL and Lib has an option to store the debug information either in the Object (OBJ) file, PDB file….(more)
Productivity Tools for Windows Phone Developers
By Mayur Tendulkar published on 12-22-2013
I too, have my personal list of tools & NuGet packages which I use regularly while building Windows & Windows Phone apps and I wanted to share….(more)
Quick Parts in Word: Stop copy pasting from old files!
By Dr. Nitin Paranjape published on 12-23-2013
Often we need to open an existing document, copy some part of it and paste it into another new document. Why does….(more)
Lock, Manage, Edit Hosts File in Windows 8 | 7
By Anand Khanse published on 12-23-2013
Imagine clicking on www.thewindowsclub.com and seeing a completely different web site load in your browser. Malware can redirect Web addresses on your computer….(more)
Convert Text to Outlines in PowerPoint 2013 with a Free Add-in
By Geetesh Bajaj published on 1-2-2014
There are many new features in PowerPoint 2013 but my favorite is the one that lets you convert your text to outlines – this may be an undocumented….(more)
In this post, our Windows Phone Development MVP, Vikram Pendse talks about a feature of calling a number from Calendar Appointment.
Windows Phone device gives you a lot of features and functionalities which you can leverage in your daily life. Let it be Camera, Music, Socials, Games, Emails etc. “Calendar” is one of the must have features on any phone. Enterprise and Business people just can’t live without it. Usually Lync Meetings/Other Meetings syncs up with Calendar. But there are lot of other scenarios in life which are more personal.
Let us take an example: Your family member is undergoing some Medical treatment and you need to collect Blood Report. You can very well set a reminder on your phone or some short/sticky notes. Now if you want to call the Lab and wish to know status of the report. Usually you go to People Hub or somewhere in the Notes or old SMS reference and try to get Numbers. How about I can attach a Telephone Number to the Appointment and more over how about I can place a call from there itself. Saves lot of Time and Navigation. But is it possible to do such things? On device yes! Manually you can do it on device. Programmatically? Or via some App? That is what I am going to talk about in the below article.
This article is about SaveAppointmentTask in Windows Phone 8 SDK. This is pretty handy and you can save appointments from your application. Basically it is a Launcher, Those who don’t know about Launchers & Choosers in Windows Phone, I recommend to read more here (MSDN Link)
http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769542%28v=vs.105%29.aspx
SaveAppointmentTask comes handy and we can customize various parameters and aspects programmatically via C#. First let us see how we can get SaveAppointmentTask.
SaveAppointmentTask is a sealed Class comes from Namespace Microsoft.Phone.Tasks. We can create new instance of SaveAppointmentTaks and will be then able to play with its various attributes. Let’s see the Home Screen first. There are 2 Buttons with a Result Textblock which shows the recently added Appointments once you click on Load Appointments, but in this article our focus will be on “Take Appointment”, so here we will be looking at adding a new Appointment.
Now let’s see the Code Snippet here which will Display up the Appointment Wizard from our application and we can either Edit or Delete it. Currently we have set the entire attributes from Code and we can just Save and let it go, here is the snippet:
var saveAppt = new SaveAppointmentTask();
saveAppt.StartTime = DateTime.Now.AddHours(1);
saveAppt.EndTime = DateTime.Now.AddHours(2);
saveAppt.Subject = "Call and Check Blood Reports is ready or not at Ruby Hall";
saveAppt.Location = "Pune";
saveAppt.Details = "tel:+911234567890";
saveAppt.IsAllDayEvent = false;
saveAppt.Reminder = Reminder.FifteenMinutes;
saveAppt.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.Busy;
saveAppt.Show();
Here StartTime and EndTime specifies the duration of Appointment. Subject gives the details about appointment where Details gives the metadata. Rest of the parameters like “IsAllDayEvent”, “Reminder”, “AppointmentStatus” depends on your business requirement.
This will add Appointment to your Calendar and it will look like this on device:
Once you tap on Calendar and on the particular Appointment
and click on this appointment
Now Just Tap on any Phone Number and it will ask you whether you want to Edit the Number or wish to go ahead with the same
Now Call will actually put a call to given Number and you now don’t need to go anywhere to hunt the Phone Number since its now part of your appointment itself. Saves lot of time especially in case of important appointments or business activities. So on call it will look like following
SaveAppointmentTask gives you the default window where like other Appointments, you can always edit the things you want in the Appointment and save or delete the same. So we saw a unique combo of SaveAppointmentTask and URI. We can take it to next level by adding other complex operations like Maps, Mails, URLs, etc. All you need to do is set the “Location” property or “Details” property of SaveAppointmentTask Class.
“Location” property is String Property and instead of just giving Phone Number or Location as pure text, we can play with things like URLs, Email Address like shown below
saveAppt.Location = "http://maps.google.com/maps?q=18.58073000,73.73740000";
saveAppt.Location = "view-source:http://en.wikipedia.org/wiki/URI_scheme";
saveAppt.Location = "tel:+919922210345";
saveAppt.Location = "mailto:johndoe@example.com";
Maps URL string will redirect to the default Internet Explorer Browser and it will open the given location in the string.
View Source will show the URL given in the string inside a default Internet Explorer Browser.
For “tel:” it will open a window for confirmation asking Edit this Number and give with Call and Cancel Button, On clicking on Call it will place a call to selected Number.
We can leverage “mailto” URI scheme for sending a quick email via appointment. In more advance case we can even set Subject and Body as well but that will be too complicated and tricky! Here is the example :
mailto:johndoe@example.com?subject=A%20Test&body=My%20idea%20is%3A%20%0A
Hope you like this quick short article on SaveAppointmentTask and I am sure you will leverage this feature in your ongoing App Development.
Lync has both per-user and per-machine instances installed. Click OK to remove the per-user installation
By Balasaheb Ilag published on 12-26-2013
This is purely client side issue, when multiple instances installed on your computer and you are trying to open Lync client, you will see….(more)
Exchange 2010: Unable to Export Edge Subscription file
By Prabhat Nigam published on 12-29-2013
Unable to Export Edge Subscription file after DNS Suffix Change of the DMZ Edge Server….(more)
How to attach a SQL Server database with a missing transaction log file?
By Jugal Shah published on 12-31-2013
There may be situation where the transaction log file is corrupted or delete due to some issue, there is still hope to recover the database….(more)
Hosting of Exchange 2013 using WebsitePanel 2.1
By Manu Philip published on 1-1-2014
There are many Exchange components can be provisioned through WebsitePanel for an Exchange 2013 project and some of the….(more)