Monthly Archives: April 2015

AppBoard Tuesday – How To Make Your App Successful?

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

For professional app developers, nothing can be as exhilarating as the news of their mobile applications getting rave reviews, generating high downloads, and earning a fair bit of money. Unfortunately, for most app companies around the world, this remains a pipe dream. We took a look at the app store stats last week, and found that over 80% of the available apps had a total download count of less than 1000 (with many having double-digit download counts too). Add to that the large number of apps that are downloaded and installed on devices, but are not used more than once or twice by users – and it becomes apparent that most apps are unsuccessful, and they end up causing losses for their respective makers. In this week’s AppBoard Tuesday (ABT), we will discuss some pointers that can help mobile app companies stay out of this rut:

  1. Make apps discoverable – People come to the online app stores (iTunes or Google Play Store), search for the type(s) of apps they are looking for, browse through the results, and select one from them. The entire process takes less than three minutes. The trick lies in ensuring that your apps also show up in the customers’ search results. At the time of submission, write out a detailed description of your app. Think up a set of keywords that are likely to feature in people’s searches, and include them in the description (do not spam though). For instance, if you have made a kids’ app, specify whether it is a ‘mobile game’, or a ‘mobile educational app’, or something else. For apps that are downloadable across the world, you should also have translated versions of the app descriptions ready.
  2. Add value via apps – There should always be a reason why people should download your application. If an app simply displays information that is already available on mobile-friendly websites, most people will not feel motivated enough to download it. You need to zero in on a unique value proposition for your app (might be entertainment, might be image-editing, might be digital reading, or anything else), and highlight that to prospective end-users. Start doing this before your app is launched. Building curiosity among customers is important.
  3. Pay attention to privacy features – The domain of mobile app development has evolved tremendously over the last half a decade – and with that has grown the concern about app security and privacy assurance. With mobile payments and personal budget tracking becoming increasingly popular, it is only natural that people would look for apps that rule out unauthorized personal data access in any way. Include an additional screen in your app, where all the ‘terms and conditions’ and ‘privacy policy clauses’ would be stated. Unless a person is convinced about your app’s security features, (s)he will never download it.
  4. Get extensive press coverage – Okay, this bit is slightly difficult for startup mobile app companies, at least. The leading app review sites pick up and feature apps randomly from the store – and do not generally entertain requests from smaller firms. There is no reason to despair though – since there are plenty of free press release distribution sites, where you can publish news, updates and interesting tidbits about your apps. You should also submit your app for evaluation at select free app review sites. Don’t lose sight of the app review exchange groups and communities on Facebook and Google Plus. As the buzz about your app will grow, the bigger, high-traffic sites might just feature your app. That’s what you are after.
  5. Prepare customized tutorial videos for each app – You wish to give as much information about apps to the potential customers – and videos are one of the best ways to do it. Right from the downloading and installation procedure, to the controls, features and in-app navigation feature – highlight everything in the video (make sure that the recording is of decent quality). Upload the video on popular channels like YouTube and G+, and share its link on your other social media channels. Explain the user-permissions that your app would seek (for instance, phonebook information), and be forthright about the app monetization strategy implemented. The less doubts people have about an app, the more likely it is that they will check it out.
  6. Manage notifications to bolster engagement – The average interaction time between a user and a mobile app is low. An effective way in which you can keep people hooked on to your app is by including regular push notification options in the application. The notifications can be related to text messages, special offers (for business/retail apps), images, or simply social sharing prompts. One thing though – users should be able to deactivate the notifications, if they so wish. Not everyone likes to hear a ‘beep’ in their smartphones after every 15 minutes!
  7. Simplicity works, complexity doesn’t – First-time game developers often rack their brains about making that ‘perfect’ mobile game, with a host of characters, loads of features, and high-end gameplay. They should not bother taking the trouble, for a complex mobile application is not likely to find favor among customers anyway. Irrespective of the genre of your app, it should have simple UI/UX layouts, a seamless background, and user-friendly controls. Provide an instructions screen to guide the users. People neither have the time, nor the patience, to spend time ‘learning’ how an elaborate app works.
  8. Build urgency – This is a relatively underused, but really effective, strategy to boost the downloads of a new app. For a limited period of time (say, a week or ten days), offer your app at a discount (assuming that yours is a paid app). Keep informing people that this discount period is running out. If you have launched a freemium app, launch reward campaigns, which gives tokens/points/discounts on every in-app purchase done within a specified deadline. This will build user-engagement. The points or gifts you offer should be easily redeemable.
  9. Keep an eye on analytics data – Resources like Countly and Flurry Analytics help mobile app developers to keep track of how their apps are being used – right from installation and activation, to deletion (well, if that happens). You can also create multiple trigger points within the same application – which would help you in performing A/B tests between two or more versions of the app. Note the percentage of users who are activating the push notifications for your app. If this figure is too low, you might have to rethink the notification generation strategy.
  10. Initiate a Cost-Per-Install (CPI) campaign – If availability of funds is not a big issue, iPhone app developers can launch a CPI campaign  for a limited time-period. Every time a new app gets downloaded, some amount of money has to be paid by the registered developer. In exchange, the chances of that particular app getting featured in the top-50 list at the store get enhanced. The CPI campaigns are, in essence, a method of investing money to boost the visibility of your app at the stores. They can be really beneficial.
  11. Make everything shareable – The importance of real-time social media integration in mobile applications can hardly be overemphasized. According to experts from top mobile app companies, social media sharing features are great for bolstering user-engagement, and ultimately, building up a mobile community (think: a large group of users discussing about data generated from your app). Make sure that users can share stuff directly from the app to their personal FB, Twitter, LinkedIn or Google Plus profiles. A mistake is to be avoided here – do not make Facebook as the only login option for your app. There are people who are not on Facebook, and they are not going to open an account only for using a mobile app.
  12. Use HQ, detailed screenshots – At the Apple iTunes store, you have the opportunity of uploading as many as 5 screenshots of your iPhone app. Each screen you choose should display a specific, important feature of the app (ideally, the registration/login screen should be included). If possible, a couple of lines of text should be present on each screen too – explaining the functions of the latter. For Android apps, you will need good-quality app screenshots, and an optimized cover image (most developers overlook this). The first impression of an app needs to be a good one.

For those who have started out with making apps for Apple Watch, remember that the first wave of third-party WatchKit applications has not been anything great – and there is a real opportunity to make customized, user-friendly apps for the smartwatch. Testing mobile apps thoroughly before store submission is vital, as is releasing regular updates (which, of course, have to be free). Provided that the core content of your app is indeed of value, the above tips can help in bolstering the chances of its success. You don’t want to work hard on creating a mobile app, and then have it lying at a corner at the app stores with negligible downloads, right?

 

That’s about that then, as far as this edition of AppBoard Tuesday is concerned. A bit of news from the Teks-front before we sign off – we are at the final stages of making two new apps: Property Match (a mobile property locator in England) and Fish-O (an iOS discount coupon app). If all goes well, they should be at the App Store within a few days.

 

AppBoard Tuesday will return next week with some other interesting topic related to mobile apps. Till next Tuesday then, take care…and love thy apps!

First Impressions Of Apple Watch: 15 Points Of Note

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

Apple Watch, arguably the most talked about smart device in recent times, started shipping from last Friday. We have here done a round-up of the opinions of users on some of the features of this eagerly anticipated smartwatch.

 

 

