It seems that after a long time of waiting Microsoft is finally on target for providing a consistent experience across all devices and computers. The first steps on this journey began with the announcement and subsequent release of Windows Phone and has continued with the introduction of the Xbox 360 Metro Dashboard and the Windows 8 Metro Start Screen currently available in the Release Preview. Unless you have been living under a rock you will know that this consistency is built on the Metro UI which began its life with Windows Media Center. It is Microsoft’s hope that by bringing this Metro UI to Window 8 that as people learn how to navigate this new touch first interface that they will be drawn to Windows RT when looking to purchase their first tablet or slate device.
Now as Mary-Jo Foley (blog|twitter) reported we are getting close to Windows Phone developer summit that is scheduled for June 20th when Microsoft is expected to reveal information on “Apollo” which is the codename for the next version of the Windows Phone OS and Paul Thurrott (blog|twitter) has already given us a Windows Phone 8 Preview (the ideas I’ve come up with stem from some of the information Paul provided).
It makes sense that Microsoft would make improvements based on lessons learnt and enhancements to Metro made during the development of Windows 8 and the release of Windows Phone 7. As Paul has detailed WP8 should adopt the Windows 8 core and so I’ve been thinking about how elements of that could be adopted to keep a consistent experience and also improve from “Mango”.
At the launch Microsoft made a big deal about how Windows Phone was taking a different approach and building a platform where applications could integrate into the OS and also communicate with each other. This is an early implementation of “contracts” whereby applications can allow you to share information by email or social media without having to perform a manual “copy-and-paste” between apps. There are limitations and I have spoken to developers who were frustrated that they couldn’t integrate with the share option in Internet Explorer.
While thinking about what Microsoft might do with WP8 it made sense to me that they would extend this integration to include the “contracts” from Windows 8 and from there I started thinking about how they could make this experience consistent. I feel that edge gestures in Windows 8/RT could make it into WP8 and then I thought why not just include the full charms bar so that the experience is consistent.
The charms bar could be opened with the exact same edge gesture and provide the same experience thereby reusing the experience people have had in Windows 8. Each charm could even offer the same functionality and as you can see the “search” button has been removed from the bottom of the device.
Perhaps the context picking for search in Windows 8 might be hard to fit onto a mobile device but it would be a nice way to include universal search and also provide a consistent access point for both sharing and settings. The power here is that consumers only need to learn how to interact with these features once.
I know edge gestures could be difficult to implement on a small device but it has been done before with the Nokia N9 and would also fit in with the possibility that existing Gen1.x devices won’t be upgraded since their touch screens might not be able to support this.
I have never really liked the small arrow sitting in the top right of the start screen for accessing the full list of installed applications as it leaves the tiles off center so perhaps we could also see the “All Apps” copied from the Windows 8 start screen. The “app bar” already exists in WP7 so it’s not that much of a leap. Hopefully the app bars could be a little less cluttered on WP8 applications too as the options would now be accessed through the charms bar.
As you can see in these two images the “back” button is also removed so that would need to be worked into the UI of applications as it is with Windows 8 so again might be restrictive on a smaller device. This would also be a more difficult feature to drop due to compatibility with legacy WP7.x applications that should be supported via some sort of emulation in WP8. It would make for a cleaner device and also put an end to catching the capacitive buttons during a game of Fruit Ninja (although the remaining Start button would still be there of course).
The multitasking features of WP7 are currently accessed by holding down the back button so perhaps we might see the left edge UI from Windows 8 carried over to WP8 for task switching? I do hope that at the very least apps resume regardless of how they are started instead of the current implementation where they only resume when accessed via the back button.
Hopefully next week we’ll find out many of the features coming to Windows Phone 8 and just maybe some features I’ve suggested here could be included. What do you think and what are you hoping to see? Please let me know in the comments or better yet contact TDL Mobile so we can discuss it on the show.
I would like to thank Ian Dixon (blog|twitter) for compiling the images used in this post.
{"id":null,"mode":"button","open_style":"in_place","currency_code":"GBP","currency_symbol":"\u00a3","currency_type":"decimal","blank_flag_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"TheDigitalLifestyle.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"TheDigitalLifestyle.com","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"TheDigitalLifestyle.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}