Subscribe to Feed

 

There’s something so intuitive and simple about touching things on the screen that they just dive in without needing to be shown how it all works.
The problem is that the Windows Store can be a confusing place if you’re looking for the best apps for kids. It’s hard to tell the good from the bad! So I’ve compiled a list of my favorite apps that take advantage of the bigger tablet screen while helping to develop skills for your kids.
So, without any further ado, here are my ten best Windows 8 apps for children:

 

  1. Paint 4 Kids

    Screen shot 2

    A simple app for your kids to paint and color. Help your child to select one of the available drawings and then select you preferred color. Try to fill all the white spaces as you like. You can choose different modes for drawings: fill a shape with a single tap, move fingers to fill a shape or free drawing, so you can write on the entire screen! And of course you can choose the size of your brush. You can create amazing drawings with kids and after the hard work you can save, share and print you artwork with grandparents and friends.

  2. Sticker Tales

    Screen shot 1

    Sticker Tales is a fun educational game that lets kids use their imagination to create pictures and play games as easily as putting stickers in a book. It includes the "Farm Fun" sticker pack absolutely free, with many more sticker packs available for purchase.

  3. The Magic Farm

    Screen shot 3

    Welcome to the Magic Farm, where you will find great adventure, new friends, and get in touch with brazilian folklore in a fun and interactive way. Hear the narrative or create your own recording, while touching and playing with scenario objects and the farm animals.

  4. ABC & Me Free

    Screen shot 1

    Discover the cutest little app for curious babies and playful toddlers. ABC & Me is an app designed for the most tapful experiences and helps for the development of fine motor skills, and hand eye coordination all while having fun when learning.

  5. AlphaPop

    Screen shot 4

    AlphaPop uses bright graphics, fun sounds and an easy gaming environment to help your young children get introduced to their ABC.

  6. MerlionWords

    Screen shot 1

    MerlionWords is a multilingual education application to enhance your Chinese, English, French, Japanese, Korean and Spanish word recognition, writing, and pronunciation skills.

  7. Daily Colorbook

    Screen shot 4

    Play and learn while you and your kids color various motives in our beautifully designed application. With broad content ranging from classic coloring pages to easy learning exercises and dot puzzles, Daily Colorbook is a fun and educational coloring application for all ages.

  8. NumberPop

    Screen shot 5

    NumberPoP uses bright graphics, fun sounds and an easy gaming environment to help your young children get introduced to Numbers.

  9. My Games

    Screen shot 1 

    "My Games" is a "7 in 1" game for preschool kids.

  10. . Kids Connect the Dots Xmas

    Screen shot 2

    Keep the kids quiet this holiday season with a festive-themed, musical version of the classical game. Almost a million children have already enjoyed its friendly themes, bright illustrations, and encouraging vocal cues. Newly available for the Windows Phone, this app features 40 simple connect-the-dot puzzles and promises to keep your little one enthralled.

- CTRL+F5

 

There are several occasions where you want keep the current element in focus and disable application scrolling when user is trying to type in using the onscreen keyboard. It is little bit tricky to achieve this. here is some sample code on how to do this in Xaml/C#

        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            base.OnNavigatedFrom(e);
            InputPane.GetForCurrentView().Hiding -= InputPane_Hiding;
            InputPane.GetForCurrentView().Showing -= InputPane_Showing;
        }
 
        private void InputPane_Hiding(InputPane sender, InputPaneVisibilityEventArgs args)
        {
            args.EnsuredFocusedElementInView = true;
            this.KeyboardBacking.Visibility = Visibility.Collapsed;
        }
 
        private void InputPane_Showing(InputPane sender, InputPaneVisibilityEventArgs args)
        {
            args.EnsuredFocusedElementInView = true;
            this.KeyboardBacking.Visibility = Visibility.Visible;
            this.KeyboardBacking.Height = args.OccludedRect.Height;
        }

 

In Xaml, add an additional RowDefinition to the layoutroot Grid, and add following Xaml code to create space for the keyboard:

<Border x:Name="KeyboardBacking" HorizontalAlignment="Stretch" Height="0" Grid.Row="2" Visibility="Visible" />

 

Hope this helps,

- Ctrl + F5

 

Programming Windows 8 Apps with HTML, CSS, and JavaScript! is now available for free in eBook format.

This free eBook provides comprehensive coverage of the platform for Windows Store apps. Since its second preview in August, we’ve added the remaining chapters on live tiles, notifications, background tasks, background transfers, networking, devices, printing, WinRT components, accessibility, localization, and the Windows Store itself. The final eBook contains 17 chapters. And of course all of the earlier chapters have also been reviewed and refined-over 800 pages in total, along with new and updated companion content!

You  can download the eBook in PDF format here: http://go.microsoft.com/FWLink/?Linkid=270056 (17.9 MB)

The eBook’s companion content is here: http://go.microsoft.com/FWLink/?Linkid=270057 (60.0 MB)

 

- Ctrl + F5

 

If you use CameraCaptureUI, the user will be prompted for permission automatically. But the DeviceInformation API does not indicate whether or not the user has granted permission.

Here is sample class that you can use to see whether a camera is available, with support for data binding

 

using Common;
using System.Collections.Generic;
using System.Linq;
using Windows.Devices.Enumeration;
 
 
namespace Helpers
{
       public class VideoCaptureStatus : BindableBase
       {
              private DeviceWatcher deviceWatcher;
              private List<DeviceInformation> videoDevices = new List<DeviceInformation>();
              private bool isAvailable;
 
              public VideoCaptureStatus()
              {
                     this.deviceWatcher = DeviceInformation.CreateWatcher(DeviceClass.VideoCapture);
                     this.deviceWatcher.Added += this.DeviceWatcher_Added;
                     this.deviceWatcher.Removed += this.DeviceWatcher_Removed;
                     this.deviceWatcher.Updated += this.DeviceWatcher_Updated;
                     this.deviceWatcher.Start();
              }
 
              public bool IsAvailable
              {
                     get { return this.isAvailable; }
                     private set { this.SetProperty(ref this.isAvailable, value); }
              }
 
              private void DeviceWatcher_Added(DeviceWatcher sender, DeviceInformation deviceInformation)
              {
                     this.videoDevices.Add(deviceInformation);
                     this.UpdateAvailability();
              }
 
              private void DeviceWatcher_Removed(DeviceWatcher sender, DeviceInformationUpdate deviceInformationUpdate)
              {
                     this.videoDevices.RemoveAll(deviceInformation => deviceInformation.Id == deviceInformationUpdate.Id);
                     this.UpdateAvailability();
              }
 
              private void DeviceWatcher_Updated(DeviceWatcher sender, DeviceInformationUpdate deviceInformationUpdate)
              {
                     foreach (DeviceInformation deviceInformation in this.videoDevices)
                     {
                           if (deviceInformation.Id == deviceInformationUpdate.Id)
                           {
                                  deviceInformation.Update(deviceInformationUpdate);
                           }
                     }
                     this.UpdateAvailability();
              }
 
              private void UpdateAvailability()
              {
                     this.IsAvailable = this.videoDevices.Any(deviceInformation => deviceInformation.IsEnabled);
              }
       }
}

 

- CTRL + F5

 

I have recently seen several windows store apps popup with this error when running on ARM architecture, core reason boiled down to using Callisto package in the application. The Callisto project defaults to compiling as x86 only, and running corflags.exe. If you are targeting all architectures, either download Callisto source, compile it against all architecture or do not include Callisto package in your app.

 

-Ctrl + F5

 

Microsoft just made a bunch of eBooks free to download. Grab them while they are free.

image
Moving to Microsoft Visual Studio 2010
image
Programming Windows 8 Apps
image
Programming Windows Phone 7
image
Programming Windows Phone 7 (Special Excerpt 2)

image
Office 365 - Connect and Collaborate virtually anywhere, anytime
image
Microsoft Office 2010 First Look
image
Security and Privacy for Microsoft Office 2010 Users
image
Getting started with
Microsoft Office 2010 - For IT Professionals

image
Planning guide for Microsoft Office 2010 - For IT professionals
image
Deployment guide for Microsoft Office 2010 - For IT professionals
image
Operations guide for Microsoft Office 2010 - For IT professionals
image
Technical reference for Microsoft Office 2010 - For IT professionals

clip_image001
Understanding Microsoft Virtualization R2 Solutions
image
Introducing Windows Server 2012
image
Introducing Microsoft SQL Server 2012
image
Introducing Microsoft SQL Server 2008 R2


Configure Kerberos Authentication for SharePoint 2010 Products

Business continuity management for SharePoint Server 2010

