Tuesday, 23 December 2014

Open Sourced iOS Control For Displaying Images With Tilt Gesture Scrolling


alt tag

Swift implementation of the photo tilt gesture/UX found in Facebook's Paper app.

Requirements

  • iOS 8.0 or higher
  • ARC
  • Core Motion
 Here you will find a nice scrollable interface for presenting images with stories, an open source Swift based photo viewing component submitted by Sameh Mabrouk allowing the user to view images wider than the screen using a tilt gesture called Panoramic.

Panoramic is inspired by Facebook’s Paper app, and uses Core Motion for handling the tilt gesture. There is also an indicator on the bottom of the screen to indicate where the user is in the image.


Swift Version             : https://github.com/iSame7/Panoramic
Objective-c version   : https://github.com/iSame7/Panorama

Twitter app like Profile Image Blurr effect.

This project is an attempt to Make a blur effect when you drag down the top of a UITableView like on twitter and in tweetbot.

Here is the Source code : https://github.com/sibahota059/TwitterProfilePageBlurr

Screenshot

Contact Me or add me on Facebook - https://www.facebook.com/sibaprasad.hota

Comparison between Corona, Phonegap, Titanium

Note: This Article is Originated from Stack overflow Question : Comparison between Corona, Phonegap, Titanium which is answered beautifully by DennisJZH
Titanium and PhoneGap are more similar than different. They both expose mobile phone functions through a set of javascript APIs, and the application's logic (html, css, javascript) runs inside a native WebView control.

  1. PhoneGap is not just a native wrapper of a web app. Through the PhoneGap javascript APIs, the "web app" has access to the mobile phone functions such as Geolocation, Accelerometer Camera, Contacts, Database, File system, etc. Basically any function that the mobile phone SDK provides can be "bridged" to the javascript world. On the other hand, a normal web app that runs on the mobile web browser does not have access to most of these functions (security being the primary reason). Therefore, a PhoneGap app is more of a mobile app than a web app. You can certainly use PhoneGap to wrap a web app that does not use any PhoneGap APIs at all, but that is not what PhoneGap was created for.
  2. Titanium does NOT compile your HTML, CSS or JavaScript code into "native bits". They are packaged as resources to the executable bundle, much like an embedded image file. When the application runs, these resources are loaded into a UIWebView control and run there (as JavaScript, not native bits, of course). There is no such thing as a JavaScript-to-native-code (or to-objective-c) compiler. This is done the same way in PhoneGap as well. From architectural standpoint, these two frameworks are very similar.

    Now, are they any different? Yes. First, Titanium appears to be more feature rich than PhoneGap by bridging more mobile phone functions to javascript. Most noticeably, PhoneGap does not expose many (if any) native UI components to javascript. Titanium, on the other hand, has a comprehensive UI APIs that can be called in javascript to create and control all kinds of native UI controls. Utilizaing these UI APIs, a Titanium app can look more "native" than a PhoneGap app. Second, PhoneGap supports more mobile phone platforms than Titanium does. PhoneGap APIs are more generic and can be used on different platforms such as iPhone, Android, Blackberry, Symbian, etc. Titanium is primarily targeting iPhone and Android at least for now. Some of its APIs are platform specific (like the iPhone UI APIs). The use of these APIs will reduce the cross-platform capability of your application.
    So, if your concern for your app is to make it more "native" looking, Titanium is a better choice. If you want to be able to "port" your app to another platform more easily, PhoneGap will be better.

    Updated 8/13/2010: Link to a Titanium employee's answer to Mickey's question.
    Updated 12/04/2010: I decided to give this post an annual review to keep its information current. Many things have changes in a year that made some of the information in the initial post outdated.

    The biggest change came from Titanium. Earlier this year, Appcelerator released Titanium 1.0, which departed drastically from its previous versions from the architectural standpoint. In 1.0, the UIWebView control is no longer in use. Instead, you call Titanium APIs for any UI functions. This change means a couple things:

  3. Your app UI becomes completely native. There is no more web UI in your app since the native Titanium APIs take over control of all your UI needs. Titanium deserves a lot of credit by pioneering on the "Cross-Platform Native UI" frontier. It gives programmers who prefer the look and feel of native UI but dislike the official programming language an alternative.
  4. You won't be able to use HTML or CSS in your app, as the web view is gone. (Note: you can still create web view in Titanium. But there are few Titanium features that you can take advantage of in the web view.)Titanium Q&A: What happened to HTML & CSS?
  5. You won't be able to use popular JS libraries such as JQuery that assume the existence of an DOM object. You continue to use JavaScript as your coding language. But that is pretty much the only web technology you can utilize if you come to Titanium 1.0 as a web programmer.
