Log in

View Full Version : .NET Compact Framework and Product Cycles


Andy Sjostrom
09-22-2003, 10:00 AM
<div class='os_post_top_link'><a href='http://www.microsoft.com/downloads/details.aspx?familyid=10600643-09b3-46d8-ba28-bc494bc20d26&displaylang=en' target='_blank'>http://www.microsoft.com/downloads/...&displaylang=en</a><br /><br /></div>Microsoft introduced .NET Compact Framework in ROM as of Pocket PC 2003 and Smartphone 2003. This means that developers can use Microsoft's new tools and languages to develop software not only for desktop and server solutions, but also for mobile solutions. The primary advantage of putting the .NET Compact Framework in ROM is that developers don't have to redistribute the components, between 2 and 3 MB, every time a new application is to be shipped. This advantage went away to some extent when Microsoft released a Service Pack for the .NET Compact Framework weeks after the release of Pocket PC 2003, the so called <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1F62A2A3-7282-4BA9-B26B-2267E972501D&displaylang=en">.NET Compact Framework 1.0 SP1 Redistributable</a>. The Service Pack contained a number of defect fixes some of which lead to performance improvements.<br /><br />Don't get me wrong. I love defect fixes and performance improvements. The fact that Microsoft just release yet one more Service Pack the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=10600643-09b3-46d8-ba28-bc494bc20d26&displaylang=en">.NET Compact Framework 1.0 SP2 Developer Redistributable</a> is proof of that the team is committed to deliver the best bits as soon as possible. Since the changes don't break any developers existing code everyone should be pleased. But I think one piece of the puzzle is missing: the advantage of having .NET Compact Framework in ROM is broken if every developer needs to revert back to the old habit of redistributing 2-3 MB runtime files for each new application.<br /><br />I have learned that the .NET Compact Framework team's product cycle is tied to that of Visual Studio .NET and not to that of mobile devices. This means that we will see product and service pack releases sometimes in sync and sometimes out of sync. However, I would love to see two things:<br /><br />1. More frequent End User Updates updating the ROM of Pocket PCs and Smarphones with the latest .NET Compact Framework bits.<br />2. A slip stream release of the latest .NET Compact Framework builds into the device makers production lines.<br /><br />I have asked Microsoft to respond to these questions and will report back when they do!

Andy Sjostrom
09-22-2003, 10:06 AM
BTW, just downloaded NET CF SP2. Now I need to figure which CAB to use...

I have an iPAQ 5550. Which is right: ARMV4 or ARMV4I? :?:

freitasm
09-22-2003, 10:12 AM
I read about this a couple of days ago and thought exactly the same... Other advantage of having the .NET Compact framework in ROM was more memory available on the device, while not needing to install the framework... Now this is gone :evil:

Or until a device manufacturer releases a ROM update - hardly the case only two months after the initial release...

Philip Colmer
09-22-2003, 10:28 AM
Can the update not be put into the flash ROM? I thought that the PPC OS supported partial updates? (Can't remember the technical term!)

--Philip

albsilva
09-22-2003, 10:43 AM
Can the update not be put into the flash ROM? I thought that the PPC OS supported partial updates? (Can't remember the technical term!)

--Philip

I guess that the problem is that those updates are manufacturer and device specific... :roll: At least those that have been available, but the idea of a device independent partial update would be nice... :)

Best Regards 8)

Alberto Silva

albsilva
09-22-2003, 10:49 AM
I have an iPAQ 5550. Which is right: ARMV4 or ARMV4I? :?:

I would choose the ArmV4... I think that the V4I and V4T are used in CE.net devices, not PPC 2003.

Is the SP2 already officially available for download?

Alberto Silva

Andy Sjostrom
09-22-2003, 12:19 PM
I would choose the ArmV4... I think that the V4I and V4T are used in CE.net devices, not PPC 2003.

Is the SP2 already officially available for download?

Alberto Silva

Thanks! I tested ARMV4 and it seems to be working. However, Pocket PC 2003 is a Windows CE. NET device (ie Windows CE 4.2) so I am not sure I understand what you are saying. :)

Andy Sjostrom
09-22-2003, 12:20 PM
Is the SP2 already officially available for download?

Alberto Silva

Sorry... missed that part! Yes, it is available for download (http://www.microsoft.com/downloads/details.aspx?familyid=10600643-09b3-46d8-ba28-bc494bc20d26&displaylang=en)!

albsilva
09-22-2003, 02:03 PM
However, Pocket PC 2003 is a Windows CE. NET device (ie Windows CE 4.2) so I am not sure I understand what you are saying. :)