The biggest tech gadget release of the year is already upon us. Apple Watch, which had been in the news ever since the September 9 event last year, started shipping last Friday. The rollout wasn’t the smoothest – but many of those who had pre-ordered the smartwatch on April 10 managed to get it over the weekend. The first set of user-reviews are also out, from which we can highlight the following points about the much-hyped Apple Watch:

 

  1. A visual delight – Tim Cook’ ‘most personal device’ was constantly being promoted as a fashionable piece of wearable technology, and Apple Watch definitely lives up to that billing. Early adopters have been delighted with the large number of Watch faces – with some of the animated faces coming in for particular praise. The cool emojis add to the visual charm of the smartwatch. The Cupertino company has clearly not held back while designing Watch and customizing its features.
  2. Smooth notification system – Unlike many of the smartwatches churned out by other vendors, Apple Watch has a user-friendly notification system. The dial does not become all aglow every time a notification arrives – and users are alerted via a very light vibration (more like someone is giving a light tap on your wrist) via the ‘Taptic Engine’. Also, the Watch face lights up ONLY WHEN wearers lift up their hands to view the notification. People have the option to turn off notifications for apps that they rarely use. This has to be done on the paired iPhone.
  3. ‘Scratchgate’ is nothing – There has been a minor concern brewing among users and software & app developers alike, about the so-called ‘scratchgate’ controversy. The stainless steel model of Watch was supposedly getting scratched too easily. What is not being taken into account is that, stainless steel products are naturally prone to getting scratched (think about the iPod Classic, and you will get the picture). Rubbing off the scratch(es) with the fingers, or removing them with a good-quality metal polish is easy enough. Just as ‘bendgate’ was not a defect of iPhone 6 Plus, ‘scratchgate’ is not a Watch problem.
  4. Probable extra pressure on the iPhone battery – Most early users have tweeted that Apple Watch tends to bring down the battery life of the paired iPhone by a couple of hours or more (there have been a few polar opposite reports though). The built-in Watch companion app is the most likely reason for this battery drain. Experts from the field of iOS software and app development feel that force-quitting the Companion app might serve as a solution to this problem.
  5. Availability of apps – The success (or otherwise) of any smart device hinges on the availability of compatible apps for it – and Apple Watch won’t be facing any issues in this regard. In addition to the range of embedded applications, around 3100 apps for Watch are already available for download at the App Store. WatchKit app developers started working in full swing within days after Apple released the WatchKit tool (on November 18). The store display of Watch applications is round, and users can get previews of how every app would look on the Watch screen and the (much) larger screen of iPhone.
  6. Water-resistance and sensor accuracy – According to a 9to5mac report, the water-resistance rating of the new Apple smartwatch has been tested by putting it under 3 ft. of water – in a simulated environment. It has been found that the device does not lose any of its functionality till that level. The sensors of Watch have also been put through rigorous step tracking and heart-rate tracking tests. The results have been impressively accurate. The smartwatch certainly does not come up short on the technology front.
  7. Speed – Let’s just say that Apple Watch is not as fast as general users and most iPhone app developers had expected. Even though much had been documented about the fast ‘Glances’ of Watch prior to its release, reports have been coming in that the smartwatch takes its own sweet time to load apps from its paired iPhone. Users are being forced to stare at the Watch screen for several seconds for relatively simple tasks – and they are not liking it.
  8. Battery-saving darkness – This works for some users, and does not for some. There have been mixed reports about the battery-saving feature of Apple Watch – due to which the Watch screen remains dark until a user flicks up his/her wrist to view it. The fitness tracker, heart rate monitor and other apps remain active in the background though. There have been cases when the Watch has been rather laggy in ‘coming back to life’. Most of the time, the smartwatch simply doubles up as a classy piece of dark-faced fashion accessory.
  9. Battery performance – Let’s now talk a bit about the factor that reportedly delayed the release of Apple Watch in the first place. Tech enthusiasts, app developers and general users have confirmed that the battery of Watch lasts a full day (with moderate use). There is a bone of concern though – recharging is a surprisingly time-consuming task. It seems that there is still some work to be done to iron out all the battery-related issues of the smartwatch.
  10. Passcode – Yet another thing about Apple Watch that has irked the majority of early buyers is the requirement to type in the Passcode, each and every time the smartwatch ‘comes to life’ (i.e., lights up). A single sign-in process off the wrist would have been more convenient, instead of having to enter the passcode repeatedly. Imagine yourself showing off your brand new Apple Watch to your buddies, and signing in with the Passcode time after time.
  11. It takes some time to get familiar with Watch – Nothing wrong with that. It is, after all, a high-end wearable tech gadget with a host of features, apps, and supported taps, swipes and other gestures. The good thing is, once you have got a hang of the built-in controls of the device, it is pretty much easy to operate. The key here is not to think of Apple Watch as a downsized version of iPhone. It is an entirely separate gadget (yes, it complements the iPhone, but that’s about it) – and like any new tech tool, you need to spend some time getting acquainted with it.
  12. Durability – The cheapest model of Apple Watch is priced at $549, with the upper end of the pricing spectrum being $1099. It is only natural that users would expect high-end durability in exchange of such price tags. The Watch does not disappoint in this regard, with the sapphire screen of the basic Apple Watch model proving to be the toughest (it has survived a 9-rated pick test). The Apple Watch Sport is only a tick behind, in terms of durability (topaz level). Not enough reports have been obtained about the toughness of Apple Watch Gold Edition yet – but it should also be a tough model. Add to that the fact that users would hardly ever put Apple Watch to rough use, and the gadget should last for a long time.
  13. Screen navigation – Good enough, but not as good as that of iPhone 6 or iPhone 6 Plus. Professional software analysts and experts from mobile app companies have opined that navigation on Apple Watch cannot possibly be as intuitive as it is on iPhones – simply due to the smaller screen size of the former. There are a clutch of apps, gestures, taps and icons arranged on the Watch face, and users have to be careful while tapping about on the screen. Oh, and if you have rather fat fingers, the Apple Watch might not seem that user-friendly!
  14. Navigation support – Most early adopters of Apple Watch have expressed their satisfaction with the navigation support that Apple Watch provides. The turn-by-turn directions come in particularly handy while driving. There have been some complaints of the notification taps being a source of distraction while the wearer is driving, however. An easy way out is to disable all the unnecessary notifications at the time.
  15. Texting on Apple Watch – This is, till now, the most positively reviewed feature of the Apple’s ambitious new smartwatch. Using ‘Glances’ to view messages instead of having to take out and unlock the iPhone is way more convenient – and there are plenty of canned responses present in Apple Watch, which can be sent along as replies. The Messages app can also be used to send emojis with text.

The appearance and the seamless notification features are two highs of Apple Watch. The number of Watch apps present at the App Store is likely to swell pretty soon – thanks to mobile companies worldwide focusing on WatchKit app development. On the downside, the battery life (while good enough on its own) does not compare favorably with that of Pebble smartwatches and some of the offerings from Samsung. However, we also need to factor in the fact that the very first editions of high-end tech gadgets are seldom perfect. Apple is venturing into the domain of wearable technology for the very first time, and the Cupertino giant will surely be working on making Watch an even better device over time.

 

All things considered, Apple Watch is, by far, the best smartwatch currently available. The abundance of built-in and third-party WatchKit apps is an important factor in its favor. However, many customers are still facing long lead times (confirmed by Apple), and they won’t be able to lay their hands on the smartwatch till mid-May. The initial feedback on Apple Watch has been positive…but Tim Cook has to wait for some more time to find out whether he indeed has a winner on his hand. Or his wrist!

Be Wary Of These 14 App Development Mistakes!

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

Mobile app development is not necessarily as straightforward as it is often made out to be. New developers, in particular, often end up making mistakes – which doom their apps. The following discussion lists some common errors in app-making that you have to steer clear of.

 

Good-looking mobile apps that do not have any specific purpose have hardly any chance of being successful. However, including a glutton of high-end features and functionality does not guarantee the success of an application either. The trick lies in understanding the requirements of the target audience, and customizing the features of apps accordingly. Due importance also has to be given to ensuring that an app is uniformly user-friendly as well. Today, we will take a look at some common app development mistakes that developers need to avoid:

 

  1. Not having a proper work plan – Making a mobile application should involve detailed planning. Prior to even a single line of coding, sit down with your team of developers, and prepare a flowmap/flowchart/blueprint of how the work would proceed on any particular project. Break down the overall development process in different milestones, and draw up rough wireframes and mockups. Developers need to have an idea about what they are doing and how they are doing it. Writing line after line of code aimlessly is a waste of time.
  2. Not realizing the difference between native app and mobile web – Contrary to what many people still believe, an app is NOT a mini mobile version of a website. Developers need not be concerned about porting each and every functionality of a web portal into its corresponding iPhone or Android application. Instead, the focus needs to be on creating an intuitive, immersive UI, and addressing the needs that a user might face while on the move. With the spiralling popularity of responsive websites, the differences between mobile web and mobile apps have decreased – but the two are still far from being the same.
  3. Bulking up an app at the first go – For a new iOS application in particular, its very important to test the waters first. Many startup mobile app companies make the folly of trying to include as many features as possible in the very first iteration of an application, before launching it. This a) delays the release of the app, giving competitors the window to move ahead, and b) assumes that the app will be accepted by users. It is way more advisable to create a Minimum Viable Product (MVP) with a few core features, launch it at the App Store, and seek feedback on it (call it Version 1.0 or something). If there is sufficient user-interest, you can always release an upgraded version with more features later.
  4. Not investing enough time for research – The year is 2015, the combined app count at iTunes and Google Play Store has gone past 3 million, and if your application does not stand out in the crowd – expect no one to actually look out for it. Sadly, most app development companies are in a tearing hurry to finish off projects – and do not bother to research the probable deployment methods, the set of features to be implemented, and the products of competitors. Surveys and user-oriented studies can also reveal powerful hints about the type of app designing and navigation that is likely to be successful. If you do not put much thought behind an app, it won’t work. Simple as that.
  5. Not caring about app analytics – Being happy with high initial download figures of an app is, in essence, myopic. What actually matters is the long-run success of the application – and for that, tracking its analytics data (user-location, behavior pattern, app version being used, devices and operating systems, etc.) is vital. With the help of these data, you can customize new versions of an existing app, which would actually deliver more value to the end-users. Creating mobile apps is not a one-shot game – and you should never take your eyes off the app analytics data. Constant improvement matters!
  6. Not making simple UIs – The creative team in any mobile app company – graphic artists, UI/UX designers and animators – need to remember one rule of thumb: what appears ‘simple’ to them need not be the same for the general, random app user. What’s more, the UI of an app should be in keeping with the latter’s genre. For example, the appearance of a mobile app for kids has to be completely different from, say, that of a personal fitness tracker app. Make sure that the app layout you prepare is indeed easy for every type of user. The average interaction time with mobile apps is low – and no one is going to ‘learn’ how your application works.
  7. Neglecting the opportunity of brand-building – If you are making a mobile business app, be very aware of this common folly. Apps are powerful ways to expand the reach of a brand, and bolster the overall brand-presence of any particular business. For that, all the visual marketing elements – icons, taglines, main color themes, typography, images – present on its website and print/online ads have to be present in the app as well. The brand personality should be uniform across the board. Do not make the mistake to trying to be too innovative, while creating the app for an established business.
  8. Using bitmaps and poor display resolutions – At a time when all the buzz is about the crystal-clear Retina HD screens of iPhone 6 and iPhone 6 Plus, staying backdated is simply not an option for app designers. Leading mobile app entrepreneurs advise making hi-res versions of new applications (if required, they can always be scaled down). Indie designers often do not use vector graphics – which is yet another mistake. Finally, since bitmaps are not scalable and not visually brilliant, they are better left unused.
  9. Not selecting the correct monetization strategy – You will be hard-pressed to find a single app developer (freelance or full-time), who does not want his/her apps to be big money-earners. The inability to pick a suitable app monetization strategy often puts a spanner in their works though. Broadly, there are four different monetization models: making a freemium app, opting for paid downloads, displaying ads in the app, and providing subscription options. Depending on the type of your app, you need to decide the best strategy for it. Mobile games and reading apps, for example, have additional digital content available as in-app purchases. Monitor how the desired ‘conversion’ (ad clicks, subscriptions, etc.) are taking place. Do not, however, include fees on app upgrades. App quotes also need to be free.
  10. Not testing the app thoroughlyProgrammers cannot be designers, designers cannot be beta testers, and testers cannot be developers. Each of the three are separate, and equally important, cogs in churning out an user-friendly mobile app. Before submitting an app at the store, make sure it has been tested by qualified software testers – on simulators, on the cloud, and on actual devices. A buggy, complicated app would invariably generate a flurry of negative reviews (iTunes would probably reject it rightaway) – and that will hurt the app in particular, and your company in general. Make sure that the app’s performance is uniformly good, in all network environments, and on all targeted devices.
  11. Not using efficient APIs – Application Programming Interfaces, or APIs, are the life and soul of any good mobile application. Developers can now make use of over 5000 new APIs on the Android 5.0 Lollipop platform, while iOS 8 has more than 4000 new APIs too. These resources have to be utilized in a manner that ensures quick and easy data access for an app, without any adverse effect on the devices it is installed on (e.g., excess battery drain, or slow navigation). Mobile apps need data to remain functional, and optimal use of APIs is an absolute must for developers.
  12. The platform to start with – This is less of a mistake, than a source of confusion for first-time app makers. The monetary lure of iOS apps is undeniable, while Android takes the cake (with the cherry and the icing on top!) in terms of worldwide market share. The best option for new developers would be to create and launch a MVP on the iOS platform first. After judging the response to it, work can start on its Android version as well. Going for cross-platform app development at the very first go can be too expensive and time-consuming.
  13. Not giving enough importance to user-experience – The most advanced, feature-rich apps can flop, if they fail on the user-experience front. Researches show that 1 out of 4 apps are are used ONLY ONCE after installation, while 49% applications are used less than ten times, by average smartphone-users. This clearly indicates that there are a lot of apps out there which do not quite manage to engage users. There has to be a ‘wow’ factor about your applications, which would get people hooked. Put yourself in the shoes of a general user, and jot down the features/controls you would like in an app. Develop accordingly.
  14. Trying to serve too many purposes with one app – Throughout this discussion, we have used the terms ‘app’ and ‘application’ interchangeably. It’s now time to point out the subtle, yet critical, difference between the two. Standard applications refer to multi-purpose software that are created for the World Wide Web (web applications, anyone?), while an app is a small piece of mobile software that has a single core purpose (maybe reading, maybe shopping, maybe fitness tracking, maybe navigation support, etc.). Make sure that your app serves its main purpose well. It does not need to have too many features, like an application. Users should be aware of the ‘purpose’ of an app – confusing them is never a good idea.

