Friday, April 9, 2010

Choosing an Approach to Mobile Development

Mobile applications are the new Shangra La for software development shops. This article in the Washington Post reports that more than 800 million iPhone applications have been downloaded and there are now more than 25,000 apps in the iTunes store. Clearly, there’s an enormous market for mobile applications. But, when it comes to choosing the best method for developing iPhone apps, it’s not always obvious which approach aligns with your business goals. This article outlines three different development methods for building mobile apps along with pros and cons to help you choose the development approach that’s right for your business.

Build In the Browser

The easiest option for creating an iPhone, Blackberry or Android application is to build it in the browser using Web development languages like HTML and JavaScript. There are some solid reasons to take this approach. For starters, if you’re a Web developer and are familiar with HTML and JavaScript, but not versed in the native iPhone app development language of Objective-C, you can build an iPhone application in the browser using the skills you already have. Second, browser-built apps are easier to build and distribute. They’re portable and accessible from multiple devices, which helps to spread the application’s popularity. Also on the upside, browser-built apps update instantly, generally load faster, are easier to read and update and offer more flexibility for future feature updates. Popular browser-built iPhone apps include Gmail and SlideShare.

The simplicity of browser-built iPhone apps attracts many developers, especially Web developers, but there are problems with this method. A major setback is that applications built this way can’t access native iPhone features like accelerometer, GPS, camera, contacts, etc. That’s a significant handicap when users are clamoring for applications that make the most of iPhone technology.

Create a Native App

Native applications built in Objective-C make full use of all the iPhone features: GPS, accelerometer, local storage, camera and more. This approach works especially well for robust applications, like 3D games. If your goal is to sell a complex, full-featured application, building a native application is your best bet.

So, why doesn’t every development shop build native iPhone apps? Because they’re built in Objective-C, an obscure programming language that can be difficult to learn. Not only are Objective-C developers hard to find, their skills don’t always transfer to other Web development projects. Finding and hiring a team of Objective-C developers is costly and not very practical, unless you plan to focus entirely on iPhone application development.

Take the Hybrid Approach

If you’re not ready to take the Objective-C plunge, there is a hybrid method that combines the browser-built approach with the benefits of native development. Hybrid development tools, like the open source PhoneGap framework, provide a set of tools and libraries that enable Web developers to build iPhone applications with HTML and JavaScript, but also provide access to native iPhone features. The obvious benefit here is that there’s no need to learn yet another programming language. Your JavaScript team can build these hybrid applications with ease.

Of course, every method has its drawbacks. In this case, achieving JavaScript performance can be a challenge. But, if your developers are already well-versed in JavaScript and HTML, a hybrid approach is the fastest, most effective way to add iPhone app development to your roster, especially if you’re building social networking applications, simple games and companion applications to websites. This avenue opens up options for cross platform development because iPhone applications built with PhoneGap also run on Blackberry and Android.

Article Thanks: Uxmag.com

Semaphore has expertise in providing various types of services including SEO Services, Software Development and Mobile Website Development services. Our skilled Mobile Web Developers have proficiency in iPhone Application Development, Blackberry Application Development, and J2ME Mobile Application Development

Is Google Android Messing Up Java Mobile Software?

Android continues to grow in popularity but the concerns being raised about Android’s approach and use of Java refuse to go away.

Java creator James Gosling had criticized Android’s approach to Java a few months back -

It’s really hard to tell what their (Google) intentions are with Android. They put this thing out there, and you’ve got lots of people picking it up. The big attraction seems to be the zero on the price tag. But everybody I’ve talked to who is building an Android phone or whatever, they’re all going in and they’re just hacking on it. And so all these Android phones are going to be incompatible…

What’s going on in the Android world is there’s kind of no adult in charge. And all these handset manufacturers are doing whatever they damn well please. Which means that it’s just going to be randomness. It could be “let a thousand flowers bloom” – but it also could be a dog’s breakfast. And I guess having been around the track a few times, it feels like it’s going to be more of a dog’s breakfast…

