Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The things that really mattered, apart from really well thought out and implemented multi-touch were: A true pre-emptive multitasking OS; Full 32bit application process memory model; multiprocessor support; OS level support for power management profiles for apps, based on experience from laptops and enabled by all the above; server class security, again enabled by the kernel features above. A full featured network stack and background services, again enabled by the first handful of features.

Bear in mind the Windows CE kernel, used until Windows mobile version 8 in 2012, was a single tasking OS with severe fundamental architectural deficiencies. That’s why Microsoft never allowed ‘ordinary’ developers access to write in C++. That was restricted to selected partners, because it gave full naked access to the platform and required specialist knowledge and skill.

Meanwhile Apple could let anyone develop on their platform in C, C++, Objective C, it’s all fine and just upload it to the App Store because it had workstation class process isolation.



Where did you get this idea the normal devs couldn't program Windows CE with C++. There are tons of open source C++ Windows CE apps from as far back as the 90s written in C++.


The Phone 7 App Store only allowed Silverlight, XNA and .NET applications, C++ apps were only allowed by close partners. Thats because CE didn't have a robust security framework or process isolation. This is fine on non-networked devices like the ones in the 90s you referred to because the worst that can happen is crashing the device, but once you have constant network access you need to be a lot more careful about allowing direct access at the system level. A badly behaved app could play havoc with the network, especially since the network stack on CE was pretty primitive with few safety features.

Also early CE devices were aimed at technical users that knew how to side-load apps and were much more tolerant of technical issues, but the later phones were aimed at ordinary consumers and so needed to be as reliable as possible. Hence the restriction to managed framework dev environments for general developers releasing to the App Stores on version 7 and below.

This is why Apple could open up their App Store to any developer with basic review, because the system was heavily locked down with robust system security, process isolation and networking models. Windows Phone didn't have that until version 8 in 2012, based on the NT kernel, and that's when the MS App Store started accepting apps developed in low level languages. That wan't a co-incidence or a capricious decision by Microsoft, but based on pragmatic considerations.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: