Adding Telerik Universal

Telerik has released a new toolset, UI for Windows Universal. You can now use many components like Charts and Calendars in a shared XAML page in your application. If you already have the Telerik Windows Phone or Windows 8.1 XAML controls, you now have a license for the Universal controls, too.

It is very simple to add it to your project. Let me show you in a quick File > New example:

1- Open Visual Studio 2013 and create a new Universal Store app.

Select File > New > Project > Visual C# > Store Apps > Universal Apps and choose the HubApp template (you can choose Blank App if you prefer, we’re only going to use the Shared folder to add content).

S1

2- After the project generates, let’s focus on the solution Explorer. First, lets add the Telerik reference to the Windows project.

Right click on References > Add Reference > select Windows 8.1 (in the left tree) > Extensions. Now you’ll see a list of extensions, choose “Telerik UI for Windows Universal

S2

3- Now add the Telerik extension to the Windows Phone project.

The steps are the sames as you did in step 2, but the extension’s name is “Telerik UI for Windows Phone 8.1

S3

4- Now we are ready to start building, let’s add a RadCalendar to a shared XAML page.

  1. Build the solution (F6)
  2. Right click on the Shared Project and select Add > New Item > Blank Page
  3. In the Visual Studio Toolbox type in “RadCalendar“, drag and drop it onto your new blank page. You can also type it in, but make sure you add the namespace (see screenshot)

S4

You can also see how the control will on Phone by simply toggling the view:

S5

That’s all there is to it!

Here are some more resources for you:

One last thing I should mention is that not all the Windows 8.1 controls are Universal right now. We are hard at work to bring more over. Here is a list as of Q3 2014:

Attend Publish Boston & Win Big

Since the prizes are really awesome for this event (May 17th), I’m going to start off with them. We will be rewarding the best student, best individual, and best company in each of the categories below:

  • Top Windows 8.1 app
    • Trip to the 2014 Formula 1 United States Grand Prix in Austin, TX.
    • 9 runner-up Nokia Lumia 1520 prizes
  • Top Windows Phone app
    • $10,000 to build your own “Dev Cave”
    • 9 Runner-up Nokia Lumia 1520 prizes
  • Top Cross Platform app
    • MakerBot 3D printer
    • 9 Runner-up Nokia Lumia 1520 prizes
  • Breakthrough in App Innovation and Design
    • MakerBot 3D printer
    • 9 Runner-up Nokia Lumia 1520 prizes

But wait, there’s more! I will be giving away these prizes at the end of the day…

  • Dell Venue Pro 8
  • Nokia Lumia 1520
  • Surface Pro and Surface Bluetooth Wedge Mouse (only windows phone entries are eligible)
  • 2 Nokia Lumia “Hero” Devices, winner’s choice of a Lumia 1020, 928, 925 or 920 (only windows phone entries are eligible)

So you are probably now asking yourself, “How do you win these prizes?”, funny that you ask because I was just going to tell you how you can…

Participate

Microsoft is holding an awesome world-wide Hackathon-style event titled //publish/.  The main purpose of the event is for you to publish your app to the Windows Phone or Windows Store. The app can be:

  • An app that you start working on now
  • An old app that you haven’t been able to finish
  • Some thing you build from scratch at the event

At the event –  If you attend in person on May 17th and submit your app to DevCenter by 7 PM, you will be able to demo it to the audience. The winners of the local prizes (second group) will be randomly chosen from those who successfully submitted (you will need to show me that the app is in submission or has been published to qualify).

After the event – The grand prizes (first group) will be awarded after the apps are published in the store. The winners will be chosen from three groups; student, indie and small business. For more details about the grand prize contest, go here.

How do you sign up?

Go here to register for //publish/ Boston  ( tweet ‘@lancewmccarthy I just registered for #pubWin Boston! #wpdev’ for a RT )

If you are not close to Boston and want to see if there is a //Publish/ event near you, go here and filter the list from the drop down. Note that the local event’s prizes will be different, but the grand prizes are the same.

I hope to see you all there, this is going to be tons of fun. I will come back here and update this post with a final agenda and more details when they become available.

Happy coding!

Lance

Legal Stuff: As with all my giveaways and contests, by participating and receiving a prize, you agree to this disclaimer.

Build 2014 Videos

This year’s Microsoft Build conference was jam packed with Windows Phone goodness. In fact, there is too much to take in at once. So what I’ve done for you is break it down into sections so that you can bookmark this page and come back at your leisure.

These videos are in no particular order, so review them all before you choose, enjoy!

