Monthly Archives: March 2015

AppBoard Tuesday – Simple Tricks To Serve App Clients Better

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

“There is only one boss. The customer. And he can fire everybody in the company – from the chairman on down, simply by spending his money somewhere else.”

– Sam Walton

There probably has never been a truer thing spoken about the corporate world. Think of it this way – someone contacts your company for custom mobile app development, finds your services disappointing, and promptly gets in touch with another firm. You lose that particular business lead, along with a bit of your goodwill (the bad worth-of-mouth reports will take care of that). The concept of ‘providing client satisfaction’ has become too cliched as well. The domain of mobile app making is competitive to the core – and success (or otherwise) lies in the ability of a company to ‘wow’ its customers…give them something that ‘exceeds’ their expectations. In this edition of AppBoard Tuesday (ABT), we offer a sneak peek into easy ways to keep the smiles of your app clients always in place:

 

  1. Inquire a lot – Once you have accepted a project and provided a free app quote on it, interact with your client properly. To do a good job, you need to know about every little thing about the iPhone/Watch/Android app that the client wants to be made. Find out about the profile (age/gender/demographics/location, etc.) of the target audience. Prepare the groundwork with care – that will ease the actual process of making the app.
  2. Solve problems – On average, hardly 2 out of 100 clients have any sort of technical (coding, designing, yadda, yadda) knowledge. All that they have are ideas and concepts, which they want to transform into apps. It’s only natural that they would not get the hang of how professional mobile app developers go about their job – and, as a result, will ask plenty of questions. Resolve each of their queries (however trivial they might be), and do not go about charging money for such doubt-clearing sessions. After all, the clients are the ones paying money…and they have a right to know.
  3. Offer advice for free – People love anything that’s free – no two ways about it. Apart from giving free quotes on mobile apps, you can work further in this regard. Schedule webinars and online hangouts, and provide information and tidbits about app development to prospective/existing clients. Plan out these free interactions as some sort of teasers – they should motivate the participants to follow up and contact app developers.
  4. Focus on speed during customer interactions – The quicker you can answer your clients’ questions, the better. Researches have shown that responses given out within a couple of hours of customer queries invariably show up a mobile app company in a good light. Of course, you need to ensure that your response is actually helpful for the client (and with that, we are back to the importance of understanding client-requirements/preferences). No one is going to wait patiently, as you take your own sweet time to come up with an answer.
  5. Deliver more than what’s expected – And we are not talking only about the quality of the iPhone/Android/WatchKit apps you make. Constantly endeavor to give your clients something extra – something that they are not expecting, they have not bargained for. For instance, if a client wants to see four wireframes of an application, email six wireframes to him/her. That will convey the impression that you are really involved in the project, and are committed to make the app a success. Oh, and this ‘extra’ service also needs to be free!
  6. Never contradict a client – It’s possible that something that a client is saying is wrong. This is a tricky situation – and while you need to correct him/her, you certainly do not want to directly contradict the person. Coming out of this sticky scenario is no rocket science though – hear out what the (obviously misinformed) client has to say, and then patiently explain your own views and opinions. Do not refer to his/her ideas as ‘wrong’ or ‘crazy’, and yours as ‘right’. Instead, tell that you have an ‘alternative’ plan/method, which would serve the client better. (S)he will come around.
  7. Be personal in your approach – At the end of the day, clients want to do business with a fellow human-being, and not just an app company. As a mobile app entrepreneur, the onus is on you to ensure that your clients get a personal feel through all your communications (verbal/written) with them. When sending a mail, mention your name first, and then the name of your company. If someone has got in touch with you via Facebook or Twitter, respond from your personal profile – instead of the nameless business page. Faceless app companies do not work, those with caring, sincere, committed leaders do.
  8. Promote their apps – At many Android/iPhone app development companies, the workflow is like this: accept projects, complete them, deliver them, and…well…case closed. Adopting such a ‘one and done’ approach would be a folly. Just as app clients do not have coding expertise, they are not likely to be masters at mobile app marketing either. Your company needs to take up the responsibility of being the brand ambassador of each app you create (unless, of course, a client tells you not to). In general, customers would love it if you create apps just as they want, and then, promote it…that too for free. If your apps are successful, you can show them off in your portfolio as well.
  9. Do not ignore general users – The end-users of an app are not your clients. There is no saying that they will never become a client in future though. If an app-user complains about a bug/usability issue in an application that your company has created – find out in detail about the problem, and guide the person with the requisite app troubleshooting steps. It all adds up towards building up a strong, positive reputation for your app development company.
  10. Take responsibility – App developers, graphic designers, animators – they are all human beings, and as they say, ‘to err is human’. If a glitch in your work is discovered and reported by the client, own up to it, and rectify it as soon as possible. There is always the temptation to hide behind a bunch of tech jargons (most of which would be beyond the client’s comprehension), and try to prove that the glitch is, ultimately, not your fault. It is always better to come clean, take full responsibility of your app projects, and not get into any sort of blame game (“My UI/UX designer had not consulted me while working on this layout”!). A sane client would appreciate your honesty, and your trust-factor would receive a boost.
  11. Inject a fun, interpersonal element – One of the biggest myths that heads of mobile app companies believe in is that, indulging in some small talk with clients is a ‘waste of time’. Nothing can be further from the truth. You need to present yourself as a ‘partner’, and not just a ‘pay us and we will make your app’ service provider. If an overseas client drops in at your office, take him/her shopping, plan a nice lunch (your wallet, please!), share some local information – to put him/her at ease. How about sending along ‘Happy Birthday’ and ‘Merry Christmas’ emails to clients? We feel that that would also be a great thing to do.
  12. Do not deliver on the pre-specified deadline – That’s because, your target should be on completing and delivering every mobile app at least a week before the schedule deadline (as mentioned in the app quote document). This would buy you just that extra bit of time to fix issues, if any, prior to the submission of the app at the store(s). Project delays and missed deadlines are surefire things to put clients off, and you should always stay at an arm’s length from such possibilities (presence of a large app development/designing team would help).
  13. Treat customer feedback as gold dust – If you feel what matters most is how you feel about an app – change your mindset. As developers, your job is to create iOS/Android applications as per the specifications of clients. Once you have built an app prototype, request your client to test it, and provide his/her feedback. If (s)he says that certain improvements are required (even if you feel they are not necessary), implement them. Provided that the overall app performance does not get hampered in any way, the opinion of clients should be given precedence. Always.
  14. Have a refund policy in place – Another factor that contributes to the trustability of your app development company. Make sure that your client has the option to ask for a full monetary refund, in case the app created by your developers is deemed to be unsatisfactory. It has been seen that the companies that offer such refund policies have the least probability of actually having to make such refunds. The reason is simple enough: you are absolutely confident about your app development services. Your clients will get the idea too.

 

Be on your best behavior while interacting with a client (a ‘Please’ here, a ‘Thank You’ there can work wonders). Be very careful about the proficiency of the coders, UI/UX designers and mobile app testers you induct in your workforce. After all, they are the ones who will determine whether you manage to live up to your promises to the client.

 

It’s high time indie app entrepreneurs and CEOs of mobile app companies stopped limiting themselves to delivering ‘customer satisfaction’. It’s all about having the ‘wow factor’ – it can make or break the fortunes of your company.

 

Okay, so that’s the ‘Teks-gyan’ we have to share in this week’s AppBoard Tuesday (ABT). On a personal front, we have started working on a couple of new app projects…and we are happy to report that clients have started requesting for customized WatchKit apps too. Wish us luck on what will be a new challenge for us.

 

We will return with yet another topic of interest related to mobile applications, in next week’s AppBoard Tuesday. Till then, take care, work well…and love thy apps!

 

 

Unity 5: 15 Features Game Developers Would Love

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 release of Unity 5 was one of the most noteworthy events during GDC 2015. In the following discussion, we will take you through some of the best new features in the latest iteration of the game engine.

 

