Author Archives: Hussain Fakhruddin

SpeedyKey Keyboard App By Teknowledge

Typing quickly on mobile touchscreen keyboards is not the easiest task for many. Errors crop up, words have to be deleted and rewritten – resulting in frustrating delays. In the last six months or so, we had received multiple requests for creating an app that would make the task of typing on mobile devices faster, simpler, and most importantly, error-free. The SpeedyKey project gave us the opportunity to finally make such an application.

SpeedyKey is available on iPhone, iPad, iPod Touch and Apple Watch

The Start

 

Ever since the release of iOS 8, we have received plenty of proposals for making custom third-party keyboards. Barring a few, most of the concepts were not exciting enough to take on. SpeedyKey, however, put an entirely new spin on the idea of what a keyboard app for iOS devices should be like. Making it was…fun.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

When the head of Sp/F Meitilberg Arts presented the app idea for the first time, it was clear that it had the potential to be a big-time winner. Apart from making typing quicker, SpeedyKey was slated to pack in a host of keyboard shortcuts, pre-written custom replies, themes, and other fun features. We knew that, if we could successfully make this app – it would find favor among users. And that’s precisely what happened.

 

Before I got in touch with Hussain and his team, I had one thing pretty clear in my mind. I did not want SpeedyKey to be like the other run-of-the-mill mobile keyboard applications. A look at the portfolio of Teknowledge told me that these guys might have it in them to properly implement my ideas in the app. My gut feeling turned out to be correct.

Head, Sp/F Meitilberg Arts

 

As is customary at our mobile app company, we sent along a free app quote within two business days after receiving the app idea. All the formalities were settled by a week, and the project was handed over to our iOS development team.

 

What’s SpeedyKey All About?

Speedy is an iOS keyboard app that helps users to type faster

It would be an injustice to refer to SpeedyKey as just a ‘third-party iPhone keyboard app’, and leave it at that. We had aimed to make typing a faster, and more fun experience, for users of this application. In essence, SpeedyKey can be described as a compact, user-friendly, and multi-featured keyboard application – just the way it had been conceived by Sp/F Meitilberg Arts. Once the final prototype was ready, we realized that there were hardly any keyboard app at the store that was as good as this one.

 

Whenever I get the proposal for a new app, I try to find whether it would indeed be of value to final users. Otherwise, making it is…frankly…a waste of time. SpeedyKey is one of those apps about which I was confident from the very outset. It had simply too many top-notch features to not be liked.

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

Main Features Of The SpeedyKey App

 

Making SpeedyKey – my dream project – stand out from the cluster of similar apps was my prime prerogative. I took my time to think up the features that the app should have…the features that would actually benefit people. Credit to the Teks team here, they made sure that my ideas were incorporated in the app in the right manner.

— Head, Sp/F Meitilberg Arts

 

Apart from typing being an absolute breeze on the app, SpeedyKey has many other delightful, well-thought-out features. Right from the custom speedy replies and word suggestions, to support for foreign languages and the speedy-menu option – each feature contributes towards making typing quicker, customized and free of mistakes. The spacebar of the app, which performs several actions, deserves a special mention too.

 

So, What Exactly Is A Speedy Reply?

When the head of Sp/F Meitilberg Arts explained the concept of ‘Speedy Reply’, we immediately felt that this feature could be the main USP of the app. Users were given the option of creating and storing their very own customized replies, which they could send with a single tap. ‘Speedy Reply’ could be used to respond to emails as well as text messages. What’s more, email ids and personalized mail signatures could also be added with the Speedy Key tab.

 

When you have to type more, the chances of making mistakes go up – it’s as simple as that. The central focus of SpeedyKey is about minimizing the need for typing as much as possible, particularly repetitive things like email signatures and short replies. Not surprisingly, the app brings down errors in typed replies significantly.

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

The ‘Speedy Reply’ feature comes in particularly handy for replying to messages/mails when a user is in the midst of something important. All that (s)he has to do is tap a custom message (for instance, “I’ll call you soon”) to send it along – without disrupting his/her work. After due deliberation, our in-house iOS app developers also included the provision of adding reminders with these replies. If a specific time is mentioned, a small red bell appears on the top-right corner of the custom reply messages.

 

I am not particularly fond of third-party keyboard apps. But this SpeedyKey is different. Earlier on, I often could not respond to the client emails – particularly the ones that came in during meetings and board discussions – quickly enough. I tried out this app, and found that I can do a one-tap reply to the senders, and then follow up with more detailed replies later. SpeedyKey has made me a more efficient manager, that’s for sure!”

Jonas Coleman (Advertising Manager)

(downloaded SpeedyKey on 4 July 2015)

 

Compactness Of The App

 

SpeedyKey supports three different languages – English, Faroese and Danish. There are plans to include more languages in the upgraded versions of the app in future. While creating an English keyboard was easy enough, the task was slightly tricky when it came to the foreign languages – which have extra alphabets. The SpeedyKey button (that little tab with the black smiley) maintains the compactness of the application in such circumstances. Pressing the button displays the extra letters/characters – from where users can easily choose the one(s) they wish to put in a message. The total number of buttons do not increase.

SpeedyKey button supports special characters of foreign languages

One of the challenges I had to address while conceptualizing SpeedyKey was how the additional letters that many languages have would be accommodated. The last thing I wanted was extra buttons to appear, which would ruin the overall layout of the keyboard. After a couple of meetings with Hussain and his team, we locked in the idea of supporting extra characters with the SpeedyKey button.

— Head, Sp/F Meitilberg Arts

 

What if a language does not have extra alphabets? For such languages, a long-press of the SpeedyKey tab pulls up the custom speedy replies and emojis. Once again, the need for including more buttons is done away with.

 

Ease Of Use

 

A remarkable thing about SpeedyKey is how the app addresses practically all types of requirements that a person might have, while typing on an iPhone or iPad. A few swipe gestures is all it takes to move the cursor, add/delete words, and type numbers. Even the custom-created words and suggestions can be removed. SpeedyKey is indeed…speedy!

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

The buttons in the top row of the SpeedyKey app have numbers in their bottom-right corners. 8 other buttons have similar small signs on them. To insert these numbers/signs, users have to press the appropriate button and swipe downwards. Yep, it’s really that easy!

 

The app also has a built-in menu bar, for quickly activating/deactivating select functions. The suggestion bar can be minimized (a great option for those looking for more screen real estate) as well. For deleting a custom word, it has to be selected, and the ‘Forget This Word’ option chosen.

 

In-App Purchases

SpeedyKey offers four extra themes via in-app purchase

After consultation with the chief of Sp/F Meitilberg Arts, we went ahead with a grey theme as the default for the SpeedyKey app. Four other cool themes (black, purple, green and white) were made available as in-app purchases. A single purchase enables users to get all the four themes. Playing around with the visual appearance of the app is, hence, simple.

 

I wanted to give users the option to take their pick from alternative color themes on SpeedyKey. The question was, how they could be included in the app. After a couple of rounds of discussion, it was decided that the themes will be downloadable via in-app purchase. I loved the idea, for it made things convenient for users.

— Head, Sp/F Meitilberg Arts


4 color themes are available on SpeedyKey

The pack of additional themes can be purchased by paying a nominal price of 8,00 kr.

SpeedyKey comes with a host of simple swipe gestures

Device Compatibility

SpeedyKey is optimized for all iOS 8 devices (naturally, for the earlier iterations of the platform do not support third-party keyboards). Apart from iPhone 6 and iPhone 6 Plus, the app can be downloaded on upgraded iPhone 5 handsets, iPad, and iPod Touch. The memory requirement for installing SpeedyKey Keyboard is only 14.0 MB. We wanted to expand the reach of the app as much as possible – and till date, the feedback on it has been uniformly positive.

 

SpeedyKey is available for download at https://itunes.apple.com/dk/app/speedykey-keyboard/id957834205. If you wish to know more about the features of the application, visit http://www.speedykey.com/. This app has laid down a marker regarding what good third-party iOS keyboard apps should be like – and it was a privilege to work on this amazing project.

Making Apps For Apple Watch: Key Takeaways For Developers

