Sunday, July 5, 2015

Reddit Revolt 2.0: Lessons learned about open discussion platforms


Digg's collapse


Years ago I was highly invested time and mindshare wise in a little website you might remember called digg. I was one of the very early users and spent a fair amount of time curating content on the site through 2005 into 2006. As digg became more popular I became more dissatisfied with the place. As the number of users increased I found the level of discourse decreasing and the insular nature increasing. Sometime after 2008 I had finally had enough and I had my digg account deleted.

I saw promise in digg and became intrigued with the idea of making digg or something like it work. How to have a successful large diverse platform for open discussion that doesn't devolve into stupidity and group think. I don't even remember how many blog posts I started between early 2006, when I started to see problems with digg, and it's eventual collapse in 2012. I never never finished let alone posted any of them. In the end what killed digg was not the things that annoyed me about it. People seemed to love it. Its users numbers increased dramatically long after I left. Digg version 4, a rather blunt attempt to monetize digg, caused a max exodus and after a couple of years digg was sold for almost nothing.

The problem wasn't just that digg v.4 was buggy but that it altered the way content got promoted on digg. It took power away from the users and pushed it toward high traffic sites that could benefit from being on digg. Digg was founded on and grew through the users controlling content. As Alexis Ohanian founder of digg competitor reddit said "this new version of digg reeks of VC meddling. It's cobbling together features from more popular sites and departing from the core of digg, which was to "give the power back to the people".

Reddit's Revolt


And that moves right onto reddit. Reddit similarly to what digg did, relies on its users to provide content for the site and upvote things to show they are important. Users also have the option to downvote things they don't like. Reddit puts even more demand on its users to keep the site successful. Anybody can make a discrete section of reddit called a subreddit. They then can add user moderates to help control that sub. This puts almost all the onus and all the power on the users.

Reddit faces the same problem digg did. How do they become profitable. All accounts are that reddit has never been In the black. I have thought that the subreddit concept has given reddit a slightly better chance of making money. The default subs which are the ones that show up if you are not logged in are controlled by reddit. They could manipulate that to push what content they want toward the masses. There is a mechanism by which non default stuff can make the front page but that could be manipulated to exclude undesirable results.

 As I type this reddit is experiencing yet another revolt. Revolts are not a new thing for reddit. This latest revolt is the end result of months of rather ham handed and contradictory actions by reddit co. Reddit announced that they would be dealing with harassment. They also announced they would be increasing transparency.  They have then gone about enforcing the policy randomly and in an obscure manner with no transparency whatsoever. On top of that, there has been a long simmering distrust that reddit no longer puts the users first.  This all came to a head when two admins were fired. Admins are reddit employees that sort of act like community managers for different aspects of the site. By all accounts these two admins really helped the communities they were involved with. This was the straw that broke the camel's back. For awhile now, a lot of the mods, who are volunteers, have felt a growing anger a the lack of help and interaction from official reddit employees. The users and mods are doing all the work. The mods fed up decided to flex their muscle with this little revolt.

Will reddit ever be profitable.  Will it collapse and die like digg?  Frankly I don't care. I see reddit as a useless place. It's either banal content or very unintelligent group think.  I challenge anybody to read comments in its politics section and not have a brain hemorrhage.

A few thoughts on making a successful online discussion platform


The above was a lot of words to get to what I really wanted to talk about.  Also a bit of clickbaiting to get on the hot topic of the moment. Heck there is an article in the New York Times about the reddit revolt. I have thought a lot about what would make an online community work successfully. I want an online community that fosters diverse intelligent discussion. I don't want the community to devolve into stupid content. A billion pictures of kittens, "this", and stupid pun threads dominate a good portion of reddit's popular areas. It needs to be a place were competing ideologies can be discussed without mocking. Or as in reddit's case just resorting to the down vote to silence things you don't agree with. There also needs to be some way to keep trolling to a minimum.

I have been a  part of s few very good online communities and they all had two main things in common.

Don't be about money