This year’s Game Developers Conference (GDC), organized from the 2nd to the 6th of March, offered two key highlights for mobile game developers. As was widely expected, Unreal Engine 4.7 was announced (it is now free, apart from the 5% royalty fee). Unity Technologies had the perfect riposte to that, with the official release of Unity 5 – the game development engine everyone was looking forward to. It has been a somewhat delayed announcement, since app and game developers had been expecting the arrival of Unity 5 since late-2014. The initial reviews are uniformly positive, primarily due to the following interesting features of the engine:

 

  1. StateMachine Transitions – Unity 5 supports the addition of enhanced transitions from one StateMachine to another, with the help of the StateMachine Transition feature. The number of callbacks available in the set of StateMachine Behaviors have also been enhanced. Mobile app and game developers can now make use of callbacks like OnStateMachineEnter and OnStateMachineExit, to make their games more customized. The Animation.GetBehaviour() function is useful for organizing slide animations too.
  2. High-end audio options – Unity Technologies has really gone all out with the audio features of the fifth iteration of its popular game development framework. The option to add mixing graphs is a nice addition, with users now being able to master and mix sounds on a real-time basis. Ducking effects can be implemented with ease as well. Within a group, game developers using Unity 5 can also make ‘Sends’+ ‘Returns’. Custom snapshots can be created too, and there are additional options of organizing the mix in ‘Play Mode’.
  3. Free version = Full version – The absence of any form of royalties on Unity 5 is one of its highest points (and perhaps something that makes it more attractive to startup mobile app and game companies, than UE 4.7). Coders can now get all the features of the professional version of the engine in the Free edition, provided that their annual revenues from the game development business is under the mark of $100000. There is a Professional edition of Unity 5 still available, of course – which involves a monthly expense of $75. Unity Analytics Pro is one of the best features of the Pro version of Unity 5.
  4. Physical Shading – For independent game developers, the all-new Physical Shading feature of Unity 5 means that there is no need to learn up multiple shading languages. Single shades can be used in the latest iteration of the game engine, to create a vast range of effects – right from metal and skin, to hairy effects and wooden textures. Even if some slots do not have any textures, they are automatically optimized, to ensure continuity. The makers have clearly gone for a mix of realism and consistency with the Physical Shading feature, and it works like a charm.
  5. Enhanced platform support – The cross-platform mobile game development support feature of Unity has received a significant boost, with the arrival of Unity 5. The latter supports as many as 21 different platforms – and game developers can create high-end interactive elements (2D or 3D) on virtually any platform of their choice. In terms of sheer usability, this edition of the Unity engine scores over all its predecessors.
  6. Arrival of the 64-bit editor – For game developers working on Mac systems, Unity 5 comes with a multi-featured and user-friendly 64-bit editor (Windows users can still use the old 32-bit installer though). The one thing that users have to ensure is that all the native plugins being used are also of 64-bit (otherwise, compatibility issues would crop up). The revamped build system (AssetBundle) has built-in support for incremental builds. The dependency chain has been made more organized, with AssetBundle and AssetBundleManifest. The AssetBundle includes all ‘type trees’ as well.
  7. Interstitial content with Unity Cloud – For app companies which include ads in their mobile games, this is great news. The new and improved Unity Cloud on Unity 5 supports interstitial content, and ensures that third-party software development kits (SDKs) are not required for the creation of such advertisements. After publication, the ad content gets dynamically loaded – ensuring that the performance of the engine is not affected. Cross-promotion of mobile ads is a lot easier too. Cloud Build Pro is available on Unity 5 Personal Edition at $25 (per month).
  8. WebGL support instead of plugins – Admittedly, Unity 5 is on relatively shaky ground here – but if and when the WebGL support is activated on the game development framework, developers would be greatly convenienced. No longer would external plugins or players (the current Unity Player, while fairly reliable, can be susceptible to malware attacks from third-party software) be required. End-users will be able to play the games on any browser that has WebGL. At present, only Mozilla Firefox and Google Chrome is supported, but Unity Technologies would surely go for an expansion soon.
  9. Global Illumination, Real-Time – The visual brilliance of mobile games created with Unreal Engine 4 is well-documented. Unity 5 finally emerges as a worthy challenger in this regard, with the innovative real-time global illumination feature. Attractive and personalized lighting treatments can be added to games created for low-end gaming consoles as well as the latest mobile platforms. The detailing is of the highest order, and it allows game developers to really show off their dynamic, creative side.
  10. Skybox & HDR Workflow – The procedural skybox of Unity 5 enables game development experts to add directional lights to all new ‘scenes’. HDR textures can be used with the new Skybox shaders, while the ‘Inspector Preview’ option has also been given a lift. Textures saved in both .exr and .hdr formats are compatible with the HDR Workflow – and what’s more, they get encoded automatically to RGBM. Game developers can also drag-&-drop cubemap textures in the Scene View.
  11. Better Physics Engine – This is particularly important for 2D game developers. Version 3.3 of PhysX makes its debut on the Unity 5 engine, with the SDK of PhysX3 being used at the backend. Four different types of effectors are available on the new edition of Unity – Area Effector, Surface Effector, Point Effector and Platform Effector respectively. There are significant improvements in the wheel collider element (suspensions now seem much more real). For mobile app developers working on games that include characters moving quickly, the revamped Continuous Collision Detection feature comes in really handy. No longer would particles simply pass each other even after high-impact collisions!
  12. Real-Time/Baked Reflection Probes – With Unity 5, shiny, glossy surfaces be created by mobile app and game developers – thanks to the built-in Reflection Probe. This feature nicely complements the Physical Shading and RealTime Global Illumination of the engine. The procedure of working of the Reflection Probes is simple enough: pictures are captured and applied on surfaces that have reflective properties. On the flipside, using real-time Probes might just affect the performance of Unity 5 – and that’s precisely why developers have been given the option to go for baked Probes.
  13. Cool new animation effects – In addition to the StateMachine transitions (mentioned above), Unity 5 packs in several other powerful animation tools and features. Professional software developers and mobile game animators have identified Transition Interruption, Root Motion Authoring, and Linear Velocity Blending as the best new additions to the game engine. The Previewer Camera has been armed with Scale, Orbit and Pan functionality. Developers can perform edits directly on AnimationEvents (runtime editing). There is a new Animator Gizmo as well, while the older Atomic transition setting has been done away with.
  14. Support for IL2CPP technology – To ensure top-notch native development experience, Unity Technologies has introduced a new technology – called ‘Intermediate Language To C Plus Plus’. This tool automatically renders all scripted assemblies to the C++ programming language. At GDC 2015, it was mentioned that IL2CPP will, to start off with, be available only for WebGL and iOS game developers. Support will be extended to all the other platforms gradually.
  15. Cloud Building – Unity 5 allows users to save their projects in three alternative source control repositories – Perforce, Git and Subversion. Teamwork is, in particular, facilitated – since the Cloud Build tool generates emails to all developers involved, whenever a project is edited and a copy of it is saved in the cloud (this happens automatically). 1 GB of Cloud Build space is available for free to developers, while paid versions (for larger projects) are also available.

One of the best things about Unity 5 is that it can be used simultaneously with the previous edition of the engine, Unity 4 (the folder, of course, has to be renamed). Frame Debugging, Version Control and the Timeline Profiler view are some other cool new additions in Unity 5. XIB launch screens (iOS) are supported, as is the fullscreen mode of Android 4.4 KitKat. There have been major overhauls in the Unity game development engine, and all the changes seem geared towards making it more efficient and user-friendly than ever before.

 

14 Reasons Why Apple Watch Won’t Go The Google Glass Way

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

Less than a year ago, Google Glass was seemingly doing great. At a 1-day sale organized in April 2014, Glass was reportedly sold out. A month later, images of Roger Federer sporting Google Glass started doing the rounds on the internet – fueling public interest further. And then, the tables turned – sale figures tapered off (they were nothing great to start off with), and although Google does not reveal actual sales figures of its products, Glass has been acknowledged as one of biggest tech flops since the turn of the century.

 