Now, does Titanium 1.0 compile your JavaScript into "native bits"? No. Appcelerator finally came clean on this issue with this developer blog:Titanium Guides Project: JS Environment. We programmers are more genuine people than those in the Marketing department, aren't we? :-)
Move on to PhoneGap. There are not many new things to say about PhoneGap. My perception is that PhoneGap development was not very active until IBM jumped on board later this year. Some people even argued that IBM is contributing more code to PhoneGap than Nitobi is. That being true or not, it is good to know that PhoneGap is being active developed.
PhoneGap continues to base itself on web technologies, namely HTML, CSS and JavaScript. It does not look like PhoneGap has any plan to bridge native UI features to JavaScript as Titanium is doing. While Web UI still lags behind native UI on performance and native look and feel, such gap is being rapidly closed. There are two trends in web technologies that ensure bright feature to mobile web UI in terms of performance:
  1. JavaScript engine moving from an interpreter to a virtual machine. JavaScript is JIT compiled into native code for faster execution. Safari JS engine: SquirrelFish Extreme
  2. Web page rendering moving from relying on CPU to using GPU acceleration. Graphic intensive tasks such as page transition and 3D animation become a lot smoother with the help of hardware acceleration. GPU Accelerated Compositing in Chrome
Such improvements that are originated from desktop browsers are being delivered to mobile browsers quickly. In fact, since iOS 3.2 and Android 2.0, the mobile web view control has become much more performing and HTML5 friendly. The future of mobile web is so promising that it has attracted a big kid to town: JQuery has recently announced its mobile web framework. With JQuery Mobile providing UI gadgets, and PhoneGap providing phone features, they two combined creates a perfect mobile web platform in my opinion.

I should also mention Sencha Touch as another mobile web UI gadget framework. Sencha Touch version 1.0 was recently released under a dual licensing model that includes GPLv3. Sencha Touch works well with PhoneGap just as JQuery Mobile does.

If you are a GWT programmer(like me), you may want to check out GWT Mobile, an open source project for creating mobile web apps with GWT. It includes a PhoneGap GWT wrapper that enables the use of PhoneGap in GWT

HTML5 vs Native Mobile Apps

Will HTML5 ever really compete with native apps and become the primary mobile development platform?

Mobile apps and HTML5 are two of the most innovative – and polarising – technologies in the mobile world at present, and there are plenty of similarities between the two. Web apps, most recently using next-generation HTML5 features, run in mobile web browsers and can also be re-packaged to look like native apps on the various mobile platforms. They bring facilities like offline access and a smoother user experience to the web, but still often fall short of native apps.


Native apps can be easily found in the relevant app stores and are normally developed individually or on a mobile platform, such as Core-three's Core Engine platform. Ease of discovery and the best of all possible user experiences have made native apps the current industry front-runner.

But due to the wide-ranging number of mobile platforms to support, combined with the sheer power of mobile browsers, developers are increasingly turning to HTML5 as a "write once, run many" solution. However, there are still vast compelling reasons to go native, especially when native mobile platforms such as Core Engine are now available. We've highlighted the benefits of native app over HTML5 web apps as they stand today, and also give a view of the future where you may not have to choose.


The current state of play

Mobile functionality can be split into two dimensions: the user experience, and the way it integrates into the device's ecosystem. For Android or iOS, this includes features like widgets and push notifications. Native apps excel in both dimensions, with HTML5 approaching from a distance.
User functionality 

In terms of user functionality, native apps can do more. They can make deeper use of the device's hardware, acting on hard or soft keys being pressed, like a device's back button and volume controls, and accessing hardware like GPS (for location-based services) and the device's camera. In some cases, with the user's permission, native apps can also access the devices operating system too, providing tight integration with other apps, and a gateway to technologies such as contactless communications via NFC.