Windows Phone Development

Windows and Windows Phone Design related

Market, Store, Performance and Analytics related

HTML, WinJS/javascript and Web related

Enterprise related

 

Here is the main Ch9 Build 2014 page if you want to look up any sessions not related to Windows or Windows Phone development. Let me know if you have any trouble with this page or if there is something you think I should add.

Happy coding!

 

 

DVLUPday NYC Highlights

12 hours, 250 developers, 150 feet of Subway, 68 pizzas… one awesome day, priceless.

At the beginning of the day, I performed the developer equivalent of crowd surfing… the Vine surf

https://vine.co/v/MMn5jXhnUJF/embed/simple

Photos

There lots of pictures taken and shared, you can see all of them here at #DVLUPday photos

Here are some of my favorites:

BjV6J3VCYAAR4jC BjVbycNIIAAeSW5 BjVbZYVIYAA9yJB BjVk-NrCIAE66uW BjVZALXCQAA_wiT BjWdwPfCIAApq7f BjWexioCMAESjfU BjWoPN1IgAALn0G BjWt4VcIcAA05wp BjWTJ1mCIAEiLHk BjWtT7gIgAIn9_b BjXVKf7IUAAyl95 BjYCQ13IQAETGJb BjYy9kJIEAACnbc ???????????????????????????????????????????????????????? ???????????????????????????????????????????????? 13337751223_397bde49de_z

Until next time, Happy Coding!

Lance

Photo Credits:

@NaveenPrasath
@windowstherapy
@robwirving
@merlin3212
@TonyThorton_
@shahedC
@LenChaney
@b_annis
@_christopher_g

(if you see a photo of yours and your name is not mentioned, let me know)

Creating Design-Time Sample Data

One of the best things you can have when developing a Windows Phone app is design-time sample data. I will show you in this post how to create sample data from a class using Blend. (click images to view larger)

You can apply this technique to an existing class you have, but for the purposes of this tutorial I’ll be using a File > New Visual Studio 2013 Windows Phone project.  If you have an existing app, you can skip to Step 3, but I recommend skimming the first two.

Step One – Create a new Windows Phone Project

  1. Open Visual Studio, go to File and choose New.
  2. Choose the “Windows Phone DataBound App” template
  3. Name it and click OK

ImageOne

The reason I went with the databound template is because it has a ready-to-go ViewModel that I can use to demonstrate the process.

Step Two – Finish up in Visual Studio

Delete the template’s sample data

The template comes with sample data, but I’m going to delete it so we can start from scratch. Here are the steps:

1) Expand the SampleData folder and delete the file named MainViewModelSampleData.xaml

ImageTwo

Add a new property to ItemViewModel

1) Expand the ViewModels folder and open the file ItemViewModel.cs

2) Add the DateTime property named “Date” you see in the image below to ItemViewModel

ImageThree

Change the List’s ItemTemplate to display the new property

1) Open MainPage.xaml

2) Locate the LongListSelector named MainLongListSelector (on line 51)

3) Add the following TextBlock to the LongListSelector’s ItemTemplate  (see image)

<TextBlock Text="{Binding Date}" Style="{StaticResource PhoneTextAccentStyle}"/>

ImageFour

4) Rebuild the project (VS Menu bar > Build > Rebuild project)

Step Three: Generate Sample Data

Right click on MainPage.xaml in the Solution Explorer and select Open in Blend

ImageFive

Blend is an amazing tool, if you’re not using it then you’re missing out on things like animations and fine UI tweaks. It’s much easier to make your app “pixel perfect” using Blend than it is with Visual Studio.

Now that your project is open in Blend, we can create sample data with just a few clicks.

1) Open the Data tab behind the properties pane on the right

ImageSix

2) Click the Create Sample Data dropdown

ImageSeven

3) Select Create Sample Data From Class

ImageEight

4) Select MainViewModel and name it “MainViewModelSampleData” (it should prepopulate the name for you, but if it doesn’t, type it in) then click Ok to generate the sample data.

ImageNine

5) Expand the newly formed sample data in the Data tab, and notice how it created sample data for each of the objects in your MainViewModel.

Another really cool thing about Blend is that you can tweak the type of sample data is being used. Go ahead and drop down the “abc” button next to a string property. You’ll see options to edit Lorem Ipsum, use a Company Name, personal Name, email, Price, and more.

ImageTen

Now let’s see the result!

Now everything is in place, go ahead and rebuild the project. In Blend, it’s “Project > Rebuild Project”.

This is what you should now see:

ImageEleven

Summary

