Showing posts with label Windows 8. Show all posts
Showing posts with label Windows 8. Show all posts

September 3, 2013

Android to Windows 8: Top 10 Windows Store Certification Tips

As an Android developer publishing an application in Google Play, you simply publish the app and it appears live.  However, in the Windows Store (and Apple’s App Store), there is a certification process where your application undergoes testing and a review by a human being before being published.

So, you might wonder if there are any tips and tricks for passing certification in the Windows Store.  Here are the top 10 tips that will help you pass certification.

1.  Run the WACK.

The Windows Application Certification Kit (WACK) is an awesome tool.  Perhaps you have developed for an app store before and encountered the really fun cycle of: submit your app, wait, receive a failure notice, fix your bug, re-submit your app, wait, receive a failure notice, fix your bug, re-submit your app, wait…and repeat.

The WACK reduces this cycle by giving you a way to screen your app locally for issues before you even submit it to the Windows Store.  Essentially, the WACK is a series of automated tests (which are also run during certification).  Running them locally, you can find and fix bugs before you submit your app to the Windows Store.

The WACK is installed when you install Visual Studio Express 2012 for Windows 8 (available as a free download here, halfway down the page in blue).  When you install Visual Studio, you should also get a tile in your Start Menu for the WACK (see the picture below).  Finally, here is some how-to documentation on using the WACK.


2.  Test on ARM.

Particularly for the performance requirements, it helps to test on devices running ARM processors and/or low-end machines.  In general, it’s a good idea to test on several different machines.

Also note that your app must provide the same user experience on all processor types that it supports (this is certification requirement 3.2).  If your app has a different user interface or functionality when it runs on different processor types, you must submit a separate app for each processor type and describe the differences in the “Description” section of each app.

Finally, you may be wondering “How do I test on ARM?” since Visual Studio doesn’t run on ARM devices.  You can accomplish this through remote debugging.  Tim Heuer wrote a fabulous post on how to enable remote debugging on an ARM device.

3.  Read the documentation.

I know that this part isn’t fun, but taking some time to read through ALL of the certification requirements will help you avoid mistakes.  Here is the full list of Windows 8 certification requirements.  There is also guidance on avoiding common certification failures and resolving certification errors.

Finally, here is the App Developer Agreement for developers and Windows Store Terms of Use for the users who download your app.


4.  Create an accurate and compelling app listing page.  

When you submit your app to the Windows Store, you will be required to fill out various metadata about your app: a description, age rating, etc.  Take your time and do a good job filling out your application information.  (If you’ve taken the time to write a great app, don’t rush through this part!)  There is a lot of great guidance on this at Preparing your app for the Store (marketing has never been a strength of mine, so I find this really useful).  Here are some specific tips around creating a great app listing page:
  • Make your application description as detailed and descriptive as possible.  There is guidance on creating a great app listing that is truly helpful.
  • Don’t use your listing page to promote your company or products.  Certification requirement 2.3 forbids advertising in an application description, so beware the appearance of trying to sneak advertising into your description.
  • Most apps should have a rating of 12+.  If you’re having trouble deciding between two age ratings for your app, choose the higher one.  Remember that apps never fail certification for having too high a rating.  (See certification requirement 6.2 for more info.)
  • Don’t declare your app as accessible unless you specifically engineer and test it for accessibility scenarios.
  • Make sure that you tell the tester everything that he/she needs to know.  There is a “Notes to Tester” section when you submit an application, and you should utilize that as your mechanism to “talk” to the person who will be reviewing your app for certification.  Besides the obvious items that you should provide (like the username/password of a demo account if your app requires login), you can explain your development choices and how they align to the certification requirements if you feel that anything may be misinterpreted.
5.  Use the Windows Store simulator for testing calls to the Windows Store.

Your app can use the Windows Store commerce APIs from the Windows.ApplicationModel.Store namespace for features like trial functionality or in-app purchases.  If you use these: first of all, test your app to verify that it handles typical exceptions; you can do this using the Windows Store simulator available through the CurrentAppSimulator class.  Then, make sure that you change your app to talk to the real Store and not the simulator before submitting (your app should use the CurrentApp class instead of the CurrentAppSimulator class, which is for testing purposes only).  Finally, ensure that your app doesn’t crash if there’s no network connectivity.

6.  Use the Visual Studio simulator for testing touch as well as different screen sizes, resolutions, and orientations.