Apple Watch, which would probably rank even higher in terms of hype in the domain of wearable technology, is slated to start shipping from 24 April. General tech enthusiasts, software experts and app developers have a common query: Will Watch’s fate be similar as that of Google Glass? We will here point out why that is not likely to be the case:

  1. Less emphasis on technology – Glass was about technology, and Watch is also about high-end technology. However, there is an important difference between the two. While Google chose to highlight the tech features of Glass, Apple has been raving more about how Watch would double up as a fashion accessory as well (the Gold Edition, anyone?). Not naming the product a smartwatch, or iWatch, has also been a smart move. Unlike Google, Apple has not assumed that technology would automatically appeal to potential buyers.
  2. Support of a paired device – To use Watch, it has to be paired with a compatible iPhone (read: iPhone 5 or higher). This, according to mobile software and app development experts, is a major support. People have a clear idea about how Watch apps would work (with the WatchKit extension). Google Glass was a standalone wearable gadget, and all that people knew about it was that it offered augmented reality views.
  3. Elegance vs Awkwardness – With all due respect to the designers of Google Glass, it has to be said that the thing made wearers look like thoroughbred geeks. On the other hand, Apple Watch (all the three editions) is high on the glamour/prettiness counts, and would take up the style quotient of users by a couple of notches. It’s only natural that the latter would appeal to general users more.
  4. Watch would not interfere with people’s lives – Earlier this year, Phil Schiller, the marketing head at Apple Inc., came out with a statement that he had a hunch that Glass would flop. The ever-interfering nature of Glass is one of the key causes behind this belief. People gradually fell out of love with the concept that they would be continually filmed by Glass, and understandably, moved away from it. There has been no indications (till now at least) that Watch would ‘disturb’ people in any such manner. Wearers won’t have to worry about invasion of privacy.
  5. Non-intrusive vs Intrusive – Let’s follow up the previous point a bit further. Google Glass, for all its technological excellence, was heavily intrusive in nature. Right from early adopters of Glass to Android app developers, everyone talked about how Glass offered weather information whenever a wearer looked up at the sky, or displayed maps as soon as (s)he viewed any particular road. The problem was, such information was being ‘pushed’ to users, even when the latter did not want/need it. Contrast that with Watch, on which third-party apps, created by WatchKit developers, can be installed. People can activate and use the apps, and avail the benefits of Glances/Notifications WHEN they require. At all other times, Watch will be…just a snazzy wristwatch.
  6. And then…there was the idea of attaching a mini-computer to the face – Hardcore UI/UX designers working on the Android platform might disagree, but Google Glass was too chunky a device to succeed in the long-run. In effect, it was a mini-computer that had to be attached to the user’s face. Sites could be browsed and views changed by flicking the screen from the outside…which was plain ridiculous. In comparison, the taptic engine of Watch (which would generate haptic feedback on a real-time basis) is much smarter and sophisticated. The incompatibility of several popular websites with Glass further compounded the problem for Google.
  7. Contrasting app scenarios – iOS app developers have correctly pointed out that strong app support would be key to the success of Apple Watch. The Cupertino company is obviously aware of this – given the sheer range of applications that are embedded in the smartwatch. In addition to taking calls and viewing messages, Watch apps would help users monitor their activities, check in hotel rooms and airports, and even share images. The first set of 3rd party Watch applications has also been released. Google Glass had no real app-support to speak of, and that definitely hurt.
  8. Not releasing Glass in stages – Google Glass had too many features – and since initial ‘Explorers’ did not know much about the gadget – it was all too overwhelming for them. The smart approach would have been launching a basic version of Glass first, with only a few elementary features. Google could have then proceeded with more advanced versions. Tim Cook and Johnny Ive have definitely taken a cue from this, and have created the introductory version of Watch as a fashionable timepiece which supports a fairly wide range of WatchKit apps. If the sales are robust enough, a newer, more advanced edition of Watch might be announced. The iPhone had also not been released in stages – but then, it was a revolutionary device, unlike Glass.
  9. Much more pleasing to the eye – Apple Watch may or may not turn out to be the absolute marvel it is being hyped to be, but the hard work and innovative thinking gone in for designing it is pretty much evident. The Digital Crown is a lovely addition, and is high on usability. Software and mobile app developers feel that the Cupertino company clearly wants Watch to become a mainstream device – something that Google did not probably intend Glass to become. How else can you explain the jagged edges and riffs, and the uncomfortable-looking frames (the initial lot did not even have lenses). It’s still cool to say “I am wearing Glass” to anyone who is listening – but there is not much in the way of visual excellence in it to boast of.
  10. The ‘first-mover advantage’ factor – Google Glass had that much-sought-after ‘first mover advantage’, and that mostly backfired. Since people had not come across a similar smart device before it, there was lack of information – leading up to low interest levels. In stark contrast, Apple has willingly given up the first-mover advantage position (there already exists plenty of Android smartwatches, although none of them are very successful). The opportunity has opened up for Apple to take wearable technology to the next level, prove its superiority, and show the world that the company is in good hands in the post-Jobs era.
  11. Watch is not an ‘incomplete’ product – Until Apple’s ‘Spring Forward’ event on March 9, no one was sure about the launch date of Watch. During the iPhone 6 launch event last September, only the first look of Tim Cook’s ‘one more thing’ was revealed. Apple has not been in any hurry to bring Watch to the market – which, unfortunately, cannot be said for Glass. On the 19th of March, Vanity Fair ran a report in which Astro Teller, the maker of Google Glass, admitted that the device was ‘incomplete’ when it was first released. This was what app developers and software testers have been saying for months. Watch, on the other hand, has been willingly delayed, and all probable issues with it ironed out prior to release.
  12. The price barrier – Apple (with the exception of the disappointing iPhone 5C) has never bothered to position its products as anything but ‘premium’ devices. Watch carries on that tradition, with its cheapest version bearing a price tag of $ 349 (the Gold Edition will cost more than $10000). However, at least on the lower end, these figures appear small in comparison with the price of Google Glass – which was available for developers and explorers at $1500. Maybe, just maybe, the consumer edition of Glass would have been a tad cheaper, but we’ll never find that out now.
  13. Chances of greater adoption – Provided that a user owns an iPhone (if (s)he doesn’t, there is no point in buying Watch), the smartwatch can easily substitute his/her regular wristwatch. Of course, if something is constantly on the wrist, chances of wearers having glances at it and interacting with it become higher. Google Glass was not substituting any other thing of everyday use. Clearly, users did not have the reason to wear it (and keep it on) frequently enough.
  14. Better marketing strategy – Apple is a past-master at building up curiosity levels about its new products. The way in which it has released information about Watch in stages is a classic example of that. Google, on its part, made the tech-features of Glass the most highlighted point in the latter’s marketing campaigns. Glass was acknowledged as one the top inventions of 2012 – tech geeks and select software/app developers liked it – but general users never quite warmed up to it. If a new version of Glass ever comes out (it’s a big ‘if’), the promotions would surely be more customer-oriented.

 

While Apple Watch should do way better than Google Glass in terms of acceptance and sales, WatchKit developers and market analysts feel that the BMO forecast of 19 million unit sales (in 2015) is a bit far-fetched. Of course, if Watch does not become the roaring success Tim Cook is praying it to be, Apple would not be seriously inconvenienced (it will always have the superstrong revenue stream from iPhones). The world is waiting for Apple Watch…and we will soon know if the ‘time is right’ for it!

AppBoard Tuesday – What Makes An App Company Stand Out?

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

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