Deployment guide for SharePoint Server 2010

Get started with SharePoint Server 2010


Governance guide for Microsoft SharePoint Server 2010

Profile synchronization guide for SharePoint Server 2010

Remote BLOB storage for Microsoft SharePoint Server 2010

Technical reference for Microsoft SharePoint Server 2010


Upgrading to SharePoint Server 2010
image
Getting Started with SharePoint Server 2010
image
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
image
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 2

image
Planning guide for server farms and environments for Microsoft SharePoint Server 2010
image
Capacity planning for Microsoft SharePoint Server 2010


SQL Server 2012 Tutorials: Analysis Services - Tabular Modeling

Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery

Transact-SQL Data Manipulation Language (DML) Reference

QuickStart: Learn DAX Basics in 30 Minutes


SQL Server 2012 Tutorials: Analysis Services - Data Mining

Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide

Data Analysis Expressions (DAX) Reference

SQL Server 2012 Upgrade Technical Guide


Backup and Restore of SQL Server Databases

SQL Server 2012 Tutorials: Analysis Services - Multidimensional Modeling

Master Data Services Capacity Guidelines

In The Classroom - Digital Storytelling
Digital Storytelling
In The Classroom - Free Tools
Free Tools in the Classroom
In The Classroom - Movie Maker
Windows Live Movie Maker in the Classroom
In The Classroom - Windows 7
Windows 7 in the Classroom

In The Classroom - Web Apps
Microsoft Office Web Apps Teaching Guide
In The Classroom - Office
Microsoft Office in the Classroom
Critical Thinking - In The Classroom
Developing Critical Thinking through Web Research Skills
In The Classroom - Bing
Bing in the Classroom


Moving Applications to the Cloud, 2nd Edition

Windows Azure Prescriptive Guidance

Windows Azure Service Bus Reference

Intro to ASP.NET MVC 4 with Visual Studio (Beta)


Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio

Getting Started with ASP.NET 4.5 Web Forms (Beta)

Introducing ASP.NET Web Pages 2
image
Own Your Future

W7PUG Cover-free
Windows 7 Power Users Guide
eBook
Deploying Windows 7 Essential Guidance
image
Welcome to Windows 7
image
What You Can Do Before You Call Tech Support (Windows 7)

image
Developing an Advanced Windows Phone 7.5 App that Connects to the Cloud
image
Developing Applications for the Cloud, 2nd Edition
image
Building Hybrid Applications in the Cloud on Windows Azure
image
Building Elastic and Resilient Cloud Applications - Developer’s Guide to the Enterprise Library 5.0 Integration Pack for Windows Azure

image
Technical reference for Microsoft SharePoint Server 2010
image
Getting started with Microsoft SharePoint Foundation 2010
image
Deployment guide for SharePoint 2013 Preview
image
Deployment guide for Duet Enterprise for Microsoft SharePoint and SAP Server 2.0 Preview

image
Microsoft Dynamics GP 2010 Guides: Financials
image
Microsoft Dynamics CRM 2011 User’s Guide
image
Dynamics CRM 2011 Developer Training Kit
image
Microsoft Dynamics CRM 2011 Implementation Guide

image
Deployment guide for Office 2013 Preview
image
Office 2010 Developer Training Kit
image
Office 365 Developer Training Kit
image
Office 365 Guides for professionals and small businesses

image
Lync for Mac 2011 Deployment Guide
image
Microsoft Lync Server 2010 Resource Kit Tools
image
Microsoft Lync Server 2010 Resource Kit
image
Microsoft Lync Server 2010 Security Guide

image
Developing Applications for the Cloud - 2nd Edition
image
Visual Studio LightSwitch Training Kit
image
SQL Server 2012 Developer Training Kit

image"Own Your Space–Keep Yourself and Your Stuff Safe Online" Digital Book for Teens

 

It is very easy to check if the user has enabled Location Services (GPS) in Windows Phone.

GeoCoordinateWatcher g = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
g.Start();
if (g.Permission == GeoPositionPermission.Denied)
{
   // then we know it is off, else we assume it is on
  // Show message box..
}

...
...

// Ensure the you properly dispose the watcher 
g.stop();
g.Dispose();

One catch here is that, if the user disables the GPS settings after launching you app, GeoCoordinateWatcher will not detect the change. They will have to close the app and re launch it again.

 

