by Nino
9. November 2008 04:42
This morning I am sitting in a very full session by the P&P folks: "Patterns & Practices for Mobile Client Part 2/4 - Mobile Composite UI Application Block". I have started to look at the Mobile Client Software Factory bits, evaluating the various components for use in my current project (of course comparing to Avanade's own ACA Devices asset). Once I have fully explored it, I'll be dropping some blog posts. Join the workspace for the MCSF and pull down the latest drop if you haven't yet.
One great point that John [Socha-Leialoha] made during the presentation was that while some of the code looks complex, it allows teams to scale - as opposed to some simpler-looking code that won't scale (and becomes spaghetti code). While you might think that this is only applicable to teams (or even large teams at that), I would argue that it is applicable and valuable to a team of one (just like source control). He also noted that they use pair programming (a concept which I admittedly still struggle with), and, of course, Test-Driven Development (TDD).
The Mobile CAB bits of MCSF (and MCSF itself) are a GoodThing(tm) for managed mobile application developers. I am very excited to see this output from the P&P team. ...and go get the MCSF bits. The bits, while not yet RTW'd, will release on June 30.
by Nino
9. November 2008 04:42
The .NET CF team has released Service Pack 1 for .NET CF 2.0!!!! Read their announcment.
Added Features
- Added support for WindowsCE 4.2 in both the CAB installation and a Platform Builder Update (For more information on the Platform Builder Update, see Windows CE Download Center.)
- Added the option to install the global assembly cache to the storage card.
- Allow DataGrid cell drawing to be overridden. Added support for headless Windows CE 5.0 devices by adding a Headless catalog item in Platform Builder. (For more information on the
Platform Builder Update, see Windows CE Download Center.)
- Added System SR files to the Windows CE 5.0
Platform Builder catalog item. (For more information on the Platform Builder Update, see
Windows CE Download Center.)
- Enabled device debugging using mdbg. Included LogViewer tools to monitor network
traffic.
- Included the .NET Compact Framework Remote Performance Monitor. (For more information, see Steven Pratschner’s BLOG.)
- Added the Serializable attribute.
Fixed Issues
- Changing VT_BYREF Variants in managed code could lead to a memory leak.
- Inappropriate caching of current UI culture even after CultureInfo.ClearCachedData is called.
- For the HttpWebRequest method, an uncatchable ObjectDisposedException could occur when exiting an application with asynchronous requests.
- Visual Studio hangs on setting a Breakpoint in a function with an infinite loop when it is called from the Immediate Window.
- Breakpoints do not work if the cached, managed dlls in the bcl directory differ from the ones on the device. Environment.GetFolderPath returns an InvalidOperationException.
- An access violation occurs when accessing .the Controls or .Controls.Count property of a control once it has begun the disposing process.
- The WebBrowser.DocumentCompleted event is fired in a loop when the DocumentText property contains an image inside of a table.
- Files should be extracted to the main storage as a workaround to avoid hardware issues on some storage cards. For the HttpWebRequest method, an ArgumentOutOfRangeException occurs when accessing some https:// URLs. Timer breaks after GetTickCount wraps around (49.7 days).
- Error occurs when loading the .NET Compact Framework version 2.0 on a device using an ActiveSync push.
- Memory leaks occur when using Com marshaling.
- Installer should check for ActiveSync version and disable deployment if version is older than ActiveSync 4.0 build 4343.
- For the SerialPort class, an IOException is thrown when opening a serial port on the IPAQ 4150.
- A call to HttpWebRequest over SSL with a payload greater than 32 KB hangs on the client when SendChunked returns false.
- For the SerialPort class,an uncatchable exception occurs when Bluetooth is turned off.
- A finalizer for the FileStream class will cause the application to crash if a previous IO operation failed.
- Installation of the .NET Compact Framework fails on low memory devices.
- PInvoke return types of UIntPtr throw a NotSupportedException.
- The Debug.WriteLine method in the .NET Compact framework version 2.0 is not working.
- For the SerialPort class, virtual serial ports are not reported by the SerialPort.GetPortNames method.
- When using COM Interop, a VARIANT_BOOL type is passed incorrectly on ARMV4I.
- The .NET Compact Framework incorrectly performs version comparison when loading assemblies.
- Corrections needed for Http Abort semantics.
- The DateTime.Now method throws an ArgumentOutOfRangeException.
- Crash caused by using CurrentTimeZone.GetDaylightTime and
CurrentTimeZone.GetStandardTime in certain rare stress conditions.
by Nino
9. November 2008 04:42
Tuesday's big event was the keynote given by Peter Knook, Senior VP, Mobile and Embedded Devices Division. During the keynote, Windows CE 6 was announced (note that 'announced' != 'released', CE6 is currently in beta). What's special about CE6? How about 32,000 processes.. each with a virtual memory limit of 2GB? That's a pretty good starting point. Not to mention that CE6 is still real time and that Platform Builder is now a plug-in to Visual Studio. Mike Hall has more
Let's also note that this is the 10th anniversary of Windows CE. Happy Birthday, Windows CE! :-)Be sure to check out the Flikr site for MEDC 2006.
Also on Tuesday, there was a MVP-only lunch with the NETCF, VSD and SQL/Ev* folks. Some *very* cool things coming this year and next (think Orcas time frame).
I also attended a panel discussion, "Meet the Windows Devices Core Team" - some good discussion (and many questions about ActiveSync). After this, I attended Daniel Moth's "Sharing Assets between the .NET Compact Framework and the .NET Framework" session. A really good session and the first time I had heard Daniel speak (yes, I submitted my eval, Daniel). The last session of the day I attended was "Certifying your Windows Mobile Applications" by Dwayne Lamb. A very informative session with good attendance (and I got to chat a bit with
Dwayne during the MVP lunch earlier).
*.NET Compact Framework, Visual Studio for Devices and SQL Everywhere
by Nino
9. November 2008 04:42
Friday's DevCare session went pretty well. Drew did a cool 'Intro to Platform Builder' and put the Windows CE image he built onto his GumStix. My 'Native/Managed Dev w/ VS2005' went pretty well and Josh did a good session on 'Connecting Mobile Applications' (in which he was kind enough to let me interject a few times). I just wanted to thank Drew and Josh for asking to speak - a good time was had by all.
-Nino
UPDATE: Grab the presentation materials from here
by Nino
9. November 2008 04:42
TGIF!
Software / Hardware
Development
In Other News . . .
by Nino
9. November 2008 04:42
Software / Hardware
Development
In Other News . . .
by Nino
9. November 2008 04:42
I just got out of a standing-room-only session on “.NET Compact Framework 2.0: Optimizing for Performance” given by Ryan Chapman. 50% excellent stuff, 50% stuff I already knew (but I wasn’t disappointed at all). Since 1) I was standing and 2) my laptop and device batteries were near exhaustion, I took no notes.
It was interesting to see some of the performance gains that one can glean with Generics vs boxing. Very cool.. and helps to keep the GC in a slumber. Speaking of the GC, we also saw the .NET Compact Framework Remote Performance Monitor in action. VERY, VERY, very cool. We (.NET CF developers) have been waiting for this for a loooong time. The .NET CF RPM, if you don’t know, is new in .NET CF 2.0 SP1 (currently in beta) – read more about the SP1 beta here.
Speaking of tools and performance and features and such (hmm a lot of ‘and’s).. I attended another MVP-only luncheon today that discussed some really cool things in the pipe. I’m really stoked at how close the .NET CF / Windows CE / Embedded teams get with their MVPs. Impressive. I’ve seen some other product teams at Microsoft have quite a different relationship with their MVPs. Unfortunate – I hope they see the error of their ways. We (MVPs) are helping to drive the direction of the tools and technologies coming out of Redmond and I’m really appreaciative and really stoked to be part of the process.
A number of the things I’ve seen so far this week – publicly and under NDA – further underscore the fact that Microsoft is (er, has) positioned Visual Studio as a platform. If you are interested at all in extending VS2005, check out the VS SDK.