There are close to 700000 mobile app developers (including freelance developers) in Asia alone. If you think that’s a stunning figure, check this out – the total count of app developers across the globe is just a shade under 2.5 million. Many of them have been in this business for years, and have moved on to entrepreneurial roles in their respective companies. It’s, in essence, a crowd out there – and the challenge for any app development company is to stand out from it, to capture and maintain a steady clientele. How to do this? By following a few basic rules, which form the crux of the discussion in this week’s AppBoard Tuesday (ABT):

  1. Promptness in dealing with prospective clients – The good ol’ adage ‘first impression is the best impression’ holds true for the business domain too. When someone submits an app idea and asks for a free app quote, you should provide it within a maximum of 24 working hours (in fact, that’s sort of a standard). The more you delay, the greater is the chance of the concerned client slipping away to another mobile app company. There is no dearth of them, you see!
  2. Maximize chances of discovery – This is where the power of the internet comes into the picture. Admittedly, any app development company worth its salt will have its own website – but not all such sites are optimized properly. Do some research on the type of words/queries used by people while searching for app developers, and create your site content accordingly (do not, however, start spamming!). A strong online presence can do wonders for your business.
  3. Showcase your work – How would a new client know that your company has the necessary relevant experience and technical expertise to handle his/her project? That’s right, by browsing through the apps you have already churned out. Make sure people can check out the iOS apps and Android apps in your portfolio (from your website, on your social media pages, on app review portals, on request, etc.). If yours is a new company, create a few in-house apps with the latest technology. Your work should speak about your expertise – you need not make a separate song-n-dance about it.
  4. Learn, learn, and then, learn some more – The field of mobile app development is in a state of flux, and it always shall be. New programming languages (Swift 1.2 is out now), frameworks (have you checked out Xcode 6.3 beta 3?), game development engines (everyone’s talking about Unreal Engine 4.7), SDKs (beta of iOS 8.3 is available too), and other such tech stuff are regularly being launched. Add to that the scores of smartphones/phablets (mostly Android) that hit the markets every quarter. You and your team of developers need to constantly stay updated about all that is happening, related (in any way) to the creation of mobile apps. If your knowledge base is static, you will drown in the competition.
  5. Transparency is the best policy – Wouldn’t it be just great if you could earn a few extra dollars from each of your app projects, by adding some hidden clauses in your terms of service (say, selling of intellectual property rights)? How about charging a fee for giving out app quotes? Attractive as these ideas might seem on paper, they are sureshot recipes for ushering in business failure. Yet another poor strategy practiced by many mobile app agencies is charging a certain amount for app upgrades. Make sure that your terms and conditions are user-friendly (no big jargons please!), there are no hidden costs involved, and you are prepared to sign non-competing agreements (if required). The trust-factor is vital, and you can flout it only at your own peril.
  6. Keep your promises – It’s all very well to tell a client that your company will finish his/her app development project in 10 days flat. What if you cannot keep your word, and the project gets delayed? That will lead to two things: a) a loss of face for you, the app entrepreneur, and b) the loss of that client (rest assured, (s)he will never contact you for another project). Make promises that you know you can keep – and do not go overboard in your endeavor to impress clients. Sincerity, rather than hollow tall claims, is the most sought-after virtue.
  7. The cost factor – Well, you cannot do much about it. Making an iPhone app or an Android app involves fairly large expenses (that for the former being higher), and there is no way on earth that you can cost-cut your competitors to any significant extent. What’s more – your company won’t survive for long, if you keep taking up projects, and incur losses on them. What you can do is let your clients select from alternative budget plans for their projects. That way, people will be able to choose the expense slab that suits them the best, and not turn away because your app-making service is ‘too expensive’.
  8. Work with your clients – It’s normal practice for many mobile app companies to provide quotes, take up projects, and deliver the app after a certain interval (weeks, a couple of months, whatever). The poor client is practically shunted out from the actual process of app creation – something that the more discerning clients will surely not like. Be more ‘open’ about your activities, and make clients, in effect, a part of your team of developers. Share wireframes and mockups, and seek feedback and additional recommendations (if any). At every step, make your clients feel that they can jump in with suggestions and ideas. After all, they are the ones paying!
  9. Focus on innovation – There is a reason why an iOS app company is different from, say, a packaging firm. You should never treat projects as stuff coming along on a virtual assembly line/conveyor belt – finish the first as soon as possible, and move on to the next. Conduct intense brainstorming sessions for each project, and find out how you can address the requirements specified by the client AND add a touch of innovative feel in the app. There are thousands of companies that develop apps in the run-of-the-mill way…your services need to have a fresh, different feel.
  10. Create teams and train your staff – If your company is into making apps for multiple platforms (cross-platform is, indeed, the way to go), you need to have separate teams for Android and iOS app development. They are different specialized domains, and the training you need to provide to the two teams are not at all identical (for starters, it’s Xcode for iOS apps and Eclipse/Android Studio for Android apps). In addition, recruit a separate team of UI/UX designers, graphic artists and animators. You know what they say about coders not being the most creative of people!
  11. Participate in events and app competitions – Let’s cite the example of one of our own apps – Story Time For Kids – here. It bagged the Adobe Flash Summit award in 2012, was shortlisted at mBillionth South Asia Awards 2014, and has won a couple of other prestigious awards. That, in turn, has bolstered its popularity significantly. A travel app – Stopover – won big at Talent Unleashed Awards last year. Participate in as many such competitions as possible, and submit your best apps. If you manage to win, nothing like it. Even if you don’t, the additional publicity won’t hurt.
  12. Keep people happy – The more smiling faces you have in your company – the better would be its long-run prospects. Focus on two things: offering complete customer-satisfaction by providing app development services of the highest quality; and maintaining a healthy, enjoyable work-environment, in which your staff would love to work. Recruiting good app developers is tough enough, and retaining them is a challenge that you have to manage. You certainly do not  want to invest time and money to train new recruits, only for them to leave your company after a couple of months.

These points, if followed properly, should give your company the room to compete on an even keel with your rivals. Whether you succeed in the long-run or not would, of course, depend on the quality of mobile applications you make. It’s not a walk in the park to make a mark in the fiercely competitive world of mobile app development – but having the right infrastructure and following the best practices would certainly put you on the right path.

 

With that, let’s wrap up yet another edition of AppBoard Tuesday (ABT). If you are new to the app development business and are looking for some tips and guidelines, do write in to us. Feel that there is any other rule of thumb that app companies need to follow? Share it with us too.

 

ABT will be back next Tuesday, with yet another interesting topic related to…what else…mobile apps. Till the next time, love thy apps!

Xcode 6.3: What’s New In It For iOS 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

The third beta of Xcode 6.3 was released on March 12. The IDE offers several handy new features, and fixes a fair few issues with its earlier versions too. Let us have a look-see of the main points of interest in the new Xcode version.

 Xcode 6.3 features

 

