From an implementors side of view, supporting IE6 and IE7 and IE8 is like supporting three entirely different browsers. While IE8 is mostly just as Fox to support, keep the standards up and it should run with minimal fixes, IE6 and 7 are entirely different beasts, IE6 is a bugridden hellhole, IE7 fixes some of those bugs and introduces others while pulling away certain hacks which made IE6 somewhat compliant.
So supporting Firefox Safari IE8 Opera etc... is mostly just doing one browser with a few lines of fixing, doing the rest of the bunch is like doing something completely different.
I would not put IE marketsharewise into one pot, because you basically blur the real actual development costs I would say the support of IE6 raises the actual development cost of the guy doing the frontend depending on the complexity of the site from 10-20% (with numbers rising depending on how much dynamic stuff you want in), IE7 is around 5-15% raise in development cost. While you can push Opera Safari, Firefox (3.x that is 2, is by now neglectable) and IE8 into one pot if you code after CSS 2.1 and do not to too much nasty tricks, into a 1-3% pot!
So you see the question arises outside of the stupidity of putting all IEs together, which is just branding but not the actual situation, does the marketshare of a single IE version (namel 6) justify 10% more development time for the frontend. IE6 and 7 combined maybe but IE6 alone, the customer has to pay for that extra, period!
Actually IE8 might be soon the king of IEs even corporations now have a serious upgrade look. I expect that IE7 wont really have the impact IE6 had and frankly spoken IE8 while not being really that good is good enough for now. Still I applaud the rise of firefox, this will open enough pressure on M$ to finally support SVG and raise their ACID compliancy from 20% up to decent levels without lying that ACID tested unfinished standards (which it does not)
Must have been matches I assume, HP probably chose the wrong regexp dialect for their implementation, I dont think this was deliberately and definitely was a bug, and probably covered by the TCK by now. Every JVM which is branded as java has to go through millions of tests which try to cover the entire API.
Actually I like the way google handles things, if they can provide a reference phone like the G1 everyone will be happy. But I agree the long term support is one thing Apple is sucessful and it shines among all cell phone makers. No cell phone maker has supported so far one of its phones more than one year. Apple has been doing that lately for 3 years. But outside of that Apples support becomes worse every year. Recently a friend of mine was turned down by the apple repair support on his expensive macbook pro although he had paid for Applecare, because the machine one time has been falling from the desk and had scratches from it on the surface. The damage he had was unrelated to the thing and a lot of reports from the damage have been on the net before. So he reconsiders buying Apple again, in the end this has cost Apple more than one repair over the next five years, because he usually buys expensive machines! I also will reconsider my purchases regarding apple again, over the last five years I have had 4 apple machines bought, but I never have had anything like it regarding repairs from acer. Sure their machines are junk and last half as long, but they are also half as expensive and their repairs usually work the no questions asked way! The last time I had to deal with Apple support in this regard, I was treated almost like a criminal, and that was with a 3000 Euro Macbook Air and a 300Euro Apple three years warranty included! The situation has changed regarding this the last 2 years, 2 years ago you were treated like a customer, now you are treated like a criminal halfway.
I assume that both of them have years of optimization behind it they are pretty similar in performance, and java is the same speed as machine code is mostly a myth, it is fast enough, but in real world szenarios it does not reach the performance levels of raw and hardly the ones of C++. But as I said it is fast enough, and you can do big programs with it, it simply has become a workhorse!
Many is not all and that is the main difference between both VMs, if you are on a Java VM you can rely on the entire stack being present from Windows up to the IBM Irons, with no differences in the API. And that is the standard vm, and anything which is written in pure java, and that is quite a lot believe me! Just check the average maven repository on what can be found!
Actually this is pretty much the standard case nowadays, a load of java development happens nowadays in windows, and the deployment is a Unix machine or something bigger. The reason is, that corporate desktops are normally Windows and a very locked windows that is, while the deployment in those environments almost never is a Windows server. Most java developers I know who do opensource coding funnily do it on a Mac nowadays, almost no one uses windows due to the file locking issues the OS has!
Actually no the testing was mostly done upfront back then by also installing an ibm jvm, not that it really showed something significant. Most issues for server only apps in those times as well as today arose by the simple fact of windows using backslashes, which can break your directly handly code especially if you do slobby regexps which do not have that in mind (even if you use File.separator)
The servers habe been pretty portable for many years now and it becomes better with every release, also while Swing is not perfect it is nowadays very portable.
This situaiton is miles ahead of what you have to face if you roll a C# program and then hope for the best that you be able to run it decently in Mono on some platforms which are non Windows!
Java only has lost the war if you thing the entire world runs on windows and develops for Windows only, sorry it is like that! I work in banking environments where the language is very strong, the reason simply is you develop on windows, then deploy on Unix and the deployment scales up to the big irons from IBM if you need to!
All I can see on C# side for now is that it has gotten the ground that VB and ASP had before, that is the market of develop for windows deploy on windows. Ok this is quite a big market but this is only one part of the picture.
Now with Android we also have a serious push of java being a very popular platform programming language for mobile phones again instead of the trash of J2ME. It is not branded java but the Dalvik VM has clearly java roots!
As I said C# has mostly gathered the ground which was occupied by Microsoft before anyway, quite a big ground but territory java never had.
Java is relatively stagnant but that is also the reason why big buisnesses simply love it, if you want to stay on the edge and keep the platform then use scala or groovy, there you have closures etc... The platform is more healthy than ever and java as language has become the same status as cobol had in the 70s, stagnant but widely used! As for the JCP you know that 90% of the work the JCP does revolves around the platform not the language?
Besides that not sure in which world you live on the webapps side either, while flash has its place flex has hardly taken over the webapp space, in the last years I have encountered exactly one flex app in the wilds! Heck it is even hard to get an ajax app in somewhere, but ajax is way more common!
Actually the field where java shines is the enterprise part and there it is really well located and very popular, banks corporations etc.. all use java they simply love its stability and portability (have in mind many of them run big irons, and java scales up and up on those machines)
if.net has managed one thing then to kill java from the desktop, but Sun is equally to blame there as well with Swing having been way to slow until java 4! Other than that.Net made major inroads in Windows dev shops and generally windows environments where it was to be expected if it was better than VB which it definitely was!
I had once to port a system of half a million locs of java code, between windows, linux and RS6000, I had to change one line of code for the RS6000 due to a bug in IBMs VM, and that was on Java 4...
First question people asked me when I showed them the EEE 701, does it run windows? They were not even thinking that the screen resolution was totally unsuitable! Believe me I am not too far off with that assumption. Give people Windows and they think it is intel Windows as long as it looks like a computer!
Actually the side keyboard is simply turning the phone 90 degrees just like on the iphone, the issue however is that pre android 2.0 this was a little bit inconsistent with some apps allowing it and others did not. The desktop for instance was not turnable and if you had the search widget on top it did not allow the 90 degrees turn. This is resolved in 2.0 and according to the first reports in 2.1 voice search was added enabled for all apps (well it was there in 2.0 as well, but I assume not that deeply integrated)
Voice search is a hit and miss, on my hacked Hero it works so lala, in some cases it is excellent in others it misses by miles.
Well I have a Hero but it lacks the speed of the iPhone this is multitasking inherent, and that some parts of the OS and the drivers are not optimized, heck even the 3d graphics are not that well optimized yet, the phone could do more from its hardware, there are rumours that HTC simply was to stingy to pay for the optimized qualcom 3d drivers, whether it is true or not I do not know, the qualcom test reveals around 30 fps.
But it is way better than an iPhone for its openness.
I just hate the head in the arse attitude HTC has regarding non Windows connectivity, they simply do not support it period. A hacked rom can run Wifi Tethering, HTCs official stance is we do not support it neither do we support OSX.
USB Tethering can be enabled out of the box, but no drivers which would make it work on OSX. There are hacks to enable it on a stock ROM, but HTCs support does not even know about the hack via OpenVPN which allows to do it.
The phone itself is very sturdy and like most HTCs phones a real workhose, but the companies stance on non windows in their clients is simply annoying, they dont even read the mails properly once the encounter the word OSX and just do a copy paste answer!
Actually this is system inherent, the main issue simply is multitasking, the phone terminates on a LRU algorithm the programs once the ram runs out, so if you do a lot on the phone some task might drag you the processor cycles away or the phone stops for a second to kill another app and reclaim the ram. Also if you switch the keyboard direction it can happen that the phone has to load the keyboard app for the proper keyboard because the app was terminated.
I can see that pretty well on my phone, first it is blazingly fast but after a while it loses around 30% of its performance due to the multitasking, killing all apps again restores the performance to a level similar to the iPhone (I have an HTC Hero btw. way slower than the Droid)
I used to kill the apps constantly a while ago, but now I dont even bother anymore, because the phone stays usable and it is way faster than the WinCE phone I had before! You get used to the occasional hickups!
But the OS definitely has a load of potential for performance improvement, starting with the Dog slow Dalvik VM which thankfully does not show that much thanks to native C code being accessed left and right on classlib level and ending with the way the user has to deal with background processes.
Main issue is the missing keyboard, I have an HTC Hero and I miss the keyboard really, while you are better off than with T9 the autocompletion does get you only that far. I will use my Hero for the next year, but I am pretty sure I will get a phone with a slideout keyboard after that! And yes HTC Sense is nice, but I think the biggest + simply is the 7 homescreens instead of 3.
Well some people probably will install WinCE then they will try to install Intel based Powerpoint and then they will give frustratedly up because it will not get in their mind why this does not work although it looks the same.
Believe me dump cheap 50-80 Dollar arm based netbooks suitable for websurfing etc... into the supermarkets as pickup items along the candy and beer and people will pick them up on the run. I am speaking in potential of hundreds of millions of machines which can be sold that way and probably even more in the third world as cheap surfstations! I think what we see here is just what happened to the calculators, first expensive and scientific only then the common ones medium expensive and then becoming cheaper and cheaper and now they are sort of a present if you open a new bank account etc... The Netbooks just follow that way, and I cannot see where Microsoft wants to be in this market with their prices of 50 USD per WinCE license, if Google gives away the alternative for free and shares even the income of the searches over those machines with the hardware makers! 50 USD price difference was enough to keep NVidia out of the netbook market with their ION Chipset it is currently enough to drive phone makers away from Microsoft! And in a segment of 50-100 Dollar Netbooks it will be enough to kill WinCE on ARM netbooks before it can even make a foothold! The only advantage of Windows is not present in this segment that is the load of desktop applications so Microsoft is on equal ground here and they usually loose if they cannot use their monopoly to gain ground in other segments!
I recently fired up super Mario 64 on the PC in an emulator on 1920x1200 which is higher than full hd, and the game looked gorgeous, it simply looked amazing like a new version. Why Nintendo does not even use upscaling on the Wii in any of the emulated games is beyound me. Especially the N64 games with their blurry textures scale up really well given the fact that they rely more on shading than textures. Now back to the Wii, Nintendos emulators on the wii are desastrous, they try to emulate the original modes as correct as possible which means they shoot out many owners of LCDs trying to play the older games via component cables. Now even worse instead of just installing an emu, every game has the emu integrated. While they patched a handful of games so that it runs in a different mode, they did not for most other games. Now if your wii is hacked and you play the roms on emulators, not only the games look better thanks to scaling, but also all of them run as expected.
This is so typical Nintendo, they simply do not recognize the potential of every technology they have in their hands until 5 years after it is too late.
Native programming is possible and has been for quite some time, you have to root your entry point over jni into C and then you can use the C apis natively. Google itself recommends following way, use java for the most part due to ease of development and then find the hotspots and code them with C if it is needed at all. The Dalvik vm while itself being very slow is relatively low on mem consumption and google tried to cover the speed deficiencies of the VM by routing everything under the earth from the core lib back into native APIs so that java in the end is mostly just a glue for C routines. The Dalvik VM has been criticized in the past, but have a look at the presentation of the guy who programmed it, he made very sound decisions, and in the end he also knows the weak spots and probably will resolve them over time (I assume Android 2.0 already has a JIT compiler integrated)
Android does not lock you into a java sandbox, you still can reach the apis as well in C, it locks you into userspace however (not on the dev phone though), which should be expected anyway by a client os. The java vm is just there to ease the portability on all processor platforms and it is more convenient for most parts of a program to use than raw c/c++.
The main issue is that android itself more or less runs in a vm to prevent you to reach the lowest parts of the phone, which indeed could damage the carriers network if programmed incorrectly.
Send it back to the manufacturer with an explanation, I am sure this will stir some corporate uproar internally and no one will know what to do with it.
From an implementors side of view, supporting IE6 and IE7 and IE8 is like supporting three entirely different browsers.
While IE8 is mostly just as Fox to support, keep the standards up and it should run with minimal fixes, IE6 and 7 are entirely different beasts, IE6 is a bugridden hellhole, IE7 fixes some of those bugs and introduces others while pulling away certain hacks which made IE6 somewhat compliant.
So supporting Firefox Safari IE8 Opera etc... is mostly just doing one browser with a few lines of fixing, doing the rest of the bunch is like doing something completely different.
I would not put IE marketsharewise into one pot, because you basically blur the real actual development costs I would say the support of IE6 raises the actual development cost of the guy doing the frontend depending on the complexity of the site from 10-20% (with numbers rising depending on how much dynamic stuff you want in), IE7 is around 5-15% raise in development cost.
While you can push Opera Safari, Firefox (3.x that is 2, is by now neglectable) and IE8 into one pot if you code after CSS 2.1 and do not to too much nasty tricks, into a 1-3% pot!
So you see the question arises outside of the stupidity of putting all IEs together, which is just branding but not the actual situation, does the marketshare of a single IE version (namel 6) justify 10% more development time for the frontend. IE6 and 7 combined maybe but IE6 alone, the customer has to pay for that extra, period!
Actually IE8 might be soon the king of IEs even corporations now have a serious upgrade look.
I expect that IE7 wont really have the impact IE6 had and frankly spoken IE8 while not being really that good is good enough for now.
Still I applaud the rise of firefox, this will open enough pressure on M$ to finally support SVG and raise their ACID compliancy from 20% up to decent levels without lying that ACID tested unfinished standards (which it does not)
Must have been matches I assume, HP probably chose the wrong regexp dialect for their implementation, I dont think this was deliberately and definitely was a bug, and probably covered by the TCK by now. Every JVM which is branded as java has to go through millions of tests which try to cover the entire API.
Actually I like the way google handles things, if they can provide a reference phone like the G1 everyone will be happy.
But I agree the long term support is one thing Apple is sucessful and it shines among all cell phone makers. No cell phone maker has supported so far one of its phones more than one year. Apple has been doing that lately for 3 years. But outside of that Apples support becomes worse every year. Recently a friend of mine was turned down by the apple repair support on his expensive macbook pro although he had paid for Applecare, because the machine one time has been falling from the desk and had scratches from it on the surface.
The damage he had was unrelated to the thing and a lot of reports from the damage have been on the net before.
So he reconsiders buying Apple again, in the end this has cost Apple more than one repair over the next five years, because he usually buys expensive machines! I also will reconsider my purchases regarding apple again, over the last five years I have had 4 apple machines bought, but I never have had anything like it regarding repairs from acer. Sure their machines are junk and last half as long, but they are also half as expensive and their repairs usually work the no questions asked way!
The last time I had to deal with Apple support in this regard, I was treated almost like a criminal, and that was with a 3000 Euro Macbook Air and a 300Euro Apple three years warranty included!
The situation has changed regarding this the last 2 years, 2 years ago you were treated like a customer, now you are treated like a criminal halfway.
which find method? http://java.sun.com/javase/6/docs/api/java/lang/String.html
there is none if you mean indexof that has been working cross platform since day zero.
I assume that both of them have years of optimization behind it they are pretty similar in performance, and java is the same speed as machine code is mostly a myth, it is fast enough, but in real world szenarios it does not reach the performance levels of raw and hardly the ones of C++.
But as I said it is fast enough, and you can do big programs with it, it simply has become a workhorse!
Many is not all and that is the main difference between both VMs, if you are on a Java VM you can rely on the entire stack being present from Windows up to the IBM Irons, with no differences in the API.
And that is the standard vm, and anything which is written in pure java, and that is quite a lot believe me! Just check the average maven repository on what can be found!
Also the portability nowadays is quite excellent!
Actually this is pretty much the standard case nowadays, a load of java development happens nowadays in windows, and the deployment is a Unix machine or something bigger.
The reason is, that corporate desktops are normally Windows and a very locked windows that is, while the deployment in those environments almost never is a Windows server.
Most java developers I know who do opensource coding funnily do it on a Mac nowadays, almost no one uses windows due to the file locking issues the OS has!
Actually no the testing was mostly done upfront back then by also installing an ibm jvm, not that it really showed something significant.
Most issues for server only apps in those times as well as today arose by the simple fact of windows using backslashes, which can break your directly handly code especially if you do slobby regexps which do not have that in mind (even if you use File.separator)
The servers habe been pretty portable for many years now and it becomes better with every release, also while Swing is not perfect it is nowadays very portable.
This situaiton is miles ahead of what you have to face if you roll a C# program and then hope for the best that you be able to run it decently in Mono on some platforms which are non Windows!
Java only has lost the war if you thing the entire world runs on windows and develops for Windows only, sorry it is like that!
I work in banking environments where the language is very strong, the reason simply is you develop on windows, then deploy on Unix and the deployment scales up to the big irons from IBM if you need to!
All I can see on C# side for now is that it has gotten the ground that VB and ASP had before, that is the market of develop for windows deploy on windows. Ok this is quite a big market but this is only one part of the picture.
Now with Android we also have a serious push of java being a very popular platform programming language for mobile phones again instead of the trash of J2ME.
It is not branded java but the Dalvik VM has clearly java roots!
As I said C# has mostly gathered the ground which was occupied by Microsoft before anyway, quite a big ground but territory java never had.
Java is relatively stagnant but that is also the reason why big buisnesses simply love it, if you want to stay on the edge and keep the platform then use scala or groovy, there you have closures etc...
The platform is more healthy than ever and java as language has become the same status as cobol had in the 70s, stagnant but widely used!
As for the JCP you know that 90% of the work the JCP does revolves around the platform not the language?
Besides that not sure in which world you live on the webapps side either, while flash has its place flex has hardly taken over the webapp space, in the last years I have encountered exactly one flex app in the wilds!
Heck it is even hard to get an ajax app in somewhere, but ajax is way more common!
Actually the field where java shines is the enterprise part and there it is really well located and very popular, banks corporations etc.. all use java they simply love its stability and portability (have in mind many of them run big irons, and java scales up and up on those machines)
if .net has managed one thing then to kill java from the desktop, but Sun is equally to blame there as well with Swing having been way to slow until java 4! .Net made major inroads in Windows dev shops and generally windows environments where it was to be expected if it was better than VB which it definitely was!
Other than that
I had once to port a system of half a million locs of java code, between windows, linux and RS6000, I had to change one line of code for the RS6000 due to a bug in IBMs VM, and that was on Java 4...
First question people asked me when I showed them the EEE 701, does it run windows?
They were not even thinking that the screen resolution was totally unsuitable!
Believe me I am not too far off with that assumption.
Give people Windows and they think it is intel Windows as long as it looks like a computer!
Actually the side keyboard is simply turning the phone 90 degrees just like on the iphone, the issue however is that pre android 2.0 this was a little bit inconsistent with some apps allowing it and others did not. The desktop for instance was not turnable and if you had the search widget on top it did not allow the 90 degrees turn. This is resolved in 2.0 and according to the first reports in 2.1 voice search was added enabled for all apps (well it was there in 2.0 as well, but I assume not that deeply integrated)
Voice search is a hit and miss, on my hacked Hero it works so lala, in some cases it is excellent in others it misses by miles.
Well I have a Hero but it lacks the speed of the iPhone this is multitasking inherent, and that some parts of the OS and the drivers are not optimized, heck even the 3d graphics are not that well optimized yet, the phone could do more from its hardware, there are rumours that HTC simply was to stingy to pay for the optimized qualcom 3d drivers, whether it is true or not I do not know, the qualcom test reveals around 30 fps.
But it is way better than an iPhone for its openness.
I just hate the head in the arse attitude HTC has regarding non Windows connectivity, they simply do not support it period. A hacked rom can run Wifi Tethering, HTCs official stance is we do not support it neither do we support OSX.
USB Tethering can be enabled out of the box, but no drivers which would make it work on OSX. There are hacks to enable it on a stock ROM, but HTCs support does not even know about the hack via OpenVPN which allows to do it.
The phone itself is very sturdy and like most HTCs phones a real workhose, but the companies stance on non windows in their clients is simply annoying, they dont even read the mails properly once the encounter the word OSX and just do a copy paste answer!
Actually this is system inherent, the main issue simply is multitasking, the phone terminates on a LRU algorithm the programs once the ram runs out, so if you do a lot on the phone some task might drag you the processor cycles away or the phone stops for a second to kill another app and reclaim the ram. Also if you switch the keyboard direction it can happen that the phone has to load the keyboard app for the proper keyboard because the app was terminated.
I can see that pretty well on my phone, first it is blazingly fast but after a while it loses around 30% of its performance due to the multitasking, killing all apps again restores the performance to a level similar to the iPhone (I have an HTC Hero btw. way slower than the Droid)
I used to kill the apps constantly a while ago, but now I dont even bother anymore, because the phone stays usable and it is way faster than the WinCE phone I had before! You get used to the occasional hickups!
But the OS definitely has a load of potential for performance improvement, starting with the Dog slow Dalvik VM which thankfully does not show that much thanks to native C code being accessed left and right on classlib level and ending with the way the user has to deal with background processes.
Main issue is the missing keyboard, I have an HTC Hero and I miss the keyboard really, while you are better off than with T9 the autocompletion does get you only that far.
I will use my Hero for the next year, but I am pretty sure I will get a phone with a slideout keyboard after that!
And yes HTC Sense is nice, but I think the biggest + simply is the 7 homescreens instead of 3.
Well some people probably will install WinCE then they will try to install Intel based Powerpoint and then they will give frustratedly up because it will not get in their mind why this does not work although it looks the same.
Believe me dump cheap 50-80 Dollar arm based netbooks suitable for websurfing etc... into the supermarkets as pickup items along the candy and beer and people will pick them up on the run.
I am speaking in potential of hundreds of millions of machines which can be sold that way and probably even more in the third world as cheap surfstations!
I think what we see here is just what happened to the calculators, first expensive and scientific only then the common ones medium expensive and then becoming cheaper and cheaper and now they are sort of a present if you open a new bank account etc...
The Netbooks just follow that way, and I cannot see where Microsoft wants to be in this market with their prices of 50 USD per WinCE license, if Google gives away the alternative for free and shares even the income of the searches over those machines with the hardware makers!
50 USD price difference was enough to keep NVidia out of the netbook market with their ION Chipset it is currently enough to drive phone makers away from Microsoft! And in a segment of 50-100 Dollar Netbooks it will be enough to kill WinCE on ARM netbooks before it can even make a foothold!
The only advantage of Windows is not present in this segment that is the load of desktop applications so Microsoft is on equal ground here and they usually loose if they cannot use their monopoly to gain ground in other segments!
I recently fired up super Mario 64 on the PC in an emulator on 1920x1200 which is higher than full hd, and the game looked gorgeous, it simply looked amazing like a new version. Why Nintendo does not even use upscaling on the Wii in any of the emulated games is beyound me.
Especially the N64 games with their blurry textures scale up really well given the fact that they rely more on shading than textures.
Now back to the Wii, Nintendos emulators on the wii are desastrous, they try to emulate the original modes as correct as possible which means they shoot out many owners of LCDs trying to play the older games via component cables. Now even worse instead of just installing an emu, every game has the emu integrated. While they patched a handful of games so that it runs in a different mode, they did not for most other games. Now if your wii is hacked and you play the roms on emulators, not only the games look better thanks to scaling, but also all of them run as expected.
This is so typical Nintendo, they simply do not recognize the potential of every technology they have in their hands until 5 years after it is too late.
Native programming is possible and has been for quite some time, you have to root your entry point over jni into C and then you can use the C apis natively.
Google itself recommends following way, use java for the most part due to ease of development and then find the hotspots and code them with C if it is needed at all.
The Dalvik vm while itself being very slow is relatively low on mem consumption and google tried to cover the speed deficiencies of the VM by routing everything under the earth from the core lib back into native APIs so that java in the end is mostly just a glue for C routines.
The Dalvik VM has been criticized in the past, but have a look at the presentation of the guy who programmed it, he made very sound decisions, and in the end he also knows the weak spots and probably will resolve them over time (I assume Android 2.0 already has a JIT compiler integrated)
Android does not lock you into a java sandbox, you still can reach the apis as well in C, it locks you into userspace however (not on the dev phone though), which should be expected anyway by a client os.
The java vm is just there to ease the portability on all processor platforms and it is more convenient for most parts of a program to use than raw c/c++.
The main issue is that android itself more or less runs in a vm to prevent you to reach the lowest parts of the phone, which indeed could damage the carriers network if programmed incorrectly.
Send it back to the manufacturer with an explanation, I am sure this will stir some corporate uproar internally and no one will know what to do with it.