It has been over three months since Apple started accepting third-party WatchKit applications for its smartwatch – the Apple Watch. By now, well over 4000 Watch apps are present at the store. However, most of these first-generation apps for Apple Watch have been of mediocre quality, and the general consensus amongst developers worldwide is that, the quality of the applications would improve when they would be built natively for the smartwatch, and have access to the native features of the device (for instance, the Digital Crown). As we wait for the final release of watchOS 2 (expected to be in the third quarter of this year), let’s take stock about what we have learnt about WatchKit app development till now:

 

  1. Xcode bugs can affect WatchKit – If the segue(s) are not working even though apparently everything looks correct, a bug in Xcode is most probably the reason. For an application being made with WatchKit, a random segue ID number might get generated due to the bug – which keeps the segue from firing up. Under such circumstances, app developers have to remove the faulty ID from the storyboard, wipe out the previous details, and start building again from scratch. Finding out whether an Xcode bug is affecting a segue is fairly easy – all that the coder has to do is include the ‘println(segueidentifier)’ inside the methods.
  2. Using big fonts is vital – No one likes to squint while trying to read off text from the Watch face. Many iOS and WatchKit app developers made the mistake of using medium sized fonts in Watch apps (in a bid to save on screen real estate). That, in turn, forced wearers to bring their wrists very close to their eyes – to find out what is written on the app screens. The problem was particularly prominent for apps being used in ‘Glances’ view. The ideal font size that should be used for a Watch application should be around 42-44 pts. Things have to be made easy for final users, you see?
  3. Downloading is easier with NSURLSessionDownloadTask – Many times so. Downloading images within an app might take several seconds, during which users might simply navigate away. Those who are into making apps for Apple Watch need to remember that the average app-interaction time on the smartwatch is very low – and no one is likely to wait as a resource takes its own sweet time to download. This is where the NSURLSessionDownloadTask *downloadtask command comes in handy. It ensures that background task(s) do not get timed out as pictures or other stuff gets downloaded in an application. Adding a provision for AFNetworking (AFURLSessionManager *manager) makes things even more stable.
  4. iOS applications cannot be opened by sending messages from Watch – This is a very common source of confusion among professional Watch and iPhone app development experts. A message from Watch can wake up the background processes of an iOS application, but it DOES NOT OPEN the actual app (the message is sent by calling the WKInterfaceController class). The misconception, in most cases, stems from the fact that iOS apps could be directly opened by sending messages with the WatchKit API in the simulator. On the actual device though, it only activates the application in the background.
  5. Shared data container is required – For both the app as well as its extension. Unlike what was initially thought, WatchKit app data do not get saved in the Apple Watch (i.e., there is no local storage and caching). To access this data, developers need to move to the ‘Capabilities’ section in Xcode, and set up app groups for the iOS application and its WatchKit extension. To rule out unauthorized access of confidential data stored in the apps, the ‘Data Protection’ option should be turned on. The ID for the data container should be the same for the app and the WatchKit extension.
  6. Using margins is unnecessary – There is little scope to get very creative while designing an app for Apple Watch. As per the company’s Human Interface Guidelines, developers can only use different shades of black, to enhance the illumination of the applications. The one thing that isn’t required though, is putting margins around the view area on the Watch screen (a departure from the usual norms of iOS app development). The display area should seamlessly merge with the bezel of Watch. Margins make the display unnecessarily smaller, and the UI of apps become more compressed. Navigation becomes an issue too.
  7. The parent application can crash – Which makes the inclusion of exception breakpoints absolutely vital. WatchKit developers have to attach the breakpoints to the parent – to ensure that the latter does not get lost in the event of an app crash. This can be done by navigating to Xcode → Debug → Attach To Process, and adding the name of the process of the app. Attaching the parent app lets developers use the debugging methods they are familiar with. The process itself gets displayed only after the +openParentApplication:reply: has been called.
  8. The image picker can be a memory hog – Many first-generation mobile app developers faced problems while using image picker for adding photos to Watch apps. Apart from taking up too much of memory space, image picker caused the WatchKit extension to frequently crash as well (in any case, the loading speed was painfully slow). The way around this problem is to ditch the UIImage objects, and use data instead. A thumbnail of each picture to be added to the app has to be created, and then compressed into either PNG or JPEG format. For adding animations, using the +[UIImage animatedImageWithImages:duration:] is advisable. The animated pictures can be moved to the application after NSKeyedArchiver encoding.
  9. Alpha layers cannot be used in Watch app icons – Neither should the images used as icons have transparency. At the app store, icon images that have either of these two properties generate the dreaded “Invalid Binary” error in iTunes Connect (this happens even when submit your app through TestFlight). App developers who use Pixelmator need to go to Sharing → Export For Web, and remove the transparency option (which is generally checked by default).
  10. Replicating an iOS app for Watch is a no-go – This one is probably a no-brainer. The screen of the smartwatch is way smaller than that of the latest iPhones, and if you simply replicate the graphical elements of an iOS application on a Watch app, the latter would look seriously cluttered. Instead, UI/UX designers need to chalk up the layouts and designs of Watch apps from scratch. Only the most important components of the original app interface can remain, and the focus should be on providing enough space for the text to be displayed. This includes doing very subtle changes, like replacing a square checkbox with a circular dot in the center. It’s a challenge to make apps properly viewable on the tiny screen of Apple Watch – but with smarter designing, it can definitely be done.
  11. Card layouts do not work well on Watch – According to experts from the field of general mobile app development, Card layouts enhance the viewability of applications. This does not hold true for WatchKit applications though. An app in Card layout appears weird when the card comes in touch with the edges of the display area, since the screen does not seamlessly merge with the edges. To put it in another way, Card layouts do not let the screen and the bezel of Apple Watch remain visually in sync. That, in turn, results in a poor app-using experience of wearers.
  12. Views cannot be updated too frequently – Yet another difference from iOS apps, on which views can be changed pretty much whenever the developer feels like. On WatchKit, however, Bluetooth services are used for making screen updates – and updates that are made after calling the didActivate function generally do not get approved. Since neither WKView nor WKInterfaceController has any provision to let developers keep track of the screen update data, it is a good idea to use a caching controller subclass, which would record the values of the main views. Any update that is deemed by WatchKit as a duplicate is removed, and Apple is making a conscious endeavor to minimize the number of updates sent via Bluetooth.
  13. Xcode does not auto-create all the provisioning profiles – Three different provisioning profiles are required for each target in an app for Watch – yourAppID, yourAppID.watchkitapp, and yourAppIDwatchkitextension. The Xcode tool creates only two of these provisioning profiles, and developers need to manually create the third from the dev portal. The three profiles need to have separate, unique App IDs. If you are working with app groups, double check whether the entitlements of the main application and the WatchKit extension have been correctly set.
  14. BTLE connections can be unreliable – Responses from Watch apps are sent via Bluetooth Low Energy (BTLE), and the connectivity can often be downright slow. Since testing apps on iOS simulators do not involve BTLE, developers can overlook this – and end up making apps that do not ‘reply’ fast enough. To tackle this problem, app-makers should ideally create cached copies of the API responses that are used most frequently. In case you feel that there will be a delay, add an animation which the wearer would see (just like a splash screen). The focus has to be on minimizing response times as much as possible.

 

In WatchKit, delegations can still be used – but the method of passing ‘self’ has changed, while a protocol has to be predefined on it. All updates have to be done within willActivate(), since only the ‘set’ methods can be updated with the WatchKit UI controls. For creating Watch interfaces, Storyboards have to be used – so if you do not use Interface Builder, it’s time to learn how to work with it. Also, do not forget that Watch apps have to be compatible with iOS 8 AND iOS 7 (many developers forget about the older platform). During the app testing phase, the Watch should be plugged on to its charger (to prevent the screen dying quickly). watchOS 2 will surely make things easier for developers – with native access to many features of Apple Watch. The over-reliance on paired iPhones will go down as well. The quality, usability and value of Watch apps should also improve over time.

 

 

Know More About Android M: 15 New Features

One of the biggest announcements at this year’s somewhat underwhelming Google I/O event was that of the latest iteration of the Android mobile platform, Android 6.0. It has been codenamed Android M (keeping with the alphabetical chronology), and although speculations are rife among tech enthusiasts and app developers alike regarding whether the final name would be ‘Marshmellow’, or ‘Milkshake’, or any other dessert – the general opinion is that, Google has done a good job of making the Android platform more efficient and user-friendly with this version. Let’s check out some of the interesting new features of the upcoming Android M platform right here:

 

  1. Google Now gets ‘Now On Tap’ feature – Siri 2.0 on iOS 9 is getting smarter, and Google has ensured that its arch-rival, Google Now, will get a facelift in the new Android OS version as well. The best addition to the mobile digital assistant’s features is ‘Now On Tap’ – which allows users to access Google Now services simply by long-pressing the ‘Home’ tab on their devices (irrespective of where they are, and what application(s) they might be using). Like Apple’s Siri, the new and improved Google Now would also have the capacity to ‘understand’ people’s commands better, and provide a more intuitive experience.
  2. Opening links from apps becomes easier – The beta preview of Android M has already been seeded to app development experts, and according to reports, the new platform handles app links more efficiently than before. The OS has the capacity to understand whether a link should be opened within an app, or in the mobile browser – unlike in previous Android versions, where a popup used to be generated for this. Deep-linking within Android applications is also facilitated with the help of additional autoVerify attributes (to be included by developers).
  3. App Drawer gets redesigned – Although the first look of the app drawer in Android M has drawn some flak, it has the potential to make things simpler for final users – especially those who have loads of apps installed on their devices. The rather awkward horizontal scrolling system has been ditched in favor of the easier vertical scrolling (it used to be present till the 2nd generation of the Android platform). People would find the apps that they use more frequently in the top row of the drawer, while the alphabetical arrangement has also become more systematic. Android developers feel that the searchability feature of the revamped app drawer will also come in handy.
  4. Android Pay expands its range – The poorly received Google Wallet is not going to be discontinued anytime soon, but the focus of those up top at Mountain View has clearly shifted to upgrading and popularising Android Pay. With Apple Pay off to a fairly fast start, Android Pay has a bit of catching up to do – but going by the promised features, it should prove to be a more-than-decent mobile payments platform. Built-in with the Android M OS, Android Pay will be compatible to any Kitkat (or later)-powered devices that has near-field communication (NFC) support. In the United States, Android Pay will be usable at nearly 800000 stores, with American Express, Discover, Mastercard and Visa cards being supported. It remains to be seen which one wins the Apple Pay vs Android Pay tussle – but contactless payments technology is going to get a boost, that’s for sure.
  5. Custom Tabs arrive in Chrome – Dave Burke’s announcement of Chrome Custom Tabs being a feature of the Chrome browser in Android M met with enthusiastic response at Google I/O 2015. Android app developers have confirmed that the Custom Tabs allow better and faster access of web services for users, directly from the applications they are using. If a link is tapped in an app, the screen that opens matches the design and feel of the application – which retains an air of familiarity. The Chrome Tabs would also ‘remember’ the login information of users, ensuring that people do not have to go through the process of signing in each time.
  6. Uninstalling/Moving apps is simpler – Remember how you had to go to ‘Settings’ on your Android phone, and remove apps from there (as and when required)? Well, Google has made the task simpler in Android M. All that users will have to do is bring the application to be removed on the home screen (drag-and-drop), and then uninstall it. The same principle works for moving the location of any application from one folder to another. Customization has always been a high point of the Android ecosystem (something that cannot still be said about iOS), and Android M looks to build on that further.
  7. Arrival of the Doze Mode – Anyone who owns a smartphone (any OS) would know the unavoidable problems of battery life. The Doze Mode, which would be present in Android 6.0, should, hopefully help in increasing the battery performance of handsets significantly. When a device is not being used for some time, it goes into a long-standby (think of it like a ‘deep sleep’) – which does away with unnecessary battery-wastage. Particularly for Android smartphones with non-removable battery, the Doze Mode will be helpful for extracting just that bit more of battery juice. Don’t hope for a five-fold increase in battery life though!
  8. Greater user-orientation in app permissions – Professionals from mobile app companies who have already checked out the developer preview feel that this is one of the best features of Android M. The existing system of app permissions has been tweaked around – and users will now be asked for permissions whenever an app tries to access any phone feature. In essence, the app permissions structure has been broken down into separate categories. This promises a smoother app-using experience and, more importantly, greater security while using third-party applications.
  9. MicroSD cards to get native support – Android KitKat removed it, Lollipop brought it back, and ‘M’ will increase it. We are talking about the native support for external storage options on Android handsets – which will ensure that data stored on microSD cards will be treated just like the items saved in the internal storage of handsets. Users will be able to seamlessly transfer apps and other software to and from the expandable memory. Interestingly, the Samsung Galaxy S-series phones no longer have external storage options. Many developers are of the opinion that this is another proof of the growing differences between Google and Samsung.
  10. Charging will be faster – At least it should be. Along with better battery performance (thanks to the presence of Doze Mode), Android M phones will be quickly chargeable as well, since the newest iteration of the platform will have in-built support for USB Type-C charging. What’s more, other compatible devices can also be charged by connecting to smartphones running on Android M. Users would certainly like not having to tag along their phone chargers with them all the time!
  11. Standardized fingerprint scanning – Right from unlocking devices and accessing Android apps, to authorizing purchases and enhancing the security of Android Pay – the beefed up fingerprint reader of Android M will serve multiple purposes. All devices with fingerprint scanners in the hardware setup will get this standardised support. This feature would help in authenticating app downloads from the Google Play Store too. The number of devices with this fingerprint scanning feature is expected to increase over time.
  12. Presence of new Do Not Disturb feature – Android M comes with high-level granularity, with ‘Do Not Disturb’ being the most important addition in the ‘Notification Priorities & Downtime’ standards of the platform. For specific events, users can turn off all notifications for a certain period of time, while setting up separate ‘quiet hours’ for different days of the week is also an option. Owners of new Android phones will get to see only the notifications they want to…and if they so want during any period, no notifications at all. The sliding heads-up notification feature can also be turned off in Android M.
  13. Sharing becomes faster and easier – The revamped ‘Share’ menu option in Android 6.0 will include the names of the people with whom you share stuff (photos, documents, web links) on a regular basis. This, in turn, will make the entire sharing process less cumbersome and time-consuming. In addition to this ‘Direct Share’ feature, software experts and Android app developers have pointed out the floating toolbar (for copying/pasting) and the word selection tool as extremely useful. Android M will support direct A2DP Bluetooth streaming as well – yet another powerful boost to the sharing capability.
  14. Customization option in the pull-down bar – The pull-down notifications bar offers fast access to a vast range of settings and modes – and on Android M, the position of these settings can be personalized as well. The System UI Tuner of the operating system will allow users to remove items from the Quick Settings list of the notifications bar as well. Shortcuts that get removed in the developer preview version cannot be replaced in any way though. When the OS is finally launched, this would be added.
  15. New RAM manager – On Android M-powered devices, finding a rogue app that is hogging too much of memory space, or causing excessive battery drain, will be a breeze. There is a dedicated RAM manager present in the OS, that rates individual applications as ‘average’ or ‘good’ – based on the amount of memory it takes up. In the developer preview of Android M, the RAM Manager can be seen under Settings → Apps → Options → Advanced. The Memory Manager of Android will get more informative with this RAM manager now in place.

 

Android M will support tethering speeds (for broadcasting signals) of up to 5GHz, a considerable increase over the 2.4 GHz supported by the earlier versions. Volume control has become more personalized, with three different sliders for adjusting notification alerts, music volume and mobile alarms. Android developers have also hailed the provision of automatic app backups that the latest version of the platform will provide. For those who do not dig the bright white default interface of Android Lollipop, there’s some good news – Android M will allow users to switch over to a dark theme (in the developer preview, it can be activated by tapping Settings → About Phone → Build Number (7 times)). Settings and Google Settings are no longer separate, which is a relief for many too.

 

The Android M developer preview has been made available on Nexus Player, and the Nexus 5, 6, and 9 devices. The final release is expected to happen sometime in September this year. The adoption rate of Android 5.0 Lollipop is still way below 15%, and it remains to be seen whether Android 6.0 packs in enough punch to become more popular. It certainly seems like having the potential to do so!

AppBoard Tuesday – It’s Time To Go Green!

We make apps for the latest smartphones and tablets. Yes, the very same gadgets which collectively spit out almost 7 megatons of toxic greenhouse gases worldwide, while being charged. If you feel that’s a pretty serious figure, try this one on for size – the carbon emission volume caused by phone charging is likely to touch 14 megatons by the end of 2019. It’s high time each one of us started doing our bit to raise environmental awareness and preserve nature. In this comeback edition of AppBoard Tuesday (you noticed that ABT was away for four weeks, right?), we will look back on our first attempt at giving something back to Mother Nature.

Go Green Help Clean CSR drive

We had a general idea that planting saplings in an open space would be the way to go – but the finer details had to be sorted out. Two Fridays back, we picked this as the main topic under discussion during our regular brainstorming session. After each of our in-house mobile app developers, testers, graphic designers and other staff had suggested a name for the campaign – we deliberated on the suitability of each of them. Finally, the name ‘Go Green, Help Clean’ was chosen. It was simple, had a nice ring to it, and most importantly, it focused solely on the importance of…well…going green. Nothing about computers and apps and what-not. It wasn’t just another ho-hum CSR activity, you know? We cared!

Next arose the question of location – where should we plant the saplings? Finding a non-congested area in or around Kolkata is not the easiest thing in the world – and a couple of days passed, before we could come up with a few alternatives. Finally, the campus grounds of Bodhisukha School (Barasat) was chosen as the ideal place to kickstart our campaign. A big thumbs-up to the school authorities here – they agreed immediately to our proposal, and promised all possible types of help in our tree-planting endeavors. You see…we are a team of iPhone app developers and graphic experts and master coders – but when it came to matters of the soil, we did need a bit of assistance!

We plan to plant one sapling for every app

The only question that remained to be addressed now was deciding on the number of saplings we would plant in the first round of the ‘Go Green, Help Clean’ drive. We wanted to have a rationale behind the number we chose (something like ‘500+ plants’ sounded all too gimmicky). Finally, it was decided that a separate sapling would be planted for each mobile application in our app development portfolio. This ensured two things: a) we would be planting A LOT of saplings (given that our total app count is inching towards 950), and b) it would be a continuous process – a new app goes live, a fresh sapling gets planted. That’s just the way we had envisaged the campaign from the very outset.

With plans in place and saplings in hands, it was now time to make the journey to Bodhisukha school. The rains stayed away (thankfully!), and we reached the school premises early enough. It was a pleasant surprise to find the students all ready and looking forward to the tree-planting campaign. Their eagerness reinforced our belief that we were on to something good, something that will matter in the long-run.

Close to 950 saplings will be planted

It was time to get our hands dirty next. Our mobile software developers and app-makers worked hand-in-hand with the delightfully enthusiastic pupils of Bodhisukha – and within a matter of a couple of hours, a fairly large number of saplings had already been planted. A bit of rest was in order (this wasn’t the usual ‘working-in-an-AC-office’ day, after all!), and afterwards, we continued with the sapling-planting. By afternoon, the Bodhisukha garden was nicely filled up with rows of young plants – and watching the saplings waving in the gentle breeze filled our hearts with not an inconsiderable amount of joy. Things had passed on without a single hitch – it was almost like the completion of a complex mobile app debugging process without a single error being detected!

Students of Bodhisukha school helped a lot with planting saplings

After the planting phase was over, we handed over close to 400 more saplings to the students of Bodhisukha school – which they would plant over the next few days. The school staff has already promised more space for sowing the plants, and our app developers are already busy chalking out the next phase of the ‘Go Green, Help Clean’ drive (including a search for more suitable places for planting saplings). Our Australian chapter – Teks Mobile Australia – would be starting the campaign Down Under fairly soon too.

Launching 'Go Green, Help Clean' was something close to our hearts

For each member of the Teks Family, it was a fulfilling experience to be a part of this noble effort – to take up a stand against the rapid degradation of the environment. We are determined to expand the reach of ‘Go Green, Help Clean’ as much as possible (and as quickly as possible)…so wish us luck about that. Oh, and if possible, why don’t you plant a sapling somewhere nearby after you have read this? It will be for a good cause!

Let’s sign off this week’s ABT with a bit of happy news on the professional front, what say? Story Time For Kids – our mobile storytelling/reading app for children – has bagged yet another prize. This time, the recognition came at the Global Mobile App Summit & Award 2015 (hosted at Grand Chola, Chennai), where Story Time was selected as the best app in the ‘Books & Reference’ category. Participating in the summit and listening to the keynote addresses by eminent personalities from the mobile app industry, like Rico Wyder and Chris Jensen, was a great learning experience for us. The panel discussions threw up many interesting points of note as well. Bolly beauty Gul Panag also had a keynote at GMASA 2015, focused on mobile fitness.

Story Time bagged an award at GMASA 2015

So, what’s the big takeaway from this edition of AppBoard Tuesday? Easy enough – you can keep striving for corporate success and recognition, and simultaneously, take up the urgent responsibility of enrichening our nature. Team Teks has taken the pledge to try to fight environmental pollution hazards to the best of our abilities, and we are sure that our ‘Go Green, Help Clean’ will make a difference over time. It also gives us a scope to prove that mobile app development is not the only thing we are good at!

Okay then, that’s about that in today’s edition of AppBoard Tuesday. ABT will return next week, with an interesting app-related topic. Till then, love thy apps…and remember to go green whenever you can!

 

Working With Metal On iOS 8: Know The Basics

Metal is a high-end accelerated graphics rendering API, used by many iOS developers worldwide. On the iOS 8 platform, some of the key features and advantages of Metal have been highlighted here.

 

 

Till last year, iOS game developers had to be overly reliant on OpenGL ES – which served as a virtual linking tool between game elements and device processors/hardware. A common complaint against OpenGL ES was its heavy overhead, that tended to affect the performance of games and graphics-rich apps. Metal, a low-level graphics API (released with iOS 8) has emerged as a better alternative – particularly since it enables developers to bring their games directly in sync with hardware setups, and get the optimal performance from the Apple A7 and A8 chip processors. In what follows, we will take you through some key points related to using Metal for mobile game development on the iOS 8 platform:

 

  1. Device compatibility – For starters, the high-end mobile graphics features that Metal brings to the board cannot be enjoyed on all iDevices. Game developers can use the API only when creating applications for handsets that have the A7, or better still, the A8 processor. In other words, iPhone 5S, iPhone 6/6 Plus, iPad Mini 3 and iPad Air 2 are the devices compatible with Metal. A game that uses Metal can very well be downloaded on iPhone 5 or iPhone 5C – but since they run on older processors, the improvement in graphics won’t be discernible.
  2. Procedure of reducing overheads – How does OpenGL ES work? It reads and translates functions into graphics commands, and then sends the latter to the hardware of devices. This gives rise to two types of overhead. Firstly, there is the ‘engine-side overhead’, which occurs due to the need for the CPU to reiterate over the program objects, the required material parameters, lighting effects, and such tasks. On the other hand, there is the ‘Graphics API & Driver’ overhead. This is the part that Metal reduces significantly (it does not have much effect on the ‘engine-side’ overhead). The new API does not require any additional synchronization, handles explicit actions more efficiently, and all state-creation and validation is performed upfront. According to iPhone app development experts, this almost entirely does away with the ‘Graphics API & Driver’ component of overhead.
  3. Support on Unity – When Metal was initially announced (in September 2014), there was no mention of it being supported on the Unity game engine. The scenario changed with the release of Unity 4.6.3 – which, for the first time, offered complete Metal-rendering functionality. With the launch of the Unity 5.x versions, mobile game developers have been increasingly able to combine the features of the engine and the Metal API. The result, of course, has been better, faster, more engaging games and applications.
  4. Greater speed and responsiveness – In comparison with OpenGL ES on the A7 processor (in iOS 7 devices), Metal allows developers to render 3D games about ten times faster. This boost in the Draw Call rates (the pace at which scenes in 3D games are rendered) automatically makes Metal games much more responsive than earlier. For game developers who wish to add a touch of realism to the gameplay environments, the faster load time and the built-in support for precompiled shaders also works wonders. Users no longer have to patiently wait for games to load on their iDevices, and developers are more confident about delivering an immersive, engaging gameplay experience.
  5. Loading and compilation – As briefly touched upon earlier, presence of precompiled shaders is one of the high points of the Metal API tool. Those using Metal to create an iPhone/iPad game can load the shaders at runtime, after they have been compiled at the time of building the code. In fact, the shader codes can also be compiled at runtime. This, in turn, simplifies the entire process of generating program codes, while debugging becomes easier for app testers as well. Apple clearly had an eye on reducing the complexities of mobile game development, when it came up with Metal.
  6. Are Metal games console quality? – That would be a ‘Yes’. As long as end-users are not expecting games that are at par with the PlayStation 4 standard – the graphics of Metal games would more than satisfy them. The GPU power of iOS devices are utilized to the full by Metal, to render game graphics that are equally good as those viewable on the PS3. Over time, the quality of graphics rendering with Metal is expected to improve further.
  7. Prior programming expertise required – Before trying to code iOS games with Metal, new developers have to get an in-depth idea of the Objective-C programming language (well, without Obj-C and Swift, iOS apps cannot be developed anyway!). The shading language used in Metal is C++11 – which shares several features with C++. On the Metal framework, C++11 is used to perform all tasks related to coding for games – right from graphics addition, to computation and execution of programs on the GPU. In addition, coders should also have some relevant advance experience of working with OpenGL and OpenCL. LLVM and Clang come into play for implementing the shading language of Metal.
  8. Impact on battery performance – Metal extracts every bit of available juice from the A7/A8/A8X processors of iDevices. As a result, users who install Metal-powered games on their handsets might experience slightly worse battery life than before (the battery life of iPhones is nothing great in the first place). However, this effect is not drastic – and is often rather negligible – since Metal does away with the overheads of OpenGL ES, streamlines the gameplay, and lowers the total number of commands. Yes, the graphics level is higher, but that is offset to a large extent – thanks to the unified pixel-coding feature that Metal offers. The workload on the GPU gets lowered, which minimizes the risks of excessive battery drains.
  9. The advantage of building libraries – Professionals from leading iPhone app and game development companies opine that developers should create libraries during the process of building the application. This makes the entire development process more systematic than when the source codes of the Metal shaders are compiled at runtime. A library (in the .metallib format) can be created either by making use of available command line utilities, or directly inside the Xcode environment. Results from app performance surveys confirm that libraries indeed add to the performance and immersiveness of a Metal game/app.
  10. Cam Metal give a boost to Apple TV? – At present, it cannot. Apple has made Metal compatible only with devices that are powered by the 64-bit A7 or A8 chip processors. Apple TV – the Cupertino company’s much hyped digital media player and set-top box – got its latest refresh way back in January 2013 (version 3 Rev. A), and is still stuck with the old A5 processor. However, during the upcoming Apple WWDC 2015, Apple TV is expected to get an upgrade (it has been a long time coming) – and then, it might well be compatible with metal games. iOS game developers feel that Tim Cook is missing a trick by not bringing the console-quality games to the Apple TV platform.
  11. Metal does not enhance the performance of games only – Metal cleans up excess overheads from the CPU and GPU of the latest iDevices. As a result, the performance of any iOS application that uses these resources (like video-streaming apps or images apps) goes up by a couple of notches. Although the API is, of course, mainly focused on easing the process of game development, it adds to the speed and power of other apps as well.
  12. Handling computation and graphics together – This makes the job of iOS game developers that much easier. The same textures, buffers, command queues, and other data structure elements in Metal can be used for computing operations as well as the addition of graphic elements. All resources can be seamlessly shared across graphic shaders, the runtime interface(s) and the functions for computing. What’s more – the shading language also supports both graphics and computing. Developers need not worry about integrating other languages in the API framework.
  13. Good for the latest flagship devices – According to device analysts and mobile software developers, the CPU/GPU efficiency of Metal bolsters the general performance of the latest flagship iPhones. On any device running on iOS 8, Metal ensures that the speed of software operations gets a boost, and the device itself becomes more responsive. Common tasks, like taking pictures and listening to audio files, become more efficient too.
  14. What’s with the name? – According to Craig Federighi, senior VP at Apple Inc., the new API is geared to give app developers ‘metal access to the power of A7’ (A8 had not been unveiled at that time). This justifies the choice of name – Metal – for this new graphics API for making iOS games. The company probably also had the oft-used catchphrase of software programmers – ‘close to the metal’ – while deciding the name. Metal allows coders to get the most out of device hardware and processors, and avoid most of the third-party overheads (read: OpenGL ES), and that’s precisely what the name indicates.
  15. Other platforms have similar tools too – Metal offers more than a generous share of advantages to iOS developers – but it’s not like those working on other platforms do not have access to similar tools. The much-maligned Microsoft platform has Direct X 12, while Android Lollipop has the Android Extension Pack – which have roughly similar functional features to those of Metal. The Mantle technology on Advanced Micro Devices (AMD) also has several common features.