A certification tester (and of course, your end users) may be using a machine very different from your development box.  The Visual Studio simulator lets you test your application’s behavior in a variety of conditions.

In the Run dropdown menu with the green play button, select “Simulator” (it is probably currently set to “Local Machine”). Then click the button to start the simulator.



When the simulator launches, you will see a menu of buttons on the right-hand side.



Below the minimize button, the buttons are (in order from top to bottom):
  • Pin button – keeps the simulator always on top
  • Arrow button – change to mouse mode
  • Hand button – change to touch mode
  • Zoom button – change to pinch/zoom touch mode (so you can simulate this gesture)
  • Rotate button – change to rotation touch mode (so you can simulate this gesture)
  • Rotate clockwise button – rotates the display clockwise 90 degrees (to simulate portrait/landscape orientation changes)
  • Rotate counterclockwise button – rotates the display counterclockwise 90 degrees
  • Monitor button – changes resolution
  • Globe button – sets location
  • Camera button – copies a screenshot
  • Options button – changes the screenshot settings
  • Question button – links to simulator help
Using the Visual Studio simulator allows you to test how your application will behave across numerous machines.  You can simulate touch if you don’t have a touch machine, orientation changes for slates/tablets, different screen sizes/resolutions, and different locations if you utilize location-based services.

7.  Ensure that your app is fully functional, and won’t be perceived as unfinished.

This maps back to certification requirement 1.2, which says that apps must be fully functional.  A number of things in this category can trigger certification failures:
  • The description given for your app listing page in the Windows Store is inaccurate or overly vague.
  • Any incomplete sections, unimplemented buttons or menu choices, links to webpages that are under construction, empty pages that should contain data, use of language like “coming soon” and “beta”, etc. will give the impression that an app is incomplete.
  • Broken or missing functionality will trigger this failure.
  • Make sure that you provide enough information for the testers to test.  For example, if your app has “login” functionality, create a test user account and provide the username/password in the “Notes to Testers” field when you submit your application.
For more information, see this “1.2 App must be fully functional” blog post.

8.  Test for performance.

Apps must launch in 5 seconds or less and suspend in 2 seconds or less, on a low-power computer.  The Windows App Certification Kit does run performance tests, so you can use that data to measure how your application is performing.  If you find that you do need to improve performance on launch and suspend, here are a few tips:
  • Package content locally (or cache it) when possible, so you don’t have to pull resources from a network during launch.
  • Load and do only what you need on launch.  You can load other data and do other work asynchronously in the background or when you actually need it.
  • Use a “dirty bit” when saving data on suspend, so you only save data that has changed.  (Rather than re-serializing your app’s state if that data hasn’t changed, create a Boolean flag variable (or “dirty bit”) which signals that your data has been modified, and only re-serialize when the data has changed.)
  • Use bytecode caching if you are developing in JavaScript, so each JS file has bytecode created once and not every time the app launches.  To enable this, make sure all JavaScript files are UTF8 encoded with a byte-order mark (BOM) and are statically referenced in the root of your HTML start page.
For more detailed information, see this “3.8 App must meet the basic performance criteria” blog post.

9.  Provide a privacy policy if your app connects to the internet at all (or if you have the Internet capability checked).

This is an extremely common reason for Windows Store submission failure.  The “Internet (Client)” capability is enabled by default in the Visual Studio templates, so by default if you haven’t changed your manifest, you do have to provide a privacy policy.  The capabilities are found in your Package.appxmanifest file, under the Capabilities tab:




If you are not using the internet, uncheck this capability, and you don’t have to provide a privacy policy.  If you are using the internet, you need to create a privacy policy that explains what data is sent over the internet/what you are doing with it, post the privacy policy online, link to it in your application’s settings (accessed through the Settings charm), and provide the link when submitting to the Windows Store.  If you do collect personal information, the user has to opt-in and give consent to share this information.
For more detailed information, see this “4.1 App must comply with privacy requirements” blog post.

10.  Properly localize your app for all languages that it supports.