And with that statement most silicon valley people stopped reading this post. I know none of them are reading this anyway. The best communities I have been a part of were mostly run by volunteers, with server etc, paid for by donations or with a small amount of add revenue. Nobody was trying to get rich. Removing the profit motive removes any external pressures and can make things all about the community.

Keep it small and uniform?


The successful groups I have been a part of have all been fairly small and uniform. At the maximum, one of them might have been a thousand people. We also tended to discuss only one topic with general agreement. For example, the sports board might have argued over a 3-4 or a 4-3 defense but we were mostly Chicago Bears fans.

Obviously being uniform goes against my desire for a diverse discussion. But there might be something to keep the number of participants small. What I have noticed is once a communities discussions start going stupid the rate at which it devolves accelerates. Intelligent people tend to get frustrated and move on when the place is dominated by idiots.

I have one final important idea for fostering a good community. Though this may seem to go against my desire for openness.

Some cost and barriers to participation:


One of the big problems with reddit is the lack of cost to participate or interact.  You don't even need an email address to make an account. You can upvote and downvote to your hearts content and make all the silly comment you want. The comment karma system should work as a brake on bad content but it fails.  I had two main accounts during my time on reddit. One of them had over five thousand positive comment karma while the other had over three thousand negative karma. One of these was my troll  account and the other was my account were I tried to have serious discussions. Guess which was which. Yep the troll account had plus five thousand comment karma. The upvote/downvote mechanic on reddit is almost universally used to show disagreement with an opinion not as  a reflection of the quality of the content.

 A lot of online forums use certain barriers to try and improve the level of discourse. Some require you to have a certain number of comments on the site before you can submit content. Other employ a reddit like karma system but make you earn an amount of positive karma before you open up more access. I've seen this in heavily moderated site. The mods have to approve early submissions but once you have been approved enough you get automatic access.  Obviously this can be easily manipulated to only allow certain viewpoints to be expressed.  Some places require a minimum post length. This is to encourage well thought out contributions and to reduce quick troll comments.  Of course you can just post "F you!" and copy it a bunch of times.

I combine several of these efforts kernel of an idea. First off there would be no enclaves on my discussion forum.  There would be no conservative or liberal subsection. There would only be a sections to discuss with people who held different views. Each person would get a small number of mod points a day. There would be a limit to how far up or down something could be voted. Responses will need to be over a certain length and there would be a delay before someone could respond. I would also restrict the number of times a day a person could post.



Friday, June 12, 2015

Fixing a sticky middle button on a Logitech G500 mouse

For years I've used a Logitech G500 mouse.  I had a G5 mouse before which I thought was slightly better but I have really found the G500 to be a good mouse. Recently I began having a problem were the middle button would act like it was being pushed when it wasn't. This made things difficult.  Tabs in my browser would close when I tried to switch to them etc.  I looked online and this problem had been experienced by other owners. At this point the my G500 is something like four years old so it wouldn't be unreasonable to replace it. But I don't want to spend any money so I thought I would try and fix it. I found a video of a guy who had to put plastic in his mouse to keep the buttons from pushing. His theory was that static electricity was causing the other buttons to fire as if pressed.

So I took my mouse apart to see if there was anything I could do.  Watch the video below to see my somewhat hilarious attempt. I present it mostly for comedic value.  I apologize for the blurry picture and my mumbling.


Once I had the mouse apart I found a bunch of cat fur in and around the middle button/scroll wheel. I cleaned it out and blew out the mouse with compressed air. So for the verdict. Did it work?  It seems to have. That was three weeks ago and I am still using it with little problem. I guess I can blame everything on the cat.

Tuesday, May 26, 2015

Microsoft Continuum: dreaming of the future of computing

