Cross Platform Mobile Development
Posted on January 25, 2012

Mobile development is one of the hottest areas of software development these days. Every website and business wants a mobile app to compliment their web presence which they are fulfilling by taking the assistance from mobile application development companies. There’s tremendous opportunity for growth in the mobile apps industry and we are right in the middle of a booming industry.

Cross platform development may be defined as a concept in computer software development where you write application code once, and it runs on multiple platforms. This is based on the theory of “write once, run everywhere” concept pioneered in the 90s, and brought to a mainstream reality with Flash in the browser, and AIR on the desktop. The standard evolution of technology has been to make everything faster, smaller, and more portable, and it is only natural that this concept has now come into the mobile development world. In mobile scenarios, it is applied by writing an application using codebase & technology that allows the application to be deployed and distributed across multiple disparate platforms/operating systems/devices.

The biggest problem with mobile development is the fragmentation of platforms that exists. In order to hit most of your audience, you must have to deal with iOS and Android development, and depending on your target audience may be Blackberry application development and Windows mobile development as well. This means learning three different programming languages and four mobile SDKs. All this adds up to more development time and higher development costs. Until the platforms can consolidate on a single technology we have to look elsewhere for tools that can help to simplify the dilemma of all these platforms.

Fortunately, there are frameworks available that can help to make the cross-platform problem a bit less of a burden. Some of them are mentioned below:

  • Titanium
  • Sencha
  • jQuery Mobile
  • Phonegap
  • iWebKit
  • JQ Touch

Advantages of Cross Platform Development:

1.    Lower Barrier of Entry: Due to the ease of use of the development tooling and familiarity of the languages, cross platform technologies lower the technical barriers which may have prevented adoption of native development. This enables your team to focus on what matters – the application; not the skills required to develop on multiple disparate platforms.

2.    Reduce the Number of Required Skills for the Development Team: Using cross-platform development technologies, your team only needs to be proficient with one language/skill set. Knowledge of the native development paradigms and languages are always a plus, but are no longer a requirement.

3.    Reduced Development & Long Term Maintenance Costs: Cross-platform mobile applications can originate from a single codebase, which requires a single development skill set. You don’t need to have staff for each individual platform. Instead, resources working on the shared codebase can cover all target platforms. Having a single codebase also reduces long term maintenance costs.

4.    Play the Strengths of a Technology: Some technologies make tasks easier than others.   For example, programmatic drawing and data visualization are very easy using Flex & Action Script. Developing equivalent experiences in native code can be significantly more complex and time consuming. Use the features of the language to their fullest potential, to your advantage- that’s why they exist.

There are other frameworks available similar to both Titanium and PhoneGap; however, another option for cross-platform development is HTML5 application development. An HTML5 web app is built using technologies like HTML, CSS and JavaScript. These apps are accessed through the browser and are not installed through the app store. This can be both positive and negative depending on your goals and how you want to market the app.

Today you will find people who will proclaim that native apps will be dead in the coming years while others say that web apps will never perform as well as a native app can. Regardless of what the future holds, today we are left with this array of disparate platforms that we must support. There is not one best solution that will make this easier for you. The best way is to consider your app requirements, your target audience and how you intend to distributing the app and look at the frameworks available.

Key Differentiators Native Apps Web Apps

Meaning

Native Applications are specifically designed to run on a device’s operating system and machine firmware

It typically needs to be adapted/adjusted for different devices

Web Applications are those in which all or some parts of the software are downloaded from the web each time it is run

It can usually be accessed from all web-capable mobile devices

Technical Difference

A native application developed for the iPhone will need to run on its proprietary iOS platform or on Symbian for many Nokia devices, and so forth

A web app, however, is typically coded in a browser - rendered language such as HTML combined with JavaScript

Internet Access

Not Required

Required, except for rare apps with offline capability

User Interface

Native apps are responsive and functional

Browsers can be clunky, but new advancements in JavaScript like jQuery Mobile are catching up fast

Installation/Updates

It should be deployed or downloaded

Hit refresh

Device Compatibility