PPC2003 are indeed derived from the CE 4.2 core, like some other devices which are not PocketPC2003 devices. Pocket PC 2003 is IMHO like a skin applied that limits and extends some CE.net funcionalities... the diference to other implementations of this OS are that the 'Pocket PC 2003' is a reference platform defined by Microsoft, while some industrial devices have specific implementations of CE.

Remember the Casio BE300... it was a CE 3.0 device, but not a PocketPC :wink: ...

Regards,
Alberto Silva

Jimmy Dodd
09-22-2003, 02:27 PM
The Service Pack contained a number of defect fixes some of which lead to performance improvements.


Any details on the performance improvements? I discontinued working on the .NET CF until forms load at an acceptable speed (I'm back to eVC++ and MFC - it flies! 8) ). it would be nice if they fixed that at least. :roll:

Bill Gunn
09-22-2003, 02:59 PM
I guess that the problem is that those updates are manufacturer and device specific... :roll: At least those that have been available, but the idea of a device independent partial update would be nice... :)

Best Regards 8)

Alberto Silva

That's exactly the problem with PPC's in general. I am tired of buying PPC's and then being held hostage to the whims of the vendor for OS upgrades. I can buy a P4 desktop for $1000 and I KNOW it will be able to run Longhorn when it ships. But my $500-$700 PPC may ship with the last OS it will ever be able to run. This is unacceptable to me. The only way to change this is to refuse to ever buy again from a vendor who doesn't provide upgrades, no matter how sexy their latest device is. Unless PPC's are going to become $150 throw away devices, they are going to have to be more desktop like so that we can buy and load OS software independently of the device manufacturer.

Scott R
09-22-2003, 04:00 PM
Back when everyone was making a big deal about the fact that the CF was going to be included in ROM I raised this very issue. MS is doing the right thing by fixing bugs and releasing the updated CF. IMO, they should have never bothered including it in ROM to begin with, and people/sites that touted it's inclusion in ROM as a "good thing" shouldn't have.

Scott

bagemk
09-22-2003, 05:05 PM
One of the issues here is that the Pocket PC is a gadget or in technical parlance, it is an embedded system. For any other type of embedded system (for example, your TV, microwave, remote control, etc, etc), it would be considered unacceptable to release something that needs a software update every few months. It is only the diabolical state of quality in the PC software industry that leads us to believe that it is for Pocket PCs.

Remember, a bug is a fault - it is an error. When a company states that they are "supporting their users" by releasing regular updates to fix bugs, what they are really saying is: "we didn't test it well enough - we shipped you a broken product". This is NOT a good thing for the user. It is only a good thing for the company revenue.

Lets face it, if MS called their Service Packs, "Fixes for our mistakes", we wouldn't have a discussion about whether the cycle was right or whether the update ability was a good thing. We'd be bashing on the (many) doors of the Redmond campus and saying "get your act together".

Scott R
09-22-2003, 05:26 PM
bagemk, I'm afraid I have to disagree. True, there's a certain degree of testing that should be done prior to release and MS doesn't exactly have the greatest track record in terms of releasing bug-free code. But there's really no such thing as 100% bug-free code anyway. And what should MS have done? Withheld the release of PPC 2003 until they had squashed all the bugs in the CF?

I'm also not sure if this update is strictly bug-fixes or if there are performance and feature enhancements as well.

My TiVo can receive updates, some of which are improvements, many of which are often bug fixes. It's a tricky situation, to be sure, and I'm not sure if there's one right way for a company to handle this new world. Consumer Electronics and software are becoming joined at the hip and there's no turning back.

Scott

Janak Parekh
09-22-2003, 05:48 PM
One of the issues here is that the Pocket PC is a gadget or in technical parlance, it is an embedded system. For any other type of embedded system (for example, your TV, microwave, remote control, etc, etc), it would be considered unacceptable to release something that needs a software update every few months. It is only the diabolical state of quality in the PC software industry that leads us to believe that it is for Pocket PCs.
It's a lot more complicated than that. A Pocket PC is far more complicated than a TV or microwave, yet the public wants updates, and fast. We have expectations that TVs or microwaves take time to evolve... they move so slowly it's easy to test changes.

I've got to agree with Scott here. Find me a system that's completely bug-free, and I'll be very surprised if that system evolves fast enough to meet our expectations in desktop and handheld technologies. Without question, Microsoft could do some things better, but perfect is a different matter entirely.

--janak