Almost ten years ago I sat with a friend and I explained to her what I thought would be the future of computing. This is what I described. You would have a device you would carry with you at all times your "phone". I actual prefer the old term MID(mobile internet device) but that ship has sailed. Far more than just making calls this device would be always connected to the internet. It would also be powerful enough both processor wise and memory wise to do almost everything a normal person does on a laptop. When you arrive home it automatically connects to your home network of devices. You sit on the coach and pull out a wireless keyboard. Hit a button and your phone projects a desktop screen onto your tv. Or perhaps there is a smaller photo frame type screen next to your couch and it displays there. Your phone would adapt its interface to whatever input and output devices you connect to it.


This was not some unique insight on my part. Many people have pursued this same concept. A few years ago, Motorola had a cell phone that you could buy a laptop like dock to use the phone as a laptop. It barely worked and was horrible but it showed people were looking at the sort of convergence I mentioned above. Apple has taken some steps in that direction with continuity. Just recently at their Build conference Microsoft announced something that seems really intriguing. With Continuum, Microsoft is moving computing in a direction that could make my dream a reality in only a few short years.  I'll let Microsoft's Joe Belfiore explain it for you.


The I don't watch videos version:  an app on your phone will automatically adjust to a bigger screen or a connected mouse. keyboard etc.

I was so excited about Microsoft's adaptive UX development kit and now I see its full potential.  You will be able to write an  app for the phone that can adjust its interface to any screen size or input devices.

The future is now. I just need my faster than light travel.



Thursday, May 14, 2015

Talking Microsoft Edge and Vivaldi: is there space in the market for new browsers

I have been running the Windows 10 technical Preview for a few months on my slow old netbook.  They have been including early looks at their new browser originally called Spartan now officially known as Edge. I've also downloaded and spent some time with Vivaldi a new browser from some of the original people who worked on Opera.


Project Spartan toolbar


Is there room in the browser space for new players?

Throughout the history of the web there has been great fluidity in the browser world. Netscape ruled the early world of the web. Then Internet explorer conquered all. At one point in the early 2000s IE had 95% market share.  You could have looked at that and just assumed it was over and the browser for all time had been found. But as we know, that is not what happened. Along came Firefox and then IE's market share fell and fell.  Firefox stood tall until Chrome came and started chipping away at Firefox.  Current statistics show a somewhat diverse landscape. Chrome is dominant at around 50% market share with the rest largely split between IE and Firefox. Though the smaller plays such as Safari still have their niches. What we learn is that people don't stay with the default. Many normal people will actively choose and download a new browser. Even my Mom downloaded Firefox.

Why is the browser space so volatile?

Most software areas tend to stagnate around one or a few dominant players with only an occasional tectonic shift. The browser space seems particularly unique and fluid. The early browser war  between Netscape and IE revolved around two main battlegrounds. First off, IE was provided as default on windows computers. I don't think this is the major reason that IE became dominant. The two browsers fought over who could bring the best unique powers to the browser. They didn't really care a whole lot about the standards.  Netscape came out first with javascript and IE introduced Active X.  IE won because it provided an easier platform for doing interesting things. Active X was a security nightmare but it gave a lot of power to developers.  As a web developer in the early 2000s It was easier to do interesting and dynamic things on IE. Thus it's dominance. Then things started to shift to Firefox.  Firefox offered tabbed browsing and then add-ons that allowed a lot of customization.  It also worked a lot faster and was more secure than IE. Then Chrome came along and and it was even faster than Firefox and offered great tools for web developers.

What will it take to succeed in the browser space?

The next successful browser will not win because of unique features.  With add-ons and extensions almost any feature can be added to any browser. Vivaldi is trying to push forward with excellent tab management for using a huge number of tabs, but this can be added to other browsers.  Edge touts its annotation features and minimalist design, but, once again, these can be added to other browsers. I believe three things will describe the next dominant browser. It will defined by speed. It will load pages quickly, do javascript quickly, and show videos quickly. Efficiency will be paramount. Chrome has earned a reputation as a memory hog.  The next browser winner will need to use as little memory and CPU as possible. This should be solvable, but both Firefox and Chrome eat memory. It will need to be easily extensible and theme-able. Whatever browser provides these will become dominant. Maybe it will be a future version of an existing browser or maybe it will come from somebody new.

