Monthly Archives: December 2014

AppBoard Tuesday – The Many Benefits Of Mobile Payments

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

‘Jingle Bells, Jingle Bells, Jingle All The Way’

 

Hello everyone, and a very warm welcome to this year’s final edition of AppBoard Tuesday. All eyes are on the arrival of 2015, so let’s focus on something that has been tipped to be one of the ‘next big things’ in the field of mobile technology, what say? That’s right folks, today’s ABT is all about what everyone’s talking about – mobile payments.

With Google Wallet lingering around since 2011 (many have found the app not quite up to the mark though), Apple Pay was officially launched on the 20th of October this year, and there are several other mobile digital wallets currently available. As per projections by researchers and mobile app developers, the total value of mobile payments is set to go beyond $720 billion by 2017 globally (it is around the $325 billion mark at present). So, there must be something about the entire concept of mobile transactions that both buyers as well as merchants are finding to their liking? Let’s take a look:

 

  1. Moving beyond cash-only payments – Digital wallets have helped relatively small companies to expand their potential clientele by several notches. The rationale is simple enough – when a merchant company who was earlier accepting only cash payments starts accepting credit/debit cards, more people will be interested in doing business with it. Hardly anyone moves about with huge amounts of cash, and mobile payments have brought a whole new convenience for buyers too.
  2. Obtaining information on special deals and offers – Oh yes, many companies offer discount coupons and loyalty cards to avail special offers – but remembering to carry them is, at times, a hassle. In its stead, buyers can now access all the details about such special deals on a real-time basis on their smartphones. Sellers need not worry much about publicizing their offers either. What’s more – many of these deals can be availed via phones…there’s no need to actually visit stores.
  3. Giving a boost to corporate branding endeavors – The levels of competition in the world of business is fierce (in practically all professions). The trick for any entrepreneur lies in projecting his/her company as more advanced, customer-oriented, sophisticated than its competitors. Mobile apps for business serve this purpose beautifully. Ask yourself something – Company A sends you regular information on seasonal offers and incentive programs on your handset, while Company B delivers the same data, but through post (which often gets delayed). Which one would you choose to purchase things from? That’s right, the one that supports mobile payments.
  4. No more long payment queues – Mobile app development experts unanimously agree that digital wallets like Apple Pay and Google Wallet make shopping a much more enjoyable experience. Most stores have multiple contactless payment terminals/points, where the transaction can be completed. There used to be a time when the term ‘shopping’ was synonymous with standing in long queues, but mobile wallets have changed the scenario completely.
  5. Heightened security – Even a couple of years back, there were plenty of concerns over mobile payment mechanisms. Although Android wallets did come with NFC (near field communication) support – displayed first in 2011’s Google I/O event – that was not enough to convince too many users worldwide. However, with most digital wallets having 2D barcode scanners, RFID support, and Wireless Application Protocol assurance, sending/receiving payments via mobile networks have become a lot more secure than ever before. As technology has advanced, digital wallets have found greater acceptance.
  6. Smartphones have become a part of everyday lives – We might forget our wallets at home – but seriously, when was the last time you left your beloved iPhone or Android handset behind? For most of you, the answer would be ‘never’. This has bolstered the popularity of mobile payments big-time. The very idea of using a user-friendly mobile app for payments instead of having to carry heavy wallets have appealed to users worldwide. Buyer convenience has gone up to a whole new level.
  7. Reduction in dependence on direct card payments – In the United States alone, hundreds of cases are reported every year regarding misuse of credit card data. Shady merchants/hackers have exploited the mag-swipe technology to gain unauthorized access to user’s financial account information. On the other hand, mobile payments are contactless, which totally rules out such risks. Not good news for hackers, but general users certainly don’t mind!
  8. Bringing down transaction cost figures – Reports from iOS/Android app development communities confirm that mobile payments reduce the total costs associated with every individual transaction. These savings can run into thousands of dollars every year (due to more clients, better customer-service, quicker payments, etc.). It’s hardly surprising that merchant retailers from all over have started to a) set up in-store payment points, and b) actively promote their mobile applications via which payments can be made. In a nutshell, mobile payments have helped businesses to really expand.
  9. Fees of mobile payment companies are generally lower – In comparison with most credit card companies. Square and LevelUp are two classic examples of mobile applications which have been accepted by merchants – simply because the per-transaction charges are significantly lower than what they are for credit card payments. The app development cost and payment schedules differ from one mobile payment company to another though – and the onus is on merchants to find the one that would be the best-suited for their businesses.
  10. Transferring funds to fellow buyers – Not every mobile platform supports this yet, but this technology is poised to gain popularity over time. Funds can easily (and more importantly, securely) transferred between friends, family members, colleagues, and the like. If you have that one buddy who keeps on conveniently ‘forgetting’ his/her moneybag after dinners – you can help him/her out by transferring the requisite funds quickly. Do ask for the amount to repaid later, however!
  11. Keeping track of sales trends and demand levels – Digital wallets and mobile payment apps have helped small businesses (in particular) to monitor sales trends in a smarter, more reliable manner. In addition to facilitating the actual payments process, sellers can now create and maintain records of what’s selling and and what’s not (and manage their store inventory accordingly) with the help of these apps. Since mobile payment apps are helping in better demand management, the quality of service provided by merchants is also getting a lift.
  12. Connecting with others – Mobile app developers generally include high-utility social networking features in apps meant for making payments. As such, users can always stay in the loop regarding what/where their friends are purchasing, how much they are paying for the stuff, and what special deals and offers have been recently announced by the big brands. Mobile payment platforms have made shopping-in-a-group that much easier.
  13. Possibility of decentralized payments – This is another big advantage for merchants that mobile payment tools bring to the table. During business exhibitions, conferences and other such offsite corporate events – merchants can offer the contactless payment option, to bolster sales and profitability figures. Mobile payments is not only a solution for one-on-one store purchases, they support decentralized payments. Transactions can be held anywhere, anytime.

Setting up mobile payment systems is a quick and simple process, and they do not involve exorbitant costs. Buyers, of course, have lots to gain by switching over to this new-age mode of making payments (security is no longer an issue either). It took all of 72 hours for Apple Pay to touch the magical 1 million mark of registered cards, and there is considerable anticipation about the upcoming CurrentC tool too (which will be launched probably in the first half of 2015). It’s safe to say that the world is ready to switch over to mobile payments, and enjoy its benefits to the fullest.

 

With that, AppBoard Tuesday would bid adieu to you for one final time in 2014. Do write in if you feel there has been any major mobile-related news we have missed out on. If you are already a user of Google Wallet and/or Apple Pay, share how your experience has been till date. We love to hear from you, and to learn from you.

 

We hope each of you had a splendid Christmas and a fantastic Boxing Day. From the entire Teks team, we wish you a VERY HAPPY NEW YEAR!

 

ABT returns in 2015…Stay tuned!

 

15 Xcode Features That Every iOS App Developer Should Know

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Proficiency in Xcode is the very first requirement for any aspiring iOS app developer. Even experienced developers can miss out on some of the interesting hotkeys and shortcuts that the latest version of the Apple IDE offers. We will here familiarize readers with some of the best features and functionality of Xcode.

 