About a week back, Apple seeded the third beta of Xcode 6.3 to developers. The initial feedback has been favorable, with many of the new features in the latest version of the integrated development environment coming in for particular praise. The general consensus seems to be, Xcode 6.3 (with Swift 1.2) is going to make iPhone app development easier and more streamlined. In this discussion, we will take a tour through the best new features in Xcode 6.3:

 

  1. Updated compiler functionality – Version 6.1 of the LLVM compiler has been built into the Xcode 6.3 environment. iOS developers would get greater convenience while working with the arm64 architecture. The vector intrinsics system has also been tweaked around, to suit the specifications of the ARM compiler. The option of automatic generation of warning diagnostics is a nice addition as well.
  2. Swift Migrator tool – For Mac and iOS app developers working with Xcode 6.1.1 and Swift 1.0/1.1, this is a very useful feature. The Swift Migrator allows coders to seamlessly port their source codes to Swift 1.2 – without any risks of loss of unsaved data. All that users have to do is click on Edit → Convert → To Swift 1.2.
  3. Language enhancements for Objective-C – Xcode 6.3 comes with significant language enhancements for Objective-C (a further proof that Apple has no plans to phase out the language anytime soon). The new version of the Xcode IDE supports the ‘nullability’ feature – which enables programmers to declare variables, parameters and return types with greater flexibility. Block pointers and C pointers can also be used along with the nullability qualifiers. What’s more, addition of ‘nullability’ to the Obj-C API does not, in any way, affect the process of code-generation by the compiler.
  4. Rectified Interface Builder – A common complaint among Mac/iPhone app development experts about the earlier betas of Xcode 6.3 was the random misalignment of the different ‘Views’. Xcode 6.3 beta 3 ensures that all ‘Views’ have built-in autoresizing masks. Since they are now stored inside the class references (NSScrollView, UITableView, etc.), there are no chances of misalignment either. Clearly, the developers at Apple have paid heed to the early feedback from Xcode-users.
  5. Improved debugger functionality – Mobile app testing is likely to become simpler, quicker and more foolproof in the Xcode 6.3 framework. Every expression in Objective-C, C and C++ are evaluated in it by a default prototype (for printf ()). The new LLDB setup makes the overall testing/debugging experience on arm64 devices more efficient. The only thing iOS developers working with the latest version of Xcode have to be wary of is the declaration of conflicting printf (), which would generate errors in .lldbinit.
  6. Language enhancements for Swift – Xcode 6.3 offers coders the first feel of Swift 1.2, and has a host of new enhancements for the already-popular programming language. Targets can now be built incrementally, which ensures that each and every source file in Swift does not have to be rebuilt (as was the case in the earlier Swift versions). Multiple optionals can also be tested with the ‘if let’ construct, in Xcode 6.3/Swift 1.2. Coders from iOS app companies have also pointed out the new Set data structure (which can be bridged with NSSet) as an important addition to the overall Xcode playground. The new data structure supports full value semantics, and makes the usage of unique elements in app codes easier.
  7. Smooth exporting of Swift enums – Swift had always been positioned as a language which can work concurrently with Objective-C, and here is another proof of that. Xcode 6.3 beta 3 introduces a new functionality – that of exporting Swift enums to an Objective-C platform. The @objc attribute has to be used for this purpose. In Objective-C, enums do not have the ‘namespacing’ feature. This, in turn, makes it mandatory for developers coding for iOS apps to concatenate the name and case of every Swift enum, before exporting it to Obj-C.
  8. Runtime discrepancy detection – Another high point of Swift 1.2 in Xcode 6.3 is the language’s ability to automatically detect the the difference between ‘overriding’ and ‘overloading’ in the type system of Swift. Since the discrepancy is detected in the runtime environment, chances of bugs and errors staying undetected are minimized. For instance, conflicts between a ‘setProperty’ method and the ‘property’ setter (in Objective-C) can now be diagnosed and corrected on a real-time basis.
  9. Arrival of dynamic casts – The new version of the Xcode environment has finally made dynamic casts completely compatible with all protocol types declared in Swift. There is one condition though: the protocol types to be included in dynamic casts cannot have any additional associated types. Mobile app developers and coders have reported that including conformances (with a ‘struct point’) into the Xcode Playground has become simpler as well.
  10. More predictability and stability in Swift – The option of converting bridged classes from Objective-C to matching value types in Swift (e.g., ‘NSDictionary’ to ‘Dictionary’, or ‘NSString’ to ‘String’) has been done away with in Xcode 6.3 beta 3. Reports from Mac/iOS app development forums suggested that such implicit conversions caused uncertainties regarding Swift outputs. With that now gone, developers can now code with greater certainty.
  11. Better handling of unowned references – Swift objects that were inherited from Objective-C were often the cause of sudden runtime crashes. The same can be said about most types of unowned references in Obj-C. That, much to the delight of software and app developers, is no longer a concern. Even when the coder deallocates the object that is holding an unowned reference, the entire program will not crash. One less thing for developers to worry about!
  12. Changes in the Intrinsics of ARM64 – The way in which arguments are ordered in the Xcode IDE has undergone a thorough change. The good thing is, coders can move over to the new behavior easily – and as soon as they set the value of USE_CORRECT_VFMA_INTRINSICS to ‘1’, the compiler will be instantly intimated about it. Keeping the value to ‘0’ implies that the old behavior is being retained. According to experts in the domain of Xcode programming and iOS app development, adopting the new behavior ensures that proper runtime warnings are generated (conversely, warnings are muted if the value is ‘0’). These changes affect all arm64 vfma intrinsics.
  13. No crashes due to subclasses – Another nice advancement to Swift that Xcode 6.3 brings to the table. Unlike the case in the earlier versions of the IDE, subclasses can safely be declared in Xcode 6.3 (in Optional Types), that have contravariance or covariance specifications. App code testers have confirmed that such subclasses are not likely to cause crashes at runtime.
  14. Conversion of NS_ENUM from raw integers – Professional iOS/Mac developers no longer have to rely on the ‘unsafeBitCast’ method to convert raw integer values to NS_ENUM types. Even a type that has an undocumented value (for example, UIViewAnimationCurve) can be successfully generated from its original raw integer value. There is a separate initializer – init (rawValue:) – for this task.

The new crash reporting system in Xcode 6.3 (available in beta 2) is yet another important addition to the IDE. The reports from unsuccessful NSClassFromString lookups can be compared with nil, without any random results being generated. The standardization of the class and struct initializers is yet another thing that makes the life of iOS app coders easier. The iOS 8.3 beta 3 SDK has also been included in the third beta of Xcode 6.3.

 

All things said, Xcode 6.3 is still in the beta stage – and more changes are likely to be made, before its final release. There still remain niggling problems with WatchKit project management, as well as the general IDE templates. Once those are ironed out, Xcode 6.3 can indeed become a truly great upgrade for iOS developers.

Apple WWDC 2015: 14 Expected Announcements

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 2015 edition of Apple World Wide Developer Conference will be held at the Moscone (West) Center, from 8-12 June. In what follows, we have highlighted some likely announcements and other happenings at the widely anticipated event.

 

