Thursday, December 29, 2011

Why Microsoft Got The Windows 7 Phone Wrong - Part 1

I love Microsoft. I really do. However, there are some things that Microsoft does that are so ridiculous that I really have to wonder. I have a brand new phone. It is the HTC Titan. I love new things. The phone has a big screen area - which I like - and a great camera - which I LOVE! Those are the good things about the phone. After having had an iPhone and an Android based Samsung Infuse, I was prepared to see something awesome from Microsoft. Microsoft, as we all know, was late to the mobile phone market. In my mind, that means that the product should be far above and beyond everything else on the market. The problem is that it isn't. I'm going to document my experiences with this phone because some of the issues I have with it are so ridiculous that I can't even believe I am having them. I'm going to add to this list and update things as the issues I have with the phone are resolved. I am also going to outline some things that I am going to personally do to help my experience with this phone - namely develop some apps for it. So here goes.

1. Don't make people create a Windows Live account to use the phone!
Microsoft was late to the market with the Windows Phone. When I say late, I mean REALLY LATE! That means that people already have Google accounts and iTunes accounts that they want to use with their phones. I'm not saying that you shouldn't brand your phone, but forcing people to sign up for a worthless account is counter-productive. I have a Windows account because I develop in Microsoft technologies, however, I don't want that linked to my phone and I don't want to HAVE to create a dummy account for no other reason than using the phone. Apple does this too, but Apple was first to create an application store. It's like arriving to a potluck dinner late and insisting that everyone eat your food. If you are late to the party, you should, in my opinion, make it SUPER easy for people to use your device. If you don't use your Windows Live account, the phone is basically a brick - you can make calls with it and do a few other things, but that is about it. Wrong move Microsoft.

2. After you force me to sign up for a Windows Live account, DO NOT automatically add contacts I save to the phone to that Windows Live account. I was SO angry to see that the phone was doing this. I searched all over the phone to figure out how to stop it from adding contacts to my Windows Live account, but I couldn't figure out how to stop it. If there is a way to do it and I couldn't figure it out, then it isn't simple enough to find. I can't stand this feature. Microsoft should give users the choice to save a contact to Windows Live OR to the phone only!

3. The Windows Phone doesn't allow you to easily add, see and switch in between multiple email accounts. This is a BIG issue for people like me. I'm a business person. I have several personal email accounts as well as many business email accounts. I loved how I could see them all on my iPhone and on the Samsung Infuse. Why can't I do the same thing out of the box
on the Windows Phone? Microsoft likely thinks that giving people a choice will stop them from using Microsoft products. However, the bigger issue should be to give people what they want. Not having this feature is just plain dumb. Again, if the phone does have it and I just missed it, then it isn't simple to enough to find. On the iPhone, this process is clear, concise and to the point.

OK. I was wrong on this one. The phone DOES allow you to add multiple accounts and easily access them, BUT it shows ALL of the accounts as different squares on the home page instead of giving you ONE email screen that lists all of the accounts and allows you to select which one you want. I have about 20 email accounts and having 20 different little squares on my home page is a PAIN IN THE REAR ENDDDDDDDDDDD!!!!!!!!

4. The phone should give users the opportunity to make those huge icons on the main screen much smaller. The Windows Phone setup seems to be geared toward people who need glasses. I'm not joking. Although those big squares are colorful, they take up a lot of screen real estate. If users had the OPTION to make them smaller, life would be so much better. Bad, bad Microsoft!

5. When you link contacts, the phone does some weird crap if you try to send a text message to one of the linked contacts. It groups all of the phone numbers under the name you select instead of just showing one phone number. So lets say that you have Sara, Selena and Stacy in a group. Each one of those people has a different number. If you select Sara to send a text message to, the phone shows the numbers for all 3 people under Sara's name! I tried it twice to be sure that my eyes weren't deceiving me. That is the craziest, most ridiculous process! I had to unlink to be able to send a text message to the correct person. Bad, bad, bad Microsoft.

6. The marketplace for Windows Phone 7 SUCKS! I wish it didn't. I am SO disappointed in Microsoft for this. If I were Microsoft, I would have hired a team of developers well BEFORE the launch of the phone and made it their BUSINESS to crank out app after app after app. There should have been apps for many things that there aren't apps for right now simply because they were late. I feel that if you come late, you come better!

7. Making me keep an XBOX Live icon on the list of apps makes me unhappy. Apple and Google both do this, but making it so that users can't remove certain unnecessary apps is upsetting to me. I don't own an XBOX, play on an XBOX or intend to play on an XBOX ever in my life. Maybe THAT is my problem - lol.

Right now, December 29, 2011, this list ends at 7. As I go through the HTC Titan, which is an absolutely solid, beautiful phone.

If you are considering a Windows 7 Phone, I would say that you should go for it. The phone is responsive. However, if you do a lot of business and need certain applications to do that work, I would give the platform a chance to grow up a bit. Right now the platform is a little wet-behind-the-ears. I love you Microsoft.

Kila Morton

Tuesday, December 13, 2011

How To Remove Duplicates And Sort Lists Of Things In C#

This is a quick and dirty simple list of how to remove duplicates from lists of items in C#. It is simple to do, yet a lot of people create monstrous for loops to accomplish deduping and sorting. It isn't and doesn't have to be complex. Here is a quick and easy list of some ways for you to dedupe and sort your lists.

string[] sItems = { "one", "two", "three", "four", "five", "one", "two", "one", "two", "one", "two", "one" };

//counts the number of times a value occurs

var counts = from sItem in sItems

group sItem by sItem into g

select new { Item = g.Key, Count = g.Count() };

//removes duplicates and preserves the original order

var dedupe1 = new HashSet<string>(sItems);

//removes duplicates and preserves the original order

var dedupe2 = sItems.Distinct();

//removes duplicates and reverse the order of elements

var dedupeAndReverse1 = sItems.Distinct().Reverse();

//remove duplicates and sort

var dedupeAndSort = sItems.Distinct().OrderBy(x => x);

There are additional ways to accomplish the same thing, but these are simple, quick and easy to use.