I have used Windows Mobile/Phone for 10 years and also 3 years experience on Windows Phone app development. I have many expectations on Microsoft and Windows Phone; however, let me share some opinion after the first glance of the leaked screenshots of Windows 10 Mobile, also with some expectations of the SDK from developer’s perspective.
User Perspective
Terrible UI/UX
I'm confused by why Microsoft decided to bring the so-called "hamburger menu" on Android to Windows 10 Mobile. It leads to a bad experience for user who use phablet such as Lumia 1520 with one hand. Another terrible thing is the UI layout, take system settings page for example, the item header has same font size with item description, where is the UI hierarchy? Did you guys forget your Microsoft design principles? Even worse, the appearance of context menu and toggle switch differs from page to page, and the new design is not better than the older one.
Missing Pivot & Hub
More interestingly, there is no more Pivot and Panorama/Hub control in brand new Universal Apps on both PC and phone. Pivot and Panorama bring fluent and unique user experience for Windows Phone user, and I don't think the new iOS-like tab design will do better.
Built-in Call UI
It is a common feature for Android user to search the contacts when you input numbers in built-in Call UI. However, it seems there are no big difference in the Call UI of Windows 10 Mobile besides the UI change (actually I think it’s just a change but not improvement).
Cortana is not smart enough
As we know, there is a huge command database behind Cortana to match user’s input and questions. However, Cortana often return web search results from Bing even you asked for a simple question, but in different way or sentences. Compared to Siri, there are still many room for improvements even if Cortana seems to be a more potential digital assistant.
Fake apps in store
There are too many fake apps on the store, and I believe that it’s partly due to that Windows Phone team need more apps to hit their KPI so that no more store certification now (even if it says it “may” need certification). I ever submitted an app but there isn’t any access log from certification team shown on my backend, haha…
Developer Perspective
Development framework
Although I still stick in Windows Phone Silverlight App development, it is confused to have both Windows Phone Silverlight App and Windows Phone Store App. I believe that WinRT is the unique road in the future, don’t let the developers learn new architecture again.
Multiple version maintenance
Currently if you want to provide support for all the user from WP7, WP8 to WP8.1, but also want to provide some features to WP8.1 user using some newer API, you may need to maintain 3 different projects even if the most of logics are the same. A common approach is to maintain the business logic in a separated portable class library, but it is still a problem when dealing with version-specific API or namespace. In contrary, Android provides the concept of minSdkVersion, targetSdkVersion and maxSdkVersion, hope Microsoft bring the similar mechanism to Windows ecosystem. It does not make sense to maintain a all new project for Windows 10 Mobile.
App lifecycle vs. contract
Share contract is a good design to provide mechanism for apps to share their app with other apps, even Apple bring the similar Action Extension in iOS8. However, if you open a link from Facebook app and want to share it from IE to Facebook and write a post, you may find that the original Facebook view is gone when you finish your post and back from IE. It’s because the share contract mechanism override the original application instance.
Deep integration with Cortana
The only way to integrate your app with Cortana now is to use natural voice command, but user still need to call your app name first. It might be good to bring the API such as “CortanaContentProvider” for app to provide more information to Cortana view and search results. Google Now has provided a similar way to show data from third-party app in a card format.
More API, more innovative apps
Currently there are many API restrictions on Windows Phone development, such as the background execution, or access to user’s private information like call log and SMS so that many innovative apps cannot land in WP market. I know there are some privacy concerns, but a good way is to provide privilege API access for specific app manufacturer. A good example is that Microsoft has a partnership with Truecaller to provide real-time Caller ID on Windows Phone platform last year, and I expect for much more such cases. However, please don’t forget to bring more APIs to developers, it’s about one year since the live lock screen introduced, but no public API so far…
Broadcast push notification
Both MPNS and WNS use an URI to specify a device, and developers can send a push notification by simply sending a HTTP request to that endpoint. However, sometimes we need to broadcast a message to a bunch of clients, if there are 10M target devices, we need to send 10M HTTP request, which doesn’t make sense. Both Android and iOS provide a way to broadcast to multiple clients in a single request, so please!
Social integration
It takes a high cost to let user login with social account on Windows Phone, because it always need a web browser to input username and password manually. The more ridiculous fact is that even Microsoft Account, we have no way to help user login automatically. It’s possible to use URL scheme to communicate with third-party app, but why not directly integrate with social accounts in People Hub?
UI automation and CI
Both UI automation and CI is very popular in mobile development recently to improve the quality of the applications; however, the third-party support and resources on them are very limited in Windows ecosystem. Maybe Microsoft should bring some official solutions.
User Perspective
Terrible UI/UX
I'm confused by why Microsoft decided to bring the so-called "hamburger menu" on Android to Windows 10 Mobile. It leads to a bad experience for user who use phablet such as Lumia 1520 with one hand. Another terrible thing is the UI layout, take system settings page for example, the item header has same font size with item description, where is the UI hierarchy? Did you guys forget your Microsoft design principles? Even worse, the appearance of context menu and toggle switch differs from page to page, and the new design is not better than the older one.
Missing Pivot & Hub
More interestingly, there is no more Pivot and Panorama/Hub control in brand new Universal Apps on both PC and phone. Pivot and Panorama bring fluent and unique user experience for Windows Phone user, and I don't think the new iOS-like tab design will do better.
Built-in Call UI
It is a common feature for Android user to search the contacts when you input numbers in built-in Call UI. However, it seems there are no big difference in the Call UI of Windows 10 Mobile besides the UI change (actually I think it’s just a change but not improvement).
Cortana is not smart enough
As we know, there is a huge command database behind Cortana to match user’s input and questions. However, Cortana often return web search results from Bing even you asked for a simple question, but in different way or sentences. Compared to Siri, there are still many room for improvements even if Cortana seems to be a more potential digital assistant.
Fake apps in store
There are too many fake apps on the store, and I believe that it’s partly due to that Windows Phone team need more apps to hit their KPI so that no more store certification now (even if it says it “may” need certification). I ever submitted an app but there isn’t any access log from certification team shown on my backend, haha…
Developer Perspective
Development framework
No more Silverlight please!
Although I still stick in Windows Phone Silverlight App development, it is confused to have both Windows Phone Silverlight App and Windows Phone Store App. I believe that WinRT is the unique road in the future, don’t let the developers learn new architecture again.
Multiple version maintenance
Currently if you want to provide support for all the user from WP7, WP8 to WP8.1, but also want to provide some features to WP8.1 user using some newer API, you may need to maintain 3 different projects even if the most of logics are the same. A common approach is to maintain the business logic in a separated portable class library, but it is still a problem when dealing with version-specific API or namespace. In contrary, Android provides the concept of minSdkVersion, targetSdkVersion and maxSdkVersion, hope Microsoft bring the similar mechanism to Windows ecosystem. It does not make sense to maintain a all new project for Windows 10 Mobile.
App lifecycle vs. contract
Share contract is a good design to provide mechanism for apps to share their app with other apps, even Apple bring the similar Action Extension in iOS8. However, if you open a link from Facebook app and want to share it from IE to Facebook and write a post, you may find that the original Facebook view is gone when you finish your post and back from IE. It’s because the share contract mechanism override the original application instance.
Deep integration with Cortana
The only way to integrate your app with Cortana now is to use natural voice command, but user still need to call your app name first. It might be good to bring the API such as “CortanaContentProvider” for app to provide more information to Cortana view and search results. Google Now has provided a similar way to show data from third-party app in a card format.
More API, more innovative apps
Currently there are many API restrictions on Windows Phone development, such as the background execution, or access to user’s private information like call log and SMS so that many innovative apps cannot land in WP market. I know there are some privacy concerns, but a good way is to provide privilege API access for specific app manufacturer. A good example is that Microsoft has a partnership with Truecaller to provide real-time Caller ID on Windows Phone platform last year, and I expect for much more such cases. However, please don’t forget to bring more APIs to developers, it’s about one year since the live lock screen introduced, but no public API so far…
Broadcast push notification
Both MPNS and WNS use an URI to specify a device, and developers can send a push notification by simply sending a HTTP request to that endpoint. However, sometimes we need to broadcast a message to a bunch of clients, if there are 10M target devices, we need to send 10M HTTP request, which doesn’t make sense. Both Android and iOS provide a way to broadcast to multiple clients in a single request, so please!
Social integration
It takes a high cost to let user login with social account on Windows Phone, because it always need a web browser to input username and password manually. The more ridiculous fact is that even Microsoft Account, we have no way to help user login automatically. It’s possible to use URL scheme to communicate with third-party app, but why not directly integrate with social accounts in People Hub?
UI automation and CI
Both UI automation and CI is very popular in mobile development recently to improve the quality of the applications; however, the third-party support and resources on them are very limited in Windows ecosystem. Maybe Microsoft should bring some official solutions.
Oh it's just a preview. Let's wait for more news about Windows 10 Mobile!
Last edited: