It's almost been two months since I got a real Windows Phone 7 device. During this time, I got the chance to test both the user and developer parts of the platform and I tried to summarize my general opinion about the platform in this article - I am covering some developer-specific elements as well as elements related to general OS usability.
- Fast boot/shutdown
WP7 OS boots faster compared to both iPhone and Android, which is a good surprise. I don't really see the need to turn the phone off often, therefore this doesn't affect me that much, but it's still nice to know that whenever it's needed, it's taking around 6 seconds to get it up and running.
- Easy connectivity
If you have a Windows machine, it is fairly easy to connect your Windows Phone 7 device to sync some photos/tunes/videos - all you need is Zune software that comes with all the needed connectivity components. If you own a Mac, all you need is the Windows Phone 7 connector.
- Hybrid of existing technologies
The platform itself uses a lot of components that Microsoft users are familiar with - Zune, Outlook, Office, Xbox Live and Internet Explorer. This makes it easy for those users to start using the device right away - there is no real need to learn something from scratch from the usability standpoint. More than that - it is really easy to configure these software components. On top of that, native integration with Hotmail, SkyDrive (for photo backup) and Facebook makes this platform pretty attractive, at least to someone who uses these technologies quite often.
- Social integration
As I mentioned above, there is native Facebook integration. You can easily configure your account and you will be able to sync contacts, see their photos and updates in a couple of clicks - all without any additional apps.
- Keeping everything essential at hand
I am talking about the ability to pin pretty much everything to the home screen - contacts, links, applications, locations - whatever. One click or glance - and you see what's going on or what's about to happen. Tile notifications are a bit more visible than what's available on the iPhone - big numbers and animations, so that certainly a benefit - I never miss anything that's new.
- Camera accessible without the need to unlock screen
Holding the camera button for a couple of seconds, even if the phone is locked will automatically start the camera application. It's a great feature for those moments when you need the camera quick and there is no time to unlock the phone and look for the camera app (although personally I don't see a big problem, at least for me, because the camera app is pinned to the home screen and is the first one on my list).
- Trial applications
If there is a paid application, in most of the cases (especially if it was created by a professional developer or company) there will be a trial available - install it, see if you like the app or not. If you do - you can buy it. If you don't, you simply uninstall it and that's it - no money spent, no money lost. There is no separation between Lite/Full apps like it is in the Apple AppStore, so you won't have to search the Marketplace for a version of the same app available for free.
- XNA/Silverlight for development
This is mostly a benefit for existing .NET developers - if you have worked with the Microsoft platform before, it will be fairly easy to start developing for Windows Phone 7. Of course, there are platform-specific considerations like those regarding the screen size, the ability to use complex graphics and service mechanisms, but those are fairly easy to understand if you already know about the basic class libraries available in the context of Silverlight and XNA framework. From my experience, it took me 2 days to get myself used to some WP7-only aspects of the framework and I was able to start working on a test app.
- Somewhat limited API
Yeah, I know it's version 1., but still - there are some elements that are really needed, like direct camera access. Did anyone see Word Lens? Given the public API that is available now, you wouldn't be able to do this on the Windows Phone 7 - you can retrieve static camera images, but you have no access to the real-time camera stream. Some other examples might include media access, access to Office and Outlook (since it's included in the OS image anyway) and better access to the contacts app (e.g. accessing info other than the phone number for the selected contact).
- Division of OEM API and regular developer API
Given the fact that the public API is not as extensive as it could be, some developers who decide to disassemble some vendor-provided XAP packages (specifically - Samsung) found out that there is in fact a non-public API layer accessible to OEMs that can use it to access phone capabilities otherwise not accessible to a regular developer. Native layer anyone (with direct access to the phone file system)? I can see why this might not become part of the public API, but there is a lot of other fun stuff that can be built on top of the system with some more power tools. After all, this thing already applies to iPhone and Android.
- Need to register as a developer to debug on your own device
This was really surprising to me when I first found out about the requirement. If I already own a device, why can't I just plug it in and debug on it? Instead, there is the $99 fee required to register for the Marketplace and then you have to go through the entire certificate acquisition process with GroTrust (took a month for them to get back to me on my issues with this) to simply select the device in Visual Studio and run the app on it. And although I went through this process with the help of DreamSpark (so I didn't have to pay the registration fee as a student), it took some time to get my phone up and running for development purposes. This might not be a big problem for large companies, but for an individual who wants to test the grounds of Windows Phone 7 or for a hobbyist this might be a deal breaker.
- No copy/paste
So it was mentioned somewhere that it might be available in the next release. However, given that other platforms already have it and WP7 enters the market a bit later in the game, it wasn't a good thing, in my opinion, to not have copy/paste capabilities in the initial release. I am already feeling the lack of this feature when browsing web content - when I want to select a small part of the page and paste it into a text or share just a portion of it via a status update.
- Poor application quality - still there
I am not entirely sure on how submitted applications are tested, but I found some apps on the Marketplace to be extremely buggy. And by extremely I mean crashing at launch, crashing right after launch, not working the way it is presented in the description, bad page layout (messing up on switching between landscape and portrait modes) and locked UI (someone needs to re-read threading docs?). Knowing that the platform is young, I am a bit more tolerant towards something like this and I understand that maybe there are some missed things when it comes to application approval. However, for a non-devloper but rather a regular user who just bought the phone, seeing applications like I mentioned above might be the trigger to switch to a different platform.