Sparkle rocks

I’ve downloaded and installed the Microsoft Expression Interactive Designer January CTP (formerly known as Sparkle) and it is looking quite impressive.

Have a read of this blog post on Expression Interactive Designer by Manuel Clement (who works on the team that is responsible for the product).

Oh, and the Expression Graphic Designer January CTP (formerly known as Acrylic) has also been released. Haven’t downloaded this one yet, but I will when I have some more time. I’ve tried a previous version of this though.

Look forward to playing around with Sparkle a bit in the next few days (Thursday is a public holiday. So that’s perfect!).

Chris Tacke: Smart Device Framework 2.0 documentation released

Chris Tacke has posted a link to OpenNetCF’s Smart Device Framework 2.0 documentation.

Chris also mentions in the same blog post that they are “extremely close to a beta release of SDF 2.0”.

Cool, that is very good news for all those developing for Mobile Devices using CF.NET 2.0 in VS 2005.

I’m definately looking forward to it, I’m currently using a few features that come with SDF 1.0 alongside CF.NET 2.0 running on Win Mobile 2003.

Going from the web development world (and a bit of desktop dev) for quite awhile (almost 2 years at the current job) to the Mobile device development world is very very different. (Not everything is different, it just feels different). Or maybe it’s because i’m coupling the move alongside the move to a newer IDE.

