Andrew Powell

Into The Mind of A Solutions Architect

Andrew Powell

Entries Tagged as Google

Mobile Innovation Is Back In The Developers' Hands

July 14, 2010 · 3 Comments

2007.  That's the last time we saw any true innovation in mobile hardware.  That's the year that the first iPhone was introduced.  Here, we are now, three years and three versions of the iPhone later and we've seen no significant innovations in mobile hardware.  Sure, we've seen cameras with better resolution and faster processors, but those are just natural evolutions of technology that would be happening anyway.  There has been no innovative development of hardware (or it's interactions) since that first iPhone set the new standard for mobile devices and how we use them.  

If there's no innovation happening in the hardware world at this time, then where does it happen?  It happens the only other place it can:  software.  Android devices are no more innovative, from a hardware standpoint, than the iPhone.  The thing that differentiates them is the software, the content available.  It does us well to remember, also, when the iPhone first came out, it was closed to developers.  Only when third-party developers started building applications did it truly become a "must-have" device.  One look at Apple's advertising validates this.  Most of their advertising, these days, centers around applications that run on the device, not the device itself.  Software developers are now responsible for creating content that is making these devices indispensable.  Once again, content is king.

Innovation is coming by leveraging the platform that is provided to us as developers.  We can use the cameras on these devices to create cutting edge augmented reality (AR) applications or whatever our imaginations can come up with to build.  As developers, we have the platforms, the canvases, laid before us.  It's up to us to work within those platforms to create the content that compels people towards the devices.  That's why you see Apple touting and enabling (if not subsidizing) big-ticket apps like Netflix and Farmville.  They want that content on their devices.  Content is king.

Consider the case of Farmville.  Android is on the brink of the 2.2 (Froyo) update.  This will bring Flash to the Android platform in a viable way.  With that addition of Flash, comes one of the most popular applications on Facebook right now, Farmville (built in Flash).  Well, Apple being Apple, recognizes how popular that content is and wants it on their device.  So it makes sense for them to do all they can to make sure that content is on their device first.  Content compels the consumer.  

It's not just about creating the software, though. As with everything else, the experience is what compels us to use these devices, for developers and consumers. There are really two major choices of platform when it comes to the discussion on differing mobile experience:  iOS and Android.  These two experiences, for developers, couldn't be more different, either.  One is a closed, controlled, borderline totalitarian environment, whereas the other is more akin to a wild-west free for all with zero moderation.  Neither can survive in their present form.  There has to be a balance between control and openness in the content that is made available to these platforms.  Getting quality content that consumers want to the consumers is absolutely crucial.  

That balance between closed and open is very important because, once struck, it will compel more developers to build across platforms and create consistent experiences across all platforms.  An experience must be consistent with the host platform as well as other implementations of the application.  If an application has differing aesthetics across platforms, then the brand value is lost.  If it doesn't interact as a native application should, on a given platform, then usability and user trust is lost.  It's a tricky balance that must be struck to have a successful multi-platform effort.  If the content is inconsistent and unusable it will not compel people to the target platform.  Usable content compels the users to a given platform.

Real innovation in the mobile space is happening in software now.  The time for hardware innovation has passed for the time being, now it's time for developers to continue to take these platforms and provide the next wave of innovation.  It's time to deliver that compelling content that drives the mobile space to the next level.  It's time for developers to step up and embrace the challenge of innovation.  It's time for us to deliver compelling, usable content and continue the innovation in the mobile space.  

If we do this, then we push the platforms we use as our canvases to innovate and, in turn, the hardware to innovate.  It's a circle of innovation that we are all responsible for maintaining.  As long as that cycle of innovation continues, we will continue to be amazed and inspired by what our peers are building as well as the platforms on which we build our inspiring and compelling content.

3 CommentsTags: General · Java · ColdFusion · Flex · Apple · Silverlight · Google · Adobe · Universal Mind · WAP · User Experience · AIR · Mobile · AJAX

Activating GPS in Sprint Mobile Broadband Card

August 30, 2008 · 5 Comments

I have had a Sprint Mobile Broadband card for a long time.  I love it.  It gets me online wherever I am and whenever I need it.  One thing i noticed about it when I bought it was that it has a GPS receiver in it.  Up until now, Sprint has not been very forthcoming in how to get to the GPS to use it.  Well, it turns out you need to use their Activation & Location Tool.  This app must be running if you want access to the serial port that provides the GPS data (as NMEA sentences).  While in this mode, you can also use the device as a GPS inside of Google Earth.  Sounds like this little piece of hardware would be a good candidate for Merapi......

5 CommentsTags: Merapi · Flex · General · Google · Adobe · Universal Mind · AIR

Announcing Serializer CFC

March 12, 2008 · 1 Comment

I recently had a situation where I needed functionality to serialize and de-serialize a ColdFusion complex variable. Recalling that CF8 now lets us serialize CFCs using java.io.ObjectOutputStream, I figured it would probably let me serialize other CF data types as well (Array, Struct, etc). It did. Serialization was only the first part of the process, next I needed a way to de-serialize the data back into ColdFusion data types. The process is fairly straightforward, and is, essentially, a reverse of the serialization process. I've decided to release the Serializer.cfc on my google code site. You can find the download link below, or you can access it via SVN. Find The Code Here

1 CommentTags: Java · ColdFusion · General · Google · Adobe · Universal Mind

My Google Code Site

March 12, 2008 · No Comments

After talking to Ben Stucki at 360|Flex, I decided that I should create a Google Code site for my code samples and preso posts. I am currently in the process of moving all my os code and preso samples into this repository for public consumption. Going forward, you will be able to find all my code samples there. It is released under the MIT License, which basically means, it's released "as is" and without warranty. Some things will be posted and never updated again. Other things will be updated and improved. There is no set schedule for projects to be updated, it's just a central point for you to find my code samples. My Google Code Site

No CommentsTags: Java · ColdFusion · Flex · Caching · General · Conferences · BlazeDS · Spry · JMS · ColdSpring · StockQuoter · Google · Spring · Adobe · Universal Mind · Hibernate · AIR · Hessian · XML · Speaking

The Best Development Tool, EVER.

January 16, 2008 · 6 Comments

Any developer worth their salt will admit that they do not know everything about their trade. Anyone who does is either a fool or delusional. Plain and simple. With this premise in mind, let's proceed. In the past seven years or so, something wonderful has happened. Developers have really taken to blogging (obviously). This has lead to an unparalleled compendium of knowledge about every development language used today. If you run into an error, or problem that you can't solve, you can turn to a developer's best friend and strongest tool for an answer: Google. If you need a code sample, tutorial, error fix, or bug fix there's a good chance that someone else has already run into it and blogged about it. Just search it. If someone has not blogged your particular tip or fix, go ahead and add to the compendium and blog it yourself. Only you, the developer who uses this great resource for help can add to it. This is a call to arms to developers to try to blog at least one tip or code trick a month for this year. If you do that, we can keep adding to and expanding this wealth of knowledge we have available on the Internet. According to Google Analytics, most of my traffic comes via search engines, and to a smaller extent aggregators. This tells me that people are using search engines more and more to help them with their development. We are, as a community, in essence, training each other. The real kicker to this though is that the other day, I was googling how to do something with Spry and came upon my own blog with the answer. What a kick in the gut that was. I guess it's at the very least, just a bit ironic. I was helping myself with an answer. Go figure.

6 CommentsTags: ColdFusion · Flex · General · Spry · Google · Adobe · Training