Thursday, May 7, 2015

No, Silly Pundits, Google+ is not dead



Since the service's inception, declaring the imminent demise of Google+ has been a regular main stay of the lazy tech pundits. Steve Denning of Forbes went a step further recently and declared Google+ not dying but already dead. I call this sort of tech punditry lazy because it is a very easy way to get a lot of views and comments.  Google+ has a number of devoted followers that will rush off and defend it when it's threatened. Denning doubled down with a followup article about how he was really right and Google+ is dead. 

I'm not going to go through these articles point by point and rip them apart, others have done a good job doing that. The TL:DR version is that his claim is based on a secret report we can't see that isn't even about Google+ users and the fact that some other tech outlets have written click bait stories.  

I've noticed a common denominator for people who declare Google+ either dead or a graveyard. Whether the person is an actual tech journalist or just a standard person, they all have spent very little time on Google+. "I went on Google+ once and there was nothing going on." "Well who did you circle?  What communities did you join?"  "What now with the circle communities huh?" 


That guy who wrote those two google+ is dead articles, joined, posted twice and that was it. He then declared it dead. You want to know what social media site is a graveyard to me? Facebook. My Facebook stream, dash, whatever, gets about on average twenty posts a day. Most are fairly useless and stupid. No I will not take a quiz to figure out which Frozen character I am. Because of the people I've circled and the communities I have joined, I see about twenty posts an hour on google+.  A good four or five of the posts are even interesting.  On top of that google+ lets me tweak how much of the content from my communities and circles show up in my stream. You post three quizzes about what sort of plywood I am and I'll stick you in a circle I call purgatory where I will never hear from you again. 

From a corporate brand perspective Google+ has not been much of a success. In the early day, some brands made noise about going into Google+. They then posted three times and gave up.  A few brands have put some time into it and have seen some success on Google+.  Some individuals have had success at developing "personal brands". There are Google+ celebrities. 

There is an ever present threat looming over those of us you really like Google+.  Google has achieved an infamous reputation for shutting down things it no longer deems important to its business.  They don't care how many people love it and are still using it: see google reader. A good argument can be made for Google shutting Google+ down. Google+ failed to achieve their original goal. It seems clear they hoped to field a direct challenger to Facebook with the hope that some large number of the already two billion people who regularly use Google products becoming engaged with Google+. This can be seen in the many attempts to force it on other Google users.  I don't think they will shut Google+ down anytime soon. They claim continued growth. Yes maybe some secret report that nobody can see without paying money says they are losing 98% of active people year over year.  Which if you think about it makes no sense. There would only be one person talking to a squirrel left if that were the case. Even if Google+ is only at three to six million heavily active that is a lot of posts to suck in. Remember Google is all about taking in as much information from the internet as it can.

If you want a much better defense of Google+ check out Mike Elgan. He's a tech pundit but he's ok in my book because he agrees with me. That sentence is self deprecating sarcasm for those who didn't get it. 


Sunday, March 29, 2015

Some early info on writing Windows 10 Universal Apps

At Mobile World Congress in Barcelona, Microsoft gave some peeks of what it will be like to develop universal apps in Windows 10.

Watch the video embedded below or it can be seen at msdn.com.  The first fifteen minutes or so is just fluff about how much money you can make writing Windows 10 apps.

My Thoughts


Microsoft seems to be genuinely unifying the mobile and desktop Operating Systems.  The irony is not lost on me that Microsoft is doing the thing everyone said Apple would do. For years peoople have claimed Apple would turn OSX into IOS but they have done nothing in that direction. With Microsoft's new unified OS strategy, you code to one API that will produce one binary that will be able to run on all platforms: desktop, mobile, and xbox. There will be some specific to each platform API elements you can call but you don't have to.

The adaptive UX development kit allows you to create a user interface that will be responsive (As a web developer I hate that term) to different devices.  You can have controls, app elements, menus etc change the way the are represented based on screen or windows size.  You can also change interfaces based the the platforms capabilities. You can have the interface adjust to whether there the device has a touch screen or perhaps keyboard and mouse.

