 Nick Hodge, you'll be talking about an open source project using working on the new Windows 7 phone called Matwits. Thanks, James. So thanks for coming. My name is Nick Hodge. So firstly, I'd like to say, keep calm and carry on. I'm wearing the T-shirt as well. Why am I saying this? I've got no idea. So, Microsoft at a FOS conference, you know, what the fuck's going on? Oops, so this is being recorded. Whatever. If anyone's offended by that, sbarma at microsoft.com. So is it sort of like cats and dogs working together? You know, it sort of is, because let me just say, you know, back to the keep calm and carry on, is I'm not here to say, you know, the Windows Phone 7 is the wonderful most open source based platform thingamadoodad. I'm here to more talk about is if one of your customers or clients comes along and says, hey, we want to do some stuff on a phone, we're doing it on an iPhone, we're doing it on Android, we're doing it on all these other platforms, and Windows Phone 7 ends in the list, you've got a couple of choices. You've got a choice to say, no, I'm not going to do it, and then someone else will go do it and earn some money off of it. Or you can say, yeah, I think I can go do that for you. The idea here is just give you an idea of what that world looks like from an open source perspective so that you can sort of say whether you are or aren't going to do that project. And that's essentially the reason for being here. No other reason to, you know, try and promote or sell or anything as far as that's concerned. So the first thing is that I just want to also frame this correctly is from a marketplace perspective, is that you can publish into the Windows Phone 7 marketplace. So on the phone, you know, when you're in there, there's one of the tiles is marketplace, look on that and, you know, publish your app in that you can publish free as in beer apps so apps that are $0 value so people can buy them without actually transacting any money. You can also publish GPLv2 apps, which I found quite surprising. And again, you can charge $0 for them or you can charge a dollar value for them. That choice is the publishers. The upper limit is US $499.99. If you wish to do that, I'm not saying you should publish GPLv2 apps, but that's the price range, you know, from $0.99 to that for any app. And of course, permissive style licenses, Apache license, Microsoft, MSPL, BSD sort of licenses are allowed as well. The reason why I actually came to this point was a few, about a week or two ago because I published my blog on Linux on WordPress on DreamHose somewhere in the US. And therefore, I thought, hey, it'd be cool to get an admin app and I know that those exist for iPhone and for, probably for Android, but I haven't looked. And they published in the marketplace their app. So, you know, $0, yep, easy install, buy it, put it on my phone. And then one of the first dialogue boxes that comes up is saying, you've got to agree to the GPLv2 license agreement. So, after calling Microsoft's lawyers and having a three-hour... No, it didn't have to do that. I said, yep, okay with this. And then I did some internal email saying what's going on here and v2 is allowed, which I found quite surprising, which is pretty cool. So, again, if you're working on a project and you're going to publish under that license, you'll be aware that you can do that with the Windows phone store. So, why am I here? Why am I talking about this? The main reason is that I work on a couple of open source projects on the Windows platform, not so much on Linux. Although I've used Linux for 25-plus-odd years, but, you know, I work on two projects. So, Martweets is a desktop application licensed under the Microsoft permissive license and also Martweets for Windows Phone 7. It's essentially a social media client. It does Facebook, Foursquare, Twitter check-ins. It does all the picture stuff. It does other cool things. And it's sort of, you know, about four or five blokes who don't live in the same shed, but we live in our sheds across Australia and we just like cutting code, sort of, part-time and publish it open source and people can download it and play with it and tweak it and fork it and do whatever they like, really. So, the particular parts that I've added to Martweets on the desktop stuff is the scripting component, which added Python and Ruby as a scripting environment into the desktop app and implemented the haversine formula, which is a way of calculating the distance between two points on a curve, which is used for geo-location measuring the distance. So, you can say, if I'm at this geo-point and someone else is at that geo-point, what is the physical distance between us? So, I implemented that in both the desktop and the phone version. So, if you are tasked with a project, you're going to be a little bit of a stranger in a strange land in that, you know, the Microsoft open-source system, is there such a thing? Yes, there is. There's a lot of many of our core... many of our... I shouldn't say our, but many devs who make their money in the... certainly not even in the higher end of the Microsoft open-source world spend a lot of their after-hours time enjoying hacking on code and publishing it open-source. And three out of the four... no, three out of the core team actually, you know, get paid money to do coding on Microsoft platforms during the day and then they, you know, come home at night or wherever at night and hack on open-source code and publish it as well. They just love code, so it's just no different to the... the FOS world in any way, shape or form. It's just getting connected to that world is probably a little different. I'm just going to big shout-out thanks to Minescape, the New Zealand company, Resharper, both of those are dev tools sort of things for in the Microsoft world. But Atlassian, who are really cool supporters of open-source, we use FishEye and JIRA in our... as FishEye to give you a visual... a view of projects in JIRA as our case management system, which is pretty cool. So thanks to Atlassian for supporting the open-source world as well and we use it. Okay, so two examples. WordPress for Windows Phone 7, it's GPLv2 and another little cool thing that popped up recently which sort of tied into what Steve was talking about earlier is a thing that allows you to run Ruby on your Windows Phone 7, so you can actually run Ruby and play it on your... you know, and write code on your Windows Phone 7. I don't know why you do that. Maybe, you know, the Ruby Scientologists will use it and find it fun, I don't know, but you can. Okay, so also from a phone perspective we're not talking about Windows Phone 6.5 and earlier, which looks like this. No, not quite, but I think you get the idea. It's actually a steampunk thing that was on Epic when earlier today is the user experience on Windows Phone is a little different and I suppose the reason for that is to differentiate ourselves, Microsoft differentiate itself. And really, when you're coming from a dev perspective and I'll talk about the web stuff a little later, you've really got two sort of choices to make. If you're building apps that are static image, maybe a bit of animation, text, maps and those sorts of things. Traditional UI sort of stuff. We have Silverlight built into the phone so you build stuff in .NET and run it in Silverlight. The other thing from a gaming perspective is one of the things that we have in the Microsoft sort of ecosystem is X and A which allows you to build sort of a couple of layers above DirectX, allows you to build 3D based apps that run on Xbox and desktop but also on the phone and that is if you're doing gaming stuff is probably where you're going to go. So for instance Fruit Ninja which is Brisbane built and published as part of the Microsoft Studios is an X and A based game. More than likely, however, if you're tasked to do or you're thinking of doing a Windows Phone 7 app, you're probably going to be looking down the Silverlight path and I'll give you a look at the tool changes at the moment. The developer tools are free as in beer that is you can go and download them and store them from developer.windowsphone.com that will give you both the compiler and the UI builder. You do not need to pay money for that because all the packaging stuff and those sorts of things so that is zero cost. A couple little points. Obviously you need to bring your own Windows this works on Windows so for those of you who are on macOS or some variant of Linux you're going to need to run Windows. The little bit of a point as well is that the current in reading some of the forums the current builds don't really like working in virtual machines should be okay for your boot camp or your Macs to boot into it but your virtual box style environment is probably going to have a little bit of an issue just at the moment. I don't know why it's just some of the stuff that I've been seeing reported up so just a little bit of a heads up if you are doing this from your hardware perspective. So it's all the stuff there to do UI stuff and connect it to the network and all those sorts of things. In fact on that note I decided to hack on some code and James showed earlier the planning alerts which is a standard RSS service that you can go and you put in a postcode and you get back a geo tagged RSS geo tagged feed of things in that postcode that have got planning alerts and you can also do it by lap longs and a few other things as well. So I quickly hacked up a little app in Visual Studio. I'm using the full version of Visual Studio here because I don't have to pay for it but if you're getting the free version you can just go get it. The UI builder stuff is XML so Silverlight just done forgetting all the crap on top of it is just basically XML to describe the UI and the language underneath is either C sharp or now VV if you want to do that you can actually permit that as well. Instead of doing this on the device let's do this in the emulator. The emulator comes in built like most of the emulators you get for when you're doing this sort of dev work it's you can do things like just come in here into your developer environment and pause and I'm probably in some binary there that I've incorporated into that. So somewhere near my home to search for planning alerts somewhere near there scrolling what's going on in Elm Macpherson street sadly no Elm Macpherson so we have max control on that sort of thing which I've just incorporated into that so I've hacked that together probably it took me about an hour or so to actually get to that particular point. Elm itself is again published on CodePlex you can access it via Mercurial if you wanted to have a look at the source code again it's licensed under the Microsoft permissive license so you can do all sorts of wonderful stuff with it one of the things that I'll also point out from our ecosystem perspective I've already talked about the tool chain I hate PowerPoint I generally like to show you more code but to register for the marketplace is US $99 a year if you're a student and assigned up to the Microsoft DreamSpark program that is $0 you also get the dev tools for free as well you get five free submissions of free apps and then $20 per submission after that because they are reviewed but if you provide an update to a pre-existing app that does not have to be reviewed and that just goes through the update system and you get updates on the phone if you're doing a revenue share perspective just like the Apple store it's a 70% dev share there's a whole barrel load of open source libraries that you have access to as well in the case of Martweets you use Fiber for doing async support there's a lot of async stuff you expect to do on the web we use ViewModelLight from separating the UI from the base code stuff for doing REST style stuff AutoFact for dependency injection and inversion of control sort of stuff and in the case of Fiber MVVMLight no, Fiber MVVMLight yes and AutoFact they're actually done by Australian devs and in either CodePlex or in the case of AutoFact with Nick from Brisbane here in Google Code as a source we also use a Microsoft library Silverlight Toolkit which is actually licensed MSPL a lot of the stuff that Microsoft ships that you can use that again isn't sold is generally actually easy to find open source and CodePlex and it's quite easy to get into so, Mercurial go get it you can go and try it we are not in the store at the moment mainly because it's been Christmas and we don't really give us stuff about doing too much coding or at least because we all get to run our own phones we can just download it for our phones and run it and we're not making any money out of it so we're just having a bit of fun hopefully it gives you a bit of an update gives you a bit of a heads up if you're asked to do that sort of stuff so you can give a go no go thanks so can you install the phone if you dev unlock your phone yes you can so they get bundled up as a .XAP file if you dev unlock the phone that is your registered developer you can actually push stuff down to it however one of the other things that is happening at the moment is there's a project called Chevron which is doing allowing hobbyists and hackers and tinkerers to do cool things with their phone but we can't talk the guys who have worked on that to do what's technically called side loading having there's sort of I'll talk about offline a bit of shenanigans but generally we do wish to do it evidently do more of that yeah so I didn't really I'm not I love mono, love moonlight so in terms of on the phone there's really no need because silverlight is the parent of moonlight and dotnet's on there in the case of the android platform and the iphone stuff, the mono touch and that sort of stuff I really haven't used I'm not really expert in that sort of stuff but it's really cool it's perfectly valid if you want a thumbs up I'll give you a thumbs up and if you want a more official and Microsoft thumbs up you can go to the website and have a look at our community promise and that stuff but I didn't want to come here and preach and get into religious wars because I just hack on code ok thank you