It poses fresh challenges for me though, some things I can bring through with me going from targetting web browsers, to little mobile devices include my programming language of choice (C#) and a reduced .NET Framework (and extended where appropriate) amongst other things.


On a side note, what’s with the 40+ degree heat in Melbourne today? It’s just way too hot. And made me feel sorry for the tennis players playing tennis in that heat!

Going Mobile (Well, Windows Mobile anyway)

I’m currently starting to prepare myself to go from doing ASP.NET Web Application development, to jumping into the world of developing for Mobile devices utilising the .NET Compact Framework (v2.0).

From what I know thus far, the company i’m working for is planning to purchase several i-mate Jams (which runs Windows Mobile 2003 SE). They were considering the i-mate PDA2k (CDMA version), but decided those were a bit too big.

Here’s a few links that I bookmarked yesterday:

There’s a lot more out there, and there’s a few others that I’ve bookmarked. But I think you’ll find a lot of links that are useful in the Compact Framework FAQ.

And no, this does not mean i’m moving away from ASP.NET development. I’ll still be doing some work with ASP.NET (seeing as i’m the only developer at my company). So at times i’ll be switching back and forth between the two very different areas.

You’re probably wondering why I didn’t just design a new set of interfaces for the web app that targets the mobile devices.
I did think about that. But in the end, it came down to giving the users access to data when there is no GPRS connection available. That, and the GPRS data rates in Australia. (Still quite pricey). We’ll still be using GPRS though.

I’m planning to use Web Services to perform the data synchronisation between the Windows Mobile device, and the app server.

One other thing that needs to be considered is what to do when the user loses their device?
Well, that’s where the new Exchange Server 2003 Remote Wipe feature comes in handy.

One of my other considerations was what would this mobile app look like. What does a typical Pocket PC UI look like? And how usable is that UI for users who want to be able to flip between using the stylus, or using their finger as the input device?

These devices are touch sensitive, so some of my users may well decide they wanted to use their fingers rather than pulling out the stylus. I had a look at the various apps that came with the emulator (Pocket Outlook, Calendar, etc). As well as the Pocket TaskVision sample application.

A couple of new ASP.NET 2.0 things

For those who may have missed it on Scott Guthrie‘s blog:

New Web Project Model Option Coming for VS 2005.

The goal with this new project-option is to address some of the feedback we’ve heard from people who are finding migrating existing apps to the new web-site project model in VS 2005 more work than they’d like to-do (especially because of the new web site build semantics of compiling a web project into multiple assemblies). The new project-type will also help enable some scenarios that web-site projects don’t handle as well today (for example: around sub-web projects where the sub-project isn’t an app in the ASP.NET/IIS sense, but rather feeds its generated assembly to a parent app’s \bin directory to run). It also provides a model that will feel very familiar/identical for people who don’t want to change how they structure their web projects from VS 2003 today (for example: using a project file, etc).

VS 2003->VS 2005 Web Application Project Upgrade Tutorials Now Live.
Upcoming Releases of Useful ASP.NET 2.0 Things.
First Preview Download of VS 2005 Web Application Project Model Now Available.

There are lots of really good posts on Scott’s blog. I recommend those who are developing ASP.NET 2.0 or are looking to develop ASP.NET 2.0 apps to read Scott’s blog.

MS Build Community

Cool, looks like there’s an MS Build Tasks Community now. is a community web site for MSBuild tasks. The goal of the site is to provide a central directory for information about tasks for MSBuild. Please help this community grow by posting tasks and links to tasks in the Files section of this web site.

via Paul Welter.

Melbourne’s Ready Launch ’05

I almost forgot to write a post for this. Was meaning to write this post on the weekend, but forgot 🙂 (Was browsing through the Ready To Launch DVD set that we were all given.)

Let’s start with last Tuesday, that was the night Victoria .NET UG had their user group meeting and we had two interesting presentations, one on (an Enterprise Workflow tool) and the other on RAD in VS 2005 by Elaine Van Berger, both very interesting in different ways. Wednesday night was the Community Launch, which was interesting. Never been to a product launch before, so that was interesting. And it was great to finally meet Frank Arrigo!

Anyway, I don’t have too much more to add, so i’ll just link to two others who I saw at the “ready launch”: Chan Maneesilasan and Thomas Williams.

Consuming Custom Contact DataSource in Outlook 2003

Was just doing some research into integrating a custom Contact list with an external datasource (eg: From a SQL Database), and came across this excellent post by Stephen Toub titled Outlook Contact Provider.

I thought it was quite interesting, what Stephen has managed to do is making use of the stssync protocol to synchronise the data. Although the stssync protocol (I believe) was designed to work with WSS (there’s a file called WssListResponse.cs that’s worth looking at), this solution does not require Windows Sharepoint Services (WSS) installed on the server. It does however, require you to have Microsoft Outlook 2003 installed on the client.

For a bit mroe detail/introduction to what Stephen is trying to achieve here, have a read of this article on MSDN that he wrote titled Custom Calendar Providers for Outlook 2003.

From the above article:

With Outlook 2003, Microsoft introduced functionality that allows Outlook to talk to a server running Windows SharePoint Services. Outlook is able to link to and consume various lists published on a SharePoint site, such as event and contact lists, a feat made possible through a Web service that lives in Windows SharePoint Services. Outlook can download event information from an events list on a SharePoint site and display it as a calendar within the Outlook application, side-by-side with the user’s default calendar as well as calendars from other Exchange users.

So what if I want to display my own event-based data, rather than that which is stored in a SharePoint list? I see two options that take advantage of this interaction between Outlook and Windows SharePoint Services. Just as Outlook provides an object model for its calendaring capabilities, so does Windows SharePoint Services. The first solution is to write an application that continually updates a SharePoint events list with data from the back-end data source. Outlook could then connect to this list. This requires that I have a server running Windows SharePoint Services and that I have an application running frequently or constantly to update the list, either using the Windows SharePoint Services object model (if the application is running on the Windows SharePoint Services server) or using one of its Web services (if the application is running remotely from the Windows SharePoint Services server).

An easier solution, and one that I believe has many advantages, is to build my own Web application that looks to Outlook similar to Windows SharePoint Services but that actually serves up my custom data instead of that from an events list. This doesn’t require Windows SharePoint Services to be installed, is easily maintainable, provides for great extensibility, and best of all requires nothing to be installed on the client besides Outlook 2003 itself. On the server, all I need is ASP.NET (and thus the “server” can be the same computer as the “client”, even if the computer isn’t running Microsoft Windows Server® 2003, which is required for Windows SharePoint Services) and a little bit of custom code to shim the Lists Web service (available from Lists.asmx) from Windows SharePoint Services.

Hope others may find this useful too.

This works well if you’ve got a database for your own web app that also contains contact information that you want integrated with Outlook.

What actually happens is that a special Sharepoint folder gets added to Outlook which contains your contacts. It’s a bit like an Exchange public folder. The custom contacts folder allows you to do anything to it like any regular Contacts list, and you can refresh it with new data from the web service.

Free Programming Tips

If anyone is after some programming tips, Wil Shipley has posted some free programming tips on his blog.

Some good advice in there for those just starting out/finding their feet in the industry.

And on this topic, Mitch has also got some good ideas in his blog post about Integrating Learning into everything you do, which is a good read.

But for those who can’t do it in the live project they are working on at work, perhaps another idea to do some “learning projects”, like the ones Casey Chesnut has done and posted on his blog.

Sometimes it’s just seeing stuff others have done, and thinking hey, I just saw this new technology and I think I could create something similar (but better) my own way using this new tech. A personal challenge 😛