Silverlight 3 multi-touch development 101 – pt 3 - Rotation

Welcome back for the 3rd part of the multi-touch 101 series. If you haven’t already read the previous parts I suggest that you do so as the code in the current part will build on top of the code from the previous parts. Part 1 is available here and part 2 here.

This part will cover the last type of gesture that the demo application uses – rotation. For me, the rotation is by far the most complicated thing to implement. Not because the code is very complicated, but because the math behind it isn’t that simple. Well…the math is actually not that complicated, but most of the developers I know are not big fans of trigonometry and thus couldn’t really help me out when I had questions. I even called up my dad who used to be a math teacher. But when I explained what I was trying to do, he just shook his head and wondered what I was talking about…But let’s get started.

More...

Silverlight 3 multi-touch development 101 – pt 1 - Pan

As I wrote in my previous blog post, I have wanted to try it out ever since I heard that it was available. But as I also mentioned, there has been a certain lack of access to multi-touch enabled devices. However, this is easily solved by using an iPod touch or iPhone, which is what I started out using. Unfortunately, that solution doesn’t really give you the right “feeling” as you are using it as a touchpad instead of actually “touching” the object.

Luckily, the nice Chris Auld went to PDC and got a multi-touch enabled laptop that he happily lent to me (unfortunately I believe he expects me to give it back at some point). And with this new toy, I got started… (If you are wondering what hardware I am actually using it, it is this. And I highly recommend it…)

More...

Getting started with multi-touch development in Silverlight 3, using Windows 7 and an iPod

I’m finally back with another blog post. I have been really busy and have not had time to blog as much as I wanted to, but I have finally got around to get together a hopefully interesting post. Ever since I heard that Silverlight 3 had multi-touch support, I have wanted to try it out. Unfortunately I’m not wealthy enough to be able to run off and get a new laptop just because the one I have doesn’t support multi-touch. So I have had to wait, until a couple of days ago, when I finally got around to buying an iPod Touch. Using the iPod Touch’s multi-touch support to do Silverlight multi-touch development is actually not that hard, just a bit fiddly.

More...

SilverTweet – Building a Silverlight Twitter client part 5

I’m finally back after a couple of weeks with too much stuff to do. It is definitely time to finish off the blog series about SilverTweet, the Silverlight twitter client that you can build on your own. Hopefully you can then take this thing and extend it with the features you need.

For those of you who haven’t read the previous parts, I would recommend doing so. Otherwise, this part will give you just about nothing valuable. And for those of you who have, and did so before I posted this part, I just want to mention that I found a pretty obvious bug in part 3.

The example code in this post will create a functional, but fugly UI. The downloadable code will contain this UI, as well as an extra UI with better layout, some animations and so on. The reason for the fugly UI here is simplicity. Not that the other UI is REALLY beautiful, but it is at least a lot better…

But let’s just get started straight away and have a look at the UI that we need to start using the application.

More...

SilverTweet – Building a Silverlight Twitter client part 4

And once again I’m back on my computer with Live Writer and Visual Studio open. I thought it was time to give you the 4th part of the SilverTweet series. If you have missed part 1, part 2 and/or part 3, I recommend heading back and looking through them.

If someone would have told me a year ago that I would be so obsessed with my work, that I would be sitting on a plane at 07:20 in the morning writing a blog entry, I would probably have said that they must have me confused with someone else. Software development is just a job, it isn’t my life… Well, I guess I care more about it than I would like to admit…

Anyhow, in this part of the blog series, I’m going to go on and show you the rest of the models/viewmodels used in the SilverTweet application.

More...

SilverTweet – Building a Silverlight Twitter client part 3

Once again I am back to my Twitter client. The next step in my application is to create some view models to bind the view to. This includes adapting the models I get from the Twitter service to the interface that I am going to create, as well as creating some models of my own. The modification of the auto generated ones, is pretty easy to do using the “new” partial class definition, that the objects defined in by the service proxy use.

Anyhow, let’s get started with some coding. But before I get started with the viewmodels, I am going to create a very simple little layer of abstraction. What? Why? Well, I want to de-couple the Twitter service as much as possible. The reasons for this are a couple, but mainly because of the way Twitter works. Since it is on the web, it means that I need to have internet connection to access it. It also has a limit to the amount of requests one can do per hour. This means that if I work without an internet connection or do a lot of testing with loads of requests to the service, it might cause some problems. By de-coupling it, I can switch the implementation to a mocked version, removing the need for internet access as well as the request limits. It also makes it possible for me to create unit tests for my viewmodels if I wanted that. So this layer of abstraction gives me some options. Not that I will use any of them in this example, but I have the option if I ever needed.

More...

SilverTweet – Building a Silverlight Twitter client part 2

Welcome back! Or at least I hope it is welcome BACK. If you are not coming back, that means that you have missed the first part of this blog series. And in that case, I recommend by starting out by reading the first part. If you have already done that…let’s get cracking…

In the first part, I focused on the connection to Twitter. That included implementing OAuth and the Twitter methods I need to get the client to run. In this part, which will be a lot shorter, I’m going to focus on creating a webservice that can expose the Twitter functionality to the Silverlight client.

More...

SilverTweet – Building a Silverlight Twitter client part 1

A while back, I wrote this blog series about how to build a Silverlight client for flickr. This seemed to be pretty popular among a bunch of the people who stumble across my blog. I don’t know if it was specifically because it was using flickr or if it was because it went through the entire application step by step or if it was something else. But since then, I have gone around thinking about other possible applications that I could dissect in the same way, and for some odd reason I stumbled across Twitter. I know…you don’t stumble across Twitter. It is all over the place, and anybody that hasn’t heard of it is probably dead or deaf  and blind. I’m personally not that active on Twitter, even though I try on and off. For anyone interested, I’m available here.

Anyhow, after having looked at it for a while, I decided to create a Silverlight based Twitter application. Even though it’s not as fancy or useful as some of the other alternatives out there, it will show the basics behind how to build a client. And not a client that just allows you to read a feed, but actually interact with it and send tweets. If you are not interested in how to develop a Twitter client and just want a Silverlight based client, I would recommend Gadfly, which is a fantastic client compared to what I’m going to show. But the idea behind this blog series is not to get the coolest application, but have a look at how one could go about building a client.

More...

Bindings, the glue that connects the view to the viewmodel part 2 (and apparently a bunch of data validation information)

Welcome back! Or possible Welcome! Sort of depends on if you saw my previous post… Anyhow, you have probably figured out that it is time to go on with even more binding information. In the previous we looked at the basic binding syntax and functionality. So, what’s left? Well, a bunch of small, medium and large details…

More...

Silverlight 3 RTW is released

Yes, I know. I guess I have to add this mandatory post. I have known about this date for quite some time now and also played around with SL3 for a while now. My first SL3 app was built about 5 months ago and I’m just putting the finishing touches on another one for Microsoft.

It is cool that is out there now and that we can finally start deploying apps on the new platform. Big congratulations to the Silverlight team! Great effort! Hope we get even more nice things in Silverlight 4. Keep up the work!

I will blog more about it as soon as I have time. However, I have more Silverlight 2 things to talk about as well. A few little tips and tricks that we picked up during the last project.