To maintain high service standards, mobile app development companies need to continually evolve with time. Apple Watch releases today, and developers need to be familiar with the process of making WatchKit apps. With wearable technology being hailed as the ‘future of mobile tech’, thinking beyond smartphones and tablets is important. Proper mobile app marketing is essential too – people cannot check out your app if they are not aware of its existence.

 

Making mobile apps is, without a doubt, a challenging profession. However, if you steer clear of the above pitfalls and constantly update yourself, success can be waiting for you around the corner!

 

SceneKit On iOS 8: Know The Basics

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

SceneKit has emerged as a strong and more user-friendly alternative to OpenGL, for 3D graphics rendering and visually customizing mobile games. This Apple tool was initially available only on the OS X platform, and was made available on iOS 8 in 2014.

 

Apple had first brought SceneKit – a powerful, multi-featured 3D graphics API tool – way back in 2012, for Mac OS X 10.8. Last year, SceneKit was introduced on the iOS 8 platform, much to the delight of mobile game developers. Thanks to the tool, developers no longer have to rely on the complex OpenGL system, to create immersive layouts and graphic content. The broad similarities between SceneKit and the Cocoa framework have also contributed to the former’s rising popularity as an efficient 3D rendering tool. We will here be discussing upon some pertinent factors related to SceneKit on iOS 8:

 

  1. Compatibility with other frameworks – SceneKit can be used by app and game developers in collaboration with other popular Apple frameworks, right from SpriteKit, to Core Image and Core Animation. This feature, in fact, makes it very easy for those experienced in working with Cocoa and/or Cocoa Touch to learn up SceneKit and start using it to create high-quality visualizations and layouts.
  2. Method of creating and managing Scenes – Xcode 6 comes with an in-built game project template, in place of the OpenGL Game template present in its previous version. To create a custom game scene, iOS game development experts have to create ‘Nodes’ first (after, of course, launching SceneKit and the template), and then, arrange them in a three-dimensional environment. Child nodes can be defined in relation to their respective parent nodes. Surface rendering is done by adding the available geometrics of the tool, and while configuring, the color and the texture can also be tweaked. Need more illumination in a Scene? All that you have to do is include a light to any of the nodes.
  3. Starting out with SceneKit – Okay, now that you have an idea of how SceneKit works in theory, let’s actually start off with the tool. After creating a new project in Xcode 6 (get the latest version), click on iOS → Application → Game and hit ‘Next’. A box would appear, prompting you to enter the Product Name, Language and Game Technology respectively. Choose ‘Swift’ and ‘SceneKit’ for the second and third fields respectively. That’s it, you are now ready to add attributes and proceed with your game.
  4. Animation support – SceneKit has the potential to become an absolute delight for professional/indie game animators. Once again, the familiarity with the Cocoa Touch framework is a factor (although the quality of SceneKit animations is way better). The API for action animation in SpriteKit is available in SceneKit too, enabling coders to create animation sequences and loops. For animating an object property, a CAAnimation method has to be declared for the target key path (for instance, pos1.x). Inside the SCNTransaction, the value between ‘begin’ and ‘commit’ can be altered as well. It won’t be far off to say, what SpriteKit is for 2D animation, SceneKit is for 3D animation.
  5. Available attributes in SceneKit – Game developers who have worked with SpriteKit would know how subclasses have to be used to render game elements on the device screens. In SceneKit, attributes have to be worked with for the same purpose. There are three key attributes of the 3D graphics tool: SCNCamera (for overlaying a camera on a node for rendering a scene, just like using the pointOfView property), SCN Geometry (for creation of geometrical shapes and figures, for personalizing the game surface), and SCNLight (with four types of light options, for ambient, directional, omnidirectional and spot lights). These attributes have to be attached to the Nodes, for rendering. Note that nothing can be rendered only by the Nodes.
  6. Managing the node hierarchy – In order to avoid confusions, SceneKit on iOS 8 and OS X 10.10 has separate methods that can be used. Scale, position and rotation are the three main features of any node in this tool – and their hierarchy is managed by using insertChildNode(_:atIndex: ), addChildNode(_:) and removefromParentNode(). All the child node hierarchies are managed relative to their respective parent nodes.
  7. Creating a dummy Scene – How about actually trying our hands at creating a Scene with SceneKit now? Create a blank SCNScene (which has root node features), and define any geometry instance inside it (SCNSphere for a sphere, SCNBox for a box, and so on). Make sure to attach these instances to SCNNode, and the latter is properly attached to the root node of the project. Next up, attach the Scene you have just made to sceneView, type sceneSetup(), and build and run. Your dummy Scene is ready!
  8. Geometry instances in SceneKit – By now, you must be wondering about the types of geometry instances you can actually add to Scenes? SceneKit comes up trumps on this count, with its extended support for a vast range of instances in the SCNGeometry class. Apart from the boxes and spheres mentioned above, iPhone app and game developers can define cones, cylinders, pyramids, tubes, planes and capsule shapes on a scene. Even without using external 3D models, ‘Primitives’ can be applied to draw up certain shapes/figures. The SCNText object is used for adding text strings in SceneKit, which are later rendered in 2D.
  9. Adding Materials to surfaces – iOS game developers and app makers do not have much to code manually, for working with Materials (inside the SCNMaterial) class in SceneKit. The line ‘material = SCNMaterial.Create ()’initiates a material, following which diffuse contents (e.g., animal figures) can be defined in it. Since the Materials respond differently to the various types of Lights, they are ideal for making mobile game animations more personalized. Reflective contents are supported in SceneKit Materials too.
  10. Asset Catalogs in SceneKit – On iOS 8, SceneKit brings in an extremely handy functionality to manage game assets and maintain the hierarchy of objects – the Asset Catalogs. Developers only have to store all the assets inside the specified folder (it has a .scnassets extension), and it will automatically be copied at run-time by Xcode 6. Consistency is a big advantage of this method, and graphic designers/animators can categorize different assets (textures, models, particles, etc.) in separate folders. Levelwise organization of game assets is also possible.
  11. Supported programming languages – App developers have the freedom to work with either Swift or Objective-C in the different attributes of SceneKit on iOS 8. The tool resides hierarchically on top of OpenGL, and ensures superior, quicker, better graphics creation, customization and rendering properties. For adding custom special effects like field depth or dynamic shadows, the advanced configurations of SceneKit are perfect. There is even the option to use GLSL and perform the rendering there (it will be a move downwards).
  12. SceneKit View in Storyboard – Experts in the domain of mobile game development are probably already aware of using Swift code files in the latest iteration of Xcode. In addition to the regular view controller (attached to ViewController.swift) in Main.Storyboard, there is another high-utility component called SceneKit View present at the same location. From the Interface Builder’s Object Library, SceneKit View renders 3D graphics quickly and accurately. What’s more – it also helps in defining key attributes with precision. The rendering function of SceneKit View is roughly similar to that of GLKitView.
  13. Input mechanism handling in SceneKit – Once again, iOS game developers who have worked with Cocoa Touch will find the input handling methods in SceneKit somewhat identical. All types of keyboard and touch events, and gesture recognition are handled via the same mechanism. The only significant difference in SceneKit in this regard is that a single view is present for managing all inputs – the Scene View. In order to perform a hit test on the Scene View, -hitTest(_:options: ) has to be used. Every time a camera ray hits a geometric object, a series of hit test results are generated. These results are instrumental for handling inputs like screen taps and pans.
  14. Support for Alembic and COLLADA – In SceneKit, including videos in mobile games is easy – thanks to the built-in support for Alembic files ( .abc) of the tool. 3D animations and geometries can be loaded quickly and immersively with Alembic. Prior to proceeding further, you can check the 3D files with QuickLook (by using Finder), or directly via the Preview option. Yet another point of convenience of coders involved in the creation of iPhone games is the built-in support of SceneKit for the COLLADA editor. The latter refers to XML-styled files that have the extension .dae, and are helpful for inspecting the 3D elements in a game inside Xcode.
  15. Using SCNTechnique – SceneKit goes one up on OpenGL, thanks to the additional functionality that the SCNTechnique class offers. With it, game and app developers can create deferred shading effects and such other complex animations/special effects (not possible with OpenGL). The first pass of SceneKit defines the depth, while the following focuses on the normals. In the built-in dictionary of SCNTechnique, all the shader files, drawing passes, symbols and figures are defined.