Platform and Hardware dependent

Platform-agnostic, content can be reformatted with CSS to suit any device

Media Streaming

There are few problems with audio and video. Flash works, but only if the device supports it

Browser-based audio and video are getting there, but still there is a compatibility issue. Flash works where supported

Discussion and collaboration

Permits only if you build it, and it’s more difficult if data is disparate

Discussion is easy, as all data is stored on a server

Fonts

Tight control over typefaces, layout

Almost on par, thanks to advancements in web standards. Give it six months

Security

Native apps definitely enjoy an architectural advantage in security, as they do not need to connect with the network as frequently as Web apps

Web apps are less secured as compared to native apps due to their network connectivity

Sharable/Tweetable

Only if you build it in

Web links are shared freely. Social APIs and widgets allow easy one-click posting

Development

Specific tools are required for some platforms (like Apple’s). A new app needs to be built for each target platform

Write once, publish once, and view it anywhere. Multiple tools and libraries are available to choose from

Distribution

Most app stores require approval. And so, long waiting time

No such issues

So far we have been mainly discussing the choice between native and Web apps for mobile devices. Personally I believe Web apps will take on a larger mind share among both publishers and consumers, as hardware complexity grows and the desire for immediacy increasingly dominates modern media consumption behavior.

Mobile devices are becoming an essential part of our day to day life whether it is for personal or business use. Mobile phones, wireless PDAs, and specialized wireless devices are being used to read email, perform inventory, get GPS location, and many more applications. As applications are pushed to the mobile environments, there are a number of challenges that need to be addressed. Traditionally, the challenges of mobile devices dealt with issues like size, weight, power, and connectivity. This has not really changed, but is complicated by layering additional requirements like XML Digital Signature on top of an already challenging problem.

The Challenge

Digital signatures provide mobile devices with two main challenges: increased size of data package (transaction) and the need for additional processing. Increased size of the data package ties directly into network connectivity and bandwidth. As the size of data packages decreases the signature becomes a very large part of the overall package and requires more connectivity and time to transmit the data. Digitally signing or verifying digital signatures also places a significant burden on a mobile device. In both operations, the XML data must be normalized using a canonicalization transform and then cryptographically processed. Both of these operations are very computationally intensive and have the potential of injecting enough latency to make the end user experience unacceptable.

Positions

There are several activities underway that are attempting to address issues in the mobile computing environment that have the potential to be impacted by XML Digital Signature in a positive or negative way. If these technologies cannot work successfully with XML Digital Signature then there is a risk that either XML Digital Signature or the other activities themselves will not be adopted. W3C should evaluate mobile initiatives to determine with which activities XML Digital Signature should be harmonized. There are still other technologies that target XML efficiency which should be evaluated for inclusion in the XML Digital Signature specification. Then again maybe the specification as written may not be well suited for mobile environments and other alternatives should be explored.

Harmonization

Two of the initiatives under the W3C are Efficient XML and the W3C Mobile Web Initiative. Efficient XML has been developed to address throughput and performance issues related to the concerns of limited bandwidth and processing power in mobile platforms. The Mobile Web Initiative is aimed at making web browsing more useful for mobile users. Initiatives like these and others may be worthy of harmonization with XML Digital Signature.

Exploration

XML Digital Signature may not be suited for all mobile applications. Canonicalization is very costly with regard to processing power and time. XML digital signatures add size to documents (and packets) and can more than double the size of certain transactions. If XML is to be used securely in these environments then maybe a different solution needs to be sought for these applications or maybe a new approach would be warranted in general.

Conclusion

Mobile devices are a part of everyday life and users expect to be able to perform the same functions securely in mobile environments, as they perform in tethered environments. Consideration of mobile environment requirements when updating the specifications is prudent and should further the acceptance and implementation of specifications like XML Digital Signature.

HTML5 Mobile Application Development
Posted on November 14, 2011