As a web developer I found the hosted web apps interesting.  Short version, you submit your web app, basically your website, to the App store. You can then send them some meta data to request access to certain OS APIs.  For example, you can have your web app open outlook and create a calendar event. It reminds me a lot of active x from years gone by.  I hope they don't have the plethora of security problems they had with active x.

I gotta say Microsoft is doing a lot of forward thinking and exciting things these days.





Thursday, March 26, 2015

Using vanilla javascript and php to change the select options on a form

For a project at work I needed a simple form component.  I wanted one select that showed organization.  When an organization was selected I needed it to populate the next select with the people in that organization. I decided I wanted to do this with old school vanilla javascript. So there will be no jquery or angular, etc. To take it a step further. The select options needed to be filled out from a mysql database.

We will need a form with two select fields.  The first one will have the name of of the organization and the value set to an identifying number. The second select will be empty.  We set an onchange event of the first select to call our javascript function, switchSecondSelect.

<form name="form" id="form">
<select name="first_select" id="firstselect" onchange="switchSecondSelect();">
<option selected="selected" value=""> </option>
<option value="1"> Value 1</option>
<option value="2"> Value 2</option>
<option value="3"> Value 3 </option>
</select>
<br />
<br />
<select name="second_select" id="second_select">
<option selected="selected" value=""></option>

</select>

</form>

In switchSecondSelect we will do several things. First we have to zero out the value of the second select.  If it had been previously set by an onchange event and the new options list was shorter than the old one, the option list would include what was left over from the previous. To set the options in a select we use the Option method.

  Since we want to set both the value of the option and the text displayed. In most languages this would be done with an associative array with the key being the text and the value being the option value.  But javascript doesn't have associative arrays. Luckily it does have Objects which are pretty much associative arrays. The syntax is similar to an array except for the use of {} and a key value pair separated by a :.  We then use the Option method to set the options on the second select.

Here is our function:

//move selections inside the function so I can choose which to use
function switchSecondSelect(){
 //Zero out the length of the select
 document.getElementById("second_select").options.length=0;
 var selections = {"": ""};
 
 var select_one = document.getElementById("firstselect").options.selectedIndex;
 var selected_value = document.getElementById("firstselect").options[select_one].value;
 if(selected_value == 1){
  var selections = {1: "Bob Smith", 2: "Barb Smith"};
 } else if(selected_value == 2){
  var selections = {3: "Kofi Okoro", 4: "Ba Okoro", 5: "Keita Okoro"};
 } else if(selected_value == 3)
 {
  var selections = {6: "Camille Rodriguez"};
 }
 
 
 
 //use option constructor to set second selects options.
//We always want the first option blank for our use here.
 document.getElementById("second_select").options[0] = new Option("", "", true, false);

 //now  go through the object and feed those values into the select
 var count = 1;
 for (value in selections)
 {
  
    
  document.getElementById("second_select").options[count] = new Option(selections[value], value, false, false);
  count++;
 } 
}

Now things get really complicated and I am not going to explain most of it. We need to use php to query mysql and then use the results to construct the first select and the javascript function. In the code, I call custom functions that are part of our framework. We use two tables in the database. The first has the organization name and a unique identifying number. The second table contains information for the people as well as a unique identifying number for that person and a field that records which organization they are involved with.

    <form name="form" id="form">
        <select name="first_select" id="firstselect" onchange="switchSecondSelect();">
            <option selected="selected" value=""> </option>





        </select>

