Using Google App Engine as Proxy for Silverlight and Flash Cross-Domain Requests

When using Silverlight or Flash to fetch data from other domains one often runs into cross-domain access restrictions. For security reasons in order to access data from different domains, the remote server explicitly has to allow this by defining a crossdomain.xml (or, for Silverlight, clientaccesspolicy.xml is good as well). If this file cannot be found on the remote domain, the request is not executed.

This can be fustrating when querying against RSS feeds or JSON/XML web APIs that don’t define any of these files. The workaround for this issue is to use some sort of proxying service. In this article I’ll be showing how to use Google App Engine to create a simple proxy that will forward these requests for free – within a reasonable daily load.

Google App Engine Overview

The reason I’ve chose to implement the proxy using Google App Engine is because it has a free daily quota and getting started using it is really simple: all you need is a Google account and to download and install the Google App Engine SDK.

Google App Engine supports developing in both Java and Python. In my example I’ll be using Python. In order to use and deploy the code yourself as well, follow these steps:
Read More…

10 Things Developers Will Love About Silverlight

On the Silverlight Firestarter Scott Guthrie gave a preview of the new features being developed in Silverlight 5. I’ve written an article on the 10 most important new features Silverlight developers should be excited about. These are the following:

  1. Debug Data Binding Expressions by Using Breakpoints in XAML
  2. Animations Made Easy with Transitions
  3. Navigating Up the Visual Tree in Bindings using RelativeSource and Mode=FindAncestor
  4. Binding View Events to the ViewModel Using Custom Markup Extensions
  5. Changing Styles Runtime By Binding in Style Setters
  6. Networking No Longer Happening on the UI Thread
  7. Vector Based Printing
  8. HTML Content and Additional Permissions Within Trusted Silverlight Application
  9. 3D API
  10. Smaller Enhancements: Text Clarity and Performance Improvements

You can read the full article with details on all of these features on my Visiblox blog.

Manipulating Styles At Runtime in Silverlight

I’ve been writing a 4 part series on everything (I think) is worth knowing about styles in Silverlight. The previous parts were Silverlight Styles: an Introduction, Silverlight Styles: Advanced Topics and Silverlight Styles: Further Advanced Topics

The final part of the series is ready and it covers the following topics:

  • Modifying Styles Runtime: the IsSealed Property – modifying the Setters of a Style can only be done if the IsSealed property is set to false and this property is set to true as soon as the style gets applied to an element in the visual tree.
  • Cloning Styles – because sealed Styles can’t be modified, one needs to clone them to be able to manipulate them. I’m providing example code on how cloning of a Style can be done.
  • Merging styles runtime – I’m showing two ways of merging existing styles programatically, both using the BasedOn property of Style as well as just copying Style setters.

You can read the detailed article and download source code for examples on my Visiblox blog – I hope you’ll find it useful.

An Amazing Windows Phone 7 Application: Cocktail Flow

I’m proud to announce that the release version of Cocktail Flow, an application I’ve been working together with Distinction has been sent to approval and is planned to appear in the Windows Phone 7 marketplace in a few days. Before I go into any other details, watch the 45 seconds teaser video (recommended to do on fullscreen):

User Interface

The user interface has been designed to fit perfectly with the Metro interface of Windows Phone 7, while making the most out of it. It’s both visually stunning, clean, light and intuitive to explore. Some further screenshots:

Read More…

Slides, Code and Additional Resources for the Talk Developing for Windows Phone 7

Last night I’ve talked about developing for Windows Phone 7 in Edinburgh on a Scot Alt.Net meeting. Thanks for everyone who showed up, as well as Mike Ormond for coming up from London and showing off some developer devices.

As promised, here’s a list of resources that I think serve as great starting point on cracking on with WP7 development:

Also, here is the slideshow I’ve presented at the event:

Good luck on getting started!

Getting Started With WP7 Development: Learning the WP7 Ecosystem

In my previous post I’ve listed resources to help getting started with Silverlight for WP7 developers.

This article aims to collect the most important resources developers should go through in order to learn the WP7 ecosystem and build decent Windows Phone 7 applications using Silverlight.

Tools To Get Started Developing

  • Download the free developer tools (installs Visual Studio Expression or project templates, Expression Blend for WP7 or project templates for Expression Blend 4) (you can get them from the Windows Phone 7 developer site developer home page as well). You’ll need this to get started with development.
  • Download the Windows Phone 7 Silverlight training kit – it features some very useful examples with explained source code. I suggest going through it, or at least the parts you feel are relevant to what you want to develop.
  • Download theĀ Silverlight for Windows Phone Toolkit. This component contains some essential classes for development such as GestureService (simplifying detection of gestures), DatePicker, TimePicker, WrapPanel and ToggleSwitch.

Get a Feel for Metro, the WP7 UI

To develop good WP7 applications it’s important to get the feel of the WP7 user interface, Metro. I suggest going through the following resources to get familiar with it:
Read More…

Getting Started with WP7 Development: Learning Siverlight