Xcode has been the default integrated development environment (IDE) for iOS app development experts for years now. The introductory version of Xcode was launched way back in 2003, and at present, version 6.1 (available for free download at the Mac App Store) is available. Professional app developers need to have a thorough knowledge of working with the latest version of Xcode, to make the best use of this truly user-friendly tool. Here are some features and tricks of Xcode that you will find handy:

 

  1. Making more screen space – When you are creating an iPhone app that involves relatively lengthy coding, managing the total screen space can become an issue. Thankfully, Xcode offers an easy solution for this. All that you need to do is hit ‘Command+0’, and you will be able to toggle the navigation panel from being displayed or hidden. The screen no longer needs to get cluttered, no mattered how complex the app codes might be.
  2. Creating Sort Descriptors – To make sure that the array controller has something to bind to (so that code lines in table view can be sorted), Sort Descriptors are required. In Xcode, mobile app developers get them as ‘NSSortDescriptor’. Once the sort descriptor array is created by manual coding, ‘NSSortDescriptor’ can be used for binding any array controller. Of course, the name of the ordering attribute(s) of your entity also needs to be provided.
  3. Making Key Bindings – Yet another hugely time-saving feature of the Xcode IDE is the option of mapping Keys to Actions. Every logical keystroke can be mapped to a corresponding action – and with a bit of practice, iOS developers would discover how easy the entire process of doing this is. The steps for the key-action mapping is Preferences → Key Bindings → Actions → Keys → (name of the keystroke) → OK.
  4. Facilitating code building and running – The ‘Play’ button on the Xcode workspace window (you will find it in the left corner) is one of the best features of the IDE. In addition to building a project, codes can be cleaned and run with ease on the workspace. What’s more – there is a host of keyboard shortcuts to make the task of developers that much easier. Play around with the ‘B’, ‘K’, ‘R’ and ‘G’ tabs for a while, and you will get a hang of it.
  5. Setting bookmarks – iOS app developers often need to segue one file on another, to find specific code snippets and/or make modifications in the program. The Xcode framework allows users to do that – thanks to the bookmark-setting feature. Developers have to hit Ctrl-D and then enter a unique name for their bookmark, before proceeding with seguing files. It would not be advisable to create too many bookmarks though.
  6. Finding method names and variables – Written a lengthy app code, and need to find out where and how many times a method name has been mentioned? You need not plough through the entire program for that – the ‘Command-Shift-F’ function would find and display the method names you wish to see. The same goes for variables used in the Xcode environment. In addition, older variable names can be replaced with new ones with the help of this Search/Find Navigator functionality. Developers can avail of case-sensitive search features as well.
  7. Simultaneously viewing multiple code windows – Experts in the domain of iOS app development find this option really useful. When the ‘Option’ tab in the Xcode workspace is held down and the icon for ‘Split Window’ is clicked, multiple code windows can be viewed at the same time. The default split option of the Xcode Split Editor is horizontal, but you can – for the purpose of comparisons – alter the split option to vertical too.
  8. Navigating the code – Apple’s ‘Open Quickly…’ feature is the best friend of iOS developers, when it comes to navigating long codes snippets and programs. As soon as you start typing in the search box, the file list is loaded automatically, and the names are displayed (drop-down) as suggestions. Simply use the up and down arrows to select the file you wish to view. Particularly when the ‘Project Navigator’ option is not available, the ‘Open Quickly…’ search option comes in mighty useful.
  9. Using the Instruments UI – In Xcode 6, the smartest (and the easiest) way to make changes to the user interface is by using the new ‘Instruments’ tool. There are buttons for recording and displaying the settings, while app developers can check out the Extended Detail View as well. The option to view the CPU strategy and the Threads strategy (note the three buttons) helps in optimizing how your new iPhone app is using the core.
  10. Referring to relevant API documentation – While working in the iOS software development kit (SDK), developers might need to check the corresponding API documentation at any time. Xcode makes this apparently tricky task easier than ever. The concerned code has to be double-clicked, in order to generate a popup window – which contains all the relevant class information. Information regarding platform availability (e.g. iPhone OS 3.0) is also displayed.
  11. Switching from .m to .h files (and vice versa) – Although iPhone app developers who have already started to develop in the Swift programming language no longer need this feature, it is a great aid for those coding in C++ and Objective-C. Hitting ‘Control+Command+Up arrow’ lets users toggle between .h and .m files. All types of implementation and header files currently existing can be viewed by this cool keyboard shortcut technique. While developing programs with any open source resources too, this option proves handy.
  12. Using the Assistant Editor – The ‘Simulate Document’ feature has disappeared in Xcode 6, with ‘Assistant Editor’ taking its place. While the former definitely had its merits, the new few feature offers more flexibility to developers while working in the IDE’s Interface Builder. A ‘Preview’ option becomes visible once the navigation tab (in the jump bar) is clicked, which helps users select storyboard and/or xib files to view/edit. There have been reports from some quarters though, that this ‘Preview’ option is not visible in the Assistant Editor.
  13. Mobile app debugging – Testing iPhone/iPad apps thoroughly is of essence, and the Xcode framework helps with that too. The ‘F6’ and the ‘F7’ keyboard buttons are meant for ‘Step over’ and ‘Step into’ functions respectively, while breakpoints can also be added, removed, enabled and disabled via simple keyboard actions. In addition, the debugger itself can be paused and resumed at any time. It’s not for nothing that Xcode is trusted by developers worldwide for customized mobile app development.
  14. Commenting out code blocks – If you wish to comment (i.e., hide) a line/snippet of code from your program, you need to type ‘Command-/’ (after selecting the line(s) of code that has to be commented). And what if you wish to ‘uncomment’ the code lines later on? Simple – just select the line and type ‘Command-/’ again.
  15. Running iOS apps real-time – Apart from the debugging option in Xcode discussed above, the IDE allows real-time bug-testing of iOS apps as well. When you hit ‘Command+R’, you can find out whether your application runs properly, or if there are bugs to be removed. The entire procedure of mobile app testing becomes quicker and easier thanks to this feature, since all probable bugs are detected and removed at an early stage.

Binding core data entities with view-based tables is yet another useful feature of Xcode. App developers can change the indentation of their codes, toggle between the Editor and Detail views, and navigate the history of code files. There are keyboard shortcuts in Xcode for building iOS apps (Command+B) too. The way in which the workspace of the IDE has been designed (Editor, Navigator, Utility and Debug areas) also helps in systematic, error-free coding. Xcode 6.2 Beta has already been seeded to developers, and it would be interesting to see what new features it comes with.

iTunes Connect Shutdown – 12 Things That Developers Cannot Do Now

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

This year, iTunes Connect has taken its annual winter leave from December 22 to December 29. We here take a look at the things that app developers won’t be able to do during this store shutdown.

 

 

It’s the Christmas week, and iTunes Connect is on its annual holiday. This year, Apple’s App Store is shut down from the 22nd to the 29th of December. While this does not essentially affect the day-to-day operations of mobile app companies, there are certain things that cannot be done during this ‘iTunes on holiday’ period. To drive away all probable developer confusions, we will highlight some of these activities which are now out-of-bounds:

 

  1. Accessing the iTunes Connect portal – App developers can carry on with their in-house development work, but they won’t be able to access the iTunes Connect portal till the 30th. Try typing https://itunesconnect.apple.com/ in the address bar of your browser window, and you will be greeted with a message indicating the temporary ‘unavailability’ of the portal.
  2. Revamping the app UI – Already submitted your app to the iTunes store and have suddenly realized that the overall app design could have been better? Well, too bad – for you can do nothing about it till iTunes Connect reopens. In the interim, graphic designers can chalk up the revamped design schemes for the concerned app, so that they can be applied immediately after the holiday period. There remains the risk of missing out on a fair number of downloads though during the festive week.
  3. New app submissions – Christmas is the biggest day for app downloads, by a long distance. In comparison to any other day during the first half of December, downloads spike by more than 90% on Christmas day and the next couple of days. This, in turn, explains why iPhone app development companies rush to submit their new apps before the iTunes Connect shutdown. If you have been smart enough, you must have submitted your application(s) by the 18th (latest). If you have not, you need to wait till the 30th. No new apps are going to appear on the Apple App Store during the holidays.
  4. Publishing app updates – Most mobile app developers are in favor of releasing upgraded versions of their apps a couple of weeks before the Christmas shutdown date. The reason is simple enough – no app updates can happen when iTunes is not available for developers. In case you have not tested the new version of an app properly before the shutdown, it would be prudent to wait till the 30th, and then submit it. Changes in any app are not showcased during the Christmas shutdown of the App Store.
  5. Altering the app prices – Many new developers make the folly of scheduling price changes (through interval pricing) during the iTunes Connect shutdown period. Not only are such proposed price changes not displayed to buyers, but there is every chance that the app itself will become unavailable for purchasing. Instead, use this period to frame the best possible monetization strategy for your app, so that it can be implemented as soon as the Apple Store reopens.
  6. Testing already published apps – Arguably, the thing that developers dread the most during the Christmas holidays of iTunes. In case an app has been approved and showcased at the store, and a bug/virus/malware is discovered in it anytime between the 22nd and the 29th of December this year – download figures will go down, there will be a negative buzz about your new iPhone application, and your company goodwill will also take a hit. You cannot do any additional testing for bug-detection during this period. It is of utmost importance for developers to be not in a rush, and perform the mobile app testing procedures properly, before the shutdown. If a buggy app gets ‘locked’ when iTunes is closed, that’s a nightmare for any developer. (Note: Testing for apps in pre-release stage can go on during this time).
  7. Including in-app purchases – Developers who wish to include in-app purchase options in their applications should have done it before the 22nd. Those who did not will have to wait till iTunes Connect is up again on the 30th. No new in-app purchase plans can be submitted in the meantime. iOS developers who specialize in freemium apps for kids need to particularly keep this factor in mind. Default in-app purchases continue over the Christmas holidays (of course, only if your app had such options to start off with).
  8. Scheduling the release of new apps – In order to take advantage of the busiest ‘app downloading week’ of the year, many iOS developers schedule their apps to go live on (or a couple of days before) Christmas. Sadly, this strategy is misplaced, since no scheduled apps are displayed at the App Store until the holiday week is over. This year, Apple had advised developers to schedule their apps for release by the 18th of December (latest), if they wanted their apps to be available for download during the festive period.
  9. Altering the mobile app marketing strategy – Cannot be done, as simple as that. If a developer wishes to ramp up the marketing/promotional strategies for his/her app, (s)he has to wait till December 30. Once again, this emphasizes the importance of meticulous planning before the release of any app just before the store shutdown. Apps that have been hurriedly launched with half-baked marketing plans have poor visibility during this busy season, as a result of which their download figures remain low.
  10. No new apps for buyers – And what does the iTunes Connect shutdown mean for the general public? They won’t get to see any new iPhone/iPad/iPod Touch/Mac apps from the 22nd to the 29th of December. No changes in app prices will be displayed either. However, given the way in which app download figures are increasing every year during the Christmas period, buyers probably do not miss the absence of new apps that much over these few days.
  11. Launching new live music – Just like mobile apps, iTunes won’t feature any new live music during the annual closure of the store. Apple generally advises music distributors to submit their music a couple of weeks before the shutdown period. In general, there is some delay in the approval of iTunes music files from mid-November, owing to the higher volume of submissions.
  12. Changing the TestFlight Beta Testing – Although users who have been invited for TestFlight Beta Testing pre-release iOS apps are not affected by the shutdown, it is not possible to make any changes in the Testing during this phase. No alteration can be done in any portion of the TestFlight Beta Testing procedure. There remains a chance of the test results/reports not being entirely accurate as well.