HTML 5 is one of the hottest growing web development platforms. Technology leaders like Apple and Google have been revolutionizing the community at such a pace that market has been flooded with the iPhone/iPad/Android applications. According to many web development professionals and experts, HTML 5 will gain a lot of importance quickly due to the upsurge in demand and requirements of mobile web development. The rising number of mobile websites for businesses are being developed all over the world as companies are considering mobile commerce a remarkable strategy that brings a new era of opportunities.

Why to opt for HTML 5:

HTML5 is revolutionizing the way the internet will look and feel. Programmers and coders will have more control of the pages they are creating, and they won’t need so many plug-ins.

Web browsers are also beginning to support HTML5. Mozilla Firefox, Google Chrome, Apple’s Safari and Opera and four major players in this game.

The main benefit everyone is talking about is the simplicity of HTML5. While XHTML was not adopted by a lot of larger web browsers, HTML5 has promise of streamlining coding language, media, and overall user experience.

Key Benefits:

  • Cleaner, readable and consistent HTML code that is transferable across environments by default
  • Application distribution channels go beyond the different app stores, thereby eliminating the excessive restrictions and undue consumption of time
  • Usability of advanced UI components such as data pickers, sliders, edit boxes that automatically support ellipsis and others
  • To reduce app size and improve its responsiveness, CSS3 styles and CSS3-based animation are used
  • Easy accessibility to rich media types (audio and video) are available before via native code only
  • Support for geo-location services
  • Offline storage capabilities

Drawbacks:
Despite of numerous benefits, it has gaps between native and HTML-based mobile applications:

  • HTML5 standards not fully implemented by the browsers
  • Well made Native apps run faster than HTML5 based web apps
  • Achieving a uniform user experience across devices with different levels of support for HTML5, or devices that lack the resources to efficiently render heavy CSS3 animation
  • Writing rich apps that address user expectations and utilize the wide range of native features that modern devices offer
  • Complying with security standards and regulations around on-device data storage

Path going forward:

Due to the limited browser’s support to HTML5 standards, it is difficult to interpret whether Native application development or HTML5 applications are more efficient. It totally depends on the browsers/market segment targeted for a particular application.

Alfresco the open platform for social content management launches the Alfresco Community 4, the most significant release of the platform to date. Alfresco open source 4 highlights, a wealth of new user features and UI enhancements that enable faster user adoption, along with improved tools to allow developers to create social and cloud-scale, content-rich applications. They also separated their content indexing processes from content management and replaced this functionality with their own indexing solution. Alfresco Community 4 significantly increases overall system performance.

Alfresco 4 also includes functions to publish content and status updates to social sites, such as YouTube, Facebook, LinkedIn, Twitter, Flickr and SlideShare which will be a welcome addition to users as the use of public social media rises. Other new features for cloud-scale performance, open platform for social channel publishing and user experience include:

High-performance Indexing: The New Alfresco Index Server that is based on Apache Solr extensively improves the performance by separating indexing from content processes.

Integrated workflow: It includes the automation of content-focused business processes with Activiti, which is the leading open source Java-based BPMN 2.0 business process server.

Enhanced clustering: This feature is being introduced to increase the reliability and scalability, including added support for clustered CIFS.

Simpler Process: Social content publishing, part of an enterprise content workflow, simplifies to much an extent the problem of multi-channel publishing. It also control publishing with existing review and approve workflows along with built-in content security.

Fewer Tools leads to lesser errors: This feature offers embedded social publishing into an organization’s core content and collaboration tool, which eliminates the need for social-specific tools and error-prone “copy-and-paste” to external tools.

Drag and Drop Simplicity: Drag and drop streamlines the movement of files around on HTML5 enabled browsers.

Additional support for audio, video, Adobe Creative Suite & Apple iWork documents: The support delivers inline preview and metadata extraction for more file types.

Social Features: The new added social features on Alfresco 4 enables to ‘Follow’ influential content creators as well as ‘liking’ the favorite content.

Cloud Collaboration: This includes Google Docs integration to collaborate in real time.

Mobile Support: The mobile support offers new, free iOS apps available from iTunes, along with continued support for WebDAV and CMIS standards for new mobile use cases.

Extensibility: For developers and partners, Alfresco web interface is now much easier to extend and customize.