When you compile your windows phone app, it might build fine but throw an “unspecified error” when you try to deploy your app either onto your phone or to the emulator. The most probable reason that causes this is that there is style incompatibility in your xaml that the parser failed to resolve.

To fix the issue,

  • In you xaml verify if you are using any style with fixed values for one control. That is you use style resource and also give static values for font size etc. Usually when you do this for TextBlocks etc., it will throw off the Windows phone xaml parser.
  • Another situation is when you have templated pivot or panorama controls. Make sure that your header template for pivot or panorama controls is not funky. One common place where I have seen this is, during the 7.0 release, they allowed a static binding resource for the “FirstCharacter” in the pivot control. Access to this has been disabled starting 7.1 version of the Windows Phone SDK. To fix this all you have to do it remove the converter from your template.

For example, in your old 7.0 code, a pivot header template might look like

        <controls:Pivot>
            <controls:Pivot.HeaderTemplate>
                <DataTemplate>
                    <TextBlock
                        Text="{Binding Converter={StaticResource FirstCharacter}}"
                        Foreground="{StaticResource PhoneAccentBrush}"/>
                </DataTemplate>
            </controls:Pivot.HeaderTemplate>
        </controls:Pivot>

This does not work anymore after the 7.1 SDK. Change the above code to

        <controls:Pivot>
            <controls:Pivot.HeaderTemplate>
                <DataTemplate>
                    <TextBlock
                        Text="{Binding}"
                        Foreground="{StaticResource PhoneAccentBrush}"/>
                </DataTemplate>
            </controls:Pivot.HeaderTemplate>
        </controls:Pivot>

And you should be fine. (Just removed the converter part from  the Text binding). I did not see any functional difference from doing this.

 

Hope this helps,

CTRL+F5

 

Here is a list of Windows 8 Keyboard shortcuts that I think are most useful:

Windows key - Brings up the Metro start screen. You can start typing to search for an app, just like the Win7 start menu. Subsequent presses on the button will cycle through the open applications

Win + B - Switch to the (classic) Windows desktop and select the tray notification area.

Win + C - Brings up the Charms menu, where you can search, share, and change settings.

Win + D - Brings up the old Windows desktop.

Win + E - Launch Windows Explorer with Computer view displayed.

Win + F - Brings up the Metro File search screen.

Win + H - Opens the Metro Share panel.

Win + I - Opens the Settings panel, where you can change settings for the current app, change volume, wireless networks, shut down, or adjust the brightness.

Win + J - Switches focus between snapped Metro applications.

Win + K - Opens the Devices panel (for connecting to a projector or some other device)

Win + L - Lock PC and return to Lock screen.

Win + M - Minimize all Windows on the desktop

Win + O - Locks device orientation.

Win + P - Choose between available displays.

Win + Q - Brings up the Metro App Search screen.

Win + R - Switch to the (classic) Windows desktop and display the Run box.

Win + U - Switch to the (classic) Windows desktop and launch the Ease of Access Center.

Win + V - Cycles through toasts.

Win + W - Brings up the Metro Settings search screen.

Win + X - Launch Start Menu.

Win + Y - Temporarily peek at the desktop.

Win + Z - Opens the App Bar for the current Metro application.

Win + Page Up / Down - Moves tiles to the left / right.

Win + Tab - Opens the Metro application switcher menu, switches between applications.

Win + , (comma) - Aero Peek at the desktop.

Win + . (period) - Snaps the current Metro application to one side of the screen. (Right side)

Win + Shift + . (period) - Snaps the current Metro application to the other side of the screen. (Left side)

Win + Space - Switch input language and keyboard layout.

Win + Shift + V - Cycles through toasts in reverse order.

Win + Enter - Launches Narrator

Win + Arrow Keys - Switch to the (classic) Windows desktop and enable Aero Snap

- Ctrl + F5

 

It is very easy to convert a string to stream and vice versa in .Net.

Converting String to Stream:

MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(myString);
writer.Flush();
 
if you already know the encoding of your string, you can also use
 
byte[] tempByteArray = Encoding.ASCII.GetBytes(myString);
MemoryStream stream = new MemoryStream(tempByteArray);
 

Converting Stream to String:

 
StreamReader reader = new StreamReader(stream);
stream.Position = 0;
string myText = reader.ReadToEnd();
 
 
 - CTRL+F5
 

 

 

Recent Comments