While SceneKit on iOS 8 is primarily aimed at amateur/casual game developers, Metal is the tool for professional-level, hardcore game development for iOS devices. It has been found that the performance of Metal games do not get affected in any way by the overheads of the Unity engine – a great news for developers working on games for multiple platforms. The enhanced graphic features of Metal were first showed off at last year’s WWDC, in a game called Zen Garden (by Epic). The first look indicated that Apple had something good on hand for game developers – and the surging popularity of Metal bears testimony to that!

Google I/O 2015: 15 Likely Highlights

The much-awaited Google I/O 2015 kicks off tomorrow at San Francisco. Scheduled to be held over two days (following a 150-minute keynote presentation), the annual Google conference will witness several interesting announcements.

 

 

The next fortnight or so promises to be mighty interesting for mobile app developers and general software enthusiasts across the globe. The two-day Google I/O 2015 starts tomorrow at the Moscone Center (West) in San Francisco – where a series of announcements and product updates are expected to be made. Close on its heels will be this year’s Apple WWDC, which would be held from 8-12 June. In today’s discussion though, we will focus on the most likely big announcements that are likely to happen during Google I/O 2015:

 

  1. A new iteration of Android Wear – Given how quickly Apple Watch has caught on among the early adopters, the Mountain View company would be eager to release a worthy competitor (or will there be multiple products?) soon. It has been more than a year since the custom Android version for the human wrist, Android Wear, was launched. Gadget analysts are expecting a word about the latest version of Moto 360, as well as a detailed session on the new features and enhancements that Google has managed to add in its Android Wear platform.
  2. First look of Android M – Yup, time travels fast. Less than seven months ago, Android app development experts were wondering whether the name of Android 5.0 would be ‘Lemon Meringue Pie’ or ‘Lollipop’. At this year’s Google I/O, its successor – codenamed Android M – would be announced. According to reports from mobile forums, Android M (i.e., Android 6.0) would be unveiled on the first day of the event, during the ‘Android For Work’ session. The key feature of the new version of Google’s mobile platform will be its enhanced support on devices used at workplaces. Given the lackluster adoption rate of Android Lollipop, all eyes would be on how Google promotes Android M. Don’t expect its name to be mentioned this early though – Google never does that!
  3. More on Virtual Reality – A short session, titled ‘Make Believe’, features in the itinerary of Google I/O 2015 – where representatives from mobile software and app companies would get first-hand experience of virtual reality – via consoles, headsets, and other gadgets. Useful tips and guidelines regarding the creation of virtual reality (VR) experiences for end-users would also be shared. Google Cardboard, released at last year’s event, has got to be one of the most underrated Google products in recent times (it is a VR-based helmet, in case you were not aware) – and it is widely expected that this year’s Google I/O will witness a greater focus on virtual reality.
  4. A possible comeback for Google Glass – While many online wearable technology forums and communities dismissed Google Glass as a flop long back, the tech giant has repeatedly said that the Glass program was ‘not dead’. It won’t be entirely surprising if the I/O is chosen as the platform where Google decides to release a new, improved version of Glass (Glass 2.0?). In order to be successful, it needs to have a more mass-appeal (read: a less geeky feel) and bear a lower price tag. Another Explorer Program might well be launched too.
  5. A foray into satellite imaging – In 2014, Google had acquired Skybox – then a little-known satellite images and analytics service provider. With the help of the latter’s technology, Google is likely to show off its very first attempt at satellite imaging at its annual conference this year. Right from disaster mapping and management, to provisions for faster, smoother internet access across the world – everything will be included from the much-anticipated Google-Skybox collaboration. All announcements and information-sharing regarding this will be made during ‘The Earth In Real Time’ session.
  6. The arrival of Android Pay – Once again, while Apple Pay is gradually catching on and Samsung Pay is being considered to be almost equally good – Google Wallet (released in 2011) has remained rather low-key. If the buzz amongst Android app development experts are anything to go by, things might well turn around with the announcement of Android Pay (as an extension of Google Wallet) at the I/O 2015 event. Google has clearly stated that Android Pay will be a mobile payment platform, and not a direct competitor of Apple Pay – but there will surely be a tussle between the two. Expect a list of retailers worldwide who have already pledged their support to Android Pay as well. Mobile payments is yet another domain of smartphone technology that is growing first, and tomorrow’s event is likely to add to this growth.
  7. Google’s take on Apple Touch ID? – The Touch ID on iPhones (the reported bugs in iOS 8.3 notwithstanding) offer greater security assurance to users. The recently released Samsung Galaxy S6 flagship has demonstrated that fingerprint sensors can indeed be seamlessly included on Android smartphones. It will only be natural if it is announced that Android M will come with such fingerprint authentication setups for all pre-installed applications (like Drive or Gmail). According to a section of Android app developers, the API of the fingerprint authentication tool would have the option of being added to any app, making the latter compatible with this security feature.
  8. Online photo-sharing and storage – Google fanboys might not admit it yet – but the ambitious Google Plus platform has fallen flat in its endeavor to become a worthy rival to the likes of Facebook. In such a scenario, the company might announce an all-new Photo Storage and Sharing (Google Photos will probably be its name) service at the I/O event. Not much is yet known about the specifications of this service – but it would be positioned as a competitor to Instagram and Flickr.
  9. News on second-generation Chromecast – The first-gen Chromecast dongle was a runaway success, and mobile app and software developers feel that Google I/O 2015 would be just the right platform to build on it. With Android TV having hit a bit of a dead end (Apple TV, with all its limitations, is still way more popular), a multi-featured Chromecast 2 can emerge as a more than decent rival of Apple AirPlay. Google will have to work on the audio features of Google Cast (the video functionality is already pretty much high-end). Support for 3D videos and 4K streaming is expected to be present in Chromecast 2. New controllers for the media streaming device would be unveiled as well.
  10. The Internet of Things – This is, arguably, the announcement that app developers and techies attending the event would be looking forward to the most. Nest, a smoke alert and thermostat service company, was bought up by Google last year – and at I/O 2015, the first hints of the collaboration between Google and Nest are likely to be revealed. There will be a separate session called ‘Working With Nest To Build A Thoughtful Home Together’, where Google will reportedly showcase Brillo – its low-powered Internet of Things (IoT) operating system. From powering common home gadgets, to adding to general security levels, Google’s IoT program will be covering everything.
  11. A word about Android Auto – The Android Auto program has long been in the works, and Google evidently has plans to make it a decent enough competitor of Apple CarPlay. Two sessions related to Android Auto – ‘Designing For Driving’ and ‘Getting Your Car On The Road With Android Auto’ have been mentioned in the Google I/O 2015 itinerary – a clear indication that the company has major announcements to make about its efforts to bring the Android experience in automobiles. We might get to know the names of the automakers which will be supporting Android Auto at the event.
  12. Granular app privacy – A recent Bloomberg report suggests that Google will be building on the user-permission requirements at the time of downloading apps from the Play Store. Professionals from the field of creating Android apps feel that Google would announce a more granular level of app privacy – which would mean people would be able to decide which device feature(s) any particular application is able to access. This, in turn, would provide a more personalized app-experience. ‘Nearby’ and ‘Voice Access’ are two other new app features that are likely to be introduced at this year’s Google event. Some time might also be set aside for a hands-on demonstration of the Designed For Families program.
  13. Revamped Hangouts and probably a new Calendar app – The acquisitions of Emu (a startup IM app) and Timeful (a unique calendar application) by Google in 2014 make this a probable announcement at the conference. Since Emu has machine learning features and comes with an AI-supported ‘assistant’, it might also enhance the features of Google Now (are the makers of Siri and Cortana listening?) as well, apart from improving Google Hangouts. In the calendar app of Google, we fully expect some new Timeful features – to enhance overall usability.
  14. Reports on Project Ara – Ever since Google’s modular smartphone program – codenamed Project Ara – has been announced, it has been in the news. At the Google I/O starting tomorrow, a session has been set aside, where hand-on demo sessions on the program would probably be held. In particular, the manner in which the different parts of an Android phone can be separately upgraded (that’s what the modular Project Ara is all about) would be showcased. There is an outside chance of select delegates being given Ara devices as well. For the time though, gadget and mobile software experts will be more than happy to get an in-depth understanding of Project Ara (which will have its full launch in August).
  15. Stable release of Polymer – Work has been going ahead at a fairly frenetic pace on Google’s very first open-source framework for desktop/mobile web app development – Polymer. The project has moved on from Version 0.5 to Version 0.9 in the last six months, and Polymer v.1.0 (a stable release) may very well happen during the annual conference. The built-in support for Material Design-based animations, component reusability and 3D user-displays make Polymer an interesting platform for app developers.

 