<script type="text/javascript">

    //Set an array of the values you want to change the second select options to have to use an object since javascript doesn't have associative arrays
    //since we want to set the value and string
    //  Where as var array = ["one", "two", "three"];  Objects use the syntax below
    document.getElementById("firstselect").options[0] = new Option("", "", true, false);



    <?
        $companies = $this->app->getAllCompanies();
      
        $count = 1;
         foreach($companies as $company)
        {


                $company_id = $company['rec_id'];
                $company_name = $company['name'];
                echo "document.getElementById(\"firstselect\").options[$count] = new Option(\"$company_name\", \"$company_id\", false, false); \r\n";
                $count++;
        }
    ?>



    //move selections inside the function so I can choose which to use
    function switchSecondSelect(){
        //Zero out the length of the select
        document.getElementById("second_select").options.length=0;
        var selections = {"": ""};

        var select_one = document.getElementById("firstselect").options.selectedIndex;
        var selected_value = document.getElementById("firstselect").options[select_one].value;
        <?
            $sizeCompanyArray = sizeof($companies);
            $count = 1;
            foreach($companies as $company)
            {


                $company_id = $company['rec_id'];

                $employees = $this->app->getContactsByCompany($company_id);
                //set the first selects values which should be the company identifier and the name

                echo "if(selected_value == $company_id) {";
                echo "var selections = {";

                foreach($employees as $employee)
                {
              //  util_debug($employee);
                    $name = $employee['first_name'] . " " . $employee['last_name'];
                    $rec_id = $employee['rec_id'];
                    echo "$rec_id: \"$name\", ";


                }
                echo "}; }";
                if($count != $sizeCompanyArray)
                {
                    echo "else ";
                }
                $count++;

            }
        ?>






        //use option constructor to set second selects options. Always have the first one empty. This is necessary for our framework
        document.getElementById("second_select").options[0] = new Option("", "", true, false);
     
        //now  go through the object and feed those values into the select
        var count = 1;
        for (value in selections)
        {


            document.getElementById("second_select").options[count] = new Option(selections[value], value, false, false);
            count++;
        }
    }
</script>

    <br />
    <br />
    <select name="second_select" id="second_select">
        <option selected="selected" value=""></option>
        <?
    }

Thursday, February 26, 2015

A few months with Windows phone and a bonus review of the Nokia Lumia 520


I spent several months using the Lumia 520 running Windows Phone 8 and 8.1,  Microsoft had both advantages and disadvantages when they decided to push into the smartphone market.  By coming to the modern smartphone market late, Microsoft was able to totally rethink the user interface. Despite what some may think Microsoft is full of very intelligent people. These people looked at the way use smartphones and tried to come up with something better.  They didn't just want to copy Apple the way android did...allegedly.

The User Interface 

 

Microsoft built their user interface around four ways we interact with our smartphone. The first is the lock screen.  All three major platforms do basically  the same things with what we see when first turning on our screens.  They show you missed calls, txts, newest emails etc. Windows phone allows you to set what app you want to display on the lock screen.  For example, you can show the weather or have Instagram display a grid of your friends latest pictures.

The second way we use our devices is through the all app lists. Instead of a grid of icons for all installed apps, by swiping left from the main screen you access an alphabetical and searchable list of all installed apps. This method works well.  The list is easily searchable and having only a small icon allows for a longer names.

The main way we use our phones is by pushing on an app icon on the screen to launch that app. Android adds the very useful concept of widgets.  I've talked about those elsewhere. Microsoft decided to mix the widget concept with a more structured format.  Thus was born the Live Tile interface. The live tile interface only takes up one screen.  It will only ever be the width your phone display but it scrolls down forever.  Any app can be pinned to the screen in one of three sizes.  The smallest size shows just the icon of the app.  The next size up is a 2x2 square of the smallest size.  The largest size is two of the medium ones side by side making a large rectangle.  All this can be seen in the screen shot to the left. If the the developer implements it, the larger tiles become "live tiles" and display information from the app. For example if you have a large version of the calendar open it lists your upcoming appointments.


It can be an ingenious way to use the phones screen.  It is designed to take advantage of the variable screen sizes available on our phones.  Windows Phone allows you to customize the type and amount of information you have access to at a glance. The live tiles aren't quite as useful as Android widgets.  Android allows an even greater amount of customization. The only real drawback is having to scroll down once you've filled up the top part of the interface. You can't add new side swipable desktops of tiled home screens like you can in iOS and Android.