Apple’s ‘Spring Forward’ event, held on March 9, provided all the information one needed about the soon-to-release Apple Watch (shipments start on April 24). However, general Apple fanboys/girls, tech enthusiasts as well as professional software and app developers had expected some announcements about a new Beats music service, or a revamped Apple TV hardware – none of which were mentioned at the event. All eyes are now on Apple’s annual conference – the World Wide Developers’ Conference – scheduled to be held from the 8th to the 12th of June. Here are some announcements that are likely to be made at WWDC 2015:

 

  1. OS X 10.11 – Speculations are rife among developers and techies alike as to what the name of the new Mac operating system would be. One thing is fairly certain though – the successor of ‘Yosemite’ would be unveiled at this year’s WWDC. Ever since 2011, Apple has announced a new version of OS X at its annual conference, and the trend would – in all likelihood – continue. It remains to be seen what new features the new OS comes with, and whether Apple tweaks around with some of the best features of OS X Yosemite, like AirDrop. Oh, and Apple does not have any more ‘big cats’ to name its OS after either!
  2. New music streaming tool – It has been over seven months since the much-publicized Apple-Beats deal, and till date, the Cupertino company has not talked much about it. Expect things to finally change this year, with everyone looking forward to a totally revamped Beats music streaming service being announced. Ian Rogers and Jimmy Iovine are likely to be present at the event (well, they were there at ‘Spring Forward’ too) – and they would probably do the honours.
  3. iOS 9 – Much like OS X, the arrival of a new iOS version has become a signature event at WWDCs over the years. iPhone app developers and mobile software analysts are fairly sure that the first look of iOS 9 would be displayed at WWDC 2015. With iOS 8 (along with its updates) being a rather problematic update, Apple is likely to focus more on the stability, reliability and optimization features of iOS 9. It will not be about many revolutionary new functionalities this time.
  4. Apple TV hardware – If the reports published in ‘The Wall Street Journal’ are anything to go by, this is another of the likely announcements at WWDC 2015. Apple has already started collaborations with CBS, ABC, Fox and several other television content providers, and can launch a new-look Apple TV this year. At the March 9 event, Tim Cook had talked about a new channel on Apple TV (HBO Now), as well as a significant price slash – and a new hardware setup won’t come as a surprise. The new Apple TV hardware would stream around 25 channels. The monthly subscription charge will hover around the $40 mark.
  5. iPad Pro – There used to be a time when new flagship iPads were displayed at WWDC events (remember iPad 3?). While not a sureshot thing, there is a chance that Apple would come up with the rumored iPad Pro at this year’s developer conference. As per early reports, the iPad Pro is going to have a larger screen display (12.9 inches?) than the new iPad Air. Reports from online iOS app development forums suggest that Apple is already at the final stages of creating iPad Pro – and it might very well debut in June.
  6. Lots of graphs and stats – Announcements at Apple conferences are not limited to new products and software. It was something of a surprise when Tim Cook and his team did not come up with stats and figures and charts at the ‘Spring Forward’ event, reiterating the company’s superiority. Professional iPhone app developers feel that the grander WWDC platform would give the Cupertino company ample opportunities to show off such slides and stats. Craig Federighi will probably be his usual witty self – and don’t be surprised if a few potshots are aimed at Google.
  7. A new iPhone – Okay, this one is a fairly long shot, given that Apple has more or less made a habit of announcing new flagship iPhones in September. However, things weren’t always so – and both iPhone 3G and iPhone 4 were first announced in June. There is just a slim chance that Apple with go for iPhone 6C/6S at this year’s WWDC, before announcing iPhone 7 at its September event. It is an outside chance, but it cannot be totally ruled out either.
  8. Programming tips and guidelines – One of the biggest highlights of WWDC 2014 was the release of Swift programming language. This year, mobile app developers can look forward to in-depth support and pointers for app coding with Swift 1.2. There will not be any new programming languages though (Objective-C is more than 30 years old!). It would be all about familiarizing the attending app developers with Swift – the language touted as the ‘future of iOS app coding’.
  9. More for the developers – There will be scores of media personnel at WWDC 2015 (as is the case every year). While they would have plenty to write about iOS 9 and OS X 10.11 and, if released, the iPad Pro – the conference would, in general, have a technical perspective (after all, it is a developers’ conference). Discussions about app coding nitty-gritty, and the specs of the new software tools unveiled at the show will take centerstage. Everything else would be, in effect, add-ons.
  10. A Macbook Pro, maybe? – Most software experts and app developers had expected the 12” Macbook Air (with Retina display) to be showcased at the WWDC. Apple sprung a minor surprise by bringing it forward to the March 9 event. That, in effect, has created an opportunity for Apple to showcase an all-new MacBook Pro in June. The Mac Pro was unveiled as recently as the 2013 WWDC, and it won’t be a major surprise if Apple released another new MacBook at this year’s WWDC too.
  11. More about Apple Watch – Arguably the biggest question about Apple Watch – its battery life – has been answered at the March 9 ‘Spring Forward’ event. However, there are still uncertainties among general people as well as even third-party WatchKit developers as to ‘why’ users would actually need the new smartwatch. At WWDC, there is every chance that Tim Cook and Jonathan Ive would elaborate on the specific ‘selling-points’ of Watch. The commercial fate of Watch is the acid test of Apple’s capacity to innovate in the post-Jobs era. Rest assured that the company will be doing its best to popularize the device, as well as collect early feedback from users.
  12. Third-party apps being showcased – This would be a dream come true for any third-party mobile app developer. Although no such external developers were called onstage during Apple’s March event, there is a fair chance that a few such developers would be called on at WWDC 2015. The rationale behind this is simple – the more apps developers are able to create for Apple Watch, the more attractive/usable it would appear for final users.
  13. Something about iTunes Radio – It has been a year and a half already, and iTunes Radio is still not the roaring success that many had envisaged it to be. With an all-new Beats music streaming service likely to be announced at this edition of WWDC, there is considerable curiosity regarding the fate of iTunes Radio. Tim Cook and his team might just drop hints about how they plan to improve the reception of iTunes Radio. Chances of pulling the plug on it are very slim though.
  14. Celebrity events – U2 performed live at the iPhone 6/6 Plus launch event, Christy Turlington Burns dropped in at Apple’s ‘Spring Forward’ 2015, and there would almost surely be a touch of glitz and glamour at the WWDC too. For instance, it would be only appropriate if the launch of the revamped Beats music service is done by an internationally recognized star from the world of music. Cue for Taylor Swift to make an appearance?

 

Apart from the new versions of OS X and iOS, nothing is known for certain about the itinerary of WWDC 2015 yet. Last year, Apple offered a fair few surprises – like HealthKit and the new Photos application. Delegates from the concurrent Design Automation Conference might also be dropping in. Just like 2014, tickets for WWDC 2015 will be available through a lottery, which will be held in early-April. Over 5000 developers are expected to be in attendance, and Apple will probably keep the ticket price at $1599. These are mostly speculations at present – and it would be fascinating to see how many of these actually materialize at the biggest Apple event of the year.

 

What do you feel will be biggest highlight of WWDC 2015?

 

AppBoard Tuesday: Wish To Become A Mobile App Developer?

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

Last Friday, we chanced upon an interesting stat while doing some research work on the web. In 2014, the total number of online queries for Android app development training surged by over 170% (in India), compared to the previous year. There has been a rapid rise in pursuing careers as iOS developers as well (if anything, iOS developers earn more than Android-only professionals). This escalating interest in becoming full-time mobile app developers has certainly kept pace with the rapidly spiralling demand for and download count of applications (projected to touch 66 billion by the end of 2016). This week’s AppBoard Tuesday (ABT) comes with handy tips and pointers for all the aspiring mobile app developers out there. Read on:

  1. Get the right technical training – Over the last 12 months, the total number of enrollments in AutoCAD course have more than doubled. In general too, to become a master at mobile app development, you need to have the right certifications. Get into a B.Tech or MCA course from a recognized university, and gather as much knowledge about coding techniques and languages as possible. There are several institutions offering graduation courses in computer science too. You can go for that as well.
  2. Speak the languages – There is nothing like ‘I want to make iOS apps, so I only need to know Objective-C/Swift’. Your focus, as a student, should be on learning as many programming languages as possible. Java, C++, C#, Objective-C, Swift, HTML5 – do not leave out any of the popular languages used for mobile app coding. Later on, you can always choose an area of specialization, and learn more about one particular language.
  3. Be aware of the frameworks – Every mobile platform has app development frameworks and SDKs. You need to have a working knowledge of each of them. For those who wish to become Android developers, in-depth knowledge of Eclipse and Google Android Studio is an absolute must. If iOS app development is what you are more interested in, get familiar with the latest version of Xcode (version 6.3 beta is available for download). In addition, learn how to work with cross-platform app development frameworks (e.g., Xamarin or PhoneGap). Your objective should be on being able to develop for all platforms. Why limit your skill set?
  4. Don’t worry about the age-factor – There is no ‘right age’ for becoming an app developer (of course, if you are on the wrong side of the 40s, that’s another matter!). More often than not, mobile app companies prefer taking candidates with a couple of years of relevant experience onboard, instead of hiring absolute freshers. You need to complete your academic courses, get the requisite training, and then look for a good opening. If it takes a year or two more, so be it.
  5. Think like a general app-user – In the myriad of coding languages and wireframing and app prototyping, many new app developers neglect the aspect of user-experience that their software provides. Remember, those who download/buy apps from stores are not interested to know the level of coding expertise gone into making them. What they want is an app that is user-friendly, fast, and solves a precise purpose (for instance, educational app for kids, or a personal mobile finance app, or a gaming app). You will have to an expert programmer, but do not lose your ability to think and view your own apps as a normal end-user.
  6. Don’t dream of getting rich overnight – The days when the revenue share of app developers (before Apple App Store was launched) was a measly 30% are long gone. The total revenue from apps are expected to reach $50 billion by 2016. However, the reality remains that new developers have precious little chances of getting rich overnight. Unless you are some sort of an absolute genius, you will face failures, before finally being able to successfully create your first app. According to a survey conducted in the UK, most apps struggle to cover their total development costs – which, in turn, paints a rather bleak picture for developers. The secret lies in sticking to the job, learning as much as possible, and gaining valuable experience. As your app-making skills become proficient, your earnings would increase. You can even start working as a freelance/indie mobile app entrepreneur.
  7. Do you wish to be a developer or a designer? – You can become either, but not both. If you interests lie in the direction of mobile app development per se – don’t try to learn up graphic designing techniques, animation methods and other elements of UI/UX designing for mobile apps as well. Any self-respecting mobile app company has separate teams of graphic designers, with whom you would have to collaborate. In any case, there is an old adage about developers not being good designers, and graphic artists being poor in terms of programming expertise. You want to code for apps – focus on that.
  8. Dedicated app development training helps – Once your mainstream tech courses are complete, look out for specialized mobile app development training courses (many institutes across the world offer them). Although not absolutely necessary, these courses help students in getting a first-hand feel of mobile platforms, app development frameworks, and platform APIs. After the completion of classroom training (usually takes around 3 months), you will be asked to create a mobile app within a pre-specified time-span. It would be a good way to start out in this field.
  9. Startups are good places to join – If you manage to bag a job at a multinational mobile app firm rightaway, nothing like it. But, there is nothing to frown at startup companies either. The average annual compensation levels might be on the lower side, but you will get more scopes for on-the-job training. What’s more, many of these startup app companies are helmed by developers with many years of experience – and their guidance will stand you in good stead. If you spend a few years in a small company learning the tricks of the trade, moving on to a bigger company would become that much easier.
  10. Think futuristic – The world of mobile computing is in a constant change of flux. New frameworks, SDKs, app development tools, and devices are being released with remarkable regularity. At present, all the craze among iOS app developers is with WatchKit – the tool to create third-party apps for Apple Watch. To become a successful app developer, you need to keep a tab on the latest trends, types, methods and channels for development. Something that worked well five years back might have become totally obsolete now.