Native apps can also more easily cache data when there is no network coverage, where web apps need coverage to function. This means users can scan QR codes at a virtual supermarket in a closed shopping centre or in a subway. Once network coverage is available, the app can then automatically send an order to the retailer for fulfilment. Or how about downloading a mobile ticket - once downloaded, the ticket can be stored on the phone and produced when required without network coverage. Corethree's recent work with Go North East for their UK bus network is a great example of this capability in action.

Native is a fast-moving target, and these benefits are not yet available on HTML5, but the web is also developing at a rapid rate. Solutions to enable web apps to use devices' functionality are in active development, with Mozilla (developers of the popular Firefox web browser) leading the charge with their WebAPI initiative.

One of the defining features of any platform is its look and feel, and users come to expect consistency. If developers take care to use the tools provided by the device manufacturers, native apps can deliver a great user experience. Users only have a number of seconds to get familiar with a new app; if there are any delays, even of a few seconds, the app could be discarded.

Due to a lack of a common set of standard for user interfaces, web apps tend to have a custom look and feel, which requires "familiarity curve", which all takes time. Native app developers have a much easier task in making their UI consistent, so apps generally look and feel similar to others on that device. This is important, as there is only limited time before the user will get frustrated and give up on the application.

Renowned usability guru Jakob Nielsen suggests that there's a 10 second window to grab users' attention. Anything slower needs a percentage-complete indicator as well as a clearly signposted way for the user to interrupt the operation. Ideally, he recommends a 1 second response time as the best way to make the UI appear seamless. Native apps, even those such as Core-three's (which deliver services from the cloud) can achieve this, where web apps have a hard time ensuring this kind of performance.

Factors in this include the web run time barrier (downloading all elements of pages), so downloading content is faster using native apps. Native apps are also more easily optimized and can take advantage of performance boosters like graphics acceleration and multithreading. Web apps are also highly dependent on the network coverage levels, which are not as reliable or as fast indoors or in rural areas. The impact of apps running on reduced network speeds such as EDGE or GPRS (2.5G), will massively affect the user experience.


Ease of development

Native apps use robust and mature programming languages, which were designed for complex application development and have a proven track record. These tools were designed from the ground-up to support each platform. You can easily debug apps in desktop emulators that provide a close representation of the target device, all of which makes the path to market with a reliable application much smoother.

What makes web development particularly troublesome is the huge diversity of browsers and runtimes, potentially making the web app unstable and requiring a great deal of testing. In addition, standards are open to interpretation – again, projects like Mozilla's WebAPI aim to move past these limitations, but aren't yet mature enough to be a solution.

Discoverability 

App distribution mechanisms like Android's Market and Apple's App Store have been overwhelmingly popular in recent years, and are a major driving force for the entire market. Any developer can submit their native app to the marketplace – for example, Core three's Core or M-tickets - where users can discover it through a combination of browsing, searching, and getting recommendations. Not only that, but if development companies have done their job right, the glowing ratings and comments will convince users to hit the all important "install" button.

With a web app, there's no central hub for app discovery. Even with a variety of smaller web app directories, none have taken off to a large extent, so companies need to market their service much more actively. Unless they have a bottomless pit of money or are a well-known brand, consumers will find it difficult to know where to find the mobile service, or even that it exists.

Some companies are designing hybrid apps using technologies like PhoneGap (Cardova),Titanium, a combination of native and web just so they can get into the relevant app stores. Whilst it's better than having no presence at all, it masks the fact they are predominately an HTML5 web app. These apps will still do not have the functionality of a native app, and generally lack in robustness and tight user experience.

Native apps can be monetized

With regular headlines such as "12 year-old makes app during lunch hour, sells a billion copies at 69p each", it's no wonder developers large and small are looking to the mobile marketplaces for monetisation. Mobile platforms offer several avenues for developers to directly charge for their apps. The simplest scheme is the one-time payment, to unlock the app forever. There are also in-app payment and subscription mechanisms on offer for some platforms, and they are tightly integrated in a consistent, secure, mechanism, with centralised and trusted billing. These newer forms of payment allow developers to convert a smash-hit app into a long-term revenue stream.

