13 December, 2009

Why I think the Google Phone is poised to shake up mobile

The whispers of a Google branded wireless device have been out for years, before Android was announced many bloggers and tech. journalists prognosticated on Gooogle's entry in the space with a branded handset. However, when Google did enter the space it did it vicariously through the development of the open source Linux based and now rapidly maturing "Android" operating system. To some the rise of Android started slow but I was confident before even the first phone using the OS arrived that it was poised to open the wireless handheld space wide open. I posted my reasons for this in a post in late 2008.

Today the phone is seeing rapid adoption by handheld makers, Motorola has redesigned its entire line of phones around Android. HTC has a couple of compelling options using its take of Android using the "Sense UI" and talk of dozens of other Android based phones to debut next year hint at 2010 being the year that the Android Tsunami storm surge hits the shores of the wireless market. In this time of what will be intense competition , why would Google still decide to create it's own branded hardware for a wireless device. Here are the reason I think they are doing it.

Google has always embraced open standards and approaches to their software and services, the recent bundling of free turn by turn GPS navigation with Google Maps with the Motorola Droid hints at the open view that they are taking. Their whole thing is providing a service and then finding a way to monetize it unobtrusively with ads. We saw this with search, we are watching it develop with mapping (Google Earth), we have seen it with GMail and now we are going to see it in the handheld space. That said, they probably look at the existing market of closed down , silo'd devices in the wireless space with disdain. I know I do, despite being involved in cutting edge developments for the last 10 years I went without a cell phone because as a purist, I felt none of them gave me the freedom I am looking for, basically what I want is a laptop in a touch screen handheld device that allows me to do all the things a laptop can do plus all the things that a smart phone can do, that means REAL web browsing (not that WAP crap I coded feeds for back in 2000) , it means real support for applications running on the device and for RIA's fed through the browser, it means my choice of media playing capability (video, audio, image) and control over the available hard drive space on the device to do with as I please. It means ability to connect the device to a computer and transfer files to and from it without anything more special than a mini usb adapter. It means a user serviceable access to battery and removable memory. It means a customizable interface that I can configure just as I do my XP desktop and all of this spiced up with what we've come to expect in a smart phone, multi-touch screen,accelerometers, GPS, bluetooth, wifi and cell radios for all the major 3G network technologies so that I can tie the phone to any provider I want without being locked in to over priced service options.

I think Google's phone is meant to be a shot across the bow of all the companies that have so far made Android phones to show them just how open the OS can really be when mated to hardware that harnesses that openness, almost to shame them into really unleashing the OS (though to be honest the Motorola Droid pretty much achieves 90% of what I want in a handheld today...it will be interesting to see if the Google phone can top over that 90%)