The final way we have begun to use our phones is through voice commands. Apple has Siri, Android has OK Google and Windows Phone has Cortana.  BTW Cortana is going to be included in all version of windows going forward. Even on the Lumia 520 which is under powered Cortana does a great job of correctly parsing human language. I did an experiment where I asked the exact same question to Siri, Cortana, and OK Google: "I need a level app". Both Cortana and Google picked up the question on the first try and returned good results. Siri never even understood the question. I gave up after the fifth attempt.

Things Microsoft Got Right


Besides Cortana there is a couple of other things Windows Phone does well. Windows Phone has an
excellent driving mode. You can set the phone to go into driving mode when connected to a specific bluetooth device. When in driving mode the phone will tell you who is calling and read out texts for you if you want.It also allow you through voice commands to respond etc.  And since the voice recognition is so accurate the system works well. I would like the option to read out emails and other communications but perhaps that would be to distracting.

Microsoft has also done a great job integrating micro sd cards. This wasn't always the case.  Early Windows Phone entrants had little to no sd card support.  The new version of Windows Phone nail this.  When you insert an sd card into the phone it, for most practical purposes, integrates itself into the entire phone. There are almost no limitation on what can be on the sd card.  Music, pictures and even apps can be placed on the sd card. Apps on the sd card appear like any other app and seem to work fine.  Only the core os has to remain on the phones internal memory. They did even recently add the ability to put downloaded os upgades to the sd card. This means you no longer have to have enough room on the internal memory to run the update. It will swap things into and out of the sd card as it updates. This does mean that if your sd card abruptly dies you can lose a lot of apps until you install a new one.  Backup so you don't lose pictures, etc.

Windows Phone also comes with a suite of excellent Microsoft apps.  For some reason they are mostly branded as MSN apps. It is a core set of useful apps that cover such things as weather, fitness, money, etc. They all seem to be well done and useful.  Microsoft has done a really good job on them.

Where Windows Phone Misses the Mark


Sadly, Microsoft having to put so much effort into making these excellent apps highlights one of Windows Phones greatest weaknesses. The app ecosystem just isn't up to snuff. Limited offerings are made in certain areas and often the most popular app on either Android or iOS won't be there. The classic example is no runkeeper app. The longer Microsoft sticks with Windows Phone the less of a problem this will become.  Microsoft is also trying to counter this problem by encouraging universal apps that run on both Windows and Windows Phone.

Once android is rooted and unlocked it is an open system. Though no where near as locked down as Apple, Windows Phone still isn't open enough for me.  An odd example, if you write an alarm app you are allowed to only use the built in alarms.  The iheart radio app does not have the alarm option it has on android.

Final Verdict 


My overall impression of Windows Phone 8/8.1 has been very positive. Microsoft has produced a very viable and somewhat unique alternative to iOS and Android. I hope it sticks around and gains some traction.  If I were to rank iOS, Android, and Windows Phone it would be Android, than Windows Phone, and a kinda distant thirds would by iOS.

The Nokia 520


One of the big hurtles I had to overcome to give Windows Phone a fair shake was the Nokia 520.  I had to look past the limitations of the 520 to try and perceive what the experience might be like on a better phone.

The 520 was the cheap pay as you go Windows Phone option in the US.  I picked it up from amazon for sixty dollars. The specifications are as low as you can go. An under powered processor and only 512 megs of memory lead to an often poor experience. Simple apps could take over twenty seconds to start and would often crash. I will give you a common example of what happens with low memory and a bad processor. I'd be in the twitter app and want to take a picture and post it. Pushing the camera icon in the twitter app would attempt to load the camera app.  This would take 15 to 20 seconds. Some times the app would just crash. Sometimes the entire phone would crash and I would have to pull the battery. If the camera app did ever load and you took a picture, you had to hope the phone would be able to switch back to the twitter app without yet another crash. 

 On top of that the camera was one of the worst cameras on a smart phone I've ever experienced.  I think the camera on my iPhone 3g took better pictures.  Even in good light the shots had a bit of grain.  If you dared try to take a picture in anything but perfect light the images ended up horrible and grainy with loads of artifacts.