Yet another likely announcement at Google I/O 2015 will be related to the release of the ‘buy buttons’ for retailers (which would work with sponsored product searches and ads on mobiles). Although both Huawei and LG have been reported to be working on new Nexus handsets – chances of a flagship Nexus phone/tablet at the event are slim (Nexus 6 was unveiled a full six months after Android L was announced at last year’s Google I/O). Instead, there should be some news about Project Fi – which is geared to make Google a mobile carrier service provider. At the Advanced Technology and Projects (ATAP) session, some information about Google’s ambitious Project Tango (involving the creation of a tablet with cutting-edge spatial reception) will be shared too.

 

Sundar Pichai will be taking over at the Google I/O keynote tomorrow at 6:30 GMT – and over the course of the next few hours, we will find out how many of these likely announcements are actually made at the event.

 

What new announcements are you looking forward to at this year’s Google I/O?

AppBoard Tuesday – Save Your Android Apps From Rejection At The Play Store

From mid-March, the app approval process at the Play Store has been considerably tightened up by Google. Gone are the days when newly submitted applications were only screened by a software and showcased at the store. In a bid to improve the quality of the Android app catalog and to cut down on infringements of copyrights, Google has announced that each app would now be reviewed manually after submission. It has not exactly been surprising that many mobile app companies have reported cases of app rejections at the Play Store, from the start of April (till then, app rejection was something associated almost exclusively with the Apple App Store). Anyhow, the fact of the matter is – getting Android applications approved at the store is no longer as easy as it was earlier, and in today’s AppBoard Tuesday (ABT), we share a few tips to avoid rejection risks there:

  1. Fill up the app rating questionnaire – This is something Google has started from this month, as a replacement of the generic Google Play rating scale that used to exist earlier. Non-completion of the questionnaire increases the chances of apps being labeled ‘Unrated’ at the store, and rejection, more often than not, follows. Android app developers need to log in to their Google Play Developer Console, select their applications (new and existing), and fill up the questionnaire for each of them. The content rating questionnaire has to be completed at the time of releasing app upgrades too.
  2. Do not pose as someone else – Google terms this ‘Impersonation’ – something that mobile app companies serving multiple clients have to be very wary of. At the time of submitting apps at the Play Store, it must not, in any way seem, that a developer/company is trying to pose as someone else/some other organization. False authorization claims are also sureshot ways for your app being ousted from the Play Store. Apps must not be created with the sole intention of diverting people off to specific websites, and all accompanying material (right from the text description and title, to icons and screenshots) should provide accurate information.
  3. Be careful about app’s network usage – Taking a leaf out of Apple’s book, Android has also set standards regarding the network and bandwidth requirements of new apps. In case the app you have submitted has any sort of unfavorable effect on the network of devices, or causes the service charges to escalate, it is likely to get rejected forthwith. Experts from the field of Android app development advise new developers to get familiar with the service terms and conditions of the authorized carriers first – and then create their apps accordingly.
  4. Violence and obscenity – It is fairly clear that the new local content rating system for Android apps has been put in place primarily for parents looking to download suitable mobile apps for their kids from the Play Store. In general too, a ‘zero-tolerance’ policy towards all forms of pornography and/or titillating content in applications has been announced. Developers have to ensure that their apps do not, in any manner, hurt the sentiments of any particular race, gender, or ethnic group (e.g., the villain of a mobile game being of a certain skin color). There should not be any scope for a person to use an app to bully fellow-users either. If any form of hate speech is found in a freshly submitted app, it will never be approved by the human editorial team.
  5. Using the payment system of Google Play is mandatory – This is for Android developers who wish to submit freemium apps (i.e., free-to-download applications with digital content that can be purchased by the users from within the app). It is compulsory to use the in-app billing service of the Google Play Store for including in-app purchase features in an app. What’s more, developers must fully clarify all the charges that are applicable on the in-app purchases. Any form of misleading information can get your app rejected. The in-app purchases should not involve transaction of physical items, or any type of purchase OUTSIDE the app.
  6. Showing ads in Android apps – Advertising is a valid mobile app monetization strategy (and certainly a more popular one than going for the paid downloads option). However, mobile app developers have to be more careful than before in this regard as well. Ads that either simulate the layout of the app itself, or affects the performance of other applications (or the device the app is installed on) are strictly prohibited, as are the advertisements that seek personal information from users, so that the latter can get full access of the app. For in-app advertising as well as mobile analytics tracking, the Android advertising identifier ID (along with new APIs) was introduced in v.4.0 of Google Play services. Interstitial ads, if any, should be displayed inside the app only.
  7. Say ‘no’ to spamming – Along with duplication. Do not submit an app that has the same name as other application(s) already present in the Play Store. Create unique, user-friendly, informative descriptions for each app – instead of simply copying and pasting the descriptions of your previous applications and/or spamming the content with excessive keywords. The title, metadata and description of a newly submitted Android application should not seem to be trying to influence its a) positioning and b) rating in any way. Publication of fake reviews – unfortunately a widely prevalent practice to date (have you seen the scores of app review exchange communities on FB and Google Plus?) – has become an absolute ‘no-no’ as well. Everything about your app has to be genuine….you manipulate, your app perishes!
  8. Stay away from copyright infringements – Protecting the intellectual property rights of developers and coming down hard on copyright violations were the key reasons for revamping the app review guidelines at Google Play. Android app developers have been strictly cautioned against misusing/violating the patents, trademarks, copyrights, or any other proprietary material of other app-makers. In addition, every developer now has the right to file a DMCA request, if and when doing so is deemed necessary.
  9. Apps should not share confidential information – Unauthorized sharing of any form of personal user information – credit card details, location data, contact lists, license numbers, and the like – is prohibited by the Google Play terms of service. Any app that accesses and shares such information (for commercial purposes) without users’ knowledge and consent is likely to be banned immediately. In general, any information that is not available publicly should not be accessible to third-parties via mobile apps. With mobile payments gaining in popularity, the strong stance of Google against random information-sharing makes a lot of sense.
  10. Avoid shady marketing tactics – Another fairly common ground for Android app rejections has been the presence of misleading/deceptive information on websites – from where it is possible to directly download the app under question. Many freelance developers often resort to underhand tactics to promote their apps (getting the app downloaded on devices without asking for the user’s permission, for instance). These strategies have to be stopped as well. Apart from such unsolicited app installations, mobile app marketing campaigns through bulk SMSes are not looked upon kindly either by the Google authorities.
  11. Keep things legal – Android app development experts would be well-advised to stay away from creating betting, lottery or mobile casino apps – which involve exchange of actual currency. Also, an app should not promote or directly sell prescription drugs. During the manual app review procedure, if any spyware, malware, phishing software, or links to common viruses are detected, the application will have no chances of being approved. Android allegedly has more cases of malware attacks, and Google is clearly trying to tackle this problem.
  12. Apps must not have system-level interference – An Android app is not permitted to have any impact on the devices it is downloaded and installed on. For example, an application should not affect the performance of other apps and/or widgets in the users’ handsets. It should not change the default settings of the phone browser. App developers have been cautioned against making any apps that encourage the deletion/installation of other third-party applications. As already stated above, all advertisements also have to be at the app-level, and not at the system-level.

