Recently in SW Development Category

Thumbnail image for SpringSourceVMLogo.pngMuch 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.

smartphoneConfusion.jpg

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. 

MPEG-LA-Logo.jpg

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.

Rubik's_cube.png

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. 

Jobs-iAd-Small.jpgApple's recent change to its developer rules requiring their approval to collect and send device data to third parties for aggregation, analytics or processing, has created a firestorm in the mobile blogosphere. If Facebook had a mobile operating system, they would not qualify as "independent" according to the new rules and hence could be blocked. Recent legislation, such as the draft privacy bill from Rep. Rick Boucher, seeks to define and require opt-in approval for "sensitive information." That could be your exact geographic location or something similar. Of course users comfortable with geo-location applications shouldn't have a problem providing their approval, not many people read those fine print in pop-ups anyway - but they should.  We are seeing inconsistent privacy notices and policies in use across desktop and mobile applications. Apple justifies their approach under the "privacy" banner, but could attract the scrutiny of the FTC. The recent leak of AT&T ICC-ID data to obtain user email addresses brings Apple's privacy concerns up front and personal. While not necessarily Apple's fault, they still require an email address for iTunes. Mobile advertising has evolved from the desktop space with some innovation, although there have not been many break-through ideas. Apple's iAd experience is very clever in that users clicking ads are presented an HTML5 container without leaving the app. Delivery and bundling of iAds via iTunes supports their cash engine. By forcing developers to use HTML5, this further drives the standard away from Adobe. Perhaps Apple could use iTunes as a repository for user opt-in status thereby eliminating interruptions in the application itself. 
AppleSDK.jpg Developers explain that using Xcode tools from Apple for Objective-C results in more efficient code and power management for the iPhone & iPad devices. This also ensures some consistency in the way the finished application looks and behaves. Even though Obj-C is not managed code like Microsoft .Net (e.g., with garbage collectors), developers have no problems releasing memory to fulfill the performance requirements imposed by Apple. If your program takes more than 20 seconds to respond to the user or tries to access more memory then is available, the OS shuts it down. I don't see Apple attempting to create a monopoly or impose unfair trade practices. They do not have the desktop market share that Microsoft had during the Internet Explorer DOJ actions. It's not Apple's concern what developers have to do to their app for another platform. Adobe can set up an Apple mobile devices group to develop Xcode libraries for their mobile application developers. This is no different than what Microsoft does with their Apple division where they have MS Office 2008 running very well on Snow Leopard. No need for the government to get involved.

AndroidTwitter.jpgThere's a lot of commotion lately about Twitter launching its own client applications of what I would call "house apps" for platforms like the iPhone, Blackberry and today the Android. While many developers have outstanding Twitter clients, the better ones come with a price. Now that Twitter has introduced more of its own client apps free of charge, those early third-party apps quickly lose their value proposition. Some believe the trend could hurt companies like Seesmic or Twitterific. Developers will need to come up with ways to structure their applications to offer other benefits besides just connecting APIs. This is no different than what Microsoft did in the early days. Microsoft grew to domination in the desktop market on the backs of third party developers. Old applications like Harvard Graphics, WordStar, VisiCalc and dBASE were the early pioneers before we had MS Office. No one should be surprised with Twitter's actions, it's part of the software growth lifecycle. Developers will adapt and Twitter will do what fuels its own business growth. I see no problem with that.
palm_webos_HP.jpg Most industry observers credit HP's acquisition of Palm as a good move to get back in the mobile business. I see it as potentially bending the Android developer growth curve. Programmers have to write Objective C for the iPhone, JavaME for Blackberry, Java for Android and Symbian for Nokia. That didn't leave much room for Palm webOS development, until now. Even though they already knew what they needed for webOS:  HTML(5), CSS and JavaScript, there just wasn't enough critical mass because developers couldn't get to it. This acquisition is about software and I believe the Pre and the Pixie will become collector items. The webOS is much lighter than HP's Touch Smart for Windows so I expect to see it powering the new HP Slate. In fact, webOS is better suited for places where Android doesn't work well like e-readers and web tablets. The issue is the open source Android device orphan. Remember, the Nexus One had new features not available to the Motorola Droid via a software download. When you get an Android, you are tied to the device, not the OS. With webOS, your phone improves when the OS is upgraded, just like the iPhone. I wished RIM had been bold enough to consider buying Palm. They certainly needed it. Now HP can come after RIM in the enterprise. HP can offer a mix of Android and Windows Mobile 7 for consumers or corporate users. Palm webOS gives them something of their own and a developer community waiting in the wings.

html5-logo.jpgThe first draft of the HTML5 spec appeared in early 2008. Its design purpose is to eliminate the need for plug-ins such as Adobe Flash, Microsoft Silverlight or Sun JavaFX, especially when playing videos. Adobe Tools such as Creative Suite have enabled thousands of developers to make Flash the standard for 75% of video on the web today. But let's look at whose driving the standard. Ian Hickson is from Google and David Hyatt is from Apple, so it should come as no surprise why Adobe is odd man out. Refined standards take a long time to materialize; the Candidate Recommendation stage for HTML5 starts in 2012 and could end as late as 2022, but we're talking software, not hardware. Meanwhile, we are starting to see more useful implementations of the standard as it sits today. The recent iTunes Preview iPhone App is a good example of HTML5. The new Google Voice iPhone browser also uses HTML5 and leverages local caching of data. It supports voice tags that allow you to play audio voicemails in the browser. Is HTML5 advancing fast enough to overtake Flash on the web? If the CODEC debate of H.264 vs. Ogg Theora doesn't get resolved soon (H.264 has IP licensing and potential patent infringement issues), we will see a splintering of web browser support for HTML5 in the short term. For now, I'd keep some Flash developers around.

iPhone users still Gripe over Skype

| | Comments (0)
skype3-1-266x400.jpg With a four-way price war going on between AT&T, Verizon, Sprint and T-Mobile, we have seemed to lost track of VoIP over 3G. Software from companies such as Fring or Truphone allow you to make VoIP calls on your iPhone, but only over WiFi. There are hacks (crash-x) that allow you to trick the iPhone into thinking you're connected to WiFi and make VoIP calls over 3G (or downspeed to EDGE/GPRS). I'm still wondering ... why bother? If the idea was to save minutes or money, the carriers have already responded by driving cheap voice with price reductions. Besides, VoIP over 3G needs massive data compression and low latency to battle quality of service issues that make the user experience poor.  Skype claims they only need a small amount of bandwidth - between 6 kbps and 40 kbps, but I don't think they can overcome latency issues. Many users were disappointed Skype 1.3 did not include push notifications or support VoIP over 3G. They still have usability issues using Skype when "real" phone calls come in (it logs you off). Eventually data plans will race for the bottom too so Skype could become irrelevant on 3G/4G handsets.

About Paul Lopez

Paul Lopez Paul Lopez is a 20+ year technology veteran whose career has spanned multiple disciplines such as product management, software development, engineering, marketing, business development and operations... read more

Twitter

Connect with Paul

Powered by Movable Type 4.37