Given that Apple's App Store, for example, limits payments to those for digital content only, platforms like Core Engine provide corresponding facilities for payment and CRM in retail operations for real-world goods.

In comparison, web apps lack a standardised payment model. Although providers like PayPal can fill the gap to some extent, the HTML5 purchasing experience is still generally fragmented and inconsistent, with no specific focus for user trust.

The way forward

Some apps are best suited for native and some are best suited for the web - it all depends on the requirements from the client. However, as we are at the start of the explosive exponential growth of the smartphone, any requirement from clients should be future proof.

How will you surprise and delight your subscribers? Offering subscribers the ability to use the devices functionality if required will help add stickiness to the app.

The development of new features for web apps has momentum, but in terms of native user experience, capability and performance, native apps at present far excel those of web apps. Until there comes a time when web technologies are a first-class citizen on the majority of mobile operating systems, native will always, in our opinion, be a superior offering.

If you do choose the web path, be mindful of web standards, future proofing and the principle of progressive enhancement.




 

Monday, 22 December 2014

Great Mobile Apps by Mobile App Development India

Mobile application development and release of new apps is a great market globally, and has developed highly all over India too. This giant market offers both salaried and freelance jobs to many app developers all over the world, and eventually gives mobile users a wide array of applications to plunge in. There are apps developed and released for the various activities and purposes that go on in a person's life. Apps for all types of needs are there, and are continuously being developed by Mobile App Development India.


Mobile Apps cover all aspects of life

Mobile applications are not just subjected to simple mobile phone call and phone settings or just business related functions. Time is changing fast, and man has entered a very different era, where all sorts of jobs are tried to be covered through the small handheld devices. Thus the world is trying to come closer and more compact through these applications and Mobile Application Development India is making life easier and faster.

There are applications for astrology, love, matrimony, chatting, social networking, money making, shares and forex trading, banking, accounting, file managing, exercising, sports, cooking and what not! All and everything is available in this world of varied mobile apps that are available both on demand and in application stores as per requirement.

Why people are interested in new Apps

Although there are plenty of applications available in the app market worldwide, yet newer apps are always in demand because of the following reasons:

  • People want up-gradation of current apps and always show interest in newly developed apps to see if they get a better version of what they are using currently.
  • People want apps for different purposes and any new application for a purpose raises interest among users to try and see if that suits their purpose and lifestyle.
  • For specific organizations or software etc, apps are custom made and such tailor made apps are used by people associated with those software or organizations.
The development and marketing of Mobile Apps

Mobile Apps are developed and marketed in mainly two ways.

Firstly, by several companies and individuals who make apps and then release them in collaboration with giant mobile platform developers. This way the mobile app developer gets a part of the revenue that comes from selling the app from the app store of the big players of mobile platforms.

Several companies are there who develop mobile applications. Some do it dedicatedly by keeping salaried employees who are highly experienced app Mobile App Developers. Some get the jobs done by freelancers. There are many freelancers who earn a nice living by this. Simply developing high quality and various mobile apps for different OS and platforms brings a good living for many programmers and app developers.

A second type of app development happens when companies or developers create customized apps for their customers. Many service providers from various platforms ask or hire Mobile App Developers India to create tailor made apps for their clients and users. This type of app development generates revenue for the developers through the company they have developed the app for.
Both type of Mobile App Development India has got a huge market and great future, the mobile apps being in accentuating great demand.

 

Sunday, 21 December 2014

Mobile Apps or Mobile Websites – Which One Helps Businesses More

With competition growing with every single second, business owners perfectly know the significance of having a mobile presence. However, what still confuses them is the real difference between native mobile apps and mobile web apps and what is the best criterion for selection?

For understanding, the real difference between the two and know which one holds an edge over the other; it is important that business owners study the following points.

Accessibility – A mobile web app consists specially formatted web pages to appear better on smart phones and tablets when accessed via the Internet browser. Mobile websites on the other hand, use basic features like maps and click to call features. Mobile apps can be downloaded from app stores and installed in a smart device for use. The best element is that they can be accessed even in the absence of the internet connectivity on the smart device. However, this will entirely depend upon the features of apps. 