In case a mobile app agency flouts the Content Policy and/or the Developer Distribution Agreement of Google Play multiple times, its official developer account can be terminated. Whenever an app is rejected or removed from the store, the concerned developer is informed via email. The new app review system at Google Play Store would, hopefully, raise the quality of apps showcased there – and that’s good news for any app-lover.

 

So, that’s more or less that in this week’s edition of AppBoard Tuesday. If you are into making Android applications and have faced app rejections recently – do share with us the cause for that. If you are aware of any other probable causes for an app getting rejected at the Play Store, let us know about them too. We love to learn!

 

ABT will be back next Tuesday with a new topic related to mobile apps under the spotlight. (and yes, you can suggest topics as well). Till the next time, you know you have to love thy apps!

Why Is Making Wireframes For Mobile Apps Important?

Most developers treat the creation of wireframes as the very first step in the process of making mobile applications. In what follows, we will highlight the importance of these wireframes.

 

 

At the time of providing free app quotes, most mobile app development companies offer clients the option to share their own wireframes. Even if a client does not have a wireframe to share, developers create it on his/her behalf – before the actual coding process starts. Alternatively known as the ‘skeleton’ or ‘blueprint’, app wireframes are, in essence, low-fidelity visual representations of the overall flow of operations in a smartphone application. We will here outline the key benefits of working with wireframes while making a mobile app:

 

  1. Check the layout of the app screens – When prepared correctly, wireframes give an in-depth understanding to mobile app designers about what the overall UI and individual design layouts of each screen should be. This, in turn, helps them to chalk up custom design prototyping plans, and zero in upon the designing/animation elements that would make the app user-friendly. In a nutshell, a wireframe offers a starter’s view of the way in which the content would appear on the app screens.
  2. Understand how the app is going to work – Wireframes are often referred to as ‘outlines’ by professional Android and iPhone app developers – and not without reason. They serve as that vital link between a theoretical app idea, and the final form of the application. Carefully studying the visual sketches of the successive screens helps developers understand how an app idea is going to be deployed – and the coding is done accordingly. If a programmer has only a vague idea about the nature of mobile software (s)he would be creating, the work will never be up to the mark.
  3. Fosters teamwork and real-time communication – Barring a few exceptions (a standalone freelance app developer, maybe?), a mobile app development project is not handled by a single person. Generally, a team of developers, designers and testers work on the same app at a time – and when the relevant wireframe(s) are shared amongst them, each of them remain in the loop about how the app is being created. The communication between app developers and UI/UX designers is, in particular, vital – since problems on that count can lead to serious design errors. What’s more, wireframes also make the clients a part of the development team – since the sketches are shared with them, and feedback and suggestions are actively sought. Making a mobile app requires solid teamwork, and wireframes are necessary for that.
  4. Moving on to high-fidelity mockups become easier – As long as wireframes include all the key elements of apps, they need not be very detailed (i.e., low fidelity). However, before the final app prototype is created, developers/graphic designers as well as clients might want to view a high-level UI mockup of the application. Once the mockup is ready, the developers can collaborate with app clients to refine the application with additional features and enhancements. Displaying all proposed components of an app – right from buttons and images, to text content and hyperlinks – becomes a lot simpler on mockups, if an wireframe had been created in the first place.
  5. Facilitates understanding of in-app navigation – The wireframe of a mobile application effectively gives a pictorial representation of how end-users are going to use that app. The screen transition scheme (i.e., the ‘flow’ of the app) becomes clearer to the entire app development team working on the project. In addition, with the help of the wireframes, developers can test-run the navigation structure of their app, and make changes (if required). Experts from the field of app development emphasize on the importance of making in-app navigation intuitive, and wireframes are just the tools to ensure that.
  6. The cost advantage – Many do not realize this at first – but making the wireframe of an app has cost advantages too, both for mobile app companies as well as clients. All that it takes to create a wireframe is a pen and a piece of paper – to draw up the sketches and label the functions of the screens and the components therein. All the enhancements, changes and tweaks can be made on paper itself, before developers move on to creating the concerned iPhone/Android app. Now, compare this with the concept of starting to make the application rightaway, detecting design errors midway, and reworking the entire thing. A waste of time, and more importantly, an escalation of the overall costs.
  7. Incorporating change becomes easier – Ever felt the frustration of having the final build of an app being rejected by the client? Or finding bugs in the project, when the design is almost complete? Leading Android/iOS app development companies are wary of such problems – and working with wireframes is their preferred way to stay away from them. Wireframes are shared with clients on a continuous basis – so that when (s)he gives a feedback, that can be incorporated immediately. By the same token, since mobile app testing also happens on a real-time basis, the hassles of having to deal with bugs and malware AFTER the coding is complete do not crop up. A detailed wireframe makes the process of making apps a lot more flexible.
  8. The benefits of making multiple wireframes – As already stated above, drawing up an app wireframe is a matter of a few minutes. Mobile app developers generally create 3-4 alternative wireframes of a single application – with subtle changes. This opens up the possibility of testing the different sketches/functional flow of the app, and selecting the one which most testers (as well as, of course, the client) approves of. There needs to be tweaks in the visual hierarchy, navigation structure, name of the labels/tabs and other such differences between two or more wireframes. That would make the comparison and preliminary testing meaningful.
  9. Facilitates the inclusion of animations the right way – In a mobile app for kids, or any gaming application for that matter, animations are extremely important. While chalking up the wireframe for such an application, app developers and animators can take a call on the place(s)/screen(s) where the animations will be displayed, what should be the level of animation, and such other important decisions. Without the right kind of interactivity, an animated component can be useless – and in fact, can mess up the navigation structure of the entire app. Checking animations out on handwritten wireframes is a smarter idea.
  10. Incorporating visual branding elements – This is vital for mobile business apps. The visual branding elements (logos, pictures, taglines, hallmarks, etc.) of a company need to be consistent across their websites, print ads, e-newsletters, and mobile applications. On a wireframe, app developers can play around with the positioning of these branding elements, seek suggestions from the client, do some comparisons, and decide which design option would be the most effective for brand-building. Just like animations and other forms of app content, wireframes give app designers an idea regarding where the business branding elements should go on the app screens.
  11. Helps in meeting deadlines – This follows from the earlier points. Since the client has access to the app wireframes at every stage and can suggest changes/modifications/additions at any time – chances of rejection of the final prototype is minimal. The total number of build iterations also remain low. Most mobile app companies work on several iOS/Android projects simultaneously, and they cannot afford to spend unnecessary man-hours on a single project. In addition, making wholesale revisions after the app is complete can be a rather costly affair. An wireframe ensures that such issues are averted, and projects are completed well within the deadlines specified in the app quotes.
  12. Help in an app’s promotion – The wireframe of a mobile app is also an ideal channel to showcase the level of research and thinking that has gone behind its creation. During the app marketing campaign through online social media forums, a few of the initial wireframes can be shared with prospective users – to highlight the redesigning that had taken place from the initial build to the app in its final form. Instead of a detailed text description, a series of wireframes can nicely showcase the evolution of an idea into an app. They double up as powerful marketing and information-sharing tools.

A detailed wireframe allows developers to check out the proposed design layouts of an app from all perspectives. As a result, spotting potential problematic areas becomes a lot simpler – than what it would have been if the testing was done only after the completion of the app. Clients too view wireframes as the medium via which they can send along suggestions for changes (“Can you make that header tab slightly bigger, please?”) – and generally stay informed about how their app is being created. App wireframes are hardly ever very professional-looking (after all, they are hand sketches), but they can make the task of making a mobile app simpler and more systematic indeed.

iOS 9: 16 New Features & Improvements We Would Like To See

Will iOS 9 be announced this June, at the Apple WWDC event? Will we have to wait a few more weeks for the official announcement? We will soon know the answers – and in the meanwhile, here’s a wishlist of the improvements and new features that the upcoming version of the Apple mobile platform should have.

 