Alfresco Community edition 4 is available for download from Alfresco’s website.

Apple has uncloaked its iOS 5 operating system for iPhone and iPad users, with 1,500 new APIs and over 200 new features. Let’s have overlook to some of the major features offered by iOS 5:-

1. Notification Center: - Users can get all kinds of notifications on iOS device: new email, texts, friend requests, and more. With Notification Center, you can keep track of them all in one convenient location. Notifications no longer interrupt apps either, instead appearing at the top of the screen, meaning users can simply swipe down if they wish to view the note. And the Lock screen displays notifications so you can act on them with just a swipe. Notification Center is the best way to stay on top of your life’s breaking news.

2. iMessage: - One of the surprising new iOS 5 features was the introduction of Apple’s own messaging service called iMessage. The new service offers a number of advantages over current SMS/text messaging. Features include delivery receipts, see when someone’s typing, secure encryption and support for iPad and iPod Touch devices. The iOS 5 can send unlimited text messages via Wi-Fi or 3G from iPad, iPhone, or iPod touch to anyone with one of those devices. iMessage is built into the Messages app, so users can send text, photos,videos,locations and contacts.

3. Newsstand: - iOS 5 adds Newsstand, which is going to be huge for readers and publishers. Newsstand looks just like the iBooks app, but this is for magazines and daily papers. Working a bit like the Kindle magazine system, Newsstand will update your magazines when they are published without any fiddling around by users. Magazines can be read offline, and Apple has apparently signed up a boat load of magazines and newspapers. It is like having the paper delivered to your front door which keeps you updated with the recent happenings all around the globe.

4. Reminders: - This exciting feature will help you organize your life in a smart way — set reminders to complete the tasks with due dates and locations. Reminders also works with iCal, Outlook, and iCloud, so changes you make update automatically on all your devices and calendars. Overall, Reminders is a simple, vanilla app. What the app does, it handles elegantly.

5. Twitter: - iOS 5 makes it even easier to tweet from your iPhone, iPad, or iPod touch. You will now have a Twitter option in the settings. Selecting this option will allow you to do three things; install the official Twitter application, enter your own Twitter credentials to enable integration, and finally synchronize as Twitter handles with contacts on your phone. Twitter is enabled in Safari, Photos, Camera, YouTube, or Maps – you won’t need a separate client if you want to tweet your location, share a photo, video or a webpage. Through this feature it seems that gone those days of sharing everything via email, Twitter is rapidly replacing the need to share via long-form messaging.

6. Camera: - Nothing could be better than the added new camera features of iOS 5 to capture some of the most beautiful moments of your life. The added convenience that comes from being able to access them from the iPhone’s lock screen. The editing features will be a welcome addition to iPhone users who don’t already use third-party editing apps.

7. Photos: - iOS 5 offers enhanced photo enhancements. The ability to make new folders and Photo Stream are huge time savers for photo management. Crop, rotate, enhance, and remove red-eye without leaving the Photos app. If you have Photo Stream enabled in iCloud, your photos automatically download to all your other devices.

8. PC Free: - With iOS 5, there is no need of computer to own an iPad, iPhone, or iPod touch. Activate and set up your device wirelessly, right out of the box. Download free iOS software updates directly on your device. Play more with the apps— like editing your photos or adding new email folders — on your device, without the need for a Mac or PC. Users can backup and restore their device automatically using iCloud.

9. Calendar: - With iOS 5, users will be able to add, rename and delete calendars directly from an iPhone or iPad. Previously, these activities required tethering to a PC via USB. Event attachments can also be viewed from directly within Calendar, with no need to switch to another application to view associated content.

10. Mail: - Along with notification changes, twitter integration, and tons of new APIs the iOS mail app will get some welcome additions as well. New features include:

  • New keyboard – you can split it up! (iPad only most likely)
  • Rich text editing (about time!)
  • Indentation control
  • Draggable addresses
  • Built in dictionary (iOS wide – tap a word and click define to bring up the dictionary )
  • Search entire content of messages
  • Flag messages