The overall hierarchy of SceneKit has Scene right at the top, with the Root Node below it, and all the attributes are placed as Child Nodes. If you use ambient lighting, it is advisable to use omnidirectional Lights with it (since the former, on its own, does not have powerful illuminating properties). Creating a Scene in SceneKit (SCNScene) is, in essence, the same as using SKScene in SpriteKit. SceneKit has received the thumbs-up from game developers worldwide, and the tool is expected to get even better over time.

 

Have you used SceneKit?

 

AppBoard Tuesday – Things That Make App Clients…Angry!

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

Hey everyone, and a warm welcome to yet another (this, the 41st) edition of AppBoard Tuesday (ABT). Last weekend, our brainstorming session was all about client-satisfaction, and how to ensure it all the time. The first thing each of our app developers, graphic artists, animators and other staff did was submit two points each – which were likely to disappoint any paying app client. Over here, we will share the most important points among them. Make sure your mobile app company stays away from these:

  1. Not providing an advance cost estimate – No sane person in the world would think about making an iPhone app without factoring in budget considerations. If your company does not provide free, detailed app quotes, expect most (if not all!) of your potential clients to move over to another app agency which does. Uncertainties and vagueness regarding expenses annoy any person, and those who are planning to get an app made are no exceptions.
  2. Not providing multiple budget options – Do you have a ‘take-it-or-leave-it’ service charge for creating mobile apps? If yes, you are not likely to ever have a large clientele. The willingness, and at times, the ability to spend money on app development vary from one client to another – and you need to provide multiple budget options for them. Mention the services that accompany each budget option. Never ever be rigid in your pricing.
  3. Demanding a heavy advance payment – Mobile app development is not particularly cheap – anyone with a basic idea about this field knows that. That, however, is not an excuse for you to ask for a huge advance payment from your clients. Chalk up a payment schedule at the time of drawing the initial contract, break up your total service charge in 3-4 installments, and mention when the payments have to be made. 25%-30% of the total fee is the maximum you can ask for in advance. Do not ask for complete payment before the project is complete and the app has been handed over.
  4. Not giving regular updates – There is a lot of ‘blah-blah’ going on about how mobile app developers know all about coding and wireframing and prototype-making, while clients generally do not have any technical knowledge per se. Fair enough, but even so the latter has the RIGHT to know how the work on his/her app is progressing (remember, (s)he is the one shelling out the big bucks!). Share mockups, dummy screens, and UI screenshots of the apps to the concerned clients. Make them feel involved in the app-making process. Making a mobile application need not be like a proverbial ‘black box’.
  5. Not doing the work yourself – There are app development companies which are: a) after quick money, or b) looking to take up as many app projects as possible, or c) both. Understandably, they cannot handle all projects on their own, and delegate at least some of their app development work to other, obscure, third-party companies/indie developers. This teeny-weeny detail is often kept a secret from the clients. Apart from being grossly unethical (the client had signed up for service from you, not some other company), it’s a folly to think that people will never find out about this. The difference in quality of the apps will, more often than not, give an indication that they were probably not made in-house. Never bite off more than you can chew, in terms of accepting projects. The extra effort and the shady smartness are simply not worth it.
  6. Not completing projects within pre-specified deadlines – The average client wants apps that deliver optimal value, and are made & released quickly. There is a tradeoff between the two (greater emphasis on app quality requires more time, while a rush to finish a project can involve compromises on the quality front). Once again though, this tradeoff is NOT A LICENSE for you to dilly-dally on a mobile app development project. You need to have enough qualified manpower to ensure that the absence of a couple of developers can be filled in by others – and the work on any particular app is not interrupted. Complete apps at least a week before the deadline, and keep your clients happy. Trust us – it matters!
  7. Not delivering on the creative front – A client wants a certain set of features/functions in an app, you assign a team of developers on the project, they do the required coding, and the app is complete. Nothing apparently wrong with this, right? Actually, there is – since you have not focused at all on adding a creative, engaging touch to your application. There are close to 1.3 billion mobile apps each in Google Play Store and Apple iTunes, and it’s very easy for a boring-looking app to get lost in the crowd. A mobile app agency simply must have a separate team of UI/UX designers, animators, and graphic experts. They are the ones who make an app LOOK GOOD, and that is an important factor when it comes to initial downloads of an application. Why should a person pay money for a piece of mobile software that does not even appear attractive?
  8. Lack of promptness in query-handling – Remember what we said about clients not having (in most cases) much of technical knowledge? That’s precisely why you, the expert mobile app-maker, have to guide them through the entire development process. It is only natural that clients would pose queries (via Facebook, through email, maybe even a phone call) – and it is your responsibility to ensure that every question (even the slightly silly ones!) are satisfactorily, and quickly, resolved. Never take more than one day to provide free app quotes, or respond to any client query. If your company promises 24×7 service, mean it.
  9. Not providing free upgrades – A tried, tested, and sad way in which many mobile companies try to earn some extra money. There is no client in the world who will not feel irritated (and yes, it can develop into a war of words), if you charge extra money for releasing new updates on existing apps (for instance, a bug-fix update). Treating app development as a one-shot game and not releasing upgrades at all is another thing that can get clients angry. All the app upgrades you release at the stores should be free, and actually have some additional value about them.
  10. Not giving prior assurance about intellectual property rights – Who ‘owns’ the app once it is complete? Is it you, who has coded and designed it, or the client who has paid for it? If you think it should be the former – it’s high time you changed your perspective. A client hires mobile app developers and pays them to create applications – nothing more. All the intellectual property rights should remain with him/her, and not the company which had done the coding/designing. Provide a non-competing document at the very start, to keep your clients at ease regarding this issue. At the store, it should display ‘XXX App’ by <client name>, and not ‘XXX App’ by <name of developer company>.
  11. Presence of app bugs – If your mobile app testing standards are not high enough, your clients will be annoyed. Think about it: who wants to spend money on making an app that is slow, and/or crashes often, and/or affects the performance of mobile devices in any other manner? Frustrations reach their maximum level when a bug/malware is detected AFTER an app has been submitted for review at iTunes. A shoddy, buggy app not only pisses off an individual client – it puts the overall goodwill of your company under a cloud.

Clients also tend to stay away from companies that are not into cross-platform mobile app development. There is no point in getting the iOS version of an app getting developed by one company, and looking for other developers for making an Android version of the same thing. Sincerity and a general polite demeanor helps in keeping clients happy as well. You might be the world’s finest mobile app entrepreneur, your team of developers might be the best – but if your clients are not satisfied, your company will not succeed. NOT.A. CHANCE.

 

Okay, so that bit of Teks-gyan has given you some idea about how not to get on the wrong side of clients, right? We have been in this line of business for close to a decade now, and we are confident that our insights would help other developers too. If you can think up of any other things that annoy clients, share it with us. We will stay away from that too!

 

That’s all there is in today’s edition of AppBoard Tuesday. We will be back next week with another interesting topic related to mobile app development. Till the next time…love thy apps!

 

Making Apps For iOS 8: 15 Things Developers 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