It's funny how companies feel that the user is satisfied with the closed off artificial environments and differentiations they create, they didn't learn from the pc example that not all people want those limitations, power users want total control and there still isn't a smart phone that provides that level of control...Google may put the pressure on them to start getting serious. I'd really be happy if Google is able to get a deal with a carrier that doesn't differentiate between voice and data , that's a canard that any hardware engineer knows is yet another artificial boundary created by the telecoms to have reason to bundle services in ways that people don't want and over charge them for things they don't want. It is a vestige from an inefficient time when voice and data were separate beasts, that time is long gone but the telecoms are still charging as if it is not. It should be one plan over which I can do what I want, a la cart just like my monthly payment for one fiber line to my house via FiOS that feeds my voice, tv and internet needs, after all on the back end it is all "data" anyway it is time for the savings the telecoms got in consolidating on fiber years ago to finally reflect in lower prices of service (which hasn't really happened).

Novel idea, imagine a phone that is open as mentioned above and ad supported for every feature with a low monthly access fee, I'd bet the phones would make enough money on ads to pay for the data services. Just as the infrastructure of a web site that uses ads as it's primary revenue stream amortizes the costs of running the necessary servers by the revenue derived from the ads. If you see the phone itself as "infrastructure" and you enable it to deliver ads , the revenue derived from millions of users of the various services built on it maybe able to pay for the entire infrastructure chain (phones, bandwidth for plans, touch points to the net) this might be what Google is aiming for and the best way to move the industry to it is to do it and show that it works. If they succeed I think they would have come close to the level of audacity they showed when they came out of no where thinking they could do search better than the giants of the internet back in 1999, they were right then and if they are thinking along the lines of what is described above I am sure they'll be right again...10 years later. In any event, the coming year will be filled with new Android products and lots of competition for user share that should bring prices down, the Google Phone in the mix will likely help put more downward pressure on those prices and that for the consumer is a very good thing.

07 December, 2009

AgilEntity framework: Open Code Challenge #1

In an effort to showcase the self management capabilities of the AgilEntity framework these open code challenges will periodically be run to highlight how AgilEntity enables a new secure, collaborative development paradigm. Here’s how they work, below 5 user accounts have been created with workflow participation and view permissions established to several jsp templates of the AgilEntity platform, these templates contain the actual code that runs on the associated pages that the user accounts will be able to execute by navigating to them on the UI once logged in. The view permissions on each template enables the logged in user to make changes to the code and then submit those changes for update on the actual run time template file. The Action Oriented Workflow system takes care of the rest, enabling the changes to be routed to an agent (me) for evaluation of the solution provided in the code.

Here’s how the contest will work.

1) First, use one of the user accounts below to login to the development node on the AE cluster I’ve installed here: https://apriority.dyndns.biz/login.jsp?node=1&siteid=1

(you may get an ssl cert. warning, make an exception for it in your browser to proceed or get rid of the “s” in “https” and use the insecure link)






Password for all usernames: occoder09

2) View the available challenges (below); they come directly from the feedback page for the numeroom.com development site and are very easy. All the user accounts above will be given “view” permissions to all the necessary system templates to actually fix the problems posed.

3) After selecting a problem, view the associated suggested template(s) where the code changes are to be done and make your changes, since many of the changes are UI related that makes it easy.

4) You’ll have to test your changes in your own environment, simply eliminate any calls to AE API functions in your test environment and test away.

5) Integrate your changes into the templates making sure not to change any dynamic functionality, reasonably good separation between “view” code and “controller” code makes this easy. Use the javadoc for the Utilities class to find useful utilities in the AE API to minimize having to code new functions that already exist in the API, solutions that use the API methods will be judged over those that do not unless they are actually more efficient.

6) Write a Memo containing the following information:

· Name

· Email address

· Problem selected (indicate the problem title)

· Short summary of changes/additions.

7) Important! Make sure to press “save” in the template window to save your included change to the working object and then submit your change to the update workflow by pressing “update to workflow”. Each person is allowed one entry per challenge problem so if you have multiple solutions, pick the best one and submit it.

8) After the challenge period is over, the submitted entries will be evaluated and the winner selected per challenge.


1) Since there are only 5 coder accounts, show some courtesy when using them. You should only login 2 times, 4 time at most. First, to view/get the code for the templates associated with the challenge(s) you are solving and then later to upload your solution and submit to the update workflow. As such authentications that last more than 30 minutes will attract administrative attention, if the same ip logs in excessively (more than 6) or stays logged in for too long the ip will be silently disqualified from the challenge even if you subsequently submit code, so be courteous of others wanting to use the accounts to get and submit challenge code. All the accounts have full auditing as shown in this video so big brother is watching you, play fair!

2) Payment method to winners will be via paypal exclusively, so if you don’t have a paypal account and you want to get paid, set one up now..you can still win but you won't get paid if you don't have an account.

3) It is possible for a user account to have a session extend beyond the challenge end date, the coder accounts will automatically deactivate at the end of this date, you must submit your code before the challenge end date even if you are logged in when the deadline passes.

Now, take a look at the feedback page:


The items included in this challenge will follow along with a little guidance on how to proceed with a solution:

Challenge problem 1:

Coloring the conference room


Templates to modify:

conf.jsp , econf.jsp

Templates to view:


$25 to paypal account.


For conference rooms currently the user must specify hexadecimal values for selecting their table and background color customizations. This is so 1999…update it to use a javascript color picker widget that enables selecting the color by eye that populates the respective form fields with the hex for update.