During the iTunes Connect shutdown period, iAd reports cannot be synced. Of more importance for iPhone app developers is the fact that, the daily and weekly reports become either unavailable or heavily delayed. In essence, any activity that requires the Vendor ID of a developer cannot be performed during this span. Wait till the 30th – and things will become normal once again.

 

By the way, Happy Boxing Day, everyone!

 

14 Things That Apps For Apple Watch Won’t Be Able To Do

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

These are exciting times for professional app developers. With the buzz about Apple Watch at its peak (the smartwatch is slated to release in spring next year) and WatchKit already launched, many have started creating apps for Watch. We have here highlighted some limitations that the first-generation Watch apps would have to work with.

 

WatchKit was officially released a month back by Apple, much to the delight of iOS app developers. We had also done a piece at that time, about the types of apps for Watch that could be developed. It has to be kept in mind though that, to start off with, the degree of customization possible in third-party Watch apps would be rather limited. Wondering what are the things an app developed for Apple Watch won’t be able to do? Here’s a list:

 

  1. Use the Taptic Engine – Vibrations generated via the built-in Taptic Engine could have served great as app notifications. However, till now, only Apple’s own applications would be able to access this feature of Watch. Apps from other mobile companies would only have the option of using the regular vibration for generating push-notifications, and not the fine-tuned Taptic ones.
  2. Have customized audio support – The initial apps for Apple Watch are going to be a ‘silent’ lot. App developers won’t get the option of adding custom audio effects and/or notification alerts in their Watch software. This is, in fact, one of the many features that indicate that Apple is taking things really slowly with Watch. There is a silver lining though – sound files can be played via the Watch on paired iPhones.
  3. Operate in the absence of a paired iPhone – A point that might prove to be a roadblock in the otherwise lofty sales projections of Apple Watch. The smartwatch HAS to have an iPhone paired to it – barring which, all apps installed on it will become useless. Watch apps are going to have very short user-interaction periods (how long can a glance at a wristwatch possibly take?), and, at least for now, all third-party apps will be processed on the paired iPhone, and then displayed on Watch. In other words, Watch is not going to have its own standalone app platform – it is going to be totally dependant on iOS.
  4. Support apps with scrolling options – When developers are creating apps for Watch, they need to be very careful about the screen sizes. The ‘Glances’ display system of Apple Watch has been designed in a way that apps have to perfectly fit in the display area of the device. Scrolling is not supported, and it would be advisable to put in as few buttons/tabs in the app screens as possible. It’s going to be a challenge for UI/UX designers – that’s for sure!
  5. Use the features of Digital Crown – Although the ‘Digital Crown’ is one of the most exciting parts of the Watch hardware, it is still out-of-bounds for third party developers (which rules out the chance of implementing scrolling features with it). Watch apps will not have the API support for simple finger-scrolling either. What gets displayed on the screen of the wristwatch is all there would be about a third-party app. In-app navigation will remain rather limited.
  6. Display animations or videos – Unlike the popular mobile apps for kids, apps for Apple’s smartwatch won’t be able to render animation files or videos. For starters, WatchKit will let developers create apps that are based only on static images and text. The good thing is that, there is ample scope for coming up with unique and personalized app designing schemes for Watch. If rumors in mobile development forums are anything to go by, Apple will start supporting videos in third-party apps pretty soon.
  7. Cache iPhone information – Not only does Apple Watch have to be paired with an iPhone, but the latter has to be within reachable distance of the smartwatch. There is no way to cache information of the paired device on Watch, so that applications on it remain functional even when a user does not have his/her iPhone within reach. Apps cannot stay ‘alive’ when Watch is not able to detect the device working in sync with it.
  8. Access the near-field communication (NFC) feature – NFC debuted in the Apple ecosystem with iPhone 6/6 Plus, and would be present on Watch as well. While that is great news for mobile payments (read: the already popular Apple Pay), third-party mobile app developers won’t be able to create apps that would depend on NFC for their functionality. This does not come as a big surprise though – since the latest iPhone/iPad apps do not have NFC-support either.
  9. Support in-app purchase options – Freemium apps might be rapidly gaining in popularity in the App Store, but Watch is not yet ready to offer that feature to external developers. Third-party apps created with WatchKit cannot have any in-app purchase options. Among iOS app development experts, word is that this feature might be included in Watch applications sometime later.
  10. Create customized faces for Watch – Android smartwatches have them, and Apple Watch doesn’t (till now, at least). Users will have to take their pick from the set of twelve alternative Watch faces pre-built in the device. Creativity is a hallmark of this smartwatch, and developers are undoubtedly looking forward to the day when they can create apps that offer additional custom Watch faces.
  11. Complete use of the device mic – The full API capabilities of the Watch microphone have not been made available to third-party iPhone app developers. At present, all that the mic can do is dictate texts/queries, which have to be passed to a compatible iOS application. The response to the dictated text will be generated via API. In-flight apps for Watch have already tested and implemented this feature.
  12. Use data from the heart rate monitor – Like the new flagship iPhones (iPhone 6 has HealthKit), Apple Watch also has a hardware element to focus on personal health – the heart rate monitor. However, developers who are planning to make health and fitness apps cannot expect to use data from this source. The heart rate monitor would support only proprietary Apple software. It cannot be accessed in any way by third-party applications.
  13. Be paired with more than one iPhone – Oh well, not everyone struts about with multiple iPhones – but it is definitely within the realm of possibility. Watch-users have to pick any one iPhone to be paired with their smartwatch. While this ‘single-device-pairing’ feature is in keeping with Watch’s positioning as ‘Apple’s most personal gadget ever’, apps installed on separate iPhones (via WatchKit extension) cannot be simultaneously used on it.
  14. Make use of Force Touch – The developers at Apple have gone a step beyond traditional multi-touch features. Watch boasts of ‘Force Touch’, which uses small electrodes that can sense the difference between long presses and light taps (on and around the Retina Display). Sadly for iOS app developers though, their applications cannot make use of this innovative feature. All that apps other than those owned by Apple can do is pull a contextual menu via Force Touch.