The new Apple iOS 8 platform has opened up a host of new opportunities for developers to make their mobile applications more customized and efficient. Let us here check out some interesting features of iOS 8, that app developers can make use of.

 

According to an Apple App Store Report (released mid-April), nearly 8 out of every 10 devices are currently working on the iOS 8 platform. This stat has a simple enough meaning for mobile app companies: unless their applications are not customized and completely compatible with the latest Apple mobile platform, their clientele will dwindle (with the imminent arrival of Apple Watch, this is even more so the case). We will here shed light on some important factors related to iOS 8 app development:

 

  1. Availability of Split View Controller on iPhone – Till the previous iteration of the iOS platform, UISplitViewController was present only on the iPad. Things have changed with iOS 8, with Split View Controller now available for new and upgraded iPhones. Keeping in view the larger screen sizes of iPhone 6 and iPhone 6 Plus, the vertical dimension (in landscape) has been renamed as ‘Regular’. Four different size classes have also been introduced – Vertical Compact, Horizontal Regular, Vertical Regular and Horizontal Compact. App developers can now use the UI of iPhone in portrait mode, and simulate the iPad UI in landscape.
  2. Understanding the software layers - For contemporary mobile app development experts, it is an absolute must to get a thorough idea of the underlying software programming network of iOS 8. The architecture hierarchy goes like: Cocoa Touch → Media → Core Services → Operating System, from where the code is directly deployed to the hardware of the device. The required codes for app presentation have been separated from that required for data handling, with the help of Model-View-Controller (MVC). In the OOP setup, the components of MVC (model, view and controller) are all treated as objects.
  3. Using extensions for debugging – Thanks to the app extensions in iOS 8, mobile app testing/debugging has also become easier. The host app to be used for debugging can be specified on Xcode (after the extension has been triggered). Including suitable breakpoints during this debugging process is extremely important though – barring which bugs can remain undetected. There is another bone of concern too – the latest versions of the iOS 8 extensions often fail to load properly.
  4. Adjusting the app display resolutions – Developers and UI/UX designers have to be more cautious while working on iOS 8 app projects. There are two additional pixel densities and screen resolutions to optimize their applications for. For iPhone 6, the required app resolution is 375×667, while that for iPhone 6 Plus is 414×736. The respective pixel densities for the two devices are 2x and 3x Retina display, respectively. The resolution of the iPad, of course, remains at 768×1024. Any new app has to be compatible with all of these resolutions (in addition to the resolutions of earlier-generation iPhones).
  5. Improved Auto Layout in iOS 8 – Initially introduced in iOS 6 as a replacement of the troublesome autosizing, Auto Layout has become all the more developer-friendly in iOS 8. Constraints on Auto Layout can be created by those making iPhone/iPad apps, through Visual Format Language, Interface Builder and API codes (involves manual coding). Remember that the constraints affect the alignment rect/content of the view, and not the frames. In explicit constraints, developers can now also specify the label width to increase upto a specified maximum point (in addition to the fixed specification option). Proper use of Auto Layout ensures that apps remain properly viewable and workable, whatever might be the resolutions/sizes of the devices they are installed on. In other words, Auto Layout helps iOS 8 applications become more dynamic.
  6. Requirement of HealthKit support – This is particularly important for iOS 8 developers who are planning to start out with WatchKit app development. The latest version of iOS has the HealthKit app, for accessing and storing the personal health/activity data of users. There are several new sensors in the new flagship iPhone, just like the ones that are present in Apple Watch (no surprises here, since Watch has to be paired with an iPhone). Three new query objects – HKObserverQuery, HKSampleQuery and HKAnchoredObjectQuery – have to be used by app development experts, to make sure that health data is being collected in apps correctly and on a real-time basis (a must-have feature in any health & fitness app).
  7. Using dlopen for extending support to iOS 7 – Most iOS app developers need to share their codes between the app and an extension. This is somewhat tricky in the iOS 8 environment – since simply using embedded frameworks is not of any use here. Instead, coders have to use ‘dlopen’ to write out the program and ensure dynamic, run-time loading of the framework. iOS 7 has to be included in the app target (otherwise, the shared code will work only on iOS 8), and developers also have to check if their codes are compatible with the earlier iOS version. In most cases, it is advisable to not enable modules in the build settings of Xcode. The results can be erratic.
  8. Views and Window objects in iOS 8 – For adding an engaging, interactive feel to the UI of an iOS 8 app, a proper understanding of Windows and Views is essential. Apple has provided app developers with several categories of views in the UIKit framework – Container Views, Alert Views, UIWindow, Navigation Views, Display Views and Controls. In the hierarchy, UIWindow is always at the top, followed by subviews (UIView) and UILabel and UIButton. To put it in another way, UIView has the UIWindow as the ‘Superview’ – while buttons, labels and texts are its ‘Subviews’.
  9. Providing built-in support for Apple Pay – Biggies like Uber and Groupon have already included Apple Pay support in their apps. With NFC (near-field communication) finally arriving in iOS 8, it’s hardly surprising that most app companies as well as indie developers wish to include support for Apple Pay in their applications. There has to be a properly detailed privacy policy in all applications that use the Apple Pay functionality (as per the API documentation). Developers have to ensure that their apps provide advance information on all purchases/transactions (i.e., prior to the actual sales). Data-sharing is only allowed for the purpose of betterment of product delivery, and there must not be any violation of territorial laws, as far as the goods and services being offered are concerned. A payment token has to be generated in the app, following the approval of payment sheet (created with PKPaymentAuthorizationViewController *VC) by the user. The order status, shipping time, and other related information should be viewable in the app too.
  10. Table Views in the UIKit object – After the storyboard file has been created in Xcode, iPhone app developers have to implement the resources of UITableView class. Two different types of tables – dynamic and static – can be created, for presenting app data in a list format. The Table View, on the other hand can be either plain or grouped (with headers, footers, and different sections). There are four different cell styles to choose from as well – UITableViewCellStyleValue1, UITableViewCellStyleValue2, UITableViewCellStyleDefault and UITableViewCellStyleSubtitle. What’s more – on the iOS 8 platform, developers can also use ‘self-sizing’ tables.
  11. Managing animation coordinator for rotation – For updating the constants declared in the Auto Layout constraints and/or using frame-based layouts, the all-new rotation behavior in iOS 8 comes in very handy. On the View Controller, different rotation methods can be combined in a single method – viewWillTransitionToSize:withTransitionCoordinator. Whenever the view of an app is likely to change (e.g., due to rotation of the device by user, changes in the size of status bar), this method is called on to manage the rotation and arrange the animations.
  12. Split Views in iOS 8 – Another interesting addition to the iOS 8 app development framework is the Split View option (available in iPhone 6 Plus and iPad, in the landscape mode). Coders can use the UISplitViewController class to actually split the screen into: a) a Master Panel (on the left), and b) a Detail Panel (on the right). Note that, on iPhone 6, the Split View Controller can be used in the portrait mode. The items in the Master View have to be configured, along with the Detail View panel. Next up, the Master Selections have to be connected to the Detail View. Xcode automatically generates the master view controller as a subclass of UITableView. In the Main.Storyboard file, four items get created and stored – navigation controllers (2), the UISplitViewController, the MasterViewController and the DetailViewController.
  13. Understanding the difference between Share and Action extensions – A probable source of confusion for newbies in the domain of iOS app development – since the differences between Action and Share extensions in iOS 8 are subtle. The former calls upon SLComposeViewController in the Xcode template, while the latter can be inherited straight from UIViewController. Unlike Share extensions (required for creating the social integration tabs in apps), action extensions do not need any dedicated user-interface. Yet another difference between the two is that, while share extensions are viewable in the top row of the screen, action extensions remain in the bottom row.
  14. Swift files in iOS 8 – While most app developers have the option to code for apps in either Objective-C or Swift at present, the latter is likely to become the go-to language of iOS app makers soon. It is of essence that you know how to work with Swift files on the iOS 8 platform. First things first – an instance of NSFileManager has to be created (let filemgr = NSFileManager.defaultManager() takes care of that). Apart from copying, removing and comparing the contents of two or more Swift files (there are separate code snippets for each), app developers can also use the createSymbolicLinkAtPath method to generate symbolic links to any particular file. An NSError object can be included as an argument too.
  15. App testing on Xcode 6 – Device simulators are necessary, but far from sufficient, for thorough mobile app testing on iOS 8. On the latest Xcode 6 framework (Xcode 6.3 has been released), new apps can be tested on actual devices – thanks to the auto device registration option. After configuring Xcode with Apple ID and generating the required signing identities, developers can plug in device(s) to their Mac systems (after launching Xcode, of course). The attached devices will show up under ‘run destinations’. Manual registration of devices is possible too – but for that, you will have to provide the UDID of the same. Once the provisioning profile is ready, the app will be installed, launched and tested on the registered device(s).

The presence of well over 4000 new APIs in iOS 8 makes it imperative for developers to take some time out to learn how to make apps that would be properly customized on this platform. New coders have to, of course, register themselves as ‘Apple Developers’ first (doing so is free). Opting for a membership in the official iOS Developer Program is also a good idea. iOS 8 is, without a shadow of a doubt, extremely developer-friendly. All that you need to do is invest some time on getting a hang of its new tools and resources, and you will be able to start making apps on this platform.

 

JSON or XML – Which Data Format Is Better For 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

JSON and XML are two language-independent data formats which are frequently used in coding for software and mobile app development. We have here done a point-by-point comparison analysis of the two tools.

 

