Windows 8 Certification Tips: The privacy statement


    Windows StoreOne of the most common reasons Windows 8 apps fail certification is lack of a privacy statement, this blog explains when you need one and gives tips on how to do it.

    With the Developer Movement rewarding you for publishing your apps, you are probably all psyched to submit your app to the store. Here’s a little something to help you pass certification on the first try.

    Do I need a privacy policy for my app?

    Windows 8 Certification requirement 4.1.1 states

    “Your app must have a privacy policy if it collects personal information”

    Now most of us building apps read that and think, hey I’m not collecting anyone’s email address or phone numbers with my app so I don’t need a privacy statement. Then you submit your app for certification and it fails! Why?

    Personal information includes: Webcam snaps, Audio/Video recordings, Photos, Documents, Contacts, and so on. So if you are using the webcam to take pictures or creating a document that access contact information or users files you need a privacy statement.

    Personal information also includes: IP Addresses. That means if your app has the ‘internet client’ capability enabled in your app you are going to need a privacy statement. By the way, the default templates in Visual Studio include the ‘internet client’ capability, so unless you change the default manifest, you will need a privacy statement.

    What do I put in a privacy policy?

    According to Windows 8 certification requirement 4.1.1

    “In general, an acceptable privacy policy is one that:

    • Informs users of the information collected by your app
    • Informs users how that information is used, stored, secured and disclosed
    • Describes the controls that users have over the use and sharing of their information
    • Describes how they may access their information
    • Complies with applicable laws and regulations

    We do not provide a sample or a template for a privacy policy beyond that. Since the privacy policy is a document between you and the users of your app, you will have to write it and publish it on a website yourself.

    If you do not actually collect or store personal info from the users, say so in your privacy policy”

    Where do I have to put this privacy policy?

    You must provide the privacy policy (or a link to it) in the description page of the submission site and in your settings. Here’s a great post from Tim Heuer telling you how you can use a free Azure website to host your privacy policy!

    Where can I find some examples?

    Take a glance at the Windows 8 store and look at the description pages of some published apps. You can also go to the settings page of any installed apps you may have. If your app doesn’t collect personal information, you can probably write it yourself making it clear that you do not collect personal information. If your app does collect personal information you need to do your homework and find out the appropriate legal wording for your privacy policy.

    CTE Solutions is an app created by a training centre to help people find courses.

    “This application does not collect or share any personal information. Your IP address (and related data provided by the operating system when making a web request) may be logged by the Internet-based servers (controlled by CTE Solutions) that provide the data used by the application.”

    The Microsoft game Wordament which has you log in with a userid to play the game and posts high scores uses the Microsoft Online Privacy notice found here.

    PuzzleTouch Prime which is a jigsaw puzzle game that allows you to create puzzles from your own photos uses the privacy policy here

    Can I have a code example for adding it to settings?

    Sure, we all live for cut and paste. I found a nice C# example of how to add a privacy policy to your settings in a blog post at Expression Blend.com.

    This was helpful do you have more useful stuff for Windows 8 app developers?

    We have a windows 8 resources page where we continue to add content and blogs we think can help you here.

  • Go DevMENTAL

    How do you come up with your first app idea?


    Windows 8 keyboard shortcutAnyone can build an app, that is the truth, but what’s should you try for your first app?

    If you sat down this weekend and took 3-4 hours you could build an app for Windows Phone or Windows 8. That is the honest truth! You download the tools here (windows 8) or here (Windows Phone), you find a getting started guide here (Windows 8) or here (Windows Phone), and you are off!

    Start simple

    Okay an app you build in 3-4 hours isn’t going to be the most awesome app ever, but it gets your feet wet, and gets you through the first hurdles of installing the tools, figuring out the development environment, and the steps to publish. That said, your first app can be simple but useful. I have used a flashlight app to find my way back to my tent when out camping and you can’t get much simpler than that.

    Don’t forget, regardless of whether it’s for Windows 8 or Phone, if you are in Canada, it can still qualify you for rewards at Developer Movement!

    Coming up with ideas

    If you don’t have an app idea, think of the things you have done on your laptop or phone in the past few weeks and ask yourself could an app do make that easier? Here are examples of tasks I did in the past two weeks where a simple app on my phone or laptop could have helped

    • I sat down to figure out which business trips I have to still submit expenses for, already submitted expenses for, been reimbursed for
    • I had to research common sayings like “ A stitch in time saves nine” and their meanings
    • I had to look up exchange rates to do my expense report
    • I logged my workout for training for my next running race (how far did I go, what pace did I run, how much effort was it)
    • I was about to leave for a conference and had to go digging through emails and websites to find out information on when the conference starts, the address, when and where is the welcome reception
    • I was shopping with my kids and was taking pictures with my phone of what they wanted for Christmas
    • At my hotel, I took a picture of the hotel room door before I left, so I can remember my room number. I do the same thing with rental cars (its embarrassing to go to the front desk and ask what room you are in when you forget)


    If you still can’t come up with an idea for your first app, another option is to take a template and modify it to get you started. Once again, this helps you get past the basic hurdles of downloading and installing the tools, getting comfortable with the development environment and platform, and the publication process. Keep in mind templates are always provided as-is with no guarantees or warranties, but they can be great jump-starts.

    Windows 8 templates

    Build and improve on an existing app

    Not enough developers take the time to learn the platform and the design guidelines for the platform, such as the Search and Share Contracts, or Snap view in Windows 8, or basic rules like put your buttons at the bottom of the screen on phone apps (so your hand doesn’t cover the screen when you press a button).

    As a result you see simple apps that although functional, lack polish and don’t really shine. Even a simple app can embrace good design! Take the Chuck Norris facts app on Windows 8. I like Chuck Norris facts, they amuse me, but why didn’t the developer let me use swipe to move from one fact to the next instead of making me bring up the app bar and tap next? Why didn’t they implement a Snap view that uses a bigger font size so I can read it? Why not a live tile with a randomly selected Chuck Norris fact? How about Search so I can findmy favourite Chuck Norris facts? I still installed it, but I would appreciate a better version! Yes, adding more of these features will add more time to your development time, but the result will be a more polished app, and more skills you can re-use for that awesome app idea you build next!

    If you think learning these new features is too complicated, how about some code examples you can re-use?

    Still not convinced? How about a real world example?

    At our WOWZapp hackathon, we had a developer who had never built anything for a mobile platform, and had never coded C# or XAML. She wanted to build a Windows 8 app. After a couple of false starts she finally settled on an app that would let you look up Windows 8 shortcuts. This is simple, but very useful! Not everyone has touch on their laptops, and so keyboard shortcuts make life easier, but I always found myself going to a blog post to look up a particular shortcut. She didn’t just build a screen that listed the shortcuts, she also implemented a snap view that is easy to scroll and view, and, she implemented Search. The Search is great, because that means when I am in another app or even in the Desktop and can’t remember a shortcut, I just search her app to find the keyboard shortcut I need. You can check out Donna’s app in the store here. I think it’s a great example of a simple app, that is useful, and shows some good design!

    In the next blog post: after your first app is published – think bigger and better!

    Hopefully this gives you some ideas for that first app, I’ll blog soon about taking the skills you learn from your first app and using them to build something bigger and better!

  • Go DevMENTAL

    How to publish your Windows 8 App to the Store


    storeReady to submit your first Windows 8 app to the Windows Store? Read this walkthrough to guide you through the process

    Publishing your app requires a series of steps, we’ll try to walk you through them here!

    Log in to the windows store

    Submit your app

    Log in to the Windows Store


    Before you can publish your app, you need a Windows Store account. Go to the Windows Store to register. Remember if you are a student you can get your Store account for free, you can find instructions on how to do that here.

    After you log in to the store with your live ID (the one you used for your store account),  go to “Dashboard

    If this is your first time logging in since you created your account, you may see a message that says “Before we can list any of your apps in the Store, you’ll need to verify your payment method. Verify your payment method.” When you created your account you entered credit card information. A small amount was charged and then reimbursed on your credit card to validate the card. You need to find your billing statement (or call your credit card company) to find out the transaction amount that was charged.

    Select the Verify your payment method link and you will be taken to the Payment account verification screen. When you get there scroll to the bottom of the screen. using the information from your credit card billing statement, enter the amount that was charged or the 3 digit code from the transaction description and select Next.


    Once you see the message saying “We successfully verified your payment account” You are ready to begin submitting your app!

    Submit your app

    From the top menu, select “Dashboard” then select “Submit an app” from the menu on the right.

    Use the dashboard to see all the applications you submitted and their status in the store certification process. It can take as little as 2 days or as much as 2 weeks for an app to be published after you submit it.

    10-31-2012 5-59-14 PM 

        There are 8 sections to complete, let’s break them down one by one!

    App name

    Your app name is important! It is the first thing a customer sees when they find your app in the store. Be creative! Make sure you don't use names that are trademarked by others or those who own the trademark could ask to have your app removed from the store.

    Enter the app name you wish to use and select Reserve App Name. If you get a message back informing you your app name is already in use, you will have to enter a different app name.

    NOTE: The app name you enter here must match the Display Name in your app manifest.



    TIP: You can just do this first step to reserve your app name before you have the code ready to publish. Your name will be reserved for 12 months.

    10-31-2012 6-16-56 PM

    Selling details

    Price - This is where you set the price of your app, and your free trial options. If you choose to charge for your app, pricing can start at 1.49 USD. The price you select may include a sales tax that the customer must pay. Your proceeds will be based on the pretax amount.

    TIP: Apps with free trials of some sort usually get more downloads, you can either limit the duration of the trial, or in your code you can limit the features available on the trial version. Use the license Information class to determine if a trial has expired, or if a user is running a trial version. You can find more information about handling trials in your code here.

    Markets - Select the countries where you want your app to be available. Selecting a country does not guarantee your app will be published there. There is some content and features that is restricted to certain regions, you could be using a feature that is not available in a particular region yet. You might want to consider the primary languages spoken in a particular country when deciding which countries you select.

    TIP: When publishing a game, the countries Korea, South Africa, Brazil, and Taiwan require a game to be rated by a rating board and certified to prove the age rating of the game. If you do not have certificate files to prove you have completed that process, make sure you do not select those markets or your app will fail certification.



    10-31-2012 6-19-26 PM


    Release Date - If you want your app to be published as soon as it is certified select the first option.



    Category - Now, select the category that best matches your app, this will affect where your app will be listed in the store, so consider your choice carefully. If a Windows user was searching for an app like yours in the store, which category would they choose to search? It's important to make it as easy as possible for users to find your app in the store. Picking the wrong category can also result in failing certification, because the testing team may not feel the category is appropriate for your app.

    Hardware requirements – If your app has minimum RAM or DirectX requirements, you can specify that here.

    Accessibility – Only select this check box if you have gone through all the accessibility guidelines and tested your app to ensure it is accessible. Accessibility includes testing for users with low vision or screen readers.

    Advanced features

    You only need to complete this section if your application supports push notifications (often used to update tiles), connect services such as SkyDrive and Single Sign-On, or in-app purchases. In app purchases is a popular way of making money with apps, the app is free, but a user can make in app purchases improve their app experience. For example, there are games where players can purchase weapons or armour.

    If you have not implemented any of the above features you can just leave all the fields in this section blank.

    Age rating and rating certificates

    This section is to describe the audience for your app and upload your rating certificates. If you can't decide between two age ratings, for example your app has content you feel is suitable for 12 and older, but requires an account that can only be created by users 16 or older, choose the higher age rating. Some countries requires will also require that your app be rated through a ratings board, especially for games. So check the list to see if a market you selected requires a rating certificate. If you try to publish to a market that requires a rating certificate and you do not provide the certificate file, your app will fail certification.


    You must declare whether your app calls, supports, contains or uses cryptography or encryption.

    There are US regulations regarding the exporting of technology that use certain types of encryption. Apps in the Windows store must comply with these laws because the app files can be stored in the US. These rules apply even if you are a developer in Canada selling apps in Canada through the store. So if your app is doing some type of cryptography or encryption you should read up on the regulations to see if your app requires an Export Commodity Classification Number (ECCN).


    Now it's time to upload your app to the Windows Store. But there are a couple of things you need to do first:Build your package and run the WACK test.

    Building the App package

    • In Visual Studio, change the Build type from Debug to Release and Build the solution by choosing Build | Build Solution from the menu.


    • From the menu choose Project | Store | Create App Packages…
    • When asked “Do you want to build packages to upload to the Windows Store”, select Yes. and then select Sign In.
    • Sign in with the same email account you used for the Windows Store.
    • Select the app name you reserved to indicate the app for which you are creating a package. If you are resubmitting after a failed attempt to publish or to update your app in the store, you will want to select the checkbox “Include app names that already have packages” so you can see your app in the list.
    • After you select the app name, select Next.
    • Now you must choose which platforms will be able to install your application. If you pick Neutral, you will get a single package with builds that will run on any Windows 8 hardware. If you select individual builds you will get a different package for each build type. NOTE: If you are building an app which requires a lot of memory and processing power and you have not tested it on ARM, you might want to consider selecting x86 and x64 specifically and not including ARM in your release.
    • For the version number, I recommend using the Automatically increment. Otherwise you must make sure the version number in your app manifest file matches the version number on this page.
    • Make a note of the output location, because you will need to upload the file from that location to the store after the package(s) is/are created.
    • Select Create when you are ready for Visual studio to generate the app package.

    Running the Windows App Certification Kit (WACK) test

    After your package is created, you are prompted to launch the Windows App Certification Kit. This will run your app through a series of tests to chefck for issues that could cause it to fail certification. While it is running you will see the app occasionally launch and close. Do not interact with the app while the WACK test is running.

    To start the WACK test select Launch Windows App Certification Kit. This process can take 10 minutes or so. You will know when it is complete because you will see the test summary page informing you if your app passed or failed. The results window does not automatically appear in the foreground, so you may want to occasionally check your task bar and desktop to see if the test is completed..


    If your app failed, select “Click here to view full report” then investigate and resolve the issues that caused it to fail, then create a new package and try again. If your app passed, you are ready to upload the package to the store.

    NOTE: Wondering what sort of issues the WACK test might catch? When I used JavaScript files from the CreateJS library in my solution, my app failed the WACK test because they were encoded as ANSI instead of UTF-8. I had to open each .js file in NotePad and do a Save As, changing the Encode to UTF-8. When I rebuilt the project and package and ran the WACK test again, it passed.


    Uploading the package

    Once your package is created you will find a new folder called “AppPackages” inside your application folder. Inside the “AppPackages” folder is a file that ends with “.appxupload” extension. This is the file you will select when you upload your app.

    If you made changes to your app and rebuilt the package, make sure you pick the most recent app package, the version number in the package file name or the date created can help you identify the most recent package(s).

    Go to the Packages section in the application submission and then drag your package(s) to the app submission page. (remember if you chose to make separate builds for x86,x64 or ARM you will have multiple packages and you will need to upload all of them to the store.)

    You will know when your package is uploaded because you will see it listed as an uploaded package.

    Uploaded packages


    App Description - This is where you describe what your app does and this is what users will see when they look at your app in the Windows store. If you want your app to be downloaded by a lot of people, make sure to take time to write a good description. Take a look at the descriptions of similar apps in the store, how will your description stand out? Make sure the first couple of sentences grab their attention. Make sure you have a short list of your app's best features. If you offer a free trial, this is a good place to explain how the trial works. There are some good tips on writing your app description here.

    TIP: If your app will require anyone to log in to complete certain tasks, you must mention that in your description or you will fail certification.

    Screenshots - After you add the description of your app, you will need to upload images of your app including a logo that the will be used to feature the app.

    If you don’t have these images already, you can create them using the simulator in Visual Studio. Change the launch option to Simulator using the drop down key in the menu.

    Simulator drop down

    When the app launches, on the right side of the simulator is a button with a camera icon which will let you to take a snapshot of the screen and put it in your clipboard. Then you can open an app such as Paint paste it and save it as a .PNG file. If your image is larger than 2 MB you may have to use a tool like Paint .NET (which you can download for free) to save it at a lower resolution. You can’t just resize the image because it must be at least 1366 x768 pixels (landscape) or 768X1366 pixels (portrait).


    10-31-2012 7-04-54 PM

    Keywords – If someone was searching the store, what keywords would they use to find your app? Specify these as keywords to help users discover your app.

    Copyright and trademark info – this is a mandatory field where you specify the copyright information for your application. Basically this is where you get to say, whose app is this.

    Promotional Images – If you have a great app, make sure you include some extra images so your app has the potential to be featured in the store! Being featured always results in more downloads, so if you’ve done something amazing, make sure to include all the promotional images so your app could be highlighted!

    Website – If you have a website for your app or other apps you have built, you can include a link to it here

    Support Contact Info – you must provide a way for users to contact you if they have problems with the app. An email address, or a link to a website with a Contact Us option will suffice.

    Privacy Policy - One of the main reason that apps fail certification is developers forget to include a privacy statement in the description section. You may think you do not need a privacy statement because you are not collecting email addresses or personal information. However, if your app connects to the internet, or if the app manifest says it connects to the internet (which it does if you used any of the default templates and you haven't changed it) then your app requires a privacy policy. Any app that connects to the internet fetches the user’s IP address. If your privacy statement is less than 200 words, you can put the text directly in the About page of your app and on this submission page (the privacy statement must appear in both places). If it’s more then 200 words, you need to include a URL to a website that displays your privacy statement. Below are some resources to help you figure out if you need a privacy statement, and how to add a privacy statement

    Notes to testers

    This is a place for you to add any notes you wish to share with the people who are testing your app for certification. For example, if your app requires a login to an online service, you must provide the login information for an account the testers can use. If your app is only intended for a limited audience, it is good to mention that in notes to testers as well, because your app can be rejected because it does not appeal to a wide audience. So, if you are making an app for a specific audience, make that clear in the description and notes to testers. The information you enter in this section is not seen by users of the app, it is only seen by the team who tests your app to see if it is suitable for the Windows Store.

    Submit for certification

    After you have completed all the sections you should see a checkmark beside every section. If there is a section without a checkmark, go back to see if you either missed a mandatory field, or you have a field entered incorrectly.


    If every section is marked as complete you can now select Submit for Certification.

    Congratulations! You have just submitted your app to the store!


    Once you submit your app, it will take up to 2 weeks to get certified, you can track the progress of your app in the main dashboard. You don’t have to keep coming back here to check the status. If you fail certification, you will receive an email and a detailed error report explaining why it failed so you can correct any errors and resubmit. If you pass certification, you will receive an email with a link to your app in the store!

    10-31-2012 7-15-52 PM 

    The Windows team has created this great checklist to help you prepare and organize all the required info to make it easier to enter the info when you submit an app.

    If you are a Canadian don't forget to register for the Developer Movement to see if you can get rewards for your app!

  • Go DevMENTAL

    Last Call: Join us in Toronto for Windows 8 Pure Imagination


    Windows 8 pure imaginationLearn about HTML gaming, talk to a VC to learn about funding for start-ups, join the hackathon, learn about Windows 8 design, or how to use Azure for free websites or to give you back end services for iOS, Windows8, or Windows Phone, all this and more at Windows 8 Pure Imagination

    Microsoft with partner Ted Rogers School of Management at Ryerson University is bringing you Windows8 Pure Imagination this weekend, November 24-25th! If you have any interest in developing on mobile platforms, you’ll find something this weekend for you! For those in the Toronto area you can attend in person, if you aren’t in Toronto, you can register online and still catch some great content!


    • We’ve got Grant Skinner, creator of Pirates Loves Daisies and creator of the open source library CreateJS in person talking about how you can get going building games with HTML5
    • Do you already know XNA? Find out how some game developers are using Mono XNA to use their XNA skills on Windows 8


    • The Bizspark team is offering Ask a VC. You can have 10 minutes of 1-1 time with a venture capitalist. Time slots are limited, so visit the Pure Imagination Site today to find out how you can request a time slot.


    • Get tips on how to design an app for the Windows 8 platform that really shines!

    Just want to get around to coding that app you’ve been thinking about?

    • There’s a developer track with session to teach you the basics of how to build an app on Windows 8
    • There’s a hackathon at Pure Imagination as well, it starts at 4PM Saturday and goes for 22 hours! Go straight through with us on site or sneak home for a nap whatever works for you.


    • We have an invitation only event Friday evening just for you, to help you take a good idea and make it great! The evening includes a great session from Harpaul Sambhi of Careerify on how NOT to start a business :)  Registration for this event is by invite only, we have had a few cancellations, so if you email us we’ll send you an invite if we have a spot left.

    If you’ve even been thinking about building an app for Windows 8 this is a fantastic event to learn and get rolling!  Looking forward to meeting lots of Ryerson students at the exclusive Friday night event! Don’t miss out! and last but not least…

    A huge thank you to our amazing hosts at Ted Rogers School of Management!

  • Go DevMENTAL

    Could Windows Phone 8 mean no more bulky wallets?


    Windows phone walletWith the new wallet feature in Windows Phone 8 I can’t wait for developers to start updating their apps so I can get rid of some of the endless cards and coupons in my wallet!

    How many membership cards, credit cards, and coupons are you carrying in your wallet or purse? I have four sections of my wallet for cards: personal credit and bank cards, work credit cards & id, shopping cards, and travel membership cards. As a result my wallet is getting pretty thick and I have become very choosy about any additional frequent whatever clubs I sign up with because I just don’t have any room left in my wallet!

    When I finally had time to sit down and really look at the wallet feature in Windows Phone 8, it took me a minute or two to understand how it worked. Now I’ve had time to read a bit more, I can’t wait until apps start coming out leveraging this feature.

    Let me explain it from four perspectives, you can just read the perspective that interests you.

    • What does wallet do for the phone user?
    • What can a big company do with a phone app and wallet?
    • What can a small company do with a phone app and wallet?
    • What should an app developer read up on to implement it?

    What does wallet do for the phone user?

    Find deals and store my membership cards

    It’s Friday and I need to do some shopping for my son’s birthday. My first stop is ABC Books. I find a few good books and when I get to the cash they ask me if I have my ABC Books rewards card. ABC Books has a Windows Phone app that uses wallet cards. I pull out my phone bring up the wallet hub and show them the membership card from the wallet, they scan the code on the screen and I get my points, then I remember getting a deal from them a few days earlier. I swipe over to the deals and show them the $10 off purchases of $50 or more coupon, they scan the QR code on the page and I save $10. With my unexpected savings, I decide to stop and splurge on a little snack. I bring up maps on my phone and find two nearby coffee shops, YummyCoffee is advertising a deal for a free muffin when you buy a drink. I Share the deal with my sister in case she wants to join me and head out for a coffee.

    Make purchases from apps on my phone

    As I sit sipping my coffee, I decide to start playing a new phone game I recently downloaded called Exploding Bananas. I’m enjoying the game, and after a few minutes I decide to buy the full version. I use the in app purchase capability which then prompts me for my wallet pin, I select my TrustMe Bank credit card to pay for the game. I click Buy, and now I can start playing the full version of Exploding Bananas.

    Pay for purchases in a store

    If I have a phone with a secure SIM card and my bank has a Windows Phone app, I could have paid for my books using the phone as well with a tap much like you do with some credit cards, but support for the credit card payment with the phone will vary. The ability to tap to pay is dependent on a) the bank having a Windows Phone app, and b) my phone provider having secure SIM cards. This is a bit different from the Google wallet where the device itself must be secure. The advantage to the secure SIM model, is if you buy a new phone next year you already have a secure SIM that you just move to your new phone. But even without those features the wallet hub still cuts down on the thickness of my physical wallet by storing my membership cards and helping me store and discover coupons.

    What can a big company do with wallet?

    Support frequent traveler/buyer programs

    As a business traveller, I see huge potential in all those frequent traveler programs moving to Windows Phone. Imagine the possibilities if FlyWithMe airlines went all out with Windows Phone 8 support. I could go to the wallet hub, see how many frequent flyer points I have. Tap the card to go to the FlyWithMe phone app and cash in points to book a flight or request an upgrade.

    Support payment using the phone

    The banks are among the companies that I hope are first to jump on the Windows Phone wallet wagon! Because if a bank supports Windows Phone 8 wallet, I can then use my credit card or bank card to make a purchase on my phone either through a phone app, or in person with secure NFC.

    Allow me to make purchases from their store on the phone

    Online shopping is already a reality, why not allow me to do my online shopping on the go with my phone? With the wallet you can add in app purchase to your phone apps.

    What can a small company do with wallet?

    Help people find your business

    With the ability to show deals in maps, a casual customer looking for a lunch spot can find out about that special you have today and may choose to visit your business over another and they can share the deal with others

    Make money with their phone apps

    With the wallet, you can now have in app purchases. This makes it easier for someone to upgrade to the paid version of your app, purchase an add-on to your app, or purchase a service or product from your company.

    What should an app developer read up on to implement it?

    Here’s a few good resources

    If you want to see how wallet looks, there’s a nice video that gives you a great overview. If you are looking for more Windows Phone resources check our resource page and don't forget about the Developer Movement promotion that rewards Canadians for their apps!

Page 1 of 2 (9 items) 12