Recruiters from top mobile app companies confirm that there is, generally, a gap between the theoretical knowledge base of candidates and the type of expertise they are looking for. This is where the importance of modular app development training courses come into the picture. Although iOS and Android do not have any such special certification programs (Microsoft has one), it is always possible to join an institute and learn the nitty-gritty of mobile app development. That would make it easier to grasp platform-specific knowledge later on.

 

The scope of career growth for a mobile app developer is tremendous. If you are good at your job, and are not shy of putting in hard yards – your pay package might very well double within 3-4 years. In the field of information technology, app-making is one of the most exciting career opportunities, with new challenges and lucrative rewards. Provided you have the necessary expertise, you can really soar in this profession. All the very best!

 

Okie-dokie…that’s all we have in this edition of AppBoard Tuesday. We are toying with the idea of launching a nationwide contest for app ideas later this year – let’s see what comes out of that. On the app front, Drift Keyboard, App Bottles and BabySitter are two new projects we are working on. Prince Of Asia, a delightful fantasy-adventure mobile game, will also be launched soon.

 

AppBoard will be back next Tuesday (no surprises there!), with another new topic related to mobile applications. Have a topic in mind? If yes, do write in to us – and we will certainly cover it. Stay well till next time…and…you know this by now…love thy apps!

 

Eclipse vs Android Studio: Which IDE Is Better For Android 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

Eclipse has been, for years now, the preferred integrated development environment (IDE) for Android developers. However, it is currently facing serious competition from Google’s very own Android Studio. Let us here pit the two IDEs against each other, and try to identify the better one.

 

It has been an exciting couple of months for Android app and software developers. In January, the latest version of Eclipse (probably the Java IDE with the largest user-base worldwide) – Eclipse Luna (4.4.2) – was released. Fast forward another month, and app developers got the new stable version of Google’s Android Studio (v.1.1). There is a general feel that Android Studio is gradually ‘eclipsing’ the popularity of Eclipse – thanks to its greater user-friendly nature. We will here do an Eclipse vs Android Studio comparative study based on a few key parameters, and find out which one comes out on top:

 

  1. User interface (UI) – First things first, Eclipse, unlike Android Studio, is not a native Android IDE (it is a Java IDE and is compatible with multiple platforms). Hence, it is not surprising that its overall interface layout (buttons and tabs and general navigation) is just that bit more complicated than that of Android Studio. First-time Android app developers, in particular, would find the newer IDE easier and quicker to get a hang of. Eclipse with Android plugin is not bad or anything – its just that learning it properly requires more time.
  2. Apache Ant vs Gradle – Java developers with at least some experience would be familiar with the Apache Ant build system, which Eclipse comes with (via a plugin). Ant is based on XML, and ranks high on the reliability and performance counts. Even so, the all-new Gradle build system of Android Studio (along with Groovy DSL) comes across as more advanced, and offers greater conveniences for mobile app developers. There are even automation options to upload the beta version of .apk files on TestFlight. Not something that is possible with Eclipse.
  3. Code Completion feature – Not much to choose between the two IDEs in this regard. Both Eclipse and Android Studio offer fairly high-end Java auto complete feature for programmers and app development experts. If one were to really take a pick, the code-completion of Android Studio can be marked as a shade better – due to the in-depth IntelliJ IDEA support, which makes code completion less prone to errors. Google also allows code-refactoring in Android Studio. That gives it an edge over Eclipse.
  4. Workspaces and Modules – Eclipse has sub-projects and workspaces, and Android Studio replaces them with Modules. It depends on individual Android app developers to decide which setup (and in turn, which IDE) they are more comfortable working with. In Eclipse, the components and libraries of Android projects have to be compiled in ‘jar’ files, while in Android Studio – each module needs to have its own Gradle build. Library Modules/Projects are a common feature between the two IDEs.
  5. Drag-and-Drop – The graphical user interface (GUI) of Android Studio has it, and that of Eclipse does not. However, experts from leading mobile app companies opine that the drag-and-drop feature is not really necessary for coders, who are not overly concerned about the visual elements of their applications. What’s more – a developer needs to have thorough knowledge of Visual Basic, to be able to use the drag-and-drop feature properly. Yes, it’s a new feature present in Android Studio – but its absence in Eclipse does not really matter.
  6. System requirements and stability – Eclipse is, in comparison with Android Studio, a much larger IDE. It requires significantly higher amount of RAM space, and a fairly high CPU speed, to function properly. Particularly at the time of exporting apk files, there have been reports of crashes and/or other erratic behavior in the Eclipse framework. It’s still early days for Android Studio (the second beta of version 1.1 was recently released), and it also has the occasional crashes and freezes. However, it offers a more stable performance assurance than Eclipse, while system requirements are also lower.
  7. IDE Workflow – This is where Android Studio trumps Eclipse big-time. Whenever Android app developers/coders have to switch from one workspace to another, Eclipse has to be restarted. In case there are more than three projects in a single workspace, the project has to be cleaned (and the IDE might restart) at frequent intervals. Copying projects across workspaces in Eclipse can also be tricky, particularly for those who are new to the domain of Android app development. The ‘Project and Module’ flow (in most cases, one app will make up a module) of Android Studio is definitely less complex and more user-friendly. There can be separate modules for build scripts and libraries as well.
  8. Dependencies – Another point of stalemate in the Android Studio vs Eclipse debate. Mobile app developers and coders have to create links to third-party JAR files, while working with either of the two IDEs. These JAR files stay in the ‘libs’ directory – another feature that Eclipse and Android Studio share. If a developer is switching from Eclipse to Android Studio, all the JAR-dependencies have to be added to the new Gradle build files.
  9. Cloud Platform Support – Android Studio is provided with native Google Cloud Support. Once again though, this does not give it any significant additional advantage – since Eclipse has a Google plugin, which serves precisely the same purpose. The seamless cloud platform support allows server-side code-usage and app-building, and creation of web apps (in addition to, of course, Android applications). The backend server support from Google is handy for mobile app testing and general app-integration tasks too. In case you are not too comfortable working with IDE plugins, Android Studio would be the better choice for you.
  10. The speed factor – Be it programming languages or integrated development environments (IDEs), app developers love tools and resources that are quick. Eclipse loses out to Android Studio in this regard. On average, it takes around 2-3 minutes for building the final release versions of projects. Performing the same task in Android Studio does not take more than 40 seconds (even for codes that are relatively long and complicated).
  11. App testing and debugging – Proper testing of apps prior to release is a big concern of developers. The Unit Tests functionality of Android Studio has received glowing feedback, precisely due to this. By setting up test classes and including them in the run configuration of projects, program bugs can be detected and ironed out in Android Studio with ease. The Unit Tests can be launched while applications are in the build stage (this ensures that bugs do not enter the production phase). Eclipse does not have any similar tool for easy app testing. This is yet another drawback in the older IDE.
  12. Changes in the Android Manifest – For developers migrating from Eclipse to Android Studio, this is something that has to be kept under consideration. While most common settings and tools (API specifications, version codes) are stored in the Android Manifest in the Eclipse environment, things are a bit different in Android Studio. Here, the same items are either present in build.gradle, or are included automatically. If anything, the Android Manifest structure in Eclipse was just a tad simpler.