Challenge problem 2:

Export table files via zip archive


Templates to modify:

conf.jsp , econf.jsp, im.jsp

Templates to view:



$50 to paypal account.


Ideally a link (stating “make zip bundle”) should appear just below the table section (possibly in the square space just under the table column and adjacent to the message entry field) When clicked this link should compile the current table files into a zip archive that is then deposited into the room (if the table is full or not). The naming of the archive should be of the form “file_bundle.zip”. Methods exist in the Utilities class that already perform zip and unzip of files in a specified directory location, use the “fileZip” method to generate the required bundle file. Also, clicking the link should provide a download dialog to allow the generated bundle to be downloaded on click of the link.

Challenge problem 3:

Fix the smilies…


Templates to modify:

conf.jsp , econf.jsp, im.jsp, iml.jsp, gim.jsp

Templates to view:


$25 to paypal account.


Modify the current smiley box to enable click and insert behavior . Currently the desired icon key sequence must be selected in an awkward manner…turn this into a box that automatically generates and inserts the key sequence for the smiley into the message box using some javascript eliminating the need to actually select the key sequence.

The Challenge will start when the user accounts above are automatically activated by the system on:

Monday , December 7 at 7 am EDT

, the challenge will end when the user accounts all deactivate, 7 days later on

Monday December 14 at 7 pm EDT

06 December, 2009

A NYC moment: Random act of Kindness

NYC is a place of wonders that continues to surprise me with how easily the trendy, elite and technologically advanced could buttress the mundane, downtrodden and unfortunate. Often as I walk the streets scanning faces set in stone, flowing in the endless waves of people that mark the city scape with their darting , halting and ever meandering life lines, I think of the stories that all these people have, the places they have been and the places they are going. Last night, after a great time spent with old and new friends at a Village bar near 14th st. as if often the case for me after imbibing a good amount of alcohol and having danced the night away, I had the munchies. Unfortunately, the night of revelry ensured that I had no cash to buy the pizza so the hunt for an ATM was on the way, in the city that usually means a walk of no more than a block and sure enough a block later I found a Chase ATM.

I entered and began my transaction , as I finished I noticed motion in the peripheral area of my right side and was startled to see a young woman sitting there on 3 satchel's reading a paper. It was obvious from her appearance that she was homeless, though she was not overly disheveled. As I made light of the fact that she was in an ATM hall where she would otherwise not be allowed to stay, I inquired about her circumstance and how it was that she ended up homeless, her name was Sarah. She told me of her move to New York from South Florida and in the process betrayed disappointment in her parents and her one older sister, both of whom from which she was estranged. As we continued to talk about various ranging topics it was obvious she was an intelligent person, familiar with disparate occurrences both locally and nationally and internationally. After some time I told her I was on my way to a pizza joint and asked if she'd like something to eat. She hesitated and then agreed, as we left the ATM hall she mentioned another pizza place a block further from where I was originally going. We headed there and I let her order what she wanted, she opted for two slices with chicken and broccoli and a bottle of coke. As we ate we continued to talk and on our way out I over heard a table of patrons speaking a language I couldn't identify, as Sarah came to the doorway I asked her if she could identify the language, she didn't proffer a guess but I guessed Icelandic, to which the patrons told me "a little bit south" and Sarah responded "Dutch", to which they agreed. She apparently had spent some time in Europe, as we wished the patrons a good visit to NYC we left the store and walked toward the subway.

I was happy that I was able to provide a slice of joy in what is doubtless a difficult life on the street, during our talks I got the possibility that she could have been mentally ill as she expressed certain unusual fears about the "pull" of the moon on our walk to the station but she is just another human being trying to make it in this city that never sleeps. I shook her hand and wished her much success on her goals of trying to get out of her current situation and she wished me success in my endeavors and down I went into the bowels of the city. I'll probably never see her again but it feels really great to have performed a self less random act of kindness during this holiday season (not that I would not have done it any other time) and in particular this economic turmoil, helping others when one has no reason to is an act that is its own payment.