This post aims to present a structured collection of resources for developers wanting to get started developing for Windows Phone 7 in Silverlight, but don’t have any Silverlight or WPF experience. I’m also aiming this post at peopleĀ  who’ve started developing for WP7 without too much WPF/Silverlight experience and would like to learn more about the framework to move on.

Why Silverlight?

Developing for Windows Phone 7 can be done using two frameworks: Silverlight and XNA. XNA is a framework targeting game development. Those who are looking to develop either games or graphically intensive applications are advised to use that framework.

Silverlight, on the other hand started off as a web application framework, a “web” light version of Windows Presentation Framework (WPF), the successor of Windows Forms. Microsoft decided to support Silverlight as the other application development framework on Windows Phone 7 next to XNA, specifically version 3.0 with some extra libraries. It’s safe to say that if one’s goal isn’t game development, the obvious (and easier) choice is to develop applications in Silverlight for WP7.

What is Silverlight?

Silverlight is a similar framework to Adobe Flash, allowing the developer to create applications that manipulate media, are interactive all built on the .NET platform. .NET developers will be familiar with lots of the libraries used, however Silverlight introduces several new concepts and libraries. With Out Of Browser support and Windows Phone 7 development announced, Silverlight is no longer just a web framework, but more an application development platform.

Some useful resources on understanding what Silverlight is:

Developer tools

Silverlight development can be done with Visual Studio 2008 and upwards, I’d recommend using Visual Studio 2010 – a free, express version is available for use. Expression Blend is an additional tool that makes creating the UI much easier.

If you’re planning on doing WP7 development, download the developer tools for WP7 which will either install the expression version of Visual Studio 2010 and a phone version of Expression Blend or if VS and Expression Blend are already installed, it will just add the new supported project types and the emulator.

Understanding how Silverlight Works

There are some key areas anyone from an OO background needs to understand to be able to develop with Silverlight.
Read More…

WP7 Cocktail Application Sneak Preview: Cocktail Flow

In the past weeks I’ve been working on some Windows Phone 7 applications to have them ready for near launch. One of them is Cocktail Flow. I’m developing this application in collaboration with Distinction. These guys are the same group of people who I’ve won worldwide 3rd place and special prize on the Microsoft Imagine Cup a few years ago.

We’re working hard to create an intuitive, useful and visually stunning application for anyone who enjoys cocktails. Here are some teaser screenshots of UI of the application:


Read More…

Why You Should Get Started With WP7 Development

Two weeks ago at TechMeetup I’ve talked about why I think Windows Phone 7 is a great opportunity for developers in five minutes. The people at TechMeetup – as always – filmed it and it’s available for viewing:

TM Talks-Gergely Orosz talks about Windows Phone 7 from TechMeetup on Vimeo.

My key points on why I think it’s worth to crack on with Windows Phone 7 can be summed up in these:

  • I think Windows Phone 7 has got everything to gain a decent marketshare in the near future: it’s UI is sexy, gamers will like it and Microsoft is committed to market it any way it can
  • The development experience is as easy as it gets. The barrier of entry for mobile development hasn’t been this low: all you need is download the great tools and have some understanding of OO programming
  • Because it’s so easy to get started developing, I think we’ll se a similar trends in application numbers as we’ve seen for iPhone and Android. If you’d like to gain attention, your chances are much better if you get your application out before the market is too crowded.
  • Based on this I’d suggest you crack on developing (I would also suggest stopping by for the (free) Windows Phone 7 talk late September in Edinburgh, but unfortunately all places have gone in two days!)

Problems when re-assigning a PathGeometry in Silverlight

I wasn’t planning in submitting (yet) another workaround for a Silverlight bug, but I stumbled across (yet) another annoying issue that causes no problems in WPF, but results in a exception being thrown in Silverlight. It definitely seems like another Silverlight bug still present in Silverlight 4.

The problem

I was building Paths by re-using a pre-built collection of PathGeometries. However when re-assigning a PathGeometry to another Path like this:

Path path1;
Path path2; // These paths are in the visual tree
// Create a PathGeometry with some points
var points = new PointCollection();
points.Add(new Point(100, 0));
points.Add(new Point(100, 100));
points.Add(new Point(0, 100));
 
var pathFigure = new PathFigure();
pathFigure.StartPoint = new Point(0, 0);
pathFigure.Segments.Add(new PolyLineSegment() { Points = points });
 
var pathGeometry = new PathGeometry();
pathGeometry.Figures.Add(pathFigure);
 
// Assign this PathGeometry to both Paths
path1.Data = pathGeometry;
// No you don't you get an ArgumentException
path2.Data = pathGeometry;

When trying to re-assign this PathGeometry, an ArgumentException was thrown with the message Value does not fall within the expected range. After googling around it turned out others have come across this issue back in mid 2008. This issue is only present in Silverlight, not WPF, which definititely suggests it is a bug.

However, having received a completely meaningless exception, I decided to dig deeper to at least try to understand what went wrong and find a workaround.
Read More…

1 2 3 4 7  Scroll to top