Here are some common “gotchas” that can cause the localization certification requirement to fail:
  • The app’s metadata provided during the submission process on the Description page (such as its description, features, keywords, or screen shots) is either missing or doesn’t match the languages defined in your application.  For example, you may accidentally provide a description in English for the Chinese version of the app.
  • Don’t forget to provide localized screen shots!  This one has tripped up a lot of folks.
  • The app must support one of the certification languages.  That is the subset of languages for which we have testers to confirm that your app meets the certification requirements.
  • Make sure that the app is functional and complete for all of the languages that you claim.  If any claimed language support is incomplete, this requirement will fail.
For more information (including the difference between supporting languages and markets, and how to implement support for different languages properly), see this “6.5 App must be localized” blog post.
Hope these tips were useful!

August 22, 2013

Optimize And Clean Your Computer With a Free Program Download

CCleaner -Optimization and Cleaning for your computer..absolutely free!

CCleaner
CCleaner (aka CrapCleaner) is the #1 tool for cleaning your Windows PC free. It protects your privacy online and makes your computer faster and more secure. Easy to use and a small, fast download, I have been using this program from Piriform for years.  This program is also available for the Mac platform.

Download now for Windows here, FREE

CCleaner Screenshot

Cleans all areas of your Computer:

Internet Explorer Internet Explorer
Temporary files, history, cookies, Autocomplete form history, index.dat.
Firefox Firefox
Temporary files, history, cookies, download history, form history.
Google Chrome Google Chrome
Temporary files, history, cookies, download history, form history.
Opera Opera
Temporary files, history, cookies.
Apple Safari Safari
Temporary files, history, cookies, form history.
Windows Windows
Recycle Bin, Recent Documents, Temporary files and Log files.
Registry Registry Cleaner
Advanced features to remove unused and old registry entries.

August 4, 2013

Windows 8 makes creating a home or small business network easy. Here's how to set one up




In this article, we'll take you through the steps required to connect two Windows 8 machines together in a homegroup. When a set of instructions such as File>New>Open are given, it means you click File and then will see the option New; click >New and you will see Option, which you should then click.


Creating a Homegroup

Before getting started, your computer has to be connected to a network. The connection can be wired or wireless, but make sure you are connected to your home or office router first.

In the Windows 8 Start screen, begin typing "Control Panel" until the Control Panel icon is displayed:


Click on the Control Panel icon and then on Network and Internet. Click on the >HomeGroup option.

Click the >Create a HomeGroup button.



The Create a Homegroup wizard opens. Click >Next. The wizard asks you select the files and devices you want to share within the homegroup and set the permission levels



Click >Next. Windows will establish the sharing and permissions you just set. The wizard will then display an auto-generated password that must be entered into any computers that you want to add to the homegroup. Don't worry if you don't like the password created; you can always change it, but copy it down for now.


Click >Finish.
Once you go through these instructions, how do you verify that the homegroup has been set up? It's easy: Go back into Control Panel>Network and Internet>HomeGroup. You will now see listed the libraries and devices being shared in the homegroup.


You can also tweak your homegroup settings from this screen. For example, change the password by simply clicking the >Change the password link. I also recommend that you verify that network discovery is turned on; otherwise you will have problems sharing data among member devices in your homegroup. To turn on this feature, from Control Panel>Network and Internet>Homegroup, click >Change advanced sharing settings.


Under Private (current profile), click the radio button to >Turn on network discovery. Do the same for >Turn on file and printer sharing if you want to share files and printers between homegroup members.
By default, Windows will manage your homegroup connections. For added security, you can create user accounts and password for any machine that connects to the homegroup and use those credentials instead. To do this, under HomeGroup connection, click the radio button next to >Use user accounts and passwords to connect to other computers.

Connecting a Windows 8 Machine to a Homegroup

To connect another Windows 8 machine to your homegroup, ensure that machine is connected to the same network as the computer you used to create the homegroup. This means both machines are wirelessly connected to the same router or access point, or both are connected to the same router, switch, or hub via Ethernet cables.

From the machine to be connected to the homegroup, open Control Panel>Network and Internet>HomeGroup.

The HomeGroup window should show that an existing homegroup has been discovered.



Click >Join now>Next. Select the folders you want this computer to share with other members of the homegroup. Click >Next. Enter the password that was created automatically (or the one you set) when the homegroup was initially created.



Click >Next again. Windows will confirm that you have joined the homegroup.

From a homegroup-joined Windows PC, you can go into the Libraries folder from the desktop and you'll see a listing for "Homegroups."  Under this listing, all the machines in the homegroup and all the folders they are sharing will appear. From here, you can quickly access another machine's files within the homegroup.

