Thursday, September 10, 2009

Microsoft and Enhanced Experience

I read a very interesting article yesterday that ranked the usability between Apple's website and Microsoft's website.  Granted, I am a little biased toward Apple, but I do feel that the author did a great job in their comparison. *spoiler: Apple won.  To add to the critique the Microsoft website does something that is a HUGE pet peeve of mine.

If a company claims to be in the "web" business then they need to create websites that look the same in all browsers.  Microsoft has a HORRIBLE reputation on releasing browsers that are not standards compliant, but are constantly giving non-IE users who visit their websites a second rate experience.  Case in point...their own website.  If you go their website with anything other than Internet Explorer, the visitor is presented with this ANNOYING alert in the upper left hand corner that is asks if you want to "Upgrade your Internet experience".  After few seconds it does minimize, but if you don't click the "Don't show me this EVER again link" the next page you navigate to will show it.

The fact is that I do want to upgrade my internet experience, but not by installing Silverlight, or IE7 or IE8 for that matter.  All of the before mentioned pieces of software are horrible, lack innovation, and do nothing but dumb down the web.  I want to upgrade my internet experience by not being harassed by Microsoft.

Posted via email from Cory Wiles Blog

Tuesday, September 8, 2009

Automate Adding Twitter Followers with Zend Framework

Adding followers to a user one at a time is sometimes a VERY lengthy process.  Last night the question was posed to me if there was a way to automate adding followers from users who follow someone else.

Example scenario:
John Doe follows Jane Doe
John Doe wants to follow at 600 followers of Jane Doe

Unfortunately, the Zend_Service_Twitter class doesn't offer any functionality to retrieve a list of followers from another user, but I was able to extend the class and add the functionality.

The particular user that I chose to test has roughly 6,000 users.  My client didn't want all 6,000, but the first 200.  Within 10 minutes the new custom class was written,  the script ran, and now my client was now following 200 new people of like mind. :)

I plan on submitting the feature request to the Zend Framework gurus to have the ability to find followers from other users so that it can be apart of the main service.

Until then here is the class and script:

require_once 'Zend/Service/Twitter.php';

class CW_Twitter extends Zend_Service_Twitter {

  public function __construct($username, $password) {
    parent::__construct($username, $password);
  }

  public function getOtherUserFriends($name) {
        $this->_init();
        $path = '/followers/ids/' . $name . '.json';
        $response = $this->restGet($path);
        return $response->getBody();
  }

}

$twitter = new CW_Twitter('username', 'password');
$response = $twitter->getOtherUserFriends('friendusername');

$arrayObject = new ArrayObject(Zend_Json::decode($response));
$limitIterator = new LimitIterator($arrayObject->getIterator(), 0, 200);

    foreach ($limitIterator as $value):
      $twitter->friendship->create($limitIterator->current());
    endforeach;

Posted via email from Cory Wiles Blog

Thursday, August 27, 2009

Google Interview - Could You Pass?

The gold standard of programmer interview questions.  It is not what they ask, but how they ask them.

http://courses.csail.mit.edu/iap/interview/materials.php

Posted via email from Cory Wiles Blog

Friday, August 21, 2009

Migrating to HTML5 and CSS3

It seems that in the past six months there has been more and more news, examples, and excitement concerning HTML5 and CSS3.  I must say that I too have been bitten by the bug.  What features that I have seen makes me very excited about the future of web development.  It is time to get back to basics and standards.  However,  because both are their infancy as far as adoption, not all browsers support the new technologies and the ones that do support them don't support all the features of HTML5 and/or CSS3.

Being, what most people consider, an earlier adopter I am going to be converting www.corywiles.com over to HTML5 layout using CSS3.  In order to not shut out those of you who don't have a supported browser, I will keep the old layout around until the percentage of those browsers falls below 5%.

Posted via email from Cory Wiles Blog

Friday, July 31, 2009

It's Not Easy to Get Mobile

Over the past two months I have been approached to develop at least three different iPhone apps.  Two out of three clients weren't as shocked with the price as they were with the time line.  While each developer out there has a different level of expertise, I would say that your average iPhone app will take 2 - 3 months of FULLTIME development and then at least 7 days for Apple to approve it.  Let me reiterate that the previously estimated time frame is not only a conservative estimate, but also based up a fairly simple app.

To define fairly simple, let's say that you want to have an app where you can search a database for a list of people based upon different criteria: name, age, state and country, have those displayed in a list where a user can then select one of the search results, view the person's complete detail information, and have the ability to copy that user's information to the phone's contacts.  Not that complicated as far as the requirements go.

However, once you start writing the app you will realize that as a developer you need to consider the asynchronous loading of the data, connection speed (Wifi, 3G, Edge or none at all), caching, processor limitations, memory limitations, phone orientation and interruptions of the app. For example, what if a call comes in while your user is trying to perform a save operation in the application or how should the app perform if there is a memory warning and/or crashes).  You have to keep those, and more, in mind just when you want to display a simple list of data.

Finally, after you have all your functionality worked out and you think that you are bug free the REAL fun begins.  The software that is used to develop for the iPhone and Macs has profiling and testing features.  At this point, the developer starts really digging into the bits and bytes of the app to make sure that it is not suffering from memory leaks, releasing objects too early/too late, and overall performance.  While the phone itself is VERY powerful, it is still a mobile device with limitations.

iPhone applications, in my development experience, are not usually offered as a standalone product or service, but as a companion to an existing or large product and/or service.  As a consequence, I have seen many applications rushed out the door on time for what was an unrealistic deadline.  The is usually driven by release date of the "big brother" to the application, which was set to meet a profit projection.  However, if the natural mobile development time is not taken into consideration then the app doesn't reach it's full potential.  At this point everyone loses.

If you decide that you want an iPhone app, and one that works, plan it taking sometime to develop.  Manage the expectations.

Posted via email from Cory Wiles Blog

Sunday, July 19, 2009

Speeding Up the Site

I have decided that since I don't have too much time in the next three months to update a lot of the UI for this site then I will be spending my time making it load faster, especially on the main page.  This first bottleneck that I noticed was when the feeds at the bottom of the page where being de-cached, the entire page was not being loaded until they were done.  This has been rectified by having those load separately through AJAX calls after the page has finished loading.


The next area of improvements will be the portfolio gallery.


It is all about getting to where you have to go faster and more efficient.


Thursday, July 16, 2009

Posterous Is Keeping It Simple

Leveraging social media outlet's to promote your site can be a love/hate relationship.  While the power of promotion is undeniable within the social networking outlets to spread the gospel of whatever business or service you are offering, it can be a daunting task to note only keep up with the number of sites out there, but also maintaing them.  You are seeing more and more companies having to extend their marketing or PR departments to include employees whose day to day tasks are to post and moderate these sites.

One of the statements that I hear most often from clients is that they want to have a presence on Facebook, Twitter, YouTube, LinkedIn, etc., as well as blog, but they don't want to  have to update twenty different sites.  The best solution by far for this is to use Posterous.

Posterous is by far the EASIEST service for not only, blogging, but also blasting out updates to individual services or groups of services at once.  Just send an email to post@posterous.com and you have an instant blog.  You don't even have to create an account first, but if want to have access to some of their other services then an account is required.  If you want to attach a video to blog or images...no problem. Just attach them to the email and embedded videos are added to the blog post as well as, images and audio files.

While some people require more advance features from a blog or need to have better control of their design, then there are plenty of great choices for them to choose from. However, I have found that most people don't have the time to do anything other than email.  Well your white horse has arrived.

Just send an email.  It doesn't get much simpler than that.

::NOTE:: This blog was posted using Posterous.

Posted via email from Cory Wiles Blog