Some of the recent criticisms surrounding Android are not only are there three different versions of the Android OS out in the wild at the moment, but different handset manufacturers customize the platform and add their own specialized ROMs, with the result that code that runs on one phone completely borks out on another.

Android developers have also aired their seeming irritation with the amount of effort that is required to make an Android app work across devices.

We find ourselves having to create apps that are compatible with multiple firmwares, multiple ROMs and multiple devices with different hardware. It’s in sharp contrast to the iPhone platform. Apple has tightly controlled the introduction of new iPhones and updates to its operating system.

So while Android continues to grow in popularity there continue to be serious concerns about Android’s approach & its impact on Java mobile software development. Will Android lead to a long term mess up of Java mobile development? Is Android being adopted primarily because it is free & comes from Google or on merits? Is JavaME the way to go for Java mobile software development?

With 2 key Android tech sessions on Android Design & Building an Android App at the upcoming IndicThreads Conference On Java, we certainly have at least one topic for extended debate & discussion at the conference.

Article Source: IndicThreads.com

Semaphore has vast experience of Mobile Application Development. They Offers Services like Mobile website Development, Windows Mobile App Development, Blackberry Application Development and many more...

Mobile Application Development Tips for the Amateur Developer

iPhone software development has been made easier and more accessible since the release of Apple's Software Development Kit. However, there are a number of different platforms for which to develop mobile software and, given the pedantic nature of Apple's licensing laws (making the SDK only accessible via a Mac), it would be wise for any budding software developer to keep the options open. This serves as a generic guide, detailing what software development for any platform would entail.

1. Concept

Any mobile application is based on an idea, and any idea is based on an initial concept. The concept need not be complex (in fact, it would probably be best if the concept was as simple as possible), but it should have the potential to be developed into something either functional, entertaining, or both, and to fill a need or want.

