Much has been written
about the severe Amazon EC2 outage last week. This made me think about the
necessary tools needed for deploying high-availability applications in a cloud
environment. Java Enterprise Edition is very complex to use but remains the
popular choice among enterprise application developers today and it has a huge
installed base needing some form cloud readiness. Application platform
frameworks, like Spring, provide the runtime middleware container for both
custom or packaged applications that run on a cloud service like PaaS
(Platform-as-a-Service). Features of programming languages like Java, C#, C++,
Ruby or Python; can be extended at runtime by APIs, embedded declarative
clauses or metadata patterns provided by a framework like Spring. Optimal
allocation of system resources (memory, threads, connection pools etc.),
quality-of-service (reliability, availability etc.) and connectivity
(messaging, networks & databases) are managed on behalf of the application
by the framework. With the huge investment in Java code today, many firms are
adopting Spring's Model-View-Controller (MVC) for web applications, plug-ins
for the Eclipse IDE and the many web service add-ons available. The beauty of
the framework and its relevance to cloud is that Spring separates all business
logic from application (logical or physical) infrastructure. Now we can have a
real application bus where you combine virtualized or non-virtualized
applications with structured or unstructured data. Those applications will be
exposed to both managed and unmanaged mobile devices (but that's another blog
post!). We would build applications by taking blocks (objects) of code using
Spring and populate the business logic using open source lifecycle tools
existing outside of the cloud. Dynamic programming models like Ruby can be used
as large-scale web-based front-ends with the power of Java EE under the hood
extending the life of existing legacy applications in a painless way. With the
framework in place, cloud advances in multi-tenant governance; horizontal
scaling or cloud transaction processing can take place without causing major
application reconstruction.
It is no secret that iPads are gaining traction in the corporate enterprise with its ideal form factor, weight and battery life. What Nicholas Carr didn't see with his iconoclastic report "IT Doesn't Matter," was how the tightening of the technology stack would be enabled by consumer endpoints capable of running any application from a data center or the cloud. I was interested to see this week's VMWare View 4.6 for the iPad joining the category of other apps like Citrix Receiver or the new Rackspace OpenStack admin app. VMWare had to program custom gestures to blend the iOS experience with what most users often run on VDI - Windows. Now you can use two-fingers to right click and Apple-like drag & drop features to interact with Windows. Heck, you can even run Flash on the iPad. Unlike Microsoft's protocol, RDP, VMWare uses PCoIP, which transmits only changing pixels to stateless endpoints over the network. Since the protocol can tunnel over HTTPS, proxies or firewalls don't block it. This enables virtual end-to-end tapping; finding your nodes without knowing their physical path. The iPad used as a VDI device helps Microsoft defend their presence in the enterprise since the access device would satisfy users and may reduce the complaints about enterprise application user experience. "The sun shines, and people forget; the spray flies as the speedboat glides and people forget...," people forget how many Windows workstations are still out there.
Even though Near Field Communications (NFC) has been around for 15 years, it could become mainstream in the U.S. smartphone market this year. NFC operates at 13.56Mhz and at speeds from 106 kbits/s to 848 kbits/s all within a 4 cm range. We are finally catching up with Japan (e.g., Osaifu-Keitai system) and other areas of the world where NFC is used for mobile commerce and payments. With better software integration, you now have the intersection of context, proximity and event handlers that blend the physical and virtual worlds. It would make sense if Google announced a mobile payment platform since NFC is natively supported in Android 2.3. You have to consider other players with a little more "trust" than Google such as Apple iTunes or even Paypal. Merchant players like First Data or GPN are reluctant to adopt an offering that is not industry standard. MasterCard and Visa have made progress raising consumer awareness for NFC but financial institutions are not good catalysts for ecosystems. Even though NFC silicon can be standardized, individual competitors that bring their own implementation of payment systems can stall adoption and create payment silos. The battle will be which model will prevail - operator-centric, bank-centric, collaboration-centric or peer-to-peer-centric. Perhaps it doesn't matter since once a user has selected a smartphone platform, they automatically get the mobile payment system. Otherwise we would need a system like "payment roaming" similar to what evolved during the early expansion of cellular networks and billing systems.
I've been following some recent discussion about mobile virtualization. One article by Alex Williams at ReadWriteWeb caught my attention. I agree that many people carry two smartphones today, one for business and one for personal use. It's true that mobile processors lack virtualization support at the hardware level and manufacturers would have to pre-load this type of functionality. I don't agree that virtualization will drive more downloads of apps onto a single device with dual partitions however. It has more to do with the change in application frameworks rather than optimizing bare metal VMWare hosts in mobile devices. You wouldn't be able to run Android and iOS4 on the same device anyway. You might want RIM Blackberry for business and Windows Mobile 7 or WebOS for personal apps, for example. Developers are getting tired of the multi-platform treadmill for keeping various versions of mobile apps up to date. You create a "rich" web experience app using the latest HTML5 standards first and then wrap native code around it for the downloadable version. More advancement in local cache storage will alleviate the bandwidth demands too. This way your users to get the same look and feel and predictable UI behavior, no matter if it's downloaded from an app store or running in the mobile browser.
The HTML5 Video wars have settled into two camps. Microsoft and Apple support H.264. This video codec was recently freed by the MPEG LA but only for video free to view by end users ("Internet Broadcast AVC Video"). Google open sourced its VP8 video in May under the WebM open Web media project with a BSD-style, royalty-free licenseĀ. Mozilla and Opera support WebM. I think H.264 is a short-term solution for Apple given the fact that the MPEG LA can change the fee structure in 2016. There is a possibility in the mean time that a pass-through fee could be imposed for protected video content running over iTV. Apple needs to get moving quickly on the follow-on to H.264 - HEVC (High Efficiency Video Coding, aka H.265). HEVC aims to reduce bitrate requirements by half through increased computational complexity. Targeted at next generation HDTV systems with progressive scanned frame rates and scalable from QVGA to 1080p, it will fully replace the H.264. Apple also needs to make sure that its processors will be able to handle the future compression (3x or more) while preserving battery life and reducing device heat dissipation. Video standards can't be "free to roam or make a home out of everywhere they've been." It's too costly for content creators to publish to conflicting standards.
A rubric is a scoring tool for subjective assessments. Tech-savy consumers have a natural ability for assigning rubrics when purchasing entertainment or media. The trade-offs in accessibility, content quality and cost have become problematic in $69.8 billion U.S. TV subscription market. Apple is expected to introduce the new iTV service platform during their event at the Yerba Buena Center in San Francisco this week. Internet online video did to cable TV what cable did to network TV. The industry has accelerated the unbundling of content from its transport. It's happened in music, newspaper publishing and book publishing. While the Comcast/NBC merger continues to come under FCC scrutiny, Apple is negotiating with ABC, CBS and Fox for 99-cent streaming TV show rentals. Google is also negotiating with Hollywood for Pay-per-View service on YouTube. On the fringe, you have Xbox and Hulu. Microsoft recently increased its Xbox subscription rate, and why not? Hulu is trying to sell a $9.99 monthly subscription (with advertising) to its users. The consumer can assess their needs layer by layer, just like solving the Rubix cube. Once you decide on the content, you can decide how best to consume it. Leveraging existing in-home appliances like a Blue-Ray player or Xbox, provides the Codec, streaming processor & local cache needed for HD 1080p. People will not want throw away their existing investment, despite what Apple or Google may do.