There would be no custom codes for WatchKit apps, which takes up the importance of storyboarding and dynamic UI designing by several notches. It has been projected that over 40 million units of Watch would be sold by the end of 2015. Developers have already started conceptualizing apps for Apple Watch, and it remains to be seen how they can work around the limitations listed above.

 

AppBoard Tuesday – Types Of Diversification In Mobile App Business

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

“Do not put all your eggs in one basket!” – a common refrain among all investors and business entrepreneurs. What it basically means is that, corporate firms should buffer themselves against potential sources of losses (and as we all know, no one can rule out downturns in business). In other words, there should be some other channels to fall back on, in case one field of activity temporarily ceases to be as profitable. With the global mobile app industry projected to be worth more than $76 billion by the end of 2017, diversification is something that app companies from all over are also emphasizing upon. In today’s edition of AppBoard Tuesday (ABT), we will check out the possible types of mobile app diversification:

  1. Diversification across platforms – iOS apps are (still) the most profitable, Android has an overwhelming lead in terms of market share, and Blackberry can (okay, this is a li’l bit unlikely) make a strong comeback. There are platforms like Windows Phone, and Samsung’s new-fangled Tizen OS too. It makes no sense in specializing in creating Android or iPhone apps only. A sensible mobile app entrepreneur would always have separate teams in his/her company, to handle projects on all the popular platforms. Cross-platform mobile app development is no longer an option – it’s a necessity.
  2. Diversification regarding app-monetization – Every professional mobile app company is after profits (let’s be frank here) – and that depends on how the newly launched applications perform. Ideally, the portfolio of an app agency should contain both free and paid apps (free apps have a significant numerical lead). The current trend of creating freemium apps (free applications with in-app purchase options) should not be ignored either. The way in which revenue is earned via paid apps is self-explanatory – while for free apps, a viable monetization strategy (e.g., sponsored ads) has to be determined.
  3. Diversification across genres – This is the age of white-hot smartphone revolution, and people from all age groups use apps on a regular basis. Close to 40% of toddlers under the age of 2 (you read that right) spend hours everyday with iPads. If any mobile app development company decides to make only, say, professional apps – it is, in essence, canceling out all the other groups of app-users from its potential target audience. Travel, finance, business, social networking, educational apps for kids – everything should feature in the portfolio of a company. Mobile game development is another channel that is currently in vogue, and it has huge earning potential. Whenever the download counts of a particular category of apps go down, that can be made up with the steady downloads of other applications.
  4. Locational diversification – Okay, this option is not for the startups. However, for Android/iPhone app companies that have been on the scene for a few years – expanding to new markets (i.e., opening new branches at overseas locations) is a smart idea. This strategy works on two fronts – firstly, there is no chance of all markets getting ‘saturated’, thanks to the branches at other countries/continents. Secondly, prospective clients would surely be interested in doing business with truly ‘multinational mobile app organizations.’
  5. Diversification across mobile and web apps – By 2013, native mobile apps had captured 80% of the total time people spend (on average) using applications. This year, the figure has gone beyond 86%, leaving web apps with just a shade over 12% share in the total attention-span of viewers. However, it is way too early (and would be rather naive) to assume that ‘mobile web is already dead’. To keep all bases covered, a company should have a small team specializing in web application development. HTML5 and Java-based web apps still have decent demand levels.
  6. Service diversification as per budget specifications – Consider this: Someone has contacted you for a free app quote, and (s)he has a budget of $2000. However, yours is a high-end mobile app company – and your charges are fixed at $10000. You will lose that client (of course!), and along with that, everyone else who wish to create iOS/Android apps without having to incur such huge costs. The best policy would be to create separate budget slabs for customers. The latter can select the one they are comfortable with, while requesting for quotes. Information regarding what services are available in each slab should also be specified.
  7. Diversification of working time – For mobile app developers really willing to reach out to global clients, there is no fixed working-time. It is always day at some part of the world, and requests for quotes can come in at any time, quite literally. Someone from the company should be available to handle potential client queries on a 24×7 basis. There are several top-ranked Android and iPhone app development companies at present, which provide service across 18-20 time-zones. The entire point is – never missing out on a client.
  8. Diversification in work-teams – Relatively small companies make the mistake of not recruiting enough specialized manpower in-house (in most cases, this is a bid to reduce overall salary/monetary payout figures). In the domain of app development at a professional level, this is probably the biggest folly. It has to be understood that coding, UI/UX designing, mobile app testing and content development are all separate skills – and the same person/group cannot perform all of them satisfactorily (even if (s)he is the most efficient droid on Earth!). There has to different teams put in charge of the diverse day-to-day activities in the company.
  9. Diversification between freelance app development and working for office – This one is for all the CEOs and mobile app entrepreneurs out there. In addition to the app projects being worked upon at office, they can create iPhone applications on a freelance basis as well. That would: a) keep their coding skills alive, instead of getting dumped under managerial responsibilities, and b) offer opportunities for the bigger freelance clients to become formal partners of the company in future. There have been several cases where people have hired mobile app companies via sites like Freelancer.com – and have later gone on to become the COOs of new branches of the same firms.
  10. Diversification in brainstorming – Most mobile app developers believe in the practice of having a core group of creative people, who are in charge of brainstorming new ideas for every app. The one thing that is not considered is that – these ‘thinkers’ are not robots, and they can feel jaded and ‘out-of-ideas’. The way out of this problem? Simple enough! For in-house projects, every executive in a mobile application development firm can be requested to submit ideas. There is no saying who might come up with the best idea. In essence, app companies need to make use of the entire knowledge base at its disposal.
  11. Diversification in activities – There are scopes for looking beyond mobile apps as well. Any app development agency worth its salt would have a team of web developers (fluent in PHP, Java, Python and other languages). Hence, it makes sense for app companies to take up website creation, designing, development and maintenance-related projects – both for extra revenues, as well as to serve more clients. Many corporate clients, in fact, look for companies that can simultaneously create mobile apps and business websites. The more IT sub-domains an app company dabbles in, the better.
  12. Diversification in mobile app promotions – It’s high time companies started diversifying their strategies for promoting and marketing apps. No longer is the method of exchanging app reviews (often biased ones) with other developers sufficient. Instead, prototypes and demo screens of apps have to be shared with targeted buyers via social media channels – to create a pre-release buzz about the application. After the app has been approved and launched, the store link should be shared at relevant mobile app communities (do not spam, however!). Mentioning the date of the next upgrade and the awards/accolades received (if any) are also effective ways to promote an app.

At the end of the day, mobile app diversification is all about making sure that productivity and profitability levels of a company does not take a nosedive under any circumstance. With a diversified portfolio, well-trained and specialized in-house work-teams and availability around the clock, even a new app company can become a known brand name within a couple of years. Staying cooped up with a limited range of apps no longer cuts it.

 

That rounds off things for this week’s AppBoard Tuesday (ABT). Can you come up with any ideas for further diversification of mobile app businesses? If yes, do share them with us. Till next Tuesday arrives then…stay well and love thy apps!

Java vs Objective C: A Comparative Analysis Of The Languages

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

There are many differences of opinion as to whether Objective-C or Java is the more comprehensive, compact and user-friendly programming language. In what follows, we will compare the two languages on the basis of a few important parameters.

 