An application, for instance, which displays a square box in the centre of the screen is neither functional nor entertaining, nor does it respond to a need. Whereas an application enabling a mobile device to be used as a barcode reader (such as the barcode app on Google's mobile device) is functional and may fill a need. Needless to say the latter would be more successful than the former.

It is also at this point that the developer decides which platform their mobile application will be distributed on.

2. Research

The avid developer of anything, not limited to software development, knows that the key to a successful project is carrying out the correct research. Research undertaken should be specific to the application being developed so, for example, researching the mating habits of zebras would have little significance in the development of a social networking application. However, it would be useful for the development of an application to better understand wildlife.

Research also needs to be carried out on the market. Not all applications are all things to all men - that is, not all applications will appeal to everyone. A 'good housekeeping' application will hold probably hold little significance for a fourteen year old. Key questions to ask when researching the market are:

  • Who will the product appeal to?
  • Will the product appeal to enough peaple?
  • Will the product be able to compete with whatever is out there, or is it completely unique?

The answers to these and other questions will provide the developer with a much better understanding of the market and equip them to do well.

3. Mock-up

The 'mock-up' stage would involve the development of the initial concept. Here, 'mocking-up' the potential application would be visualising the look and feel of it, drawing concept diagrams and amalgamating all the research carried out.

4. Programming

This would constitute the crux of the project. The developer would need to fully learn and understand the programming language used on the particular mobile platform, as each platform is different. For instance, Google's Android uses Java, whereas iPhone developers use Objective-C. The successful developer would leave ample time for programming and would keep the programming as simple as possible to avoid unnecessary bugs.

5. Testing

Perhaps the most important stage is testing. Nobody likes, or buys, an application known to contain an unbearable amount of bugs. The testing phase should be run as general debugging and focus group testing. The former will eliminate any major bugs and the latter will give the developer a feel for how the application will perform in the real world. The amateur developer may even just invite their friends and family to test any potential application and provide feedback. The two most important parts of the testing process is getting rid of any major bugs and receiving feedback.

6. Release

Once the developer is satisfied that the application is working well and will receive a warm response from users, they are able to release it. Different companies, sporting different mobile platforms will have different means of release. With Apple a developer can only upload an application via a Mac machine, using the official Software Development Kit. For Google Android developers, the process is much less restrictive.

7. Marketing

The process of marketing should, in fact, be carried out throughout the development process. Marketing through a website, social networking sites and blogs should be the first port of call. The developer needs to be a skilled self-promoter, or at the very least know a skilled self-promoter. Building up a base of users who will potentially use the final application is essential to its success. If nobody knows about something then nobody will purchase it.

Article Source: Suite101.com

Semaphore has vast experience of Mobile Application Development. Their range of services includes Android App Development, SEO Services, Offshore Software Development, Web Site Design and Development, Java Application Development and many more...

Get More Done With Your Mobile Device

Looking to improve the functionality of your mobile phone? We’ve compiled the most recently released applications and program updates for smartphones to help business travelers maximize the potential of their mobile devices.

New Titles For Android

Google Shopper (free; www.google.com/mobile/shopper) lets you use the camera on your Android phone to scan the barcode of a product to find prices, reviews, and detailed specifications. Google Shopper can also recognize the covers of books, CDs, DVDs, and games. You can also speak the name of a product to search Shopper for a product. The application saves a history of your searches, which you can share via Gmail or a social networking site or reference when you’re offline. 

Adobe announced AIR (Adobe Integrated Runtime; www.adobe.com), a platform for developing mobile applications that can interact with both online and phone resources. For example, with Adobe AIR on your phone, you could run Flash-based and Web-based applications without using a Web browser that takes up valuable computing power necessary to play videos and run video-intensive content. Recently, Google announced that Adobe AIR would be available on Android before the end of this year.

The updated version of the NPR News App lets you connect to more than 1,000 on-air, HD, and on-demand streams from the 600 NPR stations.

If you’re a fan of NPR, you’ll enjoy the new 1.2 update to the NPR News App For Android (free; www.npr.org), which lets you connect to more than 1,000 on-air, HD, and on-demand streams from over 600 NPR stations. Listeners can place the NPR News App in the background and listen to a news stream while they work on another application. They can also listen to programs and read news from NPR at the same time. For those individuals who like to check out headline stories, the News section lists NPR’s top topics of the day.

The Best Buy Android App (free; www.bestbuyapps.com), developed by Best Buy, gives you the ability to search through and purchase items from the electronics giant. Best Buy hopes to soon integrate special offers, a store locator, and Add Reward Zone features to the application.

New Titles For BlackBerry

Does your company have a Microsoft Exchange Server or Windows Small Business Server but not a BES (BlackBerry Enterprise Server)? Those businesses looking to connect their employees’ BlackBerrys to the work server can now use BlackBerry Enterprise Server Express (free; www.rim.com). The program lets employees securely access and synchronize their email, calendar, contacts, and tasks stored on Microsoft servers. There are no license fees, and it works with any Internet-enabled BlackBerry data plan. The application is particularly useful for small and midsized businesses that want the security of BES without the costly advanced features.

Just10Minutes ($3.99; www.ademendo.com) from Ademendo is based on a concept where you schedule 10 minutes of work (and only work), and when time’s up, you get a two minute break. After the break is done, you work for another 10 minutes and move to the next task. Just10Minutes provides a task manager and to-do list as well as a timer to help you use the technique to stop procrastination and improve your productivity. You can also set your own times for work and breaks in the program.

Manage all of your tasks and notes in Outline Tracker For Palm webOS.

Fans of Amazon’s Kindle, or the 420,000 books available for Kindle, will want to consider downloading Amazon’s Kindle For BlackBerry beta (free; www.amazon.com). The application lets you search and purchase ebooks from the Kindle store for reading on your BlackBerry. And if you own a Kindle, you’ll be able to access your Kindle ebooks even if you don’t have your Kindle with you. Kindle For BlackBerry also syncs with the last page read and annotations using Amazon’s Whispersync. You can also read the ebooks purchased via Kindle For BlackBerry on your Kindle or PC. Kindle newspapers, magazines, and blogs were not available on Kindle For BlackBerry beta at this writing.

Version 6.0 of CrossRiver Systems’ PocketDay Professional ($24.95; www.pocketday.com), a customizable today screen interface, introduces forecasts from AccuWeather.com and the ability to use your own pictures for backgrounds. Other popular options include an email inbox that you can read and reply to directly, stock quotes, a calendar, tasks, and hotkeys for BlackBerry apps. PocketDay Professional’s configurable interface lets you organize content into sections that collapse or expand to maximize space.
With the ability to create an unlimited number of alarms, timers, and world clocks, SwooshAlarm ($4.99; www.mobihand.com) from Swoosh Software lets you use your BlackBerry phone to improve your time management. Additionally, the beta version of SwooshAlarm includes a Location Alarm feature that allows the program to alert you when you’re entering or leaving a given area—ideal to help you remember to do something as soon as you get to the office or out of the airport. You can also assign notes to your alarms.

New Titles For webOS

PocketDay Professional can help you organize the tasks you need to accomplish.

OrgOrganization’s Super Contacts Plus (www.orgorganization.com) lets you group contacts to quickly locate the person you want to call or to send out a group email or text message. The contact list is also alphabetized, so you can jump to the contact you want. There’s no limit to the amount of groups you can create, and personal information is automatically transferred from the contacts on your phone. After you select a contact, you can simply flick the contact icon to the left or right to initiate a phone call. Super Contacts Plus is available for $1.99 from the Palm store (developer.palm.com/webChannel/index.php?packageid=com.orgorganization.app.supercontactsplus).

Saving Web pages for later reading is nice if you’re traveling on an airplane or heading to a destination where you won’t have access to the Internet. PDFMyWeb Pro (www.it-dimension.com) from It-Dimension lets you save Web pages on your Palm WebOS phone as PDF files. To copy a page, enter the URL and press the GetPDF button. You can read the PDF version of the Web page at any time. You can download PDFMyWeb Pro for $1.99 from the Palm App Catalog.

People looking to help organize projects will want to check out Outline Tracker For Palm webOS (outlinetracker.com). The interface lets you arrange jobs into color-coded tasks and subtasks, and all items can be collapsed or expanded. With the dynamic to-do lists, items with a due date appear on top, and reminders through the webOS Calendar will alert you to upcoming tasks. A Who’s Responsible feature and Date feature will help you keep track of jobs others are working on. The app is available for download for $23.50 from Palm’s App catalog (www.palm.com).

Article Thanks: PCToday.com

Semaphore Software is Software Development and SEO Company in India that offers variety of services including Software Development, Web Development & Design, E-Commerce Solutions, Mobile App Development & SEO and SEM Services.

Wednesday, April 7, 2010

Mobile Applications - Where do I begin

Many of our customers come to us with some concept about mobile application and they tell us that we have some idea what next I should do?

We suggest to customer that a detailed requirements specification is the key to deliver software in accordance with customer's needs and ensure application usability and security. Our mobile developers meet the challenges of this phase to resolve our customer's business objectives.

Here are the steps required

1. Mobile Functionality Requirements: After the completion of the initial preliminary application study, it is necessary to identify and define the application’s functional and non-functional requirements. A high-quality requirement specification ensures the competitiveness of the application by guaranteeing that the key features of the application respond to actual and existing market demands and user needs.

Note that at this phase, you also effectively decide what the application should not be able to do. That is, you determine which requirements are valid and feasible and which functionalities will not be included in the application.

The requirement specification should include the following:

  • Definition of all the required functional and non-functional qualities of the application. It should answer the basic question "What does the application do?".
  • Lists of application dependencies.
  • Input for all subsequent project phases.
  • Input for marketing purposes.

2. Defining Scalable UI: While ensuring application scalability to different display resolutions and orientations may require additional work in design, implementation, and testing, it has clear benefits. An application that is built to support scalability can be installed in a wide range of current and future target devices, making the potential customer base for the application significantly larger.

Scalable application development reduces effort from the post-production phase, as the need for making application variants for secondary target devices is reduced. If the same version of the software is not directly compatible with a secondary device, the post-production work is likely to be easier and faster for an application that has been developed with scalability in mind.

3. Target Mobile Devices: Discuss with customer in the target mobile devices. This is to ensure that right development platform is selected for the mobile application development.

4. Security requirements: Defining good application security requirements may be difficult. Security requirements may be more straightforward to express by describing the threats the application is likely to encounter. The relevant threats can be considered as negative use cases that should be avoided. They can describe different scenarios and interactions that must be prevented in the application design.


Semaphore has expertise in providing various types of services including SEO Services, Software Development and Mobile Website Development services. Our skilled Mobile Web Developers have proficiency in iPhone Application Development, iPad App Development, Blackberry Application Development, and J2ME Mobile Application Development.

Seven Things To Consider For Mobile Application Development

Today's vast range of smart phone operating systems have created a spur in the mobile software market. With operating systems ranging from that of iphone, Maemo, WebOS, Palm, Android to the highly successful Symbian, Windows Mobile and Blackberry have been indirectly the success behind the Mobile Application bazaar.

In such a diversely huge market, if newcomers make an entry it is going to be difficult for them to understand things at first. Therefore here is a list that can be of help for new mobile application developers.

1. Examine the underlined mobile infrastructure

The first step is to learn how to build an embedded application. Just as a mobile phone is an embedded gadget, you may end up working for an embedded smart phone operating system something like a Symbian OS. Therefore, acquire all the skills of how to develop an embedded application.

As the processing power of a mobile device rarely goes above 500 MHz. Master your skills for various characteristics of optimizing speed, size, memory, requirements of your application.

2. Data transfer speed is below average

Don't be in the impression that the upcoming 3G feature enables all the applications to load quickly, for on most networks the data transfer speed is below average. So keep this in mind and develop your application accordingly. Many a times you are the one who has to set up your very own optimized protocols for data traffic and optimize them even further by using some compression algorithms.

3. Do your background reading

Reputation is what counts in the mobile market. It is necessary that beginners do their background reading before hand, regarding 2G, 2.5 G, 3G and other related basics of GSM, CDMA, WCDMA, HSPDA modems, etc.

Your developed environment may have its own fundamentals. For instance, if you are a J2ME developer then you need to be acquainted with its background basics. And if you are planning to work with any other technologies, you will have to be prepared with your reading part for every technology has its own series of standards.

4. Segments that need your attention

Currently there more than 3 billion mobile phone owners worldwide. And if you happen to be a download-able mobile application developer then you can guess as to how little percentage of mobile owners are you targeting. As a matter of fact, get into the development of applications for mobile handset companies that themselves stand as representatives of a larger group of users like iphone, Blackberry, Andriod, etc. Still if you want to get into the application development of those millions of other handsets then by now you should be able to figure out what you are getting in.

5. Which language is good for beginners?

Most engineers inquire about which language should they learn in order to be able to work on mobiles. As far as, languages are concerned there are various languages and SDKs like C, C++, Objective C, Symbian C++, Windows C++, .Net, Blackberry Java, J2ME, Mobile Python, Web run time, Palm web os, Flashlite, Android Java to choose from. Beginners can choose any one language, preferably with an embedded native environment such as Symbian C++, Objective C for iPhone or Android Java. Whereas, it is easy for an already strong mobile developer to learn a new language or a Software Development Kit (SDK).

6. Mobile development is all about amalgamation

Mobile development needs integration. Writing codes is an easy job but writing codes for an embedded system like mobiles is quite a task. The creativity lies in amalgamating multiple elements in time. This is one tedious process – the reason behind the delay of the integration and release phase of applications.

But if you learn the art of System Integration then you will become a valued engineer who is acquainted with the skill of debugging as well.

7. Your attitude is what counts

Finally and actually what counts is the attitude of mobile developer. Something no one can impart. Mobile application development can be really annoying at times. When, for an unknown reason the release of your mobile application is postponed or stuck in the middle – driving you insane. For this, you only need one thing and that is – patience. Never give up, rather debug the unknown bug with a calm mind and set your application ready for release. If by any chance you happen to work for a mobile phone manufacturer then you will need all the composure in the world.

Semaphore is Software Development Company in India that caters SEO Services, PPC Services, Link Building Services, Magento ecommerce development, iPhone Application Development, Windows Mobile Application Development and many more...

Why Mobile Websites Are Better than Mobile Applications

If you’re running a major brand and you aren’t in the mobile space yet - you should know by now that you’ll need to take the plunge in 2010 or risk being left behind by your competitors. Mobile is here and is fast becoming one of the dominant ways users consume content and make purchases.

This is the first in a two-part series on why mobile websites are the correct first step for brands that are just establishing a mobile presence.

Why Mobile is Relevant

Those of us following the mobile landscape and Web have heard about mobile being “real” for about 5 years now (or more). So, what has finally changed to make mobile a core pillar of online strategy roadmaps this year?

The primary drivers for mobile’s new relevance to users are the removal of two formerly significant adoption barriers: device usability and device accessibility (based on price point).

Device Usability

Thanks to the folks at Apple, the iPhone redefined the approach to mobile device user interaction - this may happen once again with the iPad.

We are no longer expected to click-through text fields with an awkward trackball and click number “2” three times to type the letter “c”. Even if you had a windows mobile or palm smart phone - the browsing experience was still clumsy, even for early adopters.

The iPhone, and a myriad of fast followers, have solved this problem; browsing on the new touch-screen smart phones and smart devices is a completely new experience that even novice users quickly adopt.

Device Accessibility

We’ve seen all mobile phone price points drop significantly. Vodafone recently released the cheapest phone in the world - the Vodafone 150 - which retails for US$ 15 (without carrier subsidies) and is aimed at connecting users in developing markets.

Along the same trend, mobile device makers have released a myriad of new touch screen smart phones aimed at picking-up the market share Apple left on the table by marrying to AT&T. New manufacturers are inserting themselves in a market previously dominated by few firms, and consumers are reaping the benefits of the rich variety of choices now available in the market for both high-end and mainstream consumers.

Assuming you agree that the removal of entry barriers is what finally made mobile relevant to mainstream users, then be sure to carry that knowledge forward and bake it into your mobile strategy and product release roadmap. Don’t forget why mobile has become important and apply that by starting with a mobile website.

Why a Mobile Website Should Be Your First Step

There are many reasons why a mobile website should be the first phase in a multi-phased approach which ultimately includes mobile apps.

Remove Barriers of Entry

By starting with a mobile website you can make sure that the first time someone types in your URL from their mobile device, they are immediately detected as a mobile channel user and redirected to a mobile-optimized experience — or even better to a device-optimized experience.

This approach removes the barriers of entry because it doesn’t force your users to download an application before interacting with your brand AND can still serve a device-optimized experience to your users. This will become more and more important as many mainstream users don’t know what an App store is and don’t want to find out.

Increase Your Brand’s Reach

A mobile website is also preferred as a first step because it ensures your reach is always maximized.

Once you’ve matured your mobile strategy you will likely have both a mobile optimized website and a mobile application for users to download. These two approaches are complimentary not mutually exclusive.

With both a mobile app and a mobile website you will always be able to reach the users that are accessing your site by mobile even if they don’t have your application installed on their device. This scenario will present itself because users either don’t know that your application exists, don’t have time to download the application, don’t want to add yet another icon to their cluttered device interface or simply don’t know how (some of them won’t want to learn either).

Whatever the reason, without a mobile website to fall back on your users are no longer served an optimized experience unless they surpass a hurdle you’ve placed in their path - a hurdle that doesn’t need to be there.

Graceful Degradation of the User Experience

You will also be able to reach users that have less popular or older devices. You can accomplish this by including a variant of the mobile website design which is specifically targeted at the 20% of your users that are on, shall we say, “legacy” devices. This will be your brand’s least sexy design, to be sure, simply because it will serve as the lowest common denominator in design.

There are too many different device types in the market with unique form factors to build an optimized experience for them all. But as with all good design your brand should tackle this with a graceful degradation of the user experience. Your users will thank you and so will your bottom line.

Content Source: cmswire.com

Semaphore's Android Developers are expert in Android App Development using Android Application Framework.