Audience – Before selecting anyone, you should be familiar with your audience's needs. This would be very helpful in determining the best for your business. Suppose a customer is searching for a good restaurant in the area he is currently present in, he would use the Internet. It will allow them to check reviews, ratings, menu, discount coupons, cost and reserve a table while still standing on the road. Studies have shown that users mostly use mobile browsers for shopping, searching and entertainment and mobile apps for managing data, playing interactive games and doing productive works.  

New or existing customers – This situation puts immense pressure on enterprise owners. Those looking to know more about your business and services will not download your app for that. For new customers a mobile friendly website is a best choice.

However, for present customers who are already engaged in regular dealing with you, a mobile app is a smarter choice. They will communicate more deeply using these apps and take interest in every personal manner like availing discount coupons, and other similar matters.

Cost – If compared on a feature-to-feature basis, you will find that mobile friendly web application or a mobile website is far cheaper than mobile apps. In addition, it takes lesser time, lesser investment, and lesser headache to develop, run or maintain it. Now, here is the million-dollar question; which one is better, a native mobile app or a mobile web app? One very short and beautiful answer is – it depends upon your goals. For an interactive game or an application, which requires unique inbuilt features, mobile apps are the best choice. However, if you are looking for a mobile friendly content or a simplified version of your existing website, then selecting mobile website concept is a wise decision. A mobile website has the potential to reach a large number of audiences in a shorter period. Following the on-going trend, most business owners prefer to get both for their businesses as both have diverse targeted audiences and business owners would love to grasp the opportunities presented by both of them.

CONCLUSION


Both of them have their unique qualities and it is clear to everyone that both of them help business owners in completely diversified ways. According to my experience, a business owner should first get a mobile website and employ it to gain mobile presence and once, he is contented with the popularity of his mobile websiteFree Articles, he should jump into a bigger war turf with a mobile app.

Use of Mobile apps in 2014

        When we pass into the second half of 2014, mobile apps have defeated the mobile web. Apps have come to dominate mobile traffic, according to leading mobile survey company, which studied 300 billion ad impressions in the first half of 2014.A surprising 58.2 percent of mobile ad impressions was the contribution of mobile apps while48.8 percent on the mobile web. Businesses vie for user time and attention in the mobile apps,not websites and that's why mobile app development companies and cross platform app development companies have great funnel of projects to execute.

    American users are now spending most of their time enjoying digital media within mobile applications they have downloaded to their mobile devices, according com Score. Mobile apps are thus reported to steal most of the user's time than desktop usage or mobile web surfing.

     The mobile apps along with mobile web, captures 60% of time spent, whereas desktop-based digital media consumption trails behind at 40%. Ninety per cent of media consumption is also on mobile devices.

         One-third of US app users, nowadays, download at least one application per month. The average smart-phone user downloads 3 apps per month. The average number of running apps in a smartphone is 40. Most of the users are addicted to them. Nearly 80% of app users use apps nearly every day, accurately saying, 26 days a month.

       This upsurge in mobile app use reflects in many fields like travel booking, for example, the percent of users who booked travel products or services on tablets and smartphones at least once in the past 12 months was 25% in April 2014, and expected to reach 30% next year. In the coming months, more and more people will be booking their flights and hotels through the apps of travel operators. The travel booking apps provide them convenience,flexibility, discounts and special offers, the facilities which gradually drag them away from the conventional ways of booking.


     On Feb 28, 2014, CNN gave the breaking news that the Americans used smartphone and tablet apps more than PCs to browse the Internet in January 2014, for the first time. 55% of Interne tbrowsing was done through mobile devices. Apps had a share of 47% whereas mobile web had7%, according to enders Analysis.

       This is not a phenomenon seen only in the US. Developing economies like India also joins the mobile app race. With 111 million smartphone users, India ranks as the fourth largest smartphone market globally after China (629.2 million), US (196.8 million) and Brazil (141.8million), according to the latest reports. This will lead to astonishing rise in mobile app use in the coming months.

         Mobile app development USA, mobile app development India, mobile app development china,
mobile app development Brazil, mobile apps development, mobile app development Bangalore,
mobile app development Chennai, mobile app development Mumbai, mobile app development Singapore