Recently in SW Development Category
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.
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.