Among app developers (web and mobile), JSON has emerged as the most preferred language tool for interchanging data. The surge in the popularity of JSON (Javascript Object Notation) has come at the expense of the user-base of XML (Extensible Markup Language). Most users cite the greater user-friendliness of JSON as the key cause for it being able to trump XML. In here, we examine whether JSON is indeed better than XML, on the basis of some key attributes:

 

  1. The learning curve – For newbies to the field of coding for app development, both XML and JSON are equally simple. XML is definitely an easier language than SGML – but JSON might just have an edge, owing to its direct mapping feature on data structures. The smaller grammar and syntax set of JSON helps on this count too. However, there is not much of a difference – a certain time and effort has to be invested to learn either of the data marshalling tools.
  2. Need for manual typing – JSON holds all the aces in this regard. Many software programming experts and mobile app developers have referred to XML as a ‘verbose’ language – while brevity is the name of the game in JSON. Two sets of code of equal size (in terms of bytes) can be written using much fewer characters in JSON than it can be done in XML. The host of start and end tags required in XML contribute to its elaborateness. Although most data servers do compress data sets (via gzip or other tools) before sharing, the fat-free nature of JSON finds more favor among users.
  3. Extensible feature – This round goes to XML. The language supports a wide range of data types, while with JSON, all that developers can work with are numbers and text. Extending the data attributes in XML is fairly easy, although it is advisable to not store too many data types in a single data set (managing the set might become an issue in such cases). Of course, since JSON is not meant to be used as a document markup language per se, the need for including additional data types often does not arise.
  4. Use of Arrays – Coders have to work with ‘arrays’ only while working with JSON. While describing structured data in XML, there is no concept of array usage. There is, hence, just that extra need for software and app developers using JSON to be careful about declaring and managing the ‘arrays’ in their programs. Not properly defining the data arrays generally lead to errors being generated.
  5. Parsing (Server-side) – XML parsing capabilities are built-in in practically all popular server-side frameworks. Via parsing, an object model is created from the original text format. However, with the rapid popularity of JSON, most new servers are including parsing capabilities for it too. The function is similar to that of XML parsing, and there is no significant difference between the speed or accuracy of JSON and XML parsing. Fair to say, it is a tie between the two data formats on this count.
  6. Readability – Just a while earlier, we highlighted how XML was more extensible than JSON. While the latter is relatively more restrictive, the smaller range of data sets/formats supported by JSON has a definite advantage – it is more easily readable and understandable by programmers and mobile app development experts. XML offers much wider options for data formatting, which makes universal standardization of data slightly difficult. There is no such potential issue with JSON – simply because the formatting options are limited here. Both the formats use Unicode, which ensures data internationalization.
  7. Speed and memory usage – Another point where JSON comes up tops. Less characters have to be typed in JSON compared to XML, and browser-side parsing with the latter can be time-consuming (particularly if you are working with a large dataset). The DOM manipulation libraries required for XML parsing can take up fairly large memory spaces too. The sheer compactness of JSON ensures that it is faster (although not by much), and memory requirement is minimal.
  8. Data Querying – While coding for apps or any other software, developers often need to access/refer to certain parts of data that they had used earlier in their programs. Doing so in JSON is rather problematic, particularly if the exact location of that data is not known. The entire code has to be reiterated, to find out that piece of code. XML-users have a big advantage here, thanks to the presence of XPath. The latter allows users to directly access data in any specific part of the code. The lack of a dedicated querying interface in JSON is certainly a drawback.
  9. Sharing – This is where the basic difference in the nature of JSON and XML comes to the fore. Since the latter is a dedicated document markup language, it offers support for quick and seamless sharing of data graphs, pictures, charts, figures, and many other data types. The format or prototype of the data (in addition to the actual stored data) can also be shared. JSON, on the other hand, is a data markup tool, and really shines through when it comes to exporting/sharing array data. Irrespective of whether you are coding in Perl, Python or Javascript, it is easy to import JSON files without any risk of data loss. Traditional data is stored in ‘trees’ on XML (as opposed to ‘arrays’ in JSON), and it has to be transformed first, before sharing. The process is more cumbersome.
  10. Parsing (Browser-side) – Not every browser supports E4X (ECMA for XML), and this makes XML parsing on the browser-side stand on shaky grounds. The memory-related disadvantages of DOM documents have already been mentioned, and experts from the field of data management and app development opine that native Javascript files are easier to handle than these DOM documents. On its part, JSON does not have a parser. The eval () function is used to interpret JSON syntax (stored within the parent Javascript Syntax). Evaluation of JSON strings can be done with the same function as well.
  11. Tagging and validation – JSON does not have any feature comparable to XML schema, and hence, cannot be used for validation. In other words, if data validation is required in your work, using XML will probably be more advisable. Yet another advantage of XML is the option of tagging or using markup on text documents. The XSLT template can be used in XML to change the original data format (to text, SVG, comma-delimited or HTML). In fact, converting to JSON format with XSLT is also possible. In terms of flexibility and customization, XML does hold an edge.
  12. Representation as code objects – Software programmers and app developers generally work with dynamic, object-oriented languages which support easy representation of JSON objects as objects in the code. On the other hand, porting XML objects to the code can lead to alignment issues, since there are more data formatting options and greater scopes of interpretation and data representation. It is true that JSON ‘prohibits’ developers somewhat, but it is also a more easily usable language. In a nutshell, JSON is intuitive, XML is not.
  13. Parsing security – Parsing JSON data with eval () is easy and quick, but it can be risky as well. If an invalid JSON file is passed through the function (even if the Javascript code within is valid), the code gets executed, and the entire application can get messed up. The problem arises from the fact that any Javascript code gets automatically executed by the eval (). XML parsing is slower and requires more memory – but at least it does not involve any risk of erroneous code execution.
  14. Compatibility with different file formats – From plain text and pictures, to video and audio – files in practically any format can be attached with XML. JSON, on the other hand, is all about only the traditional file formats. This ‘limitation’ of JSON does, however, have an advantage – there is no way of including executable files in JSON, which can cause security concerns. Both the data marshalling tools are equally open and have proper self-describing features.

 

The above analysis indicates that, while JSON is definitely better than XML on certain grounds, the latter has its high points. Many of the apparent advantages of either tool are rather muddled too – since they come with potential risks (for instance, XML is extensible, supports more data types, but is heavier and can be confusing). The key here for web and mobile app developers is to understand that the two data formats are optimized for different things – JSON for data, and XML for documents. Another interesting point is that, most of JSON’s advantages are from the browser-side – the server-side is more or less a level-playing field.

 

Which one do you think is more efficient – JSON or XML?

 

Veeaie Keyboard app by Teknowledge

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

 New emoji keyboard iOS app

Not everyday do developers get the chance of working on apps that blend in fun and creativity in equal measure. At Teks, we have been fortunate enough to get a fair number of such projects over the years – but none of them were quite as unique and interesting as the Veeaie Keyboard app. Right from the moment Tejmur Sattarov explained the concept of the app, we knew we simply could not pass up the opportunity of working on this project. Call it ‘love at first hearing’!

 

“Through Veeaie, I wanted people to express their creative side, without losing out on the fun factor. There are so many apps that focus too much on creativity, and come up short on the humor quotient. I never wished Veeaie to be like one of those boring apps.”

 Tejmur Sattrov - Veeaie Keyboard app

– Tejmur Sattarov (Senior Art Director; Concept Developer of Veeaie Keyboard)

 

We consider it a stroke of luck that Tejmur chanced upon Teknowledge, while searching for a suitable mobile app company to handle the project. Taking it up was an unanimous decision, and we sent along a detailed free app quote the very next day after Tejmur had got in touch with us.

 

What Is Veeaie Keyboard All About?

 Veeaie is a personalized emoji creation app

“As a mobile app entrepreneur, it has been my constant endeavor to add more verve, more variety, more uniqueness to the portfolio of my company. An app like Veeaie Keyboard was simply great news for us. Kudos to Tejmur for thinking up something so innovative, engaging…and more importantly, workable.”

Hussain Fakhruddin, CEO, Teknowledge Software 

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

In essence, Veeaie Keyboard is a third-party keyboard application, that allows users to create, view and use emojis. The phone camera is used to take snaps, which can then be edited by by users. Custom photo effects can be added too, with ease.

 

Emojis…Unlimited!

 

During the initial brainstorming sessions with the team of iOS app developers assigned on the project, Tejmur explained that he wanted end-users to create and use as many custom emojis as they wanted. Accordingly, no cap was put on the number of emojis that could be made. Users could also view emojis created by others – to get some inspiration. A subtle touch of social networking thrown in!

 Emoji packs can be bought via in-app purchase

“Creativity is something that should never be bound by limits. If I was making emojis, the last thing I would want to see is a limit set on the number of faces I could create. Veeaie does not present any such inconvenience to users either.”

 Tejmur Sattrov - Veeaie Keyboard app

– Tejmur Sattarov (Senior Art Director; Concept Developer of Veeaie Keyboard)

 

Accordingly, our mobile app development experts included the provision of adding unlimited volumes of customized emojis in the app. Any emoji created by a user could be marked as ‘Favorite’. Purchased emojis could be added to the ‘Favorites’ page too.

 

The User-Friendliness Of Veeaie Keyboard

 Veeaie Keyboard comes with charming graphic designs and user-friendly controls