From one machine, you can open and access file from another. Homegroups are also useful if you don't have central storage such as as a NAS (Network Attached Storage) device or a media server, because you can share pictures, videos and music between computers connected to the Homegroup, just by going into Explorer and clicking on another computer's library. And new content added to a user's library, is automatically discovered by other users' computers in the homegroup.


August 3, 2013

Three tips for Windows 8 newbies

“How do I find my programs?” is a very common question. People see the Windows-tiled Start screen and aren’t able to find the Start menu on the desktop, so they feel lost. If there’s no tile for it, it can be extremely difficult to locate and run the program that you know is on your machine.

Windows 8 Start Sceen
The solution is amazingly simple. Just start typing. With the tiled Start screen visible, just start typing the name of whatever program you’re looking to launch.

Windows 8 Start Search
In the example above, all that I’ve done is type two letters: “c” followed by “o”. (I’m looking for Control Panel.) On the left, Windows 8 lists apps1 that either start with, contain, or somehow relate to what’s been typed so far. The second item down is Control Panel – exactly the program I wanted.
 
You can see the search box that automatically appeared as I started typing on the right and beneath that, a count of the number of apps that match (the seven currently displayed on the left), the number of settings that match (162), and the number of files (713). If I were to continue typing, the results would narrow. (If I finish typing the word “control”, for example, the results narrow down to three, 12 and 31 respectively.)
Finding that program is easy. Just start typing.

Swipe to close

When looking at one of the newer tiled apps, it’s not at all clear how to close it or get rid of it. There’s no title bar, no little “x” at the top to click or tap. In fact, there’s no visual indication of how to close the app at all.

In true Windows fashion, there are several ways to close an app: a couple that are old and one that is new.
On a touch screen, if you swipe your finger from just above the screen all the way to the bottom, the tiled app is closed.

Don’t have a touch screen? If you move your mouse pointer to the top of the screen, you’ll see it change to a hand:

Hand icon on tiled app
Left-click and hold, and then drag the mouse pointer to the bottom of the screen. Just like the finger swipe, the app has now closed.

Are you a keyboard person? Don’t like swiping and mouse manipulations? No problem. ALT+F4 – which has been a standard way to close windows for years. It still works, even with tiled apps.

And while we’re at it, ALT+TAB still works as well to cycle through the running apps and applications, whether they’re full screen or not:

Running Programs in Alt-TAB

Use the other Internet Explorer

This is that questionable decision that I alluded to earlier.  What many people don’t realize is that there are effectively two different versions of Internet Explorer in Windows 8:  full screen/tiled and traditional.  The tiled IE is easy to identify. It has the address bar at the bottom.


I’m sure this is a fine version of Internet Explorer, but it seems like a “cut rate” version lacking many of the features and options that we’ve become accustomed to in a browser.  Fortunately, we can get the “real” Internet Explorer back.  Click or tap the Desktop tile. On the task bar at the bottom, you’ll find an icon for the real Internet Explorer.

Internet Explorer on Windows 8 Taskbar
Click that to get a much more familiar – and full featured – browser.  Fortunately, we can also make that the default. In the desktop version of IE, click the gear icon to the right and click Internet options:

Internet Options item
On the Programs tab of the Internet Options dialog, check the option to Open Internet Explorer tiles on the desktop:

Open IE on desktop option
Click OK.   Now, even when using the tiled Start screen, clicking or tapping an Internet Explorer tab or link will first take you to the desktop and then fire up the full version of the browser.

August 1, 2013

Windows 8.1 Tip: Optimize for the Desktop


After a couple of years, I am back blogging. I had some urgent personal matters to attend to but am back with a few pointers for the newest Windows OS.
When Microsoft first released the “touch-first” Windows 8/RT in late 2012, customers cried foul. Here was an OS that seemed designed almost solely for the non-existent audience of Windows tablet users while ignoring the needs of over a billion traditional PC users. Well, Microsoft listened.
With the Windows 8.1 update, Windows 8/RT users finally have a first-class desktop experience in which you can almost completely obliterate every trace of that touch-first “Metro” interface. Here’s how.
Most avid followers of the 8.1 update are probably familiar with the fact that Windows 8.1 brings back the Start button. There’s nothing you need to do to gain access to this retro UI: It’s on the desktop’s taskbar by default (and can in fact not be removed), just as it was with previous versions of Windows.