By generating sample data for design time, you will be able to properly design your UI and get that Pixel Perfect feel that a professionally designed app exudes.

Now go forth and multiply your awesomeness!

Lance

ProTip: You can drag and drop the sample data onto a UI element and Blend will automatically create the binding for you.

Monetizing App Studio with Ads

So, you’d like to put some ads in your awesome App Studio app? No problem! I thought I would write a post to show just how easy it can be. Follow these easy steps and you’ll start earning money from ads…

Ad provider

The ad provider is the service the AdControl in your app gets the ad to display and also where you earn the revenue. As of Windows Phone 8 there is a PubCenter AdControl built into the framework, all you need to do is get an ApplicationId and an AdUnitId. You get that information from Windows Phone DevCenter, find out how to get your ApplicationId and AdUnitId in this great blog post.

If you want to use a separate Ad provider, for example AdDuplex, you’ll need to add the provider’s DLLs to your project. I’m using AdDuplex in the example below, learn how to add AdDuplex to your project here.

Step One: Enable ads in App Studio

Before generating your App Studio app, you’ll want to enable ad support. On the Publish Info tab, turn on the Enable ad client in the source code switch (see #2 in this screenshot):

App Studio Screenshot

Next, generate the app and download the source code.

Step Two: Open App in Visual Studio

After downloading the source code, you might need to unblock the binaries before unzipping the folder. This is a built-in security feature that prevents internet-downloaded code from running on your machine. Since we know where these files came from, it’s ok to go and unblock them. Here is how to do that:

  1. Right click on the downloaded zip folder
  2. Select “Properties
  3. If you see an “Unblock” button, click it. If you do not, continue to step 4.
  4. Now you can safely unzip the folder

Next, drill down into the unzipped folder until you see the Visual Studio solution file. Double click to open it in Visual Studio (Note: You need Visual Studio installed. If you do not, you’ll need to download and install the Windows Phone SDK from here).

Step Three: AdControl on MainPage.xaml

Drill Down to MainPage.xaml, see this screenshot to help you find it:

Visual Studio Solution Explorer

Near the top of the page, you will see a commented out section of code (approximately line #50). This is the built-in AdControl. All you need to do is:

  1. Uncomment the AdControl (delete the <!– and –> characters before and after the AdControl)
  2. Replace the placeholder ApplicationId and AdUnitId with yours

In this screenshot, I demonstrate how to use an AdDuplex ad control instead of the built-in AdControl.

MainPage

That’s all there is to it! Now you can do a Build and publish the generated XAP file. (If you are not familiar with how to publish an app built with Visual Studio, see this documentation)

This image shows what the published app looks like running on a phone, see for yourself and download the app.

NetduinoNinjaScreenshot

Happy coding!

Lance

Here are some follow-up resources to help you monetize your apps:

Using APIs for new app ideas

For most applications that provide dynamic content, using an API is critical. It’s the engine of the engaging experience in a data based app. APIs can also be a powerful muse when you’re looking for a new idea for an app. Take a look at the two items below to start exploring the vast world of APIs and spark your imagination.

My recommendation is to go to Mashery first, create your developer account and get the API keys to the ones you want to use. Next, go to theRightAPI and start playing with the API, see the results you get from different queries. Then once you pick an API, you can use the output in theRightAPI to help create your object classes (for example, if you’re getting json results, you can use tools like Json To Csharp to generate your classes).

Jumpstart your app: Microsoft has posted an awesome series of Starter Kits for both Windows Phone and Windows 8. You can use these to quickly get your idea up and running.

Mashery

Mashery is a service that will let you maintain a single login and use it across many different APIs. This prevents the hassle of having to create separate accounts for all the different APIs you want to explore.  Simply create an account with Mashery and then start exploring the list of APIs (see screenshot).  If you want to a get a key from one of the choices, go to the API website and sign in with your Mashery profile (most sites automatically detect your Mashery info).

MasheryApis

The Right API

The Right API is a great tool to help you both discover and work with APIs. Here is a quote from them: “theRightAPI helps by allowing you to define any API scenario to see exactly how it behaves now and at any point in the future.” It is super simple to use, (see this screenshot below). This is a great site that will save you a lot of time off your debugging, you’ll know exactly what is being returned to your app when the API is called.

EdmundsRightApi

Conculsion

If you’re looking to make a new app or spice up an existing one, adding data from an API can be a wonderful bonus for your users. Remember that with power comes responsibility, keep in consideration that API calls take time and use data. you want to strike that perfect balance between performance and quality.

Happy coding!

Lance

Make An App Dev Happy Day

The Windows Phone developer community is amazing in and of itself, but what happens when you add something like #makeAnAppDevHappyDay? You get pure awesomeness. What is #makeAnAppDevHappyDay?  Nokia DVLUP added fuel to an idea started by Dan Colasanti for developers to help them get the word out about their apps and generate app reviews.

Share your app…

Post your app’s name and link to the store on twitter with the #makeAnAppDevHappyDay, other devs will download your app and leave a review. you do the same for them (It’s also a great way for you to find new apps). Here is an example:

Check out my latest app, [app name here] thanks! [app link here] #MakeAnAppDevHappyDay

Share another app…

It is also a way to let the developers know that you have rated this app, for example:

I just rated [app name here] five stars, great job guys! You gotta try it out [app link here] #MakeAnAppDevHappyDay

When is it?

This happens every month on the first Friday. Just search the hashtag, or use this direct link and enjoy! I’m turning on comments for this blog post, leave a comment below and let everyone know #MakeAnAppDevHappyDay has worked for you

Get It In The Store

UPDATE:
This event is sold-out! If you were not able to register in time and need help getting your app published, send me an email and I’ll help you directly.

WPDev Day

Me and several other experts will be spending 6 hours with you on Saturday February 1st, 2014 to help you over come any obstacles that is preventing you from publishing an app. If you do not have any apps in the works, then come and build an App Studio app with our help. Click the Eventbrite button above to get your ticket.

Important: This is a very limited seating event and is intended for the Northeast United States, please do not register if you are 6000 miles away or do not intend on showing up, you’ll only be taking a seat away from another dev who needs it.

Here is the preliminary schedule (subject to tweaking):

  • 12 PM DevCenter Submission Walkthrough (30 minutes): See just how easy it is to submit and publish an app worldwide
  • 12:30 PM Build an app in 30 minutes with App Studio (30 minutes): See how to build an app from an idea to publishable in 30 minutes, literally.
  • 1 PM – 1:30 PM Lunch: I’ll be providing food and snacks. This is when you think about what you need help with or when you should think of your app idea for App Studio.
  • 1:30-6 PM Hands-on time: The experts will be available to help during this time. They will be walking around helping and/or attending to requests for help.

By the end of the day I fully expect everyone’s apps will be ready and submitted to DevCenter and on it’s way to the global app marketplace.

What will you need to bring?

  • If you need help on an existing app, bring your laptop dev environment with your app on it.
  • If you want to build an app without any code, bring a laptop that has a modern browser (IE10-11, Chrome). You’ll only need your browser to build and submit the app to the store. If you do not have a Windows Phone, the experts will be able to help you test the app on their phone

Giveaways

Everyone who attends and publishes their app will be entered to win a “hero” Nokia Lumia (1020, 928, 925, 920, etc) of their choice. I’ll be saving some swag/prize surprises for the day of the event. Also, Microsoft will be bringing some prizes of their own! I will update this post with more details as we get closer to Feb 1st.

Note: If you accept a prize from me, you agree to these terms.

Everything Must Go!

UPDATE

The winners have been picked, congratulations to all (I emailed you directly if you were a winner)! If you did not win, keep your app up to date (update at least once every 60 days) and you’ll always be eligible for my giveaways.

___________________________________________

I’m raffling off all my remaining gadgets and swag in two weeks (deadline is Dec 31st)! The only 2 conditions to enter are that you are in my region (see below) and that you published or updated an app in the last 6 months (since June 31st).

If you need to update or publish an app, you have just enough time to get it in. If you don’t have an app yet, I recommend going to Microsoft’s App Studio and building one… you can build a store-ready app in an hour. If you don’t have a Windows Phone DevCenter account I will get you one, this will also give you a Windows 8 developer account.

The Prizes:

To Enter:

Simply email me (ext-lance.mccarthy@nokia.com) the following info by Dec 31st:

  • Name (first/last)
  • Location (city/state only)
  • Dvlup Username (if you don’t have one, go to www.dvlup.com and register. It’s free and takes 30 seconds)
  • The app’s link to the store (the one you’ve published or updated).

That’s it! I’ll draw the winner on Jan 2nd and notify the winners via email.

Conditions

You must live in my region and have published or updated an app since June 31st

My region consists of the following states:

  • Massachusetts
  • New Hampshire
  • Maine
  • Vermont
  • Connecticut
  • Rhode Island
  • Michigan
  • Ohio
  • Indiana
  • Illinois

By entering this contest, you agree to the terms of service.