“A good idea does not necessarily translate into a great app. I have personally used many applications that have been ruined by complicated controls and confusing layouts. We were determined to make Veeaie an app that anyone…even kids…could operate on their own.”

 Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

The process of downloading, installing, activating and starting to use this cool iPhone app follows an easy, streamlined flow. Once the app is installed on a user’s device, a set of instructions is displayed (these instructions are only for first-time users). The ‘Allow Full Access’ tab has to be tapped next – after which the app becomes activated and ready to use.

 

“From the very outset, I had a clear idea about how Veeaie would work. What I was worried about was that, the app company I hired might not be able to make the app the way I had conceptualized it. Thankfully, Hussain and his team beautifully grasped the feel of the app, and proceeded to create it just as I had visualized it.”

 Tejmur Sattrov - Veeaie Keyboard app

– Tejmur Sattarov (Senior Art Director; Concept Developer of Veeaie Keyboard)

 

So, How Can Users Use/Create Emojis In Veeaie?

 Making fun emojis is easy on this iPhone app

This was the part we enjoyed the most in the mobile app development process of Veeaie Keyboard. The app itself was free, and we decided to include emoji sticker packs as available in-app purchases. The packs were priced at uniformly competitive levels, and users could take their pick from 5 different packages. The idea was simple enough – to add fun effects to one’s own (or others’) pictures.

“Providing emoji packs to users was all very well…but what I was more interested in was giving people the option to create their very own emojis. The focus was always on letting users have the freedom of creating stickers that they found funny. I did not want to limit their choices to a few pre-defined sets.”

Tejmur Sattrov - Veeaie Keyboard app 

– Tejmur Sattarov (Senior Art Director; Concept Developer of Veeaie Keyboard)

 

The Veeaie Keyboard app uses the built-in camera of the device on which it is installed. Users have to take their own pictures first (yupp, selfies), following which the customization starts. The snap initially appears in a circle, and 4 different effects can be added to it. For further personalization, a person can rub off sections of the picture. Doing so is very simple – the unwanted portions (e.g., blank edges) could be removed by swiping.

 Purchased and self-created emojis can be saved as Favorites

“The availability of custom emoji packs was a nice idea, with effects like ‘Drama’ and ‘Athletes’ bound to tickle the users’ imagination. However, I feel that the main USP of Veeaie is going to be the option of creating personal emojis from scratch.”

 Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

While testing the app, our in-house mobile app development team tried out their hands (literally!) on the app. Adding funny effects to our own faces was indeed…funny!

There are 6 different emoji packs in Veeaie 

Which Apps Could Be Used?

 “Emoji-creation is not all that the Veeaie app is about. All purchased emoji packs, as well as the ones self-created, can be used by people, anywhere. After all, it’s their creative work, and they have every right to show off a bit.”

 Tejmur Sattrov - Veeaie Keyboard app

– Tejmur Sattarov (Senior Art Director; Concept Developer of Veeaie Keyboard)

 

The emojis created with the app and/or the ones bought through in-app purchases can be applied by users on practically any online and offline platform (how about making an emoji the phone desktop?). Emojis made and saved by others can also be viewed, but they cannot be used by a particular user. As soon as an emoji pack is purchased, it is displayed in the user’s profile.

 

The Minor Hiccups

Veeaie Keyboard dummy mockup

Initial mockup of the app (later rejected)

 

“Tejmur and I both felt that an app as unique and entertaining as Veeaie deserved perfection in every sense. The first few days went by in creating mockups, and none of them quite seemed right. We kept at it, and finally, the app structure was finalized. I daresay it is a good one.”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

Run-of-the mill apps can be developed in a matter of days. Apps that are more involved, more interesting, require more time to be made. Our developers collectively racked their brains to come up with the right mockup for Veeaie. The inputs from Tejmur helped a lot too. After a week or so, we had a rough idea of how the application would work.

 

Built-In Social Integration In Veeaie

 Veeaie Keyboard will be launched in iTunes soon

Seamless social integration features have been included in the Veeaie Keyboard application. Emojis created/purchased on the app can be posted on the Facebook and Instagram profiles. Just as Tejmur had wished, users have every opportunity to showcase their emoji-making proficiency to their contacts.

 

The Veeaie Keyboard app is optimized for the latest iPhone, iPad and iPod Touch devices. It is available for free download at https://itunes.apple.com/us/app/veeaie/id982550558. We enjoyed a lot while making this app – and whenever that happens, the app turns out to be a winner!

 

Go Veeaie!

AppBoard Tuesday – Why Should You Fuss Over App Quality?

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

How does a mobile app company project itself as ‘superior’ to its rivals? Unfortunately, most of them focus on the volume of apps they have already developed…that are already showcased in their portfolio. Fair enough, the ‘quantity’ of work does speak about the experience of a team of developers – but what about the ‘quality’ of those applications? Simply saying “We have created XXX number of apps in the last 6 months” does not, in any way, imply that those apps were good ones. In today’s AppBoard Tuesday (ABT), we will point out why ‘quality of work’, instead of ‘quantity of work’, needs to be the USP of any app development company:

  1. Delivering value to clients – Take a look around on the World Wide Web. You will find scores of companies that proudly proclaim ‘cheap app making services’, or ‘mobile apps at less than $50’, or some similar sort of attractive, and thoroughly baseless, promises. Their focus is on capturing as many customers possible at one go – and more often than not, the latter are given sub-standard, hurriedly made apps. The result? Absence of any repeat customers. You need to deliver value to the paying client – in order to ensure that (s)he will come back to you when another app needs to be developed. Trying to make as many apps as possible in a time-period, and compromising on their quality in the process, is a myopic strategy. There will always be some companies that offer cheaper services – you need to ensure that your rates are justified.
  2. That thing called pride – A short anecdote here. When one of our mobile apps for children – Kids Tiles – was released late last year, it received positive reviews from several sites and portals. The app development team in charge of making Kids Tiles used to actually search for such reviews and citations of their ‘baby’, and share the same on their personal Facebook and Twitter pages. This went on for close to three months. A good mobile app is more than likely to earn user-appreciation, and appreciation perks up a developer more than any monetary incentives can ever do. If your employees start taking pride in their work, they will raise the standard of their products on their own. Detachment can be disastrous.
  3. Importance of having an expert team – In addition to the quality of apps, the quality of the developers matters too. The entrepreneur of a mobile startup company can very well consider hiring app developers who are novices – simply because they will demand lower paychecks (the ‘freshers are cheaper’ philosophy). What is often not considered is that – a person with relevant experience in the domain of mobile app development can do the work of 8-10 such freshers on his/her own. The total workforce would also not become unnecessarily big. Never try to cut corners by looking for cheap app developers – remember, inefficiency comes as a free baggage with cheapness. Consider this: a lady needs 9 months to deliver a baby…but if there are 9 ladies, can you reduce the delivery period to 1 month for each? We rest our case.
  4. Client-satisfaction is your bird’s eye – When you provide free app quotes and take up third-party app projects – you promise the client two things. The first is stated – that you will finish the project within the mentioned deadline. The second (and arguably, the more important) generally remains unmentioned – the app you create must ‘satisfy’ your client. Delivering half-baked apps to customers is a surefire way to spark off negative word-of-mouth publicity. You might have made more than 1000 apps – but what’s the point if most of them have horrible reviews? You lose the client, and the reputation of your app company gets eroded. Focus on quality instead, that will make your clientele a lot happier.
  5. Need to make a mark at app stores – Don’t get it wrong – you have every right to boast about the number of apps your company has created (heck, we do it too!). The point is, you also need to add how many (or what percentage) of them have been featured at iTunes/Play Store, won app awards, and received any other form of recognition. And the only way to get such appreciation? That’s right – by ensuring that each of your custom mobile applications is of optimal quality. “We have made more than 650 apps” sounds good – but when you add “82% of our apps are featured at the store”, it sounds a lot better!
  6. Shorter app development cycles – Another thing that is often overlooked. A constant focus on Quality Analysis (QA) makes the entire app development more streamlined, and, for lack of a better word, ‘predictable’. When your team is, say, creating an iPhone app, they will know the best practices for coding, prototyping and testing the application – and will follow these steps systematically. There would be no uncertainties, and that would minimize the chances of undue delays in project completion. If you focus on quality, meeting that apparently challenging deadline also becomes easier.
  7. Quality, Time & Money – The Tradeoff - Creating a mobile app involves taking a stand on three fronts: How good should be its quality, how much time would be given to the developers to make it, and the amount of money that a client is prepared to spend on it. Now, the best of all the three worlds cannot be simultaneously obtained – and optimizing any two would require a bit of compromize on the third aspect. Quality is by far the most important aspect in the long-run perspective. A client should always get apps of the best quality, even if they take a couple of weeks more to make, or cost a few extra dollars. If an app turns out to be poor, the client will not be pleased – not matter how quickly you had created it, or how reasonable its cost figures were.
  8. Giving out the ‘right vibe’ about your company – An unsuspecting, first-time client might not realize this – but anyone with at least some experience in the field of app-making cannot be fooled by hollow promises. It is easy for the latter to find out whether a company is racing against time to make as many apps as possible and earn quick bucks, or if it is actually focusing on creating high-quality, cross-platform, customized applications. You want to be viewed as one of the latter companies, right?
  9. Users have little tolerance for buggy apps – And this is true for both simple mobile games, or personal finance calculator apps. When a company tries to race through the process of making apps, the phase that gets neglected the most is app testing. A buggy app will be rejected at iTunes forthwith, while it might just sneak through at Google Play Store – but will find little love from final-users. Unless you are making something absolutely ground-breaking (you won’t find too many takers in such cases either!), make sure that no bugs/malware remain in your app. It takes seconds…literally, seconds…for a user to uninstall a buggy app, and download another, similar one. Your loss, your competitor’s gain.
  10. The importance of reliable source code – Any Android or iOS app developer worth his/her salt would confirm the importance of code reusability. Maintaining a high standard of operations includes the maintenance of proper software documentation. Doing this simple, everyday task helps: i) existing developers, working on multiple projects, and ii) those new on board, who need to get familiar with the source codes quickly. Keeping all source codes and documents properly organized is a smart, and rather overlooked, way of speeding up the entire app development process.
  11. Making your apps stand out – Ever heard of that adage, ‘Don’t judge a book by its cover’? Well, at least for apps, this does not hold true. If two applications have similar tech features and functionality, the one that is more ‘good-looking’ is likely to be more successful. This is where the importance of quality work by the graphic designers and app UI animators come into the picture. Mobile apps churned out in an assembly-line-like process often have a sameness about them. The visual features of your application should be good enough to bring it to the notice of target users.
  12. Ease of upgrading – A marker for a good mobile app is one that is regularly upgraded (new features, extensions, etc.). Provided that developers had abided by high quality parameters while making an app in the first place, releasing updates to it (as and when necessary) would also become a lot easier. Of course, there would be lesser need for exclusively ‘bug-fix updates’ as well. When you invest on quality from the first, the entire workflow becomes straightforward, hassle-free.