It did make excellent phone calls. I can say that.  Even in a noisy environment the noise cancellation worked well and both parties could hear fine.  

I cannot recommend the Nokia 520 to any but the most desperate. I didn't expect much from a sixty dollar no contract smartphone and I didn't get much.

Microsoft's Lumia 520 Problem

The badness of the Lumia 520, presents Microsoft with a particular problem for Windows Phone adoption. The Lumia 520 has been hands down the most popular Windows Phone. At its height the Lumia 520 was over a third of all handsets running Windows Phone.  Even now, it holds an almost quarter share of the market. With this horrible experience tainting peoples opinion of Windows Phone I am not sure what traction Microsoft can hope to get.


Thursday, February 19, 2015

My Smartphone History

This post began as a review of Windows Phone 8/8.1 and the Lumia 520.  My smart phone history ended up so long it became it's own post.


  I begin with a Windows Phone. A  Windows Mobile 5.0 phone to be exact.  I bought the Samsung Blackjack. The Blackjack clearly was meant to compete with the then dominant BlackBerry. They even got sued over the name. In general I found the phone very useful and usable.  I could type very accurately and quickly on the keyboard, much more so than on any touchscreen keyboard since. I had an extended battery that could last two or three days.  Sadly, app stores did not exist back then.  To install a new app you had to download it from some webpage.  The most difficult part was finding a version that worked with your specific phone processor.  That being said, I did manage to find a nice ssh terminal and a usable irc client. It also handled email and the mobile version of IE though not great, was mostly usable. I find it funny now remembering being the only person sitting with my phone out tapping away at some app. I replaced the BlackJack with the BlackJack 2 which there isn't really much to say about.

I was finally liberated from the world of  Windows Mobile by a friend who gave me his old iPhone 3g when he purchased the new shiny iPhone 4. Even though it was two years old the iPhone was a revelation. The app store revolutionized my phone use.  All I had to do was search for an app and they all just worked.  I suddenly had reasons to have a data connection. I did now have to deal with horrible battery life and bought a mophie to compensate.

After more than a year of using the iphone, I yearned for a new smart phone. My distaste for Apple, which began as small embers, had grown to the point where I refused to buy their products. Android had matured and seemed to be competing with ios.  Initially I bought a Samsung Galaxy Captivate.  It never seemed to work right and a few months after I got it, I stepped on it.  I didn't just crack the screen, I destroyed it. It ran but wasn't useful for anything.

To replace it, I shelled out the money for a Motorola Atrix 4G. This thing running android was much better than my old iphone. Thisp hone was almost as much of a revelation as the iphone. Two aspects of the android experience quickly overshadowed what Apple had to offer. Widgets completely change your smart phone experience. Widgets are interfaces to your apps that display directly on you phones display. What that means is you don't have to actually go into the app to interact with it. The best example I can give is a music app: with a widget you can play, pause, and even select what to play without having to open the actual app. It is worlds more advanced than ios' square buttons with perhaps a number showing an update. The whole phone becomes an interactive window to your apps. The second thing that really propels android above ios is the ability to customize the experience.  Whereas ios is a very controlled and locked down experience where you can only do what Apple wants you to do. On the other hand, android is a very open platform. In most cases you can modify and personalize any aspect of the phone.

After two years, I replaced the Atrix with a Samsung Galaxy S4.  Though a little light on the battery life the phone was great. It had a excellent screen and a wonderful camera. For a while I even had an iPhone 5c.  It got very little use but I did get a feel for iOS 7. Needing money I sold both phones on ebay and bought a no contract Lumia 520 windows phone for only sixty dollars. The subject of my next post will be my thoughts on Windows Phone and the Lumia 520.