W3bbo said:Clint said:*snip*
"so the lack of these c/c++ libraries is stopping you from building apps?"
I never said the lack of C/C++ code reuse was stopping me from building WP7 applications. I said it was stopping me, and tens of thousands of developers, from building whole classes of applications.
Here is a list of applications that you can make for Android and iOS which you cannot do on WP7 because of this:
- Augmented Reality
- Musical instruments (proper ones, not cheap "press piano key, play("noteDFlat.wav");"-style applications)
- Video editing
- Sound-effect programs using DSP
- Developing alternatives to system features, such as Input editors (remember how WM had a load of cool alternatives to the soft keyboard?)
- Robotics applications (lots of robotics projects used to be powered by PocketPC devices using the device's host USB controller. In one project I'm working on we decided to go with using an ASUS Netbook because of the uncertaintly over using Windows CE as a viable robotics controller).
- I could go on...
...if you actually can build these with the current API framework with Silverlight or XNA, I'd sincerely like to hear your work-arounds.
Well, you definitely raise some good points (and so does rhm). Some of the points seems to be related to performance issues (Musical instruments, DSP, etc). Others seem to relate to lack of APIs (USB controller, alternative keyboard, etc).
For the performance issues, I guess we'd need to wait for hardware to see how much of a speed difference there really is. I already ported a pitch detection algorithm (using a heavily modified auto-correlation method) to WP7, and at least in the emulator I am getting acceptable performance, and I expect this to be better on actual hardware. Double-precision floating point performance will supposedly be good, even better that single precision. As far as the ARMv7 vector processing goes, it is possible that an API can be added at some point to expose this, right?
I think we have to keep in mind that this is v1.0 and that the iPhone v1.0 didn't even have any way to write apps for it at all (well, there was that whole web-app thing). MS made it very clear that they are continuously adding APIs and features, Bluetooth and Flash being examples of this.
BTW, you can mix some aspects of Silverlight and XNA, so picking SL for instance doesn't mean you can't use parts of XNA.
I am surprised though that MS chose to make some of the same mistakes that Apple made, like lack of copy&paste, no multitasking, no side-loading. Apple fixed the first two, but how much outcry (bad press) did it take to get it fixed? Why not learn from those mistakes and do it right the first time around? For the app store, why not have an "official" app store, and also allow additional 3rd party stores with the understanding that there will be no guarantee that apps from those stores won't screw up your phone (malware, etc). Kinda like signed vs unsigned drivers - we know it can screw up our systems but we are willing to take the risk. And some healthy competition between app stores can only be good for everyone.