Professional reputation, client-satisfaction, happy employees and positive word-of-mouth publicity – these are the four pillars on which the success (or otherwise) of a mobile app company critically hinges on. An unwavering attention to the quality of your products would help you attain all of these, and keep exceeding the expectations of your clients/end-users. There is no shortcut to business success…you simply have to invest on quality.

 

Ok then, that’s about all we had to share in this week’s edition of AppBoard Tuesday (ABT). If you feel that the quality aspect of app development (or, for that matter, any software) is important for any other purpose – do write in to us. Want some other topic to be covered in future editions of ABT? Let us know, and we will try to include the topics you want to know more about.

 

We will have something new, something interesting, something else related to mobile applications to discuss in next week’s AppBoard Tuesday. Till then, love thy apps!

The Flop Show Of Google Glass: Looking At Key Reasons

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

From the highs of being named among the best innovations, to its production being stopped – Google Glass has gone through everything between November 2012 and January 2015. We here deliberate on some likely causes for the failure of Glass.

 

Less than two and a half years back, Google Glass was hailed as one of the best tech innovations of 2012 by the TIME Magazine. The fortunes of the ambitious wearable gadget plummeted quickly enough though – and the circle of failure was complete this January, with Glass getting the dubious distinction of being named among the ‘Failure Hall of Fame’ products (by Creators.com). What exactly went wrong with Google Glass? Let’s look at a few probable reasons:

 

  1. The price barrier – There was no scope of doubting the technological excellence of Glass, but was it worth its $1500 price tag (that too, for testing an unfinished version)? A resounding ‘no’, if the response of the general public was anything to go buy. Google made the age-old folly of subscribing to the belief that “If we build it, they will come”. This belief never quite materialized, people perceived Google Glass was a way too expensive gadget, and no one was interested to actually shell out big bucks on it. The official sale figures were not released (Google never does it, anyway), but the project never took off.
  2. Failure as a fashion accessory – Profession mobile gadget and wearable technology experts as well as app developers agree that the soon-to-release Apple Watch would do a fine job as a fashion accessory for users. Google Glass, sadly, lacked this ‘cool quotient’. The gimmick of making famous models and celebrities (Miley Cyrus to Roger Federer to Sarah Jessica Parker) wear Glass and get themselves clicked did not work. If anything, it came across as a desperate strategy on the part of Google to position Glass as a fashionable gadget. It was not.
  3. Privacy concerns – For all of its high-end technology features, Google Glass did not address a basic user-concern – the concern about privacy. The gadget kept recording videos (often without the wearers realizing it) – and this did not wow anyone. Within a small time, Glass started to be viewed as a tool that invaded the private space of the early ‘Explorers’. Not surprisingly, people decided to stay away from it.
  4. Glass was a path-breaker – This factor is important, and it justifies Google X’s stand to persist with the Glass project. Professionals from any software or app development company would confirm that first-time innovations often do not find the appreciation they might deserve. The super-successful iPad was preceded by several flop tablets (the Palm Pilot, the Message Pad, the Microsoft Tablet PC, etc.), and there had been plenty of (ho-hum) smartwatches before Apple Watch was announced. Google Glass did not have this type of a cushion to fall back upon. It was a revolutionary product, a vast majority of its targeted users did not know what it was all about, and the product remained out of favor. Hopefully, the next version of Glass – if and when it comes out, would have more anticipation and awareness about it.
  5. Who wants to be typecast as a geek, anyway? – Unfortunately, that’s what Google Glass made people look like. Early adopters began to be jokingly referred to as ‘Glassholes’, there were references about how Glass was only about functions that could be otherwise performed (say, checking the weather) much more easily. Tapping on the touchpad of Glass at a public place was the very definition of a geeky gesture. Naturally, no one wanted to be labeled as a ‘tech nerd’ (even if (s)he was one!).
  6. Google Glass took away a bit of user-freedom – A smart gadget should give its users the freedom to perform stuff that they want to, more easily. According to mobile app development experts, the sustained success of iPhones and iPads has got a lot to do with the ever-increasing availability of custom iOS applications. Ditto with Android phones and the apps at the Play Store. Jailbreaking iOS devices and rooting Android handsets offered even more personalization options (albeit at the expense of device warranties). The much-hyped ‘augmented reality’ of Google Glass did just the opposite. It made people stay stuck with what they had been doing (say, a difficult meeting, a boring class, etc.) for just that bit longer. It was too naive to think that people would spend big money only to become a bit less…liberated.
  7. Lack of focus on user-needs – Not even a mobile application succeeds if it does not satisfy a particular need of targeted users – and here, we are talking about a device as expensive as Google Glass. Its maker, Astro Teller, recently admitted that not much attention had been paid on thinking ‘why users would need Google Glass’. The thinking, instead, was more inbound – about how the gadget would capture user-data and create databases. This stood as a major stumbling block in the path of Google Glass becoming a mass product. Buying a pricey gadget just for the heck of it was never going to be mainstream.
  8. A risk that did not pay off – In the clamour of touting Glass as a flop, we must not lose sight of the fact that the company was, perhaps, ready for such a response. Google has earned considerable reputation over the years as a company that values and encourages innovation – to the extent that 20% of the work-hours of employees are dedicated to thinking up something innovative. Also, Google is no stranger to high-profile failures (its Nexus Q media player was dismissed as an ‘Apple TV clone’). When the plug was pulled on Google Wave, Eric Schmidt famously said that every failure is celebrated at Google – for they represent innovation, and open up scopes for making improvements. Yes, Glass has flopped…but it has also earned considerable PR for the company. Techies, those who create apps for smart devices, and even general users are still talking about it. Maybe, Google had bargained for a short-term failure, for a long-term success.
  9. Non-availability of compatible apps – Pebble smartwatches have their very own app store, with plenty of applications. The native app support of Apple Watch is solid, and third-party WatchKit developers have already started submitting apps for Watch. Google Glass came up short on that count too. There was a relative dearth in the availability of compatible apps for Google Glass. The Google Glass Application List (http://glass-apps.org/google-glass-application-list) was, at best, limited.
  10. Pushing technology as the USP – If Google did want Glass to become a mainstream wearable gadget, its marketing strategy was all wrong. Something propositioned as a high-on-technology product was always likely to garner a limited amount of interest – with general people preferring to stay away. Software reviewers and mobile app marketers have compared this with the ongoing promotions for Apple Watch. The latter boasts of equal (if not more) advanced technological functionality, but is primarily being pushed as an alternative fashion accessory. Proper emphasis has been placed on the design of the smartwatch – something that Google Glass, with all its protruding sides and edges, did not do.
  11. Glass did not offer value for businesses – While interest about Glass among individual users remained lukewarm, it did not offer any specific value for enterprises either. Representatives from leading IT firms, mobile app companies, software development agencies have confirmed that they are, to date, unsure about how Glass was going to help their businesses. Add to that the perceived ‘privacy breach’ of Glass and the sheer weirdness of employees walking about wearing the ultra-conspicuous eyewear (not to mention the costs involved) – and it was only natural that Glass did not catch the imagination of business-owners.
  12. The social factor – ‘Those who are wearing Google Glass are rude and aloof’ – at least that’s what the general perception among non-wearers were. Surveys revealed that people did not feel like interacting with anyone who was wearing Glass – simply because the latter seemed immersed in his/her own world of augmented reality. In addition, conversations (even casual ones) were recorded by the gadget. It was almost akin to talking in front of a video camera. People were not comfortable with it.

All of this is not to suggest that there is no light at the end of the tunnel for Google’s much-vaunted eyewear. The Glass website proclaims that ‘the journey does not end here’, ex-Apple man Nick Fadell (the guy behind iPod and Nest) has been roped in for redesigning/reconceptualizing Google Glass, and the second generation of the device has every chance of becoming more popular. The domain of wearable technology needs more personalized gadgets like Google Glass – and it will be a shame if the project gets finally shelved.