It has been nearly a couple of weeks since Apple seeded the 3rd beta of iOS 8.4 to developers. Rumors are rife regarding when it would finally be launched – with many mobile software and app developers predicting a late-June release (i.e., a week or two after WWDC 2015). It would be the final iteration of the iOS 8 platform before the Cupertino tech giant announces the already eagerly-anticipated iOS 9 update. Here are some likely (and some not-so-likely) features that iOS 9 will come with:

 

  1. An improved Siri – As many as 24 dictation languages were added to Apple’s much-loved virtual mobile assistant in iOS 8. However, it still does not provide an intuitive experience to end-users (something that Siri’s main rival, Google Now, does). On the new version of the platform, it would be great if Apple lets Siri interact with other pre-installed iPhone applications, as well as ‘remember’ the previous questions that it had been asked. At present Siri is little more than a ‘I-ask-you-answer’ app, and Apple needs to make it smarter.
  2. Improvements in Apple Maps – This has really been a long time coming. iPhone app developers do agree that Maps have come a long way since the shoddy iOS 6-days, but even so, it is far behind in terms of accuracy and overall usefulness than Google Maps. With iPhone 6 having a built-in altitude barometer, it would only make sense if Apple includes indoor map functionality in the Maps app. In addition, presence of a reliable public transportation/navigation feature would be nice.
  3. Split-screen multitasking – With iOS 9 rumored to be available for the latest iPad, iPad Mini and iPad Air models, split screens for multitasking would be a great addition. Users will be able to work on multiple iPad apps simultaneously, instead of having to close one (letting it run in the background would drain the battery) before launching another. Since the new flagship iPhones have larger screens (will iPhone 6S be larger than iPhone 6?), the option of using multiple screens would be handy for smartphone-users too.
  4. Guest Mode & Night Mode – Android Lollipop has the Guest Mode feature, and the upcoming iOS version should have it too. This will ease security concerns of users, when someone else requests to use their iDevices. Presence of a Guest Mode would be useful for parents who let their little ones use iPhone apps for kids (the children can log in as ‘Guest’). A Night Mode option, which will enable people to make their iPhone screens relatively less bright, would be an interesting addition as well. It’s all about making mobile platforms customizable – and iOS 9 should build on the work Apple started with its predecessor.
  5. Opening NFC technology to developers – All the devices that iOS 9 will be downloadable on – iPhone 6/6 Plus, Apple Watch, the iPhone 6S (which should be the handset iOS 9 debuts on) – will have NFC (near-field communications support). iPhone app developers would simply love to have access to this technology – and create apps that use NFC to provide better, secure and more personalized services (primarily, mobile payments) to users. The overall NFC-usage rates should also witness a spike if this happens.
  6. More organized ‘Settings’ Menu – A common complaint among iPhone users as well as professionals from mobile app companies is that the ‘Settings’ menu of iOS devices can become rather cluttered over time. Searching for something (say, an app or a music file) can be tricky, particularly if the user does not know where it is located/saved. The ‘Settings’ in OS X systems has a dedicated search box, which does away with such potential problems. It’s high time Apple brought that similar smart, organized feel to the ‘Settings’ of its mobile platform.
  7. More usable third-party keyboard apps – iOS developers and users alike jumped at the news that Apple was finally allowing the installation of third-party keyboard apps from the App Store – on iOS 8 devices. However, the usability and performance of these keyboards have left much to be desired. As of now, external keyboards cannot be integrated with the dictation functionalities of Siri. Neither can they access the auto-correct dictionary of the devices, or display menus to move over to another keyboard. People who have upgraded their handsets to iOS 8.3 have reported a ‘keyboard bug’ as well. iOS 9 would, hopefully, make external keyboard applications more usable, reliable and actually worth it. They have a gimmicky feel at present.
  8. No storage space crunch, please! – When Apple hyped up iOS 8 as the ‘biggest iOS release’, few had imagined that the bigness would be most evident in terms of its memory requirements. Over 23% of the default storage space of devices was taken up by the initial iOS 8 release (Apple ended up facing a Class Action lawsuit for this) – something that the disastrous iOS 8.1.3 upgrade failed to fix. We can only hope that iOS 9 would not pose similar problems, and users will not have to delete content (apps, games, music, etc.) to free up space before installing the new version of the platform. And while we are at it, can Apple please give people the option to hide some of the pre-installed apps? Many of them are hardly ever used, but are still present on the home screen.
  9. A boost for iTunes – Of late, both the content as well as the features of iTunes have come under a bit of flak. The new 12.1.2 update has not been universally well-received either. Since iOS 8.4 will already have a focus on music-playing features (the effects of the Apple-Beats deal will finally show), mobile app development experts are expecting the iTunes store to get more user-friendly too, with the release of iOS 9. Qualitatively as well, the iPhone music apps should become better. Apple might well spring a surprise on us all by including an AM/FM Radio application in the upcoming platform release. That would be nice!
  10. Wallpapers with animations – Apple Watch has loads of animated wallpapers and ‘faces’ – and Tim Cook and his team should seriously think about making the iPhone screens similarly engaging. At present, the wallpaper animation options on the Apple smartphones are, at best, limited. A wider range of animations will lend a more personalized, interactive feel to the phone wallpapers – something that iOS device-users have long been craving for. A few additional themes and a more streamlined layout of the home screen won’t be out of place either.
  11. Third-party access to Siri API – For professional iPhone app developers, the inability to access the APIs of Siri – which arrived way back with iOS 5 – has been rather frustrating. However, Apple has been showing signs of opening up its ecosystem (iOS 8 was indeed a big step in that direction), and it won’t be a big surprise if third-party developers finally get to include Siri-functionalities in their apps for iOS 9 devices. The virtual assistant would become more useful, and the iOS developer ecosystem would become that much stronger.
  12. Option to listen to audio without watching visuals – If you want to listen to the music of a video file (yep, only listen)…sorry, you can’t do that on iPhones, at least till now. The corresponding video file also has to be played (the best you can do is keep it in the background) – and that tends to cause unnecessary battery drain. On iOS 9, we would like to see Apple giving users the option to listen to audio files without HAVING to watch the video as well. It’s all about giving more options to people.
  13. More customized Control Center – One of the high points of the iOS 7 release was the Control Center. Simple swipe gestures are required to perform a whole lot of tasks – right from launching the flashlight and starting music, to adjusting the screen brightness of handsets. On iOS 9, Apple has the opportunity to make Control Center even more useful. There are way too many control tabs and buttons in the Settings app, and it would be convenient for users if they could decide which ones among them they would like to have in the Control Center (i.e., dropped off there). Things would become less confusing.
  14. Passcode protection for all apps – Most iPhone app developers do not bother adding passcode screens and/or Touch ID support in their applications (unfortunately, this is true even for mobile finance apps). This, in turn, leads to security threats – whenever a user lends his/her phone to another person for use. While it is not that likely to happen, there is an outside chance of iOS 9 providing Passcode Lock option for every individual app. Anyone who does know the unique PIN number of your apps will not be able to use them. This, along with the Guest Mode (if it indeed arrives), would make Apple devices more secure.
  15. A Battery Saver Mode – This won’t dramatically increase the battery life of iPhones and iPads – but at least people would be able to monitor the battery consumption of each app, and delete any application(s) that is sucking up too much of battery. The Battery Saver Mode would also allow them to get just that extra bit of battery juice that is so often required (for instance, making that one call to home, to inform that you will be late). Android 5.0 Lollipop already has a Battery Saver Mode, and Apple iOS 9 should have it too.
  16. More stable widgets and extensions – Handling high-memory tasks with extensions is often problematic on iPhone 6/6 Plus as well as iPad Air 2. The frequency of screen freezes and crashes is disturbingly high (the overall crash rate of iOS 8 is slightly higher than that of iOS 7, and disturbingly, a touch higher than the crash rate of the otherwise poorly-adopted Android Lollipop too). Apple has already announced that the iOS 9 platform would be more focused on adding stability and fixing performance issues (instead of focusing on new features) – and making the widgets & extensions more efficient surely features in the company’s plans.

In addition to the above, iPhone app development experts are expecting that iOS 9 would bring landscape view support for iPhone 6 (a la iPhone 6 Plus). To bolster the security factor, there should be an option for users to merge several Apple IDs into a single ID (for all types of transactions). It is not yet certain what the backward compatibility of iOS 9 would be (the lackluster iPhone 5C might be phased out) – however, Apple needs to keep an eye on the speed of the new platform on the older devices. iOS 9 (which bears the codename ‘Monarch’) might even be announced during this year’s WWDC – and all eyes will be on the new improvements, bug fixes, stability quotient and performance level of the platform. iPhone 6S and iPhone 7 are both rumored to release in 2015, and iOS 9 would probably debut on these two new devices.

 

How many of these features do you expect to see in iOS 9?