Charteris Community Server

Welcome to the Charteris Community
Welcome to Charteris Community Server Sign in | Join | Help
in Search

Roger Whitehead's blog.

Thoughts and activities on implementing Microsoft web and Windows Mobile technologies. Life is Mobile. Think Mobile.

November 2006 - Posts

  • Windows Mobile 5 Alarms - Why Didn't The Bells in Barcelona Ring?

    I took my brilliant and trusty Orange M5000 (aka Htc Universal) Windows Mobile 5 device with me to Barcelona for TechEd Developers 2006. For the first time in a very long time I left my fantastic but ageing IPAQ 5550 at home.  I just didn't need the excess baggage of two devices with all the attendant chargers etc. Shortly before I left, I also purchased the latest  WorldMate Standard Edition version 6.0 travel software by MobiMate  and installed it on my M5000. WorldMate has justifiably won many awards and had been invaluable on my IPAQ 5550 Windows Mobile 2003. My plan was to use the alarm functions and travel features in WorldMate and Windows Mobile 5.0, to set reminders for sessions, wake-up alarms and general travel usage. At least that is what I intended... 

    For several days, I noticed that none of the alarms I set actually went off! I also got no visual notifications appearing. At first I just thought I had slept through or been out of hearing range. Then I noticed that whenever I performed a soft reset on the device (due to the increasingly frequent device hangs)  all the notifications would suddenly appear and the alarms would sound. This happened  as the device was booting but before the Today screen appeared. As soon as the device booted to the Today screen, any alarms I then set never sounded. Very strange. I'd never had this issue in the UK before heading to Barcelona,  so I assumed it was something strange in Windows Mobile 5.0 to do with the new timezone  (GMT +1) I had set.

    In normal use, the device was also getting slower and slower and almost hanging the longer it ran between soft resets. The processor in the M5000 is no slouch and it had never suffered before, so I decided to see what was running on my device. My suspicions were low memory or hanging processes. The memory issue was easy to examine via the standard system settings on the device and everything seemed fine (Settings / System / Memory) - a little low as I tend to run a lot of stuff on my device at the same time, but still fine for normal use.  

    But how could I find which processes were running on the device?  Easy - I connected the device to my laptop and started up the Windows CE Remote Process Viewer utility. This is available with Microsoft Visual Studio 2005 and requires Microsoft Active Sync to be installed. It is located under the Microsoft Visual Studio 2005 / Visual Studio Remote Tools / Remote Process Viewer menu options. For those unfamiliar with it, Remote Process Viewer gives you the ability to monitor all the running processes, thread and loaded DLLS  etc on a given CE device that you are "connected" to.  If required, it will also let you terminate remote processes. One of the great things about this tool, is that it works with device emulators as well as real devices, so you can actually see your developed application executing on multiple threads etc. Well worth investigating for debugging enterprise device applications.

    I couldn't see too much wrong with what was running on my device though. I did notice however, that things seemed to slow right down when MobiMate World Standard Edition processes were running or had high numbers of threads running. It was also a fact that the alarms never sounded when MobiMate was running. Could it be that WorldMate was suppressing its own alarms and those of Windows Mobile 5.0? Only one way to find out - so I removed WorldMate! In fact in the end I had to run Add/Remove the program on both the device and through Active Sync to get it to fully uninstall, but eventually I succeeded.  Lo and behold my device suddenly speeded up and every alarm I set, sounded exactly on time and notifications appeared. Bizarre.

    I still haven't fathomed what was causing this issue. As far as I know WorldMate is Windows Mobile 5.0 compliant and the latest version has had good reviews.  Maybe I was unlucky but something was definitely shutting down alarm and notification type activity. It might be a lack of resources, memory or both but it was definitely connected to WorldMate in some way. Its a shame because WorldMate is such a great program and I miss not having it on my device. I have kept WorldMate off my device for now and have contacted WorldMate technical support to see what can be done.

    Watch this space - I'll update with any answers I get.

  • TechEdDevelopers 2006 - Day 4 - All Good Things Come To an End

    I'm on my way back from TechEdDevelopers 2006  as my travel plans meant I had to leave early. I only caught one session this morning on SmartClients and the Composite UI Block.

    There were so many good topics and speakers that I experienced this week, so its difficult to pick out any one particular technology trend or specific highlight. There isn't any one particular topic that dominated the event but a lot of the pieces of .Net 3.0 were strongly represented (such as LINQ, C# 3.0, Windows Presentation Foundation, Windows Workflow Foundation, AJAX) in many sessions. A lot of these software elements are still at the CTP level but they are solid enough. There is more than enough in most of the CTPs to keep people busy for a good while yet....

    So all in all a great event for getting a grasp of what technologies are coming up and a way to get some perspective on .Net 3.0. TechEd can't and shouldn't make you think you're an expert overnight but at least you'll know what's possible.

    As ever the conference organisation was slick and unobtrusive given the over 4000 delegates attending. The new CCIB conference venue  was better than last time and Barcelona itself is a great location (not that I got to see too much of it whilst I was here).  Even the sun stayed shining....

    I'll be following up on lots of things in my blogs in the near future as I work my way through the "investigate" list.

    Posted Nov 10 2006, 10:34 PM by rogerw with no comments
    Filed under: ,
  • TechEdDevelopers 2006 - Day 3 Asynchronicity, Farewell to MMC and 500 Server Error, Robots and a Return To Web Projects.

    Another varied and interesting conference day here in Barcelona has now finished and it was a day for doing different and new things. On the schedule today were the following:

     

    • Asynchronous ASP.Net - this was a thought provoking presentation by Jeff Prosise on how Asynchronous ASP.Net techniques can have a massive effect on web site scalability and performance in specific circumstances. Some of these techniques have been around since ASP.Net 1.1 but others such as asynchronous pages are new for ASP.Net 2.0. Other approaches include asynchronous HTTP modules and custom HTTP handlers. Asynchronous programming is certainly more difficult, but the benefits were made very clear. Just be careful  with regard to thread management. As an intellectual exercise,  I certainly intend to look at some of my previous code to see if making it async would give any benefit. I urge you to do the same.

     

    • Hands-On Mobile Lab - - Having spent two days just sat and listening,  I was getting coding withdrawal symptoms,  so took time do a Hands On lab and  build a Windows Mobile App With SQL Mobile ("Compact", Everywhere or whatever it is now known as) 2005. It was the first time I'd truly played with the new data synchronization features so was very useful and well structured.

     

    • Internet Information Services 7.0 - This was a really interesting talk by Thomas Deml - Lead Program Manager at Microsoft. He explained many of the new and interesting things coming for IIS 7.0. This has just been released inside Windows Vista will be in Longhorn Server sometime next year and will be made available for Windows XP. IIS 7.0 has effectively been rewritten and made more granular . It is now much more modular and so only the pieces actually needed for a given server role are installed. This makes it both easier to manage and exposes a smaller attack surface. IIS 7.0 now uses many elements of the ASP.Net pipeline and functionality can now be extended using managed code via HTTP modules. It also includes a brand new dynamic management UI - so bye bye to the MMC interface. IIS 7.0 also allows the viewing of web requests in real-time and provides some fantastic debugging and error handling tools that give much more detail than ever before. No longer will you just get the dreaded ASP.Net Server Error 500 message and that's it. Now you can actually see the specific error and even track the requests that are causing it. It'll make debugging and deploying web apps so much less painful. Well worth adding to my "investigate" list.

     

    • Microsoft Robotics Studio - "and now for something completely different" as someone once said. As a bit of light relief,  I decided to attend this session on the recently announced Microsoft Robotics Studio. This session was so well attended that they had to create a spill-over session and stream a video feed to it! The Robotics Studio introduces a whole new approach to programming which I'd not really come across before and introduced me to the Microsoft Visual Programming Language. This allows the diagrammatic construction and  linkage of programmatic elements of the robot behaviour. It is strikingly similar to the visual tools in Windows Workflow Foundation but apparently really is different. Robotics Studio provides a way of using managed code to provide a unified way of talking to and control a variety of Robotics hardware in an easy manner. Code modules are exposed in a web service like manner and can expose their state through requests made from Internet Explorer. Modules are written in .Net languages such as C# etc. A runtime known as the CCR is provided to co-ordinate and execute the requests. A full simulator tool is also provided so the robot can be tried out virtually - so you don't even need a robot to get started! There is even talk of a Windows CE version - now that would be cool. Truly a different and interesting session. Now if only I could find a way to justify that Lego NXT set for my kids....

     

    • Converting Web  Sites to Web Application Projects - A great whiteboard session from Fritz Onion on the recently announced (a CTP was available in May this year) Web Application Projects add-on feature in ASP.Net 2.0 .  This was released as a result of feedback on the web site and compilation approach adopted by Microsoft for ASP.Net 2.0. This caused many developers big migration issues from Visual Studio 2003. Essentially the Web Application Project provides a project file based approach as per Visual Studio 2003, but with all the benefits of Visual Studio 2005 (partial classes, hidden control wire up) etc. This project file approach now also compiles to a static named assembly in the bin folder as before.  Fritz went through all of the compilation models and approaches and how an existing 2003 project can be converted to a web application (WAP) project. The ASP.Net team have also written lots of conversion support in Visual Studio 2005 for many aspects of the conversion process to WAP. It converts all the code classes to partial classes etc but the key issue is that it is always under the control of the developer. You can even convert .aspx files on a file by file basis. This means it allows an incremental approach to migrating code from 2003 projects to Visual Studio 2005. You can even move code and elements from ASP.Net 2.0 "web sites" to the new web application projects. Having seen it all laid out,  I can't see a reason why many enterprise solutions should consider anything other than web application projects for their ASP.Net sites.  The Web Application Project is already an officially supported approach by Microsoft and will be in Visual Studio 2005 SP 1 and the forthcoming "Orcas" version.  If you want to find out more look at the ASP.Net team blogs or Scott Guthrie's blog. I'll certainly be blogging more on this later.

     

    So that's it for Day Three. Another set of interesting things to look at and absorb. One more day left but due to flight timings sadly I have to leave before the end. More on Day 4  later.

  • TechEd Developers 2006 - Barcelona Day 2 - MSDN Wiki, Internationalisation, Abundant AJAX, "Hidden" ASP.Net, Custom Providers and C# 3.0

    Well Day 2 has finished and yet more areas for me to investigate further are  emerging. I seem to have an increasing number of things on my "to investigate" list as a result of the days sessions.  I discovered some great technologies that I personally wasn't aware of.. The level of information around new  .Net technologies seems to be growing and deepening all the time.

    Another interesting and welcome trend reinforced today by Shawn Burkes talk was the sheer volume of CTP (Community Technology Preview)  and open-source community activity, that Microsoft is promoting around its technologies and the way it is encouraging interaction in the wider technical community through its Agility Group.

    MSDN Wiki

    On the subject of community, another thing I learned more about this week is the MSDN Wiki. This is currently in Beta but is aimed at encouraging user interaction around the MSDN knowledge source. All the full content of MSDN is there but the idea is that developers can submit their own information for inclusion and provide samples to extend and widen the information. The idea is to use the same guiding principles as seen in Wikipedia. You can see it for yourself at http://msdnwiki.microsoft.com/en-us/mtpswiki/default.aspx

    Session Overviews

    There have been some great talks today and the technical and quality of presentation has again been high. The  session topic areas I attended today included:

    • Internationalization

    "10 things To Know about Internationalizing an application" talk - this was given by Guy Smith Ferrier . Although I have done some internationalization before on a number of enterprise-scale  projects,  this session taught me a few new approaches and things I hadn't thought about before. By the way,  is it only me that sees the irony in the way that Internationalization is always spelt the US way?

    • "Abundant" AJAX

    Shawn Burke's talk entitled "ASP.Net AJAX Control Toolkit Unleashed"  was a great, highly technical presentation on the ways in which AJAX can be used to produce some great controls, visual effects and web interactions. Shawn gave some real insight into the approaches to developing different types of AJAX controls and the community work by the Agility team that is already out there. Of particular note is the AJAX Control Toolkit. This is available at the http://www.codeplex.com/AtlasControlToolkit site. It has over 30 controls covering a variety of application areas and demonstrates the use of AJAX extenders, controls and behaviours. It looks really useful and interesting however. Therefore its another item for my "Must Investigate soon" list. 

    •  Hidden ASP.Net 2.0 Features and CSS Adaptors

    Another really useful talk by was by Fritz Onion on some of the overlooked features in ASP.Net 2.0. There was a lot of good stuff in here. Of particular interest was the discussion around the CSS Adaptor toolkit. This is based on the adaptor frameworks originally developed for Mobile Controls usage. The idea was to provide a mechanism so that controls could adaptively render the correct markup for a given mobile device (e.g. WML for WAP devices). This mechanism has been taken and adapted to allow ASP.Net controls to render standards compliant HTML and CSS to each of the relevant browsers.

    In my view this is a major step forward and answers a lot of issues regarding the CSS and HTML  compliance of the standard ASP.Net 2.0 controls. The adaptor toolkit essentially allows replacement of some of the HTML/CSS generated by current ASP.Net controls "adapting" their output. This is achieved through the overriding of the render event and effectively handing render control developer within a specialised framework. Each browser is then configured via its respective browser information file in the App_Browsers folder. You can find more details about this and get the code and source at the CSS Adaptors Web Site site. More detail is also on Scott Guthries blog. If you want to rid your ASP.Net site of controls which emit tables, this is the place to come. Definitely another one for my "Must investigate soon" list....

    • ASP.Net 2.0 Custom Providers

    Another great session given by Jeff Prosie. Providers are one of those areas where I have dabbled with (mainly in relation to roles and membership) but never fully appreciated or exploited all its capabilities. Jeff has some great samples and white papers on MSDN that you should really take a look at.

    • C# 3.0 and beyond

    The day wouldn't be complete without another impressive session from Anders Hejlsberg.  There is evidently serious momentum being built around C# 3.0 and LINQ  here at TechEd and Anders talk this afternoon was a repeat of the one this morning and yet was still full.  His session reinforced some of the sophisticated new features and programmatic constructions that will be coming in C# 3.0. Some these underly LINQ and include method extensions, expressions, anonymous types, local variables and type inference. All this means that the C# language is getting both more powerful and concise (terse) at the same time. Once again all this is available to play with via CTPs

    That's it for now - a lot to digest.

    I promise to find out about whats in VS 2005 SP1 and blog on this tomorrow......

  • TechEd Developers 2006 Day 1 - New Web Development Features in Orcas

    As many of you know "Orcas" is the codename for the next full release of Microsoft Visual Studio after Visual Studio 2005 SP1. Today at TechEdDevelopers 2006 here in Barcelona,  I attended an interesting breakout session on the new enhancements for web developers that will be in this release.

    The following is by no means comprehensive or authoritative, but it promises to answer some of the issue I have had with comprehensive web development using Visual Studio 2005. The promised web development aspects are as follows: 

    • Much improved support for CSS in the designer - this certainly looked good in the demo as CSS positioning and cascading was accurately represented. It was also good to see the ability to view in the designer the actual computed CSS style that was affecting each HTML element.
    • Built-In design-time and intellisense support for AJAX and support for extenders. This should avoid a lot of the declarative page "hacking" that is currently required.
    • Web Application Projects supported as standard. Web Application projects are a  Visual Studio 2003 style alternative to web sites in Visual Studio 2005 and provide project file support which is often required to build and deploy enterprise applications.  This release will include and extend the earlier CTP release.
    • Much improved support for JavaScript and JScript development. This should include features such as intellisense, improved debugging and XML documentation support. The ability to bookmark JavaScript code and easily see the HTM markup being emitted is going to be particularly worthwhile. I've waited a long time for some of these things. Had they been there before in previous Visual Studio releases, I can think of many previous web development projects that would have been much easier. 
    • Built-in UI Support for using LINQ with ASP.Net. The demonstration included a look at a tool called BLINQ which is currently available as a CTP release at http://www.asp.net/sandbox/app_blinq.aspx?tabid=62.    This command line tool allows developers to generate a fully functioning web site from any specified SQL database complete with Master Detail pages,sorting pages etc. It is based around the LINQ technologies and is another thing to add to my growing list  list of things to investigate!
    • ASP.Net Support for the new handlers and modules in Internet Information Server 7.0

    Many of these elements are already around in varying forms as CTP so you can play with these now if you want to get an early glimpse. As time allows, I'm certainly going to start playing with many of these more in the coming weeks and months.

    If it all comes together there should be some really good stuff in Orcas for web developers. No confirmation of exact feature sets or release dates however....

  • TechEdDevelopers 2006 Barcelona - Day 1 - LINQ and Other Highlights

    TechEdDevelopers 2006 has started and it is claimed to be the most well attended EMEA TechEd ever.  

    Day One is over and I attended a variety of sessions over the day. Those that know me,  will confirm that Data Access/SQL  is not one of my specialist skills or areas of interest, but even I was impressed by Microsoft Technical Fellow (and software legend) Anders Hejlsberg's keynote section on LINQ technology. This was my  first exposure to many areas of the technology and In just a few minutes he showed the power, flexibility and efficiency of this technology and its potential to revolutionise the way we think about data access and data handling technologies in future. 

    My interest was heightened, so I attended his later breakout session which was simply outstanding. As well as demonstrating just how clever and useful LINQ really is, it showed just how good it is at abstracting the specific data source from the application logic. To quote Anders..

     Data != Objects.

    In explaining LINQ also demonstrated some of the great new features of .Net Framework 3.0 such as anonymous objects, method extensions, Lamda expressions and many more...

    Other areas of interest to me today were as follows:

    • Aspects of the KeyNote - which announced the release of Microsoft Office 2007 to RTM at 6AM Pacific on Monday and showed a visually impressive Windows Presentation Foundation application for a fictitious fashion company (Fabrikam).
    • A session on practical usage of AJAX to develop rich web applications.
    • Maximising Windows Mobile 5 Application Compatibility - a good talk given by David Goon on how to make sure Windows Mobile 5 software applications will work with a variety of current and future devices. He covered areas such as screen orientation, resolution, API usage,  deployment configuration files and some clever orientation-aware mobile control from the recent Windows Mobile Client Software Factory which I am currently playing with. These have a lot of potential for creating future-proofed mobile applications.
    • A tour of the new  Enhancements for Web  Developers in the forthcoming Visual Studio "Orcas" release with Bradley Millington Program Manager for the Web Platform and Tools Team at Microsoft.  This was a very useful talk and will be the subject of a separate later post.

    A lot of good information was available in the exhibition area particularly on Accessibility in web/AJAX application and the areas of Patterns and Practice.

    Day 2 tomorrow holds the prospect of talks  on developing AJAX, a talk by  Guy Smith-Ferrier on localization, Fritz Onion on ASP.Net 2.0 undiscovered features and much more.

    Posted Nov 07 2006, 11:13 PM by rogerw with no comments
    Filed under: ,
  • TechEdDevelopers 2006, Barcelona - Technology, Talks and Tapas

    Well I'm here in Barcelona on the eve of TechEd 2006. Although there is lots of new stuff around Windows Vista, Office 2007 and SharePoint 2007 at the moment  there probably aren't that many truly new development technologies being announced. Even so it still should be an very interesting conference. Even the sun was shining when I arrived....

    As TechEd 2006 progresses I'll post more updates and comments to this blog.

    To give you an idea of whats being talked about, I'm particularly looking forward to some of the following sessions:

    Sessions on C# 3.0 by Anders Hejlsberg

    • Asp.Net 2.0 Sessions by Fritz Onion and Jeff Prosie
    • ASP.Net and AJAX with Nikhil Kothari (of the Microsoft ASP.Net team and a great MS Press book on ASP.Net Server controls fame) - details of his sessions on  his blog at http://www.nikhilk.net/
    • Windows Mobile 5.0 sessions with Andy Wigley and David Goon on adaptive UIs and Windows Mobile Security.
    • Talks on IIS 7.0 and IE 7.0 development

    Talking of IE 7.0 I have just upgraded to IE 7.0 so it will be interesting to see how well it integrates with Visual Studio 2005 and any quirks and issues that arise. If you know of any already, let me know via your comments.

     

This Blog

Syndication

News