The iOS app vs Android app development debate will rage on for times to come. While potential profitability is an important factor, mobile app developers are also divided in their opinions as to whether Java (required for Android development) or Objective-C (required for iOS development) is an easier, more useful language. Contrary to what many beginners believe, Apple Swift is NOT a substitute of Objective C. Over here, we will compare the two programming languages based on some key parameters:

 

  1. Ease of learning – Although this differs from person to person, app developers have a tendency to try to learn Objective C first. This probably has a bit to do with the better revenues that iPhone apps have the potential to earn, in comparison to Android applications. On the other hand, there is a school of thought that Java is a lot more ‘modern’ language, while Objective-C is, in essence, rather archaic. Stuff like DRY-violation and split headers in Obj.-C are indeed hardly of any use.
  2. Static vs dynamic – Android fans might opine that Objective-C is a ‘language of the ‘90s’, but the fact remains that it is still more dynamic than Java. The technique for ‘Method Invocation’ demonstrates this the best. While in Java, core data and proxy objects have to be handled by ciders, Objective C allows developers to implement the way simpler ‘message passing’ method. All that is required is passing the text string to the corresponding object.
  3. Extent of manual coding required – Java would edge this round, since even dedicated iPhone app development experts agree that programming in Objective-C requires significantly more manual typing. What is often overlooked is the fact that method names in the Cocoa framework are, by default, longer. Hence, it is not a fault of the language per se – and in any case, new, shorter methods can be declared. For that, coders have to be really proficient in handling function pointers though.
  4. Creation of instance variables – All instance variables (attributes from class instances) in Objective C have to be defined in a .h interface file. Attributes are declared with the ‘NSString *AttributeA’ line. In Java, however, instance variables cannot be accessed/initialized via classes. Separate ‘class instances’ are required for the purpose. In addition, attributes in Objective-C are protected, unless something is defined as ‘Special’.
  5. Run-Time performance – While creating iOS apps, developers benefit a lot from the top-notch run-time performance of the compiled Objective-C programming language (OO). Since Java codes have to be compiled as well as interpreted, the performance speeds tend to be lower. However, in terms of general acceptance among new programmers, this is not much of an issue.
  6. Garbage collection vs Pointers – These are the two techniques used in Java and Objective-C (respectively) for memory allocation and management. Most professional coders from mobile app agencies feel that the ‘garbage collection’ method is more efficient than the ‘pointers’ and ‘reference counting’ in Obj.-C – which can be confusing at times. The way in which values are returned by methods in Objective-C is also non-intuitive, and that’s a thumbs-down too. While coding for iOS apps, developers have to constantly check whether the previously allocated objects are getting removed, so that the available memory is not getting clogged. This is generally not required while working with Java.
  7. Source syntax – The syntax of the two languages are, understandably, different – although it would be waste of time to argue whether one of them is ‘simpler’ than the other. Java derives its syntax from C++ (a familiar language for most developers), while that for Objective-C is based on the basic C language. There are OO extensions available for the Apple language, which are somewhat similar to the syntax of SmallTalk.
  8. Constructors and code reusability – Web and mobile app developers love languages that allow them to reuse codes – and Objective C performs better on this count. All the initializers defined in the same class can be reused in this programming language. Java requires the use of ‘constructors’ for variable initialization. These ‘constructors’ often cause code duplication and are, barring a few exceptions, not reusable. There is no concept of ‘constructors’ in Objective C, and regular methods can be called to initialize variables.
  9. Design patterns – When it comes to creating better user-interfaces in mobile apps, Java has an edge over Objective-C. However, the former is a bit more complicated than the default model-view-controller (MVC) design pattern layout of Objective C. For coding in Java, developers have to know how to work with ‘Activities’ and ‘Intents’ (which are, in essence, a variant of ‘commands’). Although both the languages support XML for declaring user-preferences, the framework in Java is extensible and hence, more user-friendly.
  10. Handling data structures – It is relatively simpler to create and handle various data structures (points, rectangles, etc.) in Objective C – simply because all of them are treated as value types and a copy of each of them is automatically created. As a result, simple ‘C structs’ can be used to access these data/value types. Java lags behind over here – since data structures here are are allocated in the ‘head’ of code snippets and generally used/transferred as references. This, in turn, makes Android app testing a more tricky process – and probability of the presence of bugs is also higher.
  11. Access to scalar types – Both Java and Objective C can access scalar types. The latter, by virtue of being a C-superset, can be used to access unions and structures as well – which is not possible with Java. The overall set of scalar types compatible with Obj-C is also higher than that in the Java environment. What’s more, writing Java interfaces can necessitate runtime overheads, while all C-software libraries can be accessed for free.
  12. Visibility modifiers – Java offers more flexibility to programmers and app developers for determining the visibility of attributes/variables in the codes. There are four visibility modifiers in the Android language (‘default’, ‘public’, ‘private’ and ‘protected’), any of which can be used as per the precise requirement in a program. In Objective C, all variables declared as ‘static’ are ‘private’. Public or protected classes do not feature in the Obj.-C framework.
  13. Availability of references/samples – Mobile app developers can find loads of resources, sample videos and other references for both Objective-C as well as Java on the web. If one were to really pick, it can be said that the Apple tutorial videos are rather too elaborate – and there are several things that require too long to be learnt (which should not be the case). The Android SDK comes with API reference, which is a big advantage. Resources for Java (including ApiDemons samples) are more methodically organized, and the ready availability of sample projects on API usage and data architecture management comes in handy too.
  14. Xcode vs Eclipse – Another popular debate among programmers revolves around which of the languages has the better integrated development environment (IDE). Android app experts unanimously agree that the real-time feedback (errors and warnings generated via incremental compiler) in Eclipse makes it a more user-friendly IDE than Objective C’s Xcode. For big programs, the waiting-for-feedback period can be long in Xcode, while the ‘Project Tree View’ (while accurate) has a dated feel too. The ‘content assist’ feature of the IDEs are more or less at par.

The presence of Grand Central dispatch at the operating system level is a significant advantage of Objective-C. On the flipside, it does not have any built-in tool support, unlike Java – in which remote system class downloading is supported. Both the languages have their specific plus points – the wider acceptance of Java is countered by Apple’s dedicated support for Objective-C – and it would be fair to say that the final say as to which one is a ‘better’ language depends on the proficiency of individual developers.

 

Which one do you feel is the easier and more user-friendly language?

 

How Many Of These OS X Yosemite Problems Have You Faced?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Unlike iOS 8, the adoption rate of Apple’s new desktop operating system – OS X Yosemite – is on the higher side. There are some early problems with the OS though. We have here highlighted a few of them.

 