Android Studio is a step ahead of Eclipse, as far as the graphical preview options of the two IDEs are concerned. The option to import library resources directly from Maven Central is another high point of AS. Ever since Android Studio was announced during Google I/O 2013, there has been a lot of hype and optimism around it among Android app developers – and the IDE certainly meets up to most expectations.

 

A note of caution here. Eclipse might be old and not quite at par with Android Studio in terms of features – but it would be way too naive to write its obituary just yet. If you are already working on a project in Eclipse, it makes sense to complete it, and then try out the Android Studio platform (migrating across IDEs is certainly possible, but can lead to mistakes). If you are starting out a project, AS should, ideally, be your first choice. It definitely offers more all-round support to developers than Eclipse.

 

 

myVUWSA 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

When an app…any app…retains its popularity for close to three years, there has got to be something special about it, right? Well, myVUWSA was launched at the stores in March 2012 – and over the years, its popularity among the students of Victoria University of Wellington has spiralled upwards. If a list of the most successful mobile apps by Teks was to be made right now, this one will feature right near the top.

myVUWSA is a university app for students

The Concept Behind myVUWSA

 

When the representatives of UNIFYNZ Limited got in touch with us and outlined the idea of myVUWSA, we were immediately hooked. The campus life of students typically tend to be hectic – and this was one app (if we could make it in the right way) that could make things a lot simpler for them. From academics to general campus tours, the app idea included everything.

myVUWSA offers real-time updates and information to users

“I got to say this, the students at Victoria University are fortunate to have an app like this to refer to at any time. We made a conscious effort to make myVUWSA a fully customized academic organizer app – that would actually be of help to everyone on the university campus. If only I had something like this during my student life!”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

There was indeed a bit of nostalgia about our respective college lives, when we first heard about the idea of myVUWSA. If anything, that feeling spurred us on to make it one of our best mobile apps ever. We provided the free app quote within a day of UNIFYNZ contacting us. The project was started soon, and was completed in three weeks flat.

 

Making myVUWSA A Multi-Platform App

myVUWSA offers easy reminders of academic deadlines

“Nearly all the students at Victoria University, Wellington, owned smartphones. The catch was, we had to make sure that the app was available to everyone – and leaving out any mobile platform would have left a gap. iOS was, of course, an automatic choice, and we got optimized Android and Blackberry versions of the app prepared as well.”

– Chief Spokesperson, UNIFYNZ Limited

 

It’s a good thing that we had separate teams for iPhone, Blackberry and Android app development. The client, sensibly, wanted custom versions of the app for the different platforms – and we were at a position to handle this requirement. In fact, the overwhelming success of myVUWSA contributed in establishing Teknowledge as a reliable multi-platform mobile app company.

 

Working Out The App Features

 

While the idea of making a holistic students’ app is appealing, determining the exact set of features that the application should have can be a challenge. Our mobile app developers had several interaction sessions with the head of UNIFYNZ Limited, to finalize the features and functionality that would be present in the introductory version of the app (Version 1.0).

myVUWSA was released after extensive mobile app testing

“I have been dealing with app clients for close to a decade now – and can say this about the guys at UNIFYNZ: they are really committed about making their apps useful. Each and every proposed feature of myVUWSA was deliberated upon in detail, many were scrapped, and several new ideas were floated in. If the brainstorming had not been that good, the app would probably not have received this amount of appreciation.”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

Over time, more and more features have been added to the new versions of this free university app. Version 2.0 of myVUWSA came out in March 2013. It was a major upgrade, with new timetable views, sign-up options, and multi-device installation feature. Since then, 4 minor upgrades have also been released – the last of which made the app compatible with all iOS 7 devices.

 

“We were very much aware that a gimmicky, static app won’t be of any use to the students. The focus was always on releasing a well-researched, user-friendly app, and providing free upgrades with enhanced features at regular intervals. The professionalism and wealth of app-making experience that Hussain brought to the table was a big help.”

 

– Chief Spokesperson, UNIFYNZ Limited

 

So, How Exactly Does myVUWSA Help Students?

 

Neither the concept developers at UNIFYNZ, nor did we want to make myVUWSA just another, run-of-the-mill student information app. That’s precisely why we included a diverse array of facilities and information database (regularly updated) in the app. From reminding students about assessment submission dates and exam schedules, to enabling quick access to the university’s official Blackboard and making students aware of important announcements and updates – myVUWSA was created as a tool to serve every need of students.

myVUWSA comes with a plethora of user-friendly features

“Even the most meritorious students can get into a tangle, while trying to draw up personalized study timetables. I suggested to the client that the app should have a timetable-creation feature to organize individual academic schedules. They agreed readily, and chipped in with a few other useful inputs as well.”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

Things That Set myVUWSA Apart

 

“Many leading universities in the West and Down Under have dedicated academic apps for students. With all due respect to their utility, we felt that those apps have a slightly mundane, boring feel. myVUWSA was conceptualized as an app that blended in vital university calendar and academic info with other fun campus stuff. Hussain and his team of developers did a great job with it.”

 

– Chief Spokesperson, UNIFYNZ Limited

myVUWSA has a detailed campus map for students' reference

Given the large size and number of buildings in the Victoria University campus, we felt that new students would love to have built-in campus maps in the app. As such, we created three separate maps of the university campus (the emphasis was on accuracy and easy readability), and included them in the myVUWSA application.

myVUWSA shows up information on the best deals for students

Yet another consideration highlighted by the knowledgeable personnel at UNIFYNZ was that, students are invariably always on the lookout for good deals – on virtually everything (oh…those days of student-life and perpetual fund shortage!). We decided to put in information on the best deals available nearby, which students could avail of, in the app. The deals were classified under 5 different categories.

 

The Gossip Factor

 

What’s life on campus without a bit of spicy gossip? myVUWSA takes care of this too – via the built-in ‘Overheard @’ feature. Students can stay updated with the latest campus gossip – and what’s more, they can tag friends directly on the official Facebook page/thread of the university. It’s all in good fun, and it adds that extra bit of buzz about the app.

myVUWSA app has been featured at the app stores

“No student wants to get labeled as a nerd. With the ‘Overheard @’ feature of myVUWSA, students will be able to contribute…or at least…be aware of the hot-n-happening campus gossips and rumors. Not only it is a lot of fun, but I feel that it serves as a nice ice-breaker among the students too. The student community at Victoria University loved it.”

 

– Chief Spokesperson, UNIFYNZ Limited

 

From the myVUWSA application, users have the option of directly navigating to the university website/Facebook page. Our app developers and mobile UI/UX designers made it a point to ensure that the layout of the app indeed appealed to the students. The app was tested thoroughly prior to release (as is the case with all our applications), and several minor bug fix updates have been released till now. The general feedback has been great, download figures have swelled over the years, and the app continues to be a favorite among the students at Victoria University.

 

“From the very first, it was clear that UNIFYNZ was planning to make myVUWSA a really student-centric app. Clearly, they had done a lot of research about the smartphone-usage of students, as well as their day-to-day campus requirements. The app idea they had come up with was truly comprehensive, and we were happy to transform it into a nice and useful application.”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Software)

 

The myVUWSA app, by UNIFYNZ, is available for free download at https://itunes.apple.com/nz/app/myvuwsa/id510564859. The Victoria University students have given it their collective thumbs-up, and the app has been one of our biggest success stories.