Looking past the Start button, there are a series of other settings changes you can make to Windows 8/RT with Windows 8.1 that will bring back previous functionality and remove annoying Metro interfaces that just get in the way of those who will be staying primarily or solely in the desktop environment. Almost all of these settings are available from the same place: The new Navigation pane in the Taskbar and Navigation Properties window.

There are a few ways to find this interface, but we’re using the desktop here, so right-click on a blank area of the taskbar and choose Properties. Then, in the Taskbar and Navigation Properties window that appears, select the Navigation pane.
The pertinent settings are:
Boot to desktop. If you would like to skip right past that Start screen and navigate directly to the desktop every time you boot the desktop or sign in to your account, check the option titled Go to the desktop instead of Start when I sign in.
Disable (some) mouse access to Switcher. Windows 8 confusingly adds a second app switching interface, called Switcher, which treats the desktop and all of the applications running within like a single Metro-style app. But desktop users are better off using the traditional Windows Flip (ALT + TAB) app switching interface because it treats both Metro apps and desktop applications like the standalone entities they are. In Windows 8.1, you can disable one of the two “hot corner” methods of activating Switcher—mouse into the upper left corner of the screen—but not the keyboard shortcut (WINKEY + TAB) or the second hot corner method (mouse into the lower left corner of the screen). To do so, uncheck the option titled When I click the upper-left corner, switch between my recent apps.
Disable (some) mouse access to Charms. Windows 8 also adds a new Charms interface that lets you access new system-level services, almost none of which are applicable to the desktop. In Windows 8.1, you can disable one of the two “hot corner” methods of activating the Charms—mouse into the upper right corner of the screen—but not the keyboard shortcut (WINKEY + C) or the second hot corner method (mouse into the lower right corner of the screen). To do so, uncheck the option titled When I point to the upper-right corner, show the charms.
(Mostly) replace the Start screen with the Apps view. While there’s no way to configure Windows to use the retro Start menu in place of the new Start screen, desktop users can change what happens when they click the Start button, so that it navigates to the new Apps view instead. This view, while a full-screen Metro experience and thus annoying to some, may still be preferable to the Start screen because it only shows app/application icons and not live tiles. To enable this change, check the option titled Show the Apps view automatically when I go to Start. To make this functionality even more useful and less jarring, also check the option titled List desktop apps first in the Apps view when it’s sorted by category and Show my desktop background on Start. The net effect is that the Apps view will appear to display on top of the desktop, like so:

Note: Be sure to select By Category from the drop-down next to the Apps header in the Apps view for this settings change to be complete. Also, note that you can still view the Start screen by clicking the arrow icon in Apps view.

Only search applications (and apps). To make that Apps view even more useful, be sure that the setting Search everywhere instead of just my apps when I search from the Apps view is unchecked. When configured this way, you will see a search box on the Apps view that, when used, will only search your desktop applications and Metro-style apps. (You can also just start typing to search from the Apps view.) You don’t want Windows 8.1’s newfangled Smart Search functionality in this view.

Disable app switching completely. This one is a bit radical, and I don’t actually recommend it, but for those who wish to completely disable both the Metro-style Switcher interface and Metro-style app switching entirely, you can do so. Ironically, you do this from a Metro interface, PC Settings, however. To do so, type WINKEY + I and then choose Change PC Settings from the bottom of the Settings pane. In PC Settings, navigate to PC & Devices and then Corners & Edges. There, disable the setting titled Allow switching between recent apps. No more Switcher. No more WINKEY + TAB. No more switching between Metro apps. Again, not recommended, but there it is.

And don’t forget that the newly-improved power-user menu is available from the desktop, too: Right-click the Start button to display it and access a ton of useful desktop features like Power Options, System, Control Panel, and even Shutdown/Sleep/Restart.

I’ve not tested this yet in Windows 8.1, but I suspect that third party utilities such as Stardock’s Start8 will be modified to support this new update and allow those users to still use a classic or hybrid Start menu in place of the Start or Apps experiences. That’s your call. But the changes and tips noted above should satisfy all but the most strong-minded Metro haters.
Oh and remember that Windows 8.1 is still in Beta and upgrade at your own risk. Always remember to create back-ups of all your programs and files.
Got any more tips for desktop users? Let us know by commenting.