In less than two months of its official release, OS X Yosemite has crossed 38% adoption rate among Mac-users worldwide. If the same time-frame is considered, the adoption of Yosemite has been higher than that of its predecessor, OS X Mavericks. To put matters in further perspective, it took more than two years for the Windows 8 operating system to cross a pitiful 20% adoption rate. Last week, OS X 10.10.2 was released after its beta version was seeded to and tested by developers. Apple’s new OS version is not without its share of bugs and apparent glitches though. Here are a few problems that you might have faced:

 

  1. Audio problems – Strangely enough, OS X 10.10 does not seem to be able to detect all types of connected headphones and speakers. As a result, listening to audio files can be a bit of a problem. If you have faced this issue, you need to select the ‘Internal Speakers’ option, under System Preferences → Sound → Sound Effects. The time when you had plugged in the headset can also be a factor.
  2. Wi-fi connectivity bug – The inaugural version of Yosemite had this bug, and it has not been properly rectified in the 10.10.1 upgrade patch. Home users as well as iPhone app companies using Mac systems at workplaces – there have been complaints from all types of users regarding the frequent connection losses on Yosemite systems. At times, connecting to a network becomes a problem as well. Hopefully, the new upgrade has finally got rid of the wifi bug.
  3. Faster battery drains – There had been a bit of a panic among Macbook Air-users, regarding the faster battery drainage after upgrading to OS X Yosemite. This ain’t really a bug though – since after doing any major OS upgrade, the battery gets fully recalibrated, while the Spotlight also gets reindexed. This causes a higher-than-normal battery juice consumption for the first couple of days after doing the upgrade. Within 3-4 days at maximum, battery life should be back to regular levels.
  4. Bluetooth connectivity problems – Okay, this one is more serious. After upgrading to OS X Yosemite, many users have reported a significant audio lag in Bluetooth – and there have been cases of no sound as well. Some people have also found their system simply locks up whenever a Bluetooth headphone is plugged in. It is not the easiest task to connect to a paired device either. The developers at Apple need to look into this issue soon.
  5. System lags – It has been a common refrain from general users as well as app development experts that systems running on Yosemite take significantly longer to ‘wake up’ than previous versions of OS X. According to a solution to this posted on Reddit, this happens due to unfinished automatic system updates. Turning off these auto-updates is one option, while Notebook users can simply down the lid for a minute and then check if the welcome screen is visible. Repeated download popups for iTunes 12 can be an irritation too. If you are seeing these, go for a manual download from the official website.
  6. Crashes during video playback – Not much was heard about this after the release of OS X 10.10, but after people upgraded to 10.10.1 – this problem started to crop up. According to home-users and professional app developers reporting this problem, an error message is flashed before any video starts playing. There have been several instances of total browser crashes (Safari), whenever a video is played. To be fair, at least for YouTube videos – this might not be an issue with OS X, and might be occurring due to a bug in the streaming process.
  7. Older Macs tend to slow down after the upgrade – Prior to its release, a lot of talk had been about how Yosemite would be a much faster OS than Mavericks. Well, that has been proved to be true – but only on the new Macs. Most older systems do not have the capacity to handle all the new features, layouts and widgets of Yosemite. This, in turn, has affected the overall system speeds. Thankfully, there are ways to tone down the new effects of Yosemite (for instance, turning off the Notifications Widgets), which can help older Macs upgraded to Yosemite work at satisfactory speeds.
  8. Incomplete booting – In addition to the dark or blank screens that are displayed after ‘waking up’ a Yosemite system, upgraded Mac-s can develop snags during the booting process. In particular, when the system is connected to the Ethernet (as is the case at web and mobile app development companies), the bar either fills up too slowly, or simply freezes halfway. System experts feel that unplugging the Ethernet and booting the Mac first is a way to work around this problem. After the release of 10.10.1, booting problems have become way less frequent though.
  9. Surprisingly slow Safari browser – Given the promise of enhanced browsing speeds that Yosemite comes with, this problem has come as a shocker to many. However, the lag in Safari (much like the battery drainage problem) is likely to be a temporary one. The slowness is generally caused due to the initial disk-encryption, that takes a huge share of the total processing capacity of the system. You can also speed up the browser (and the web apps) by deleting the cache/moving the Cache.db file to Trash.
  10. Mail accounts becoming inaccessible – Arguably the most common and troublesome bug in OS X Yosemite, after the wifi and Bluetooth connectivity issues. Several users have reported that they are not being able to send/receive emails over SMTP. You need to make sure that the ‘Automatically detect and maintain account settings’ option is not checked. Removing and setting up your email account(s) might also be necessary – particularly if you are not being able to access Gmail via IMAP. In most cases, this mail bug temporarily goes away once the accounts are re-added. From time to time, check whether the account provider settings are okay or have got automatically changed.
  11. Issues with Spotlight – Mac-fans and iOS app developers have unanimously voiced their approval of the revamped Spotlight feature on OS X 10.10. However, there is a glitch in it as well – the Bing searches work only when the selected location and language are matched. In other words, Spotlight would work only at the geographical locations where it is available. In addition, some reports have come in from people who are in countries that are supported, that Spotlight is not working properly. Once again, we hope that Apple would fix this issue soon.
  12. MacBook does not shut down – Recently upgraded your MacBook Pro or MacBook Air to OS X Yosemite? You might find that the device is simply refusing to shut down, and understandably, consider this to be another bug. However, chances are that this is happening due to the FireVault encryption process that takes place after the upgrade. It can take upto 48 hours for the encryption to be complete – and after that, your MacBook should start behaving normally once again.
  13. Problems in mobile integration – The much-vaunted ‘Handoff’ feature in the new Apple desktop OS has been a bit of a letdown for some users. Even at mobile software and app development agencies, professionals have had trouble to work simultaneously on their iPhones and iMacs. The most common problem has been with text forwarding, and the only way (till now) to tackle this is the tried-and-tested method of disabling/re-enabling the SMS functionality. For getting ‘Handoff’ to work properly, resetting iCloud and/or Bluetooth might also be necessary.
  14. Possible bug in the system graphics? – For most full-time graphics and UI/UX designers, using Photoshop on Yosemite has been nothing short of a nightmare. This is rather remarkable, since there had never been any issue related to working with Adobe Photoshop on Mac systems earlier. In general too, graphic designers have reported that strange shapes and colors often appear on the screen, when any photo-editing software is launched. All of this hints to a minor problem in the graphics card detection process on Yosemite.

According to regular users – professional and otherwise – the new Apple desktop OS has compatibility issues with Logitech mouse as well as keyboards. None of the above problems are really serious, and it is expected that Apple would iron them out soon. A couple of them, in fact, are not bugs at all (as mentioned in the discussion). OS X Yosemite is probably the best desktop operating system from Apple till date, and we would really like these flaws to be removed as soon as possible.

 

Have you experienced any of these problems while using Yosemite?

 

Intex Cloud FX: Another Blow To The Overhyped Firefox OS?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Firefox OS is one of the so-called ‘challengers’ to the duopoly of iOS and Android in the war of mobile platforms. Unfortunately, with the Intex Cloud FX, it seems that Firefox OS has taken a couple of steps backwards.

For nearly a year, there have been rumors about how the Firefox OS, Ubuntu Touch and Samsung’s Tizen are going to emerge as major competitors to Google Android. Till now though, the competition has not materialized – with the Galaxy Gear 2 smart watch (the world’s first Tizen-powered smart device) generating only lukewarm response, and the Firefox OS barely managing to create a ripple. In late August, the Cloud FX handset was launched, and at $35, it was touted to be the ‘cheapest smartphone’ ever. Although the initial sales figures were impressive, the reviews have been far from favorable. We would here highlight how the Cloud FX has damaged the prospects of Firefox OS in the long-run:

a) Disappointingly small screen size – At a time when even iPhones are getting larger-than-before screens, the 3.5” display area of the Cloud FX is a bit of an aberration. Couple with that the fact the maximum resolution level supported is a meagre 480×320 pixels – and you sort of feel that this phone has arrived at least half a decade too late.

b) The Gecko environment disappoints – Until the Mozilla developers do something about it, the default Gecko environment of Firefox OS will always seem like a hurriedly put together mishmash of iOS and Android. CSS, HTML and JavaScript are the methods used to design the UI of the Intex Cloud FX – while Firefox app developers also have access to a limited number of open web tools to create applications. In effect, this handset (and probably other Firefox OS devices that follow) is nothing more than a computer in the form of a smartphone. Not really something anyone is looking forward too.

c) So slow that it hurts – Android Lollipop has the all-new ART runtime, iOS 8 has integrated the A8 chip processor – and Firefox OS is stuck with a 1GHz single-core CPU (Cortex A5) processor. The average speed of the Cloud FX is roughly the same as that of the first-generation iPhones – but breaking news, iPhone 6 is already out!

d) Lacks loads of sophisticated features – Smartphone-users, analysts, sellers and even mobile app development experts agree that features like front-facing camera, LED (for notifications), 3G internet connectivity and LTE simply must be present in a modern-day smartphone. Well, none of these are feature among the specs of the Firefox OS. We all know that the phone is priced at a measly $35 – but even so, it should not have been as handicapped as this.

e) Where are the developers? – No mobile OS can succeed without the availability of a large number of quality apps. Even an erstwhile market leader like Blackberry has fallen behind in the pecking order due to this factor. A couple of years back, Mozilla had announced that the Firefox OS would bring in ‘hundreds of thousands of developers’ – and this prediction has certainly not come true. Android and iPhone app developers can earn big and have plenty of scopes to showcase their creativity and programming skills. Sadly, the popularity of Firefox OS has never picked up, its features are half-baked, and the Cloud FX has done nothing to shake off the negativity around this ambitious new mobile platform.

f) The OS is still plagued with bugs – Experts and device reviewers from mobile app companies had expected the Firefox OS powering Intex Cloud FX to be polished and bug-free, and they have been sorely disappointed. Non-responsive screens and app crashes are common affairs on this phone (along with the extremely poor speed). Connecting to wireless networks (Wi-fi) is often a problem, and there have also been many reports of sudden, frequent connection drops. Mozilla should really take a good hard look at its in-house testing phase, before releasing its next flagship phone.

g) Phone time related to battery level – This is, arguably, the most irritating feature of the Intex Cloud FX. As the phone battery goes down, the clock would get slower – and that would give the impression that the users’ security certificates have lapsed. After resetting the time, accessing the mail over IMAP or POP is a problem, as is accessing the Firefox Marketplace. The least that the developers could have added to the phone is some sort of automatic battery backup feature, so that the displayed time remained accurate.

h) Getting a consistently strong signal is not easy – In fact, it is a matter of luck. Fans of Firefox OS (along with Android haters, of course) have tried to cover up this problem by maintaining that in developing countries (think: India, China), mobile coverage is not the strongest. However, even in the United States, many users have been left frustrated by the inexplicable low signal strengths on their Cloud FX handsets. And what if you are really unlucky? A ‘no signal’ message flashes on your phone screen.