gohtor
09-22-2003, 07:40 PM
I do recall the first one had a few bugs. some would see them as major bugs but I never used those parts of the bugged code.

As far as I know 1 of the concepts of .net is to remove dll hell which sort of addresses bugs. if you develop a program under the assumption you're using vb.dll (or a version of .net cf), an updated vb.dll will not invalidate your program because you are still specifically targetting the older dll.

In the case of .net cf I am not sure if they will keep the older bugged code but I would guess not. Otherwise updates on the .net cf would grow bigger and bigger. (just to keep the bugged function calls and the new patched ones)

coding in .net has been relatively pain free so as long as the company that develops an app keep releasing version updates to catch up with current .net cf distributions i don't see that there's any big deal.

Bill Gunn
09-22-2003, 08:10 PM
A Pocket PC is far more complicated than a TV or microwave, yet the public wants updates, and fast. We have expectations that TVs or microwaves take time to evolve... they move so slowly it's easy to test changes.


There is a difference. When a new line of frozen food comes to market I won't have to upgrade my microwave before I can cook it. When a new application comes out we often have to upgrade our computers to run it.

Dom
09-23-2003, 01:24 AM
Buggy or not the fact is .NET CF is so damn awful it's funny. I know, I was on the beta program and coded in it for 12 horrible months.
It's slow, uses stacks of memory, but worst of all it's a nightmare for the end user to install (SQL which is used in most apps is in a separate redist cab file and often has loads of conflicts). It's also expensive to buy the dev kit given you can only ever program a Pocket PC.
Funny thing is we tried AppForge as an alternative and the results were stunning. My cheap and cheerful Nokia 3650 performs twice as fast as my WM2003 Pocket PC running identical code :0) BUT, and here is the HUGE thing here. To convert my Nokia app to Pocket PC, Sony P800, Palm, Handheld PC etc etc I just click "Deploy to device". To do the same with .NET is a complete rewrite for every device ! So it is also completely non-transferable. Given that our mobile phone software now outsells Pocket PC 5 to 1 we decided to ditch .NET for any new apps and now just develop on P800. To release a Pocket PC version we then click "Deploy to Pocket PC".
Fast, simple, perfect.
Dom

Janak Parekh
09-23-2003, 03:11 AM
There is a difference. When a new line of frozen food comes to market I won't have to upgrade my microwave before I can cook it. When a new application comes out we often have to upgrade our computers to run it.
What kind of an analogy is that? :? If anything, it supports my point. Heating is a simple, well-defined physical action, and since that's all we're doing we can perfect it. We change how we interact with computers frequently, and that leaves less time to test.

A better one: find me a tool that will let you prepare any food by just pouring in ingredients. Once you have it, try introducing a new ingredient. ;)

--janak

Kevin Daly
09-23-2003, 08:40 AM
Thanks! I tested ARMV4 and it seems to be working.

One thing I've been curious about since SP1 was released was whether installing a CF SP in RAM on a Windows Mobile 2003 device has a negative effect on performance? When WM2003 devices were released a number of people commented on how much faster the CF ran from ROM (which suprised me, since I'd always assumed RAM was faster). So does a RAM-installed SP perform any worse? (or were the original speed improvements due to the OS and chipset?).

Another important point: if you've installed the SP in RAM and the vendor subsequently releases a ROM update that includes it, can you safely uninstall the RAM version and apply the update or will the OS thenceforth insist on believing it has no Compact Framework? (I'm thinking of some of the glitches that used to occur with eVB).

On a more positive (OK, less worried) note, I think what a lot of people are missing is that these service packs make no difference to the bytecode that you deploy to the device, since the update is just to the runtime and at this stage there are no breaking changes.
(The big changes I'm hoping to hear about at the PDC, and presumably they'll début with the next version of Windows Mobile)
0X

Bill Gunn
09-23-2003, 03:05 PM
There is a difference. When a new line of frozen food comes to market I won't have to upgrade my microwave before I can cook it. When a new application comes out we often have to upgrade our computers to run it.
What kind of an analogy is that? :? If anything, it supports my point. Heating is a simple, well-defined physical action, and since that's all we're doing we can perfect it. We change how we interact with computers frequently, and that leaves less time to test.

A better one: find me a tool that will let you prepare any food by just pouring in ingredients. Once you have it, try introducing a new ingredient. ;)

--janak

So what is your point? It sounds like you are saying that we have no right to expect software written after we purchase a PDA to run on that PDA because PDA's are more complicated than toasters. Will it ever be ok to expect PDA's to be stable and usable consumer devices or will they only ever be toys for computer geeks? :?