i) Want a ‘slim’ phone? Cloud FX won’t be your choice – With a thickness of 12 mm, the Cloud FX sticks out like a sore thumb in the market choc-a-bloc full with ultra-slim smartphones. According to studies conducted by device analysts and app developers, this handset is around 1.6 times thicker than average high-end smartphones. Weirdly enough, the Cloud FX is not a heavy phone at all. The size of the phone does not match with its weight – have the hardware experts left some area to be filled with air?

j) Low storage capacity – People love storing documents and saving mobile apps on their handsets. Sadly, on the new Firefox OS phone – there is not much of internal memory to support these activities. The built-in memory is a pathetic 256 MB, while the 128 MB RAM is nothing to write home about either. The sole saving grace is that, external macros cards can be added to the phone.

k) Shoddy camera – Once again, we know its a $35 low-budget offering – but a 2 MP camera really does not make any sense on a smartphone. To put things in perspective, the latest iPhone has a 8 MP camera, Samsung Galaxy S5 has a 16 MP camera, and Sony Xperia Z1 boasts of a 20 MP built-in camera. Now, megapixels are not the be-all and the end-all of phone cameras, and the the other handsets are way more expensive – but surely the Firefox developers have gone with a 5 MP basic camera?

l) The phone body feels ‘cheap’ – To woo people away from Android, Firefox OS needs to stay away from devices that are as poorly built as the Intex Cloud FX. Those who trash Samsung phones for their plastic bodies should take a look at how bad, grainy-looking the front plastic cover of the Cloud FX is. There exists an air gap between the LCD and the touchscreen as well. Even the word ‘Intex’ has been put on the phone with plastic pieces. Let alone the OS, even the brand name of Intex would suffer due to this phone. 

m) No back button – Mobile app development experts are pretty much sure that, as  the overall Firefox app-count swells, this will emerge as a major issue. The absence of a ‘back’ button will hurt the usability of apps with multiple screens (and let’s face it, practically all present-day applications have many tabs and pages). The Firefox apps currently available are way too simplistic – and that’s precisely why this issue has not been talked about that much yet.

n) Lackluster battery performance – If you thought that this low-end phone would at least have a strong battery, here’s another disappointment. The Cloud FX comes with an under-par 1250 mAh battery – and if you get it, the phone charger will become a constant companion of yours. That’s bad news for mobile gaming fans, in particular. The device also heats up too soon.

Another low-point of the Intex Cloud FX is its sound quality. Instead of focusing solely on generating maximum volume, the Firefox developers should have corrected the screechy sounds that the device generates during calls. No one would mind if Firefox OS phones are priced at slightly higher levels – Android One is doing very well – but the device specs have to improve a lot. A handset like Intex Cloud FX simply does not cut it.

AppBoard Tuesday – 13 Ways To Filter Good Apps From The Bad

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Howdy, dear readers! It’s another fine Tuesday, and we are back with yet another edition of your favorite free weekly newsletter – AppBoard Tuesday (ABT). Last week, one of our junior developers (who also happens to be a mobile gaming addict!) downloaded a new Android game from the Google Play Store. As it turned out, the only good thing about that gaming app was that it was free – since it crashed repeatedly, high scores could not be saved, and playing the game (it was a bike racing thing, if you were wondering) for a tick more than 15 minutes caused his brand new Moto E to appreciably slow down. And that, folks, got us thinking.

It’s all very well that companies offer free app quotes to high-profile clients, but what about the average user – who innocently downloads new apps from stores, only to find they are buggy? In this edition of ABT, we will guide you through a few pointers which will help you get a hint as to whether the app you are planning to download/have already downloaded is a good or a bad one:

 

  1. Read the app reviews – Thanks to the hundreds of ‘free app review exchange’ sites and Facebook communities, store reviews are no longer as authentic as they used to be. Even the lousiest of apps have at least a few 5-star ratings. Check out the negative reviews (if any) more carefully, and find out which features of an app are drawing the maximum flak. The lesser the negativity around an iPhone/Android app, the more suitable it is for trying out. At least once.
  2. Check the featured apps – Coming up on the ‘featured apps’ list (after fighting it out with 1.3-million odd other applications at Play Store/Apple iTunes) is no mean feat. You can pick the ones that are featured at the stores with zero qualms, for they have been downloaded, tested, and liked by many other fellow-users. That, of course, does not mean that every other app is ‘bad’ though. It’s just that, you have to be more careful while considering whether to get them.
  3. Size of the app – Good apps take up minimal phone memory – bad ones are memory hogs, it’s as simple as that. Be wary of Android apps (in particular) that are more than 55-60 MB in size. Ideally, you should adjust your phone settings so that the device decides where a new app would be stored (phone memory or external microSD card). Larger apps might boast of more features, but their usability is generally poor.
  4. Bandwidth usage – Ask any mobile app developer, and (s)he will confirm that this is one of the key attributes of any new application. Our colleague, who had downloaded that troublesome racing game, had finally found out that it was taking up well over 70% of the total available mobile bandwidth. Once you have installed a new app, make sure that it is not taking up too much of the mobile bandwidth. If it is, get rid of it immediately. You certainly do not want a painfully slow smartphone/tablet!
  5. Battery drain – On the latest iOS and Android devices, you have the option of checking the amount of battery drain caused by each installed application. Now, all mobile app companies claim that their software do not put any extra pressure on the phone battery – but you should not entirely go by that. Many people make the mistake of thinking that abnormally fast battery outage is occurring due to some problems in the device. Check whether any of your apps is causing the problem instead. Never keep applications that are, in effect, ‘battery-killers’.
  6. What’s in the background? – A classic example of a ‘bad’ app would be one that remains active in the background, even after you have closed it. That, in turn, leads to poorer battery performance, and at times, screen freezes. The processor speed of your phone/tablet can also be affected. Find out what an app ‘does’ when you are not using it (and do not plan to use it for some time). If it remains active somewhere in the background, you would be better off without it.
  7. Crashes and screen freezes – The total crash-count of that ridiculously bad mobile racing game was 16, that too in a 2-day period! If that apparently ‘cool-n-snazzy’ newly-released app crashes repeatedly, you can rest assured that there is something wrong with it. A buggy app can also cause troublesome screen freezes – and at times, doing a hard reboot is the only option to get your handset functional again. Not every indie developer/company places equal emphasis on mobile app testing, which makes the presence of bugs in apps a distinct possibility. Of course, this threat is more for Android apps.
  8. Security – Right from digital storybooks in mobile apps for kids, to important passwords, credit card information and the like – a vast range of data is stored by users in their phone applications. The problem is, not all apps are trustworthy enough – and there are many which do not provide adequate security against unauthorized access and misuse of data. With WatchKit having released last month, the spotlight is more than ever on mobile app security. If an application does not come with proper security certifications, you should never go for it. Not even if it’s free and the better ones are paid!
  9. Splash screen duration – UI/UX designers pull out all stops to make attractive splash screens for their apps. Sadly, many of them forget the basic fact that – a splash screen is nothing more than something to be displayed as the app is being loaded. To be classified as ‘good’, the duration of an Android or iOS app should never be more than 8-10 seconds (even that is a stretch). Ask yourself – do you really want to stare at a splash screen – however colorful it might be – for minutes on end? Find out more about splash screen designing guidelines here.
  10. Compatibility with the latest mobile OS versions – iPhone fans are more than eager to upgrade their devices to the iOS 8 platform. Android-users cannot wait for the day when they would get the notification for upgrading to Android 5.0 Lollipop. In such a scenario, it is of essence that the new apps churned out by mobile application companies should be customized for these platforms. Older version apps can, and often do, perform erroneously on devices running on the latest platforms.
  11. Number of features in the introductory version – Or Version 1.0, as some app developers prefer to call them. A ‘good’ app should have a limited number of features and functions, and one clear purpose (i.e., it should solve a single requirement of users). In subsequent versions, the range of features should gradually increase. There are many apps that try to pack in too many features – and the only thing they succeed in doing is confusing the users.
  12. Frequency of upgrades – This one is basically a follow-up from the earlier point. Leading mobile app agencies as a rule announce the release of new, improved versions of their best-performing apps. On the other hand, shady companies treat the release of apps as a one-shot game, and do not bother spending time, money or manpower on further upgrades. As a result, user-satisfaction levels take a backseat. It would be advisable to check how frequently an app is upgraded, before you download it. For a new app, you can try finding out from the developer regarding the future upgrade plans.
  13. In-app navigation – Again, this is easy to explain. A common trait of every user-friendly mobile app is that they have simple, easy-to-understand in-app navigation schemes. Graphic designers make sure that not only do these apps have visually appealing layouts, but checking out all the tabs and sections of the application is a breeze too. At certain companies, specialized designers are either not present, or are not competent enough. Not surprisingly, they come up with apps which people have a tough time understanding, let alone using. The very definition of a ‘bad app’!

 

Good Android or iPhone apps for kids should  come with properly working parental controls. The popularity of freemium apps is spiralling at present – and you need to make sure that such paid download options on a free app are reliable enough. If you create mobile apps yourself, keep in mind the above parameters, to make sure that your products always have plenty of takers. Mobile app making is a lucrative line of business, and substandard products are being released in the lure of making quick money – but you can avoid bad apps rather easily.

With the hope that all of you have only the best apps on your smart devices, we would bring this week’s AppBoard (ABT) to a close. In case you have ever downloaded troublesome apps, do share their names, and the issues you faced with them. Write to us about anything else you might want to know, before downloading apps from the stores.

 

A little bit about ourselves here. These are exciting times at our iPhone app development company. After the launch of our Australian chapter – Teks Mobile Australia – in August, we are now all set for the opening of another foreign branch, this time in Sweden. Teks Sweden would, in addition to developing iOS and Android apps for clients, offer professional translation services and manpower consultancy solutions for businesses. Do pray for our success.

 

Stay well, each one of you. We will be back next week, with another dose of AppBoard Tuesday. What topic will be under discussion in the next edition? Well, for that, you have to wait till Tuesday!

 

 

SpriteBuilder – The Must-Have Suite For Mobile Game Developers

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Most iOS game developers across the world prefer using Cocos 2D v.3 with the SpriteBuilder suite, for making customized, high-end games. SpriteBuilder helps in creating native games for the Android platform too. Here’s a checklist of the features that have contributed to the success of this game development suite.

 

With the release of the SpriteBuilder 1.0 tool in January this year, cross-platform mobile game development has become easier than ever before. The SpriteBuilder suite is managed and supported by Apportable, and can be used with the both Cocos2D and 3D, as well as Chipmunk game development engines. In fact, many professional mobile app developers are off the opinion that SpriteBuilder has been instrumental in reviving the slightly sagging popularity of Cocos2D-Objective C, in 2013. So, what are the features that make this tool so special? Let’s take a look:

 

  1. Compatibility with Xcode and Objective C – Along with, of course, Cocos2D-Swift at present. Companies are increasingly taking to making games by using SpriteBuilder along with Xcode 6.0, and the Objective-C/Swift programming language. This compatibility feature is vital in making native mobile games within relatively shorter periods, and without major glitches.
  2. Native games for Android – SpriteBuilder has certainly done its bit to expand the usage of Cocos2D as a game development engine for the iOS platform. At present, it is the only available game development suite for the Android platform. Most mobile game developers feel that using Spritebuilder is a way more simpler option to make games, than having to learn up Java and/or Javascript.
  3. Open source – App developers love open-source software, and SpriteBuilder satisfies this criterion. The codes and snippets can be tweaked around, for adding customization to game development projects. Generally, leading mobile app companies get requests for making diverse types of games, and the open-source SpriteBuilder suite comes in very handy in that regard.
  4. Multiple screen modes – Just like Cocos2D has several layout options, the SpriteBuilder suite comes with two alternative screen modes. In the Fixed Screen mode, the attributes of the game nodes (expressed as a percentage of the parent container) do not change. As a result, all the ‘scenes’ you create for the game will be identical. On the other hand, the Flexible Screen Mode of SpriteBuilder allows developers to resize scenes, so that the latter can properly fit into the screens of different devices. As is understandable, the size and precise positions of the nodes also keep changing in this mode.
  5. Speed – SpriteBuilder was always expected to bolster the speed of iOS game development, but the real surprise has been how the tool has been able to cut down the ‘developer-to-stores’ time span for the Android platform. The support from Apportable has been influential for bringing this advantage to game developers. Instead of any third-party engines or suites, all Objective-C programs are compiled straight to the x86 (in certain cases, the ARM) machine codes. As a result, the entire process speeds up.
  6. Facilitates better collaboration between app designers and game developers – Mobile app agencies which have started using SpriteBuilder with Cocos2D have also witnessed better collaboration between their in-house designers and coders. On of the key reasons for this has been the presence of a robust visual editor in this suite, which allows the creation of game prototypes on a real-time basis. This lets designers (and even clients) to share their inputs, and changes can be done accordingly. As any mobile app expert would agree, developers and designers have separate capabilities which can turn into conflicting interests. SpriteBuilder keeps the joint workflow between the two teams seamless.
  7. Learning curve – Much less steep than that of Unity or Libgdx. What most new mobile game developers like about SpriteBuilder is the opportunity to create ‘fake Gameplay scenes’ that it provides. All that the developers need to do is make a new ‘Gameplay.ccb’ (preferably in 480×320 screen size), and then add an art pack and any number of game objects to it. Working with the fake scenes can be really helpful in learning how the overall gameplay content can be scaled up in future.
  8. Auto-adjustment of image sizes – With SpriteBuilder, iOS/Android game developers no longer have to separately specify the sizes of different images in the scenes. By default, the suite takes every image at four times(4x) of its original size (i.e., a 60×60 character becomes 240×240). Images for iPads are generally taken as double the size for those used for iPhones. Of course, you can keep the images used in smartphones and tablets of the same size, by selecting the 2x option under ‘tablethd’.
  9. ‘Safe’ and ‘Unsafe’ screen areas – Yet another big advantage of SpriteBuider is its developer-friendly screen representation. The overall screen area for games is divided into the inner, larger ‘safe’ area (the gameplay area that is displayed on all devices), and the outer ‘unsafe’ border area (which remains partially or completely hidden from view). Since the two areas are clearly demarcated, game developers get a proper idea about where they should put the gameplay content, and from where they should put in paddings or the larger background images. For instance, on iPhone 5, certain areas of the ‘unsafe area’ is visible.
  10. Enhanced features in the new version – SpriteBuilder 1.3.5 was officially launched less than a month ago, and it packs in even more delights for mobile game development professionals. The support for Xcode 6 and Swift has been bolstered further, while the multithreading feature in the Open GL is also an interesting addition. However, the two new features that have got app developers all abuzz about SpriteBuilder 1.3.5 are the Cocos2D Metal Renderer and the packages dynamically created for Cocos2D-Swift. It is expected that the CCEffectLighting property would also improve in future versions of SpriteBuilder.
  11. Licensing requirements – As already mentioned above, SpriteBuilder is an open-source game development suite. Mobile app developers can download and use it under a straightforward MIT license. In other words, there is no need to worry about copyright infringements and other such issues – while customizing the source code of SpriteBuilder. No extra expenses are required either. An Indie license would do the trick.
  12. Support for 3D game development – SpriteBuilder does not have many takers for three-dimensional mobile game development at present – but things can easily change within the next couple of years. Unity 3D, with its support for a large number of platforms, is the chief rival of SpriteBuilder in this domain. It will be interesting to note what further additions are made to SpriteBuilder, to improve the suite’s worth as a 3D game development tool. At least, SpriteBuilder is not ‘2D-only’ – and that’s something.
  13. Additional customization – When used with Cocos2D, SpriteBuilder offers a myriad of personalization options to game developers. The sizing type, reference corner, positioning type, and even the anchor point of game scenes can be adjusted as per the exact requirements. By using ‘Points’ (instead of the absolute UIPoints), the positions and dimensions of images can be automatically scaled up for devices with bigger screens.
  14. Tiled editor and boned animation support – The professionally-styled tiled graphic-user-interface (GUI) editor of SpriteBuilder is certainly one of its many high points. Add to that the support for high-end boned animations, built-in animation/scene editor, particle systems and improved localization tools – and there remains little scope for doubting SpriteBuilder’s position as the best suite for 2D native game development. The speed at which SpriteBuilder can generate sprite sheets is also impressively high.

The combination of Cocos2D v.3 and SpriteBuilder ranks high on the popularity count among game and mobile app developers worldwide. The SpriteBuilder suite is available for download for free, at the Mac App Store. For becoming proficient in native game development on the iOS and Android platform, thorough knowledge about the features of this suite is of essence.

 

Oh, and did you know – with SpriteBuilder, you can create a relatively simple mobile game in under 7 minutes?