Author Archives: Hussain Fakhruddin

Xcode 6.3: What’s New In It For iOS Developers?

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

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?

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?

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

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.

 

Swift 1.2 Arrives: 13 New Features

The worldwide iOS app development community is all abuzz with Swift 1.2 – which was launched in early-February. We have here highlighted the main features of interest in the new version of the language.

 

It took Google’s Go programming language well over 5 years since its release (in 2009), to feature among the top-20 coding languages. Apple, with Swift, has definitely stolen a march over its arch-rivals in this regard. Ever since getting the Gold Master (1.0) status in September, Swift has been riding on a crest of popularity among professional coders and iOS app developers. A recent Redmonk survey showed that the language had jumped an unprecedented 46 places in terms of popularity during the period between the third quarter of 2014 and January 2015 (the respective positions of Swift on the popularity list were 68 and 22). Earlier this month, a major update, Swift 1.2, was released along with Xcode 6.3 beta. Let us here take a look at some of the key new features of the latest iteration of Swift:

 

  1. Compiler diagnostics have become smarter – Chances of undetected errors and program bugs are minimal in Swift 1.2, thanks to the all-new Fix-it feature. Coders and developers would also get real-time error messages and warnings. This, in turn, will make program debugging on the go a whole lot easier. The final testing phase of Swift apps will become less complicated as well.
  2. Lesser warnings from SourceKit – Provided that the codes used by iOS/Mac developers are updated, SourceKit warnings generated from the Xcode editor will go down in Swift 1.2 drastically. Compiler crashes, a relatively frequent occurrence in the otherwise good earlier version of Swift, will become much, much rarer too. In essence, the new version of the Swift language makes the programming framework (Xcode) more efficient.
  3. The ‘Pyramid Of Doom’ has disappeared – Yep, we are talking about the multiple if-let coding architecture in the previous versions of the language. iPhone app development experts can now use multiple optionals for testing with a single if-let statement. Earlier on, it used to be a case of testing a single optional at one go, which tended to unnecessarily complicate the overall program. To avoid additional indentations, the new ‘where’ keyword (boolean inline) is very useful.
  4. Advantage of Incremental Build feature – Much to the delight of iOS developers, incremental build in Swift 1.2 lowers the build time considerably. The builds that are not changed are no longer auto recompiled by the new edition of the programming language. In case making a structural change in the program is necessary, the relevant files have to be re-created though.
  5. Easier downcasts with new keywords – While coding for apps with Swift, developers had to, till now, use the same keyword (‘as’) for both upcasts and downcasts. While there were hardly any room for error with the former – downcasts could become confusing, particularly if a coder did not have a clear idea of the class structure of the code. Swift 1.2 brings two keyword variations for making downcasts – the optional (‘as?’) and the forced (‘as!’). If you are a relative newbie on the Swift platform, go with the ‘as?’ keyword for optional binding.
  6. Using let constants will no longer be uncertain – Early adopters of the Swift language had highlighted the many complications that arose due to reassigning and/or changing let constants in any way, after they have been initialized. The latest version of the language does away with this problem altogether. General coders and mobile app developers have to mandatorily initialize every let constant (just as it is done with ‘var’). The constant can be used only after initialization. The reassigning option has been discontinued.
  7. Better semantics and Set data structure – Apple has given the erstwhile value semantics of Swift an overhaul as well. Users will now be able to take advantage of a whole new set of semantics, like Dictionary and Array. In addition, the functionality of NSSet has been bolstered with many new (unordered) elements. The overall native data structure in ‘Set’ has become more stable and powerful. There are no chances of duplicates getting stored in the Set struct. The only bone of concern is, stuff like NSDate are still missing.
  8. Swift 1.2 is swifter – Versions 1.0 and 1.1 of Swift were, contrary to the expectations of iOS developers, significantly slower than Objective-C (particularly during debugging, but also at the Build stage. Swift 1.2 more or less balances things out, and offers much higher coding and compiling speeds. The performance of the Release build has undergone a major upgrade, with several new optimizations coming in. The Debug build has also been boosted with binaries that are executable faster. In comparative terms, Swift is now (finally) more or less at par with Obj-C, and is getting better all the time.
  9. More stable compiler – This is a relatively minor change, but still, adds a lot to the overall stability factor of the Swift language. According to professionals who create iPhone/iPad apps, the re-engineered compiler of Swift 1.2 is a lot smoother, and is considerably less prone to bugs and crashes. During every stage of coding, the latest version of Swift offers greater runtime developer support.
  10. Exporting enums to Obj-C is easier – Although there have been rumors about the popularity of Objective-C stalling somewhat in last few months, Apple does not have any plans to phase it out (yet). Swift was always presented as a language that worked in collaboration with Obj.-C – and the new 1.2 version further highlights this. With the ‘@objc’ attribute, programmers and app developers can now seamlessly port enums from Swift to the Objective-C platform. For those learning to code with Swift, this comes in handy.
  11. New qualifiers for arguments and properties – App coders loved the option to message ‘nil’ in Objective-C, a feature that Swift does not have. However, the addition of new qualifiers for variables and arguments in the latest version of the programming language go a long way in making up for that. Null_unspecified, nonnull and nullable (only the last one can be set to nil) are the three qualifiers available to set the type of properties and arguments in a program. Developers who are not maintaining an Objective-C code can add these qualifiers to the Cocoa headers, for a more streamlined coding experience in Swift.
  12. More native Swift equivalents – Swift 1.2 makes it easier than ever before for iOS developers to cross over from Obj-C. It is pretty much clear that Apple is gradually opting for Swift implementations for most default classes in the older language. In Swift 1.2, it is no longer possible to automatically bridge classes like NSArray and NSString (in fact, any class in Obj-C that had a Swift equivalent). Unless the type conversion statement is explicit and includes the required native Swift equivalent, errors will be thrown up.
  13. Swift migrator for existing users of the language – An extremely handy feature of Swift 1.2 is the dedicated ‘Swift Migrator’. With it, codes for apps written in earlier versions of the language (1.0 and 1.1) can be ported to 1.2 with ease – and the effects checked out. Of course, both Swift 1.2 and Xcode 6.3 are in the beta-stage, and their final release is still a fair way away. Until Swift 1.2 gets Gold Master status, you cannot submit apps written in it to the store.

The latest version of Swift, with the Xcode 6.3 tool, can be used to create apps for Apple Watch, OS X Yosemite, and of course, the iOS 8.3 (beta 2 was released this week) platform. To check out previews of old codes in Swift 1.2, developers need to go to Edit → Convert → To Swift 1.2 (a target has to be selected to get the previews from Xcode). The adoption rate of Swift has already been impressive, and the new update has made the language smarter and even more developer-friendly.

 

1Cloud2 App By Teknowledge

This project was like a proverbial ‘breath of fresh air’ for us. We were simultaneously working on four separate social networking apps, when the head of ATN Marketing SRL approached us with the concept of 1Cloud2. The idea of making an app that was all about cloud storage and access immediately appealed to us. We sent along a detailed free app quote on the same day, and the actual mobile app development process started four days later.

1Cloud2 is a cloud storage and sharing app

“I feel that there are not enough mobile apps for data storage and access on the cloud, on either iOS or Android. When my team got the 1Cloud2 project, we were just that bit extra keen to make this a really good, useful application. The guys at ATN Marketing deserve a lot of kudos of coming up with such a smart and innovative app idea.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

Choosing The iOS Platform

 

Considering the professional nature of this application, the decision to start off with an iOS version of 1Cloud2 came naturally. The representatives of ATN Marketing SRL also concurred with our opinion of selecting iOS over Android as the initial platform of choice for this app. It has been less than a month since the app has debuted at iTunes (incidentally, 1Cloud2 is Teknowledge Software’s 650th application) – and judging by the favorable reviews it has already received, we might start working on an Android version sometime later.

1Cloud2 is a free iPhone app, and is very easy to install

“The idea was to make the 1Cloud2 app available to as many smartphone users as possible. At the same time, we did not want it to go all out and end up with one or more versions of it lagging behind. After a couple of discussions with Hussain, we decided to make 1Cloud2 a customized iOS application.”

 

— Head, ATN Marketing SRL

 

In keeping with the client’s specifications, our mobile app developers optimized 1Cloud2 for iPhone, iPad and iPod Touch. We took particular care to ensure that the app was properly viewable and retained all its functionality on the new iPhone 6 and iPhone 6 Plus devices.

Documents and images in all formats can be stored on 1Cloud2

What Can Be Stored & Shared With 1Cloud2?

 

“People, in general, are increasingly willing to save and share all sorts of documents and files over the cloud network, on a real time basis. Our endeavor was to make 1Cloud2 an app that did not pose any difficulties whatsoever to users trying to upload docs in any particular format.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

Our iPhone app development experts created preliminary sketches and wireframes of the application and shared them with the personnel at ATN Marketing. The app was meant to serve as a tool for sharing/storing both documents (in any format) as well as HQ images. After a few consultations with the client, the controls and features were finalized.

It's easy to share HQ photos on 1Cloud2

“It was a cloud-storage and sharing app, and the last thing we wanted was it to have any restrictions or shortcomings. That’s why we requested Hussain to make sure 1Cloud2 does not have locational restrictions. It’s a good thing that he and his team were real experts, and they created 1Cloud2 just the way we had envisaged.”

 

— Head, ATN Marketing SRL

 

Giving More Options To Users

 

1Cloud2 has been chalked out in a way that people would never face any space-crunch while sharing/uploading files. The client was of the opinion that giving people 1TB of storage space in the app should be a good idea. Our iOS app developers agreed that 1TB was more than enough for general cloud usage requirements of users. Next came the issue of subscription options.

There are 3 paid subscription options on the 1Cloud2 app

“I did not want to unnecessarily complicate matters by playing around with the storage space of the 1Cloud2 app. Instead, the idea of offering different subscription periods or payment plans to clients seemed to make a lot more sense.”

 

— Head, ATN Marketing SRL

 

Finally, we went with 3 different paid subscription options for the app. The 3-month option was priced at 21.99 Euros, going for the 6-month option cost users 40.99 Euros, while the annual subscription was associated with a price tag of 69.99 Euros. The app itself was, of course, free to download.

 

“Unlike most half-baked cloud-storage apps that are already present, 1Cloud2 is not about a single, has-to-be-taken subscription option. People can take their pick from three different payment plans, depending on their storage requirements and budget preferences. Why force someone with a year-long subscription, if (s)he does not need it?”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Mobile Studio)

 

Speed, Security & More…

 

There is no shortage of websites and mobile apps in which uploading/downloading files are painfully slow processes. Our app development team felt that 1Cloud2 could really make a mark in this regard. On this application, uploading any file (provided that it is less than 100 MB (free account) and less than 1 GB (premium account) in size) takes only a few seconds. Downloading and accessing shared files are similarly fast.

Screenshot of stored music in 1Cloud2

“A common…and I should add, justified…apprehension in the minds of people is about the security of the stuff that they share over the cloud network. After all, cases of high-profile data hacks and unauthorized data access have been disturbingly frequent in the last couple of years. We were determined to make 1Cloud2 a really, really secure application. Thankfully, it has turned out to be just that!”

 

— Head, ATN Marketing SRL

 

During the mobile app testing phase for 1Cloud2, we focused on implementing and checking high-end data security on the app. In fact, this took a couple of weeks – after which the app was submitted at the App Store. It was approved quickly though.

 

Greater Convenience To 1Cloud2 Users

“As someone who uses web-based cloud storage services regularly, I find the frequent plan renewal notifications to be rather annoying. From the very start, me and my developers had decided to make the subscription plans of 1Cloud2 auto-renewable. We had a chat with the head of ATN, and he agreed that it would be the right way to go.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

When the app development project was nearly complete, one of our developers (smart of him!) pointed out that people might want to turn off the auto renewal option. Accordingly, we included that option in the app as well, but with one condition. The feature had to be turned off at least twenty-four hours before the existing plan was scheduled to expire. It was yet another way of making sure that people could use the app in just the way they wanted.

 

“I downloaded 1Cloud2 in February, and have gone for the 3-month subscription plan. Till now, the app has worked without a hitch…and I have already shared close to 100 photos via the app. The auto-renewal option is a peace of mind, really.”

— Justin Gomez (iPhone 6 Plus-user)

(downloaded 1Cloud2 on February 6, 2015)

1Cloud2 has a very user-friendly interface

At any time, users can check the available space in their account. From the settings page, they can set up the ‘Passcode Lock’ for their cloud data, as well as upgrade to a premium account. Data saved in premium accounts are never erased (unlike the 60-day span of free account data), and users get even higher download speeds too.

 

Room Of Improvement

 

Constantly upgrading our services has always been a hallmark of our mobile app company. 1Cloud2 gave us a perfect opportunity to learn more about cloud-storage preferences and requirements of general users. Till now, the feedback and app reviews have been unanimously positive, and we have plans to gradually improve the app further over time.

 

“The one thing about Teknowledge that really impressed me was the adaptability and willingness to learn among the app developers there. Their coding expertise was excellent, they kept me in the loop at all times, and together with Hussain, we are trying to make 1Cloud2 more and more attuned to user-requirements.”

 

— Head, ATN Marketing SRL

Terms & Conditions screen of 1Cloud2

Creating 1Cloud2 was one of the most challenging projects ever at Teknowledge, and being able to complete it successfully was immensely satisfying. The satisfaction of the client, the good reviews, and the encouraging initial download figures suggest that we have done a fairly good job. Each of us learnt a lot while working on this project.

 

1Cloud2 is available for free download at https://itunes.apple.com/app/id910577400. Further information about 1Cloud2 can be obtained by visiting http://1cloud2.com/. As far as mobile cloud-storage apps on the iOS platform are concerned, this one is probably the very best!

AppBoard Tuesday – 11 New Challenges For App Developers In 2015

Happy Tuesday, folks – and let’s dive right into yet another edition of AppBoard Tuesday (ABT), your weekly dose of all things related to apps. Today, we will we look at the entire concept of mobile app development from a futuristic perspective.

Making successful mobile apps is all about moving with the times, keeping pace with the evolution of technology, and knowing the pulse of targeted final users. We are well into 2015, and sticking with the methods that worked well five years back simply won’t cut it any longer. In this week’s ABT, we list a few challenges that contemporary app developers must fulfill, to achieve professional success:

 

  1. Level of data access – Over the last few quarters, there has been a tremendous increase in the volume of data storage and transfer via mobile apps. That, in turn, has heightened the importance of determining the right data access level. Developers need to determine whether browser-level or device-level data access would be suitable for any particular app (depending on, of course, its nature). For certain iOS applications, allowing database-level data access might also be required.
  2. Developing for wearable gadgets – Google Glass might have bit the dust, but wearable technology is still the new in-thing. The big release in the first half of 2015 is, of course, Apple Watch (scheduled to hit the markets in April). Earlier this month, Pebble started an app store for its smartwatch, with well over a thousand applications. Developers need to start learning how to make apps for Apple Watch and other Android Wear devices. For iOS experts, getting a grip over the WatchKit tool is vital.
  3. Native apps or Web apps? – If you have the budget and a proper team of developers, native apps should be the way to go. Recent surveys have shown that, mobile web apps tend to be comparatively slower, and there can be accessibility-related glitches in them too. However, you can always start off with a simple web app (to be displayed in the browser of mobile devices), and move on to native app development later. Hybrid apps (a mix of native and web applications) can also be made.
  4. Keeping track of new devices – Sony Xperia Z4, Samsung Galaxy S6, LG G4, Asus Zenfone 2 – there’s a lot of new handsets likely to be released during this year (ah well, this has been the trend over the last few years). Google’s Project Ara has been a hot topic of discussion among Android enthusiasts, and iPhone 6S (or will it be iPhone 7?) might be coming along in September. The onus is on mobile app companies to keep track of all the popular smartphones and phablets in the markets, and test their apps on each of them. If an app works well only on a small set of devices, its chances of success automatically get stunted.
  5. Implementing data encryption, authentication and general security support – Be it for enterprise apps or general applications, mobile device management has emerged as a vital issue. Personal data of various types (names, passwords, account numbers, confidential official data, card details, etc.) are sent via apps – and people are naturally wary of the ones which do not promise secure mobile data encryption and protection from unauthorized access. With the arrival of Apple Pay, the demand for additional data security has gone up further. App developers have to ensure that users will be able to place complete trust on their products. Or else, there will always be alternatives.
  6. HTML5 for mobile apps – Setting aside the native vs hybrid apps debate for a moment, HTML5 is going to be the technology that will rule the roost for enterprise apps in 2015. A Gartner survey has already predicted that, 9 out of every 10 enterprise applications this year will be created by using HTML5. If you plan to dive into enterprise app-making big-time, this is the time to learn the nitty-gritty of how to work with HTML5. If you lack this skill, you will lose out on good opportunities.
  7. Relevant is no longer effective – Is a calendar app relevant? Absolutely. Is yet another social networking app or IM app relevant? If well-made, yes. But do they serve any purpose that has not been already catered for? No and no. Android and iPhone app developers will have to understand that, making a relevant app would no longer matter – if the latter does not have new, innovative features and utilities. In 2015 and beyond, apps have to be ‘effective’ to be a hit…being ‘relevant’ will not be enough.
  8. Making full use of phone features – Any app development expert worth his/her salt will need to know how to get optimum cooperative capabilities from each application. In simpler terms, if an app has the scope of including the camera, the audio, the keyboard (virtual), the QR scanner, or any other built-in feature of the device it is installed on – it should be able to do so seamlessly. What’s more, reactive capabilities are likely to come into focus. Location detection (via satellite or network) and motion control/gesture control are classic examples of reactive features that can be present in an app. It will all be about delivering more value to users by making smart devices smarter.
  9. Most apps would require multi-platform versions – At least enterprise apps would certainly need to have separate, cross-platform versions. Many organizations are falling in line with the Bring Your Own Device (BYOD) trend, and there is no saying which mobile platform any particular employee might be using. The smart way out would be cross-platform development, ensuring that everyone who needs access to a professional app gets it. The different app versions need to be customized for the different platforms. A great iPhone app can be horribly slow and/or prone to crashes on Android devices (this is true for the other way round too). Be familiar with the app development SDK of each platform – and work accordingly.
  10. Validations need to be server-side – The reason, you ask? Because server-side validations ensure that users do not experience any distractions/disruptions while using the concerned mobile applications. Since all the complicated codes required for validation are stored in the app server, there are no adverse effects on the speed and overall performance of the app either. Client-side validations are plain annoying, and developers who persist with them in 2015 are likely to face problems.
  11. More emphasis on connectivity issues – Ensuring that there are no problems in the wi-fi connectivity of mobile apps is necessary, but will no longer be sufficient, for developers. NFC (near field communication) has been around on Android since a couple of years, and it has finally arrived on Apple – and new apps will need to be compatible with this technology too. Infrared LED and Bluetooth 2.0 connectivity of applications also have to be strong, reliable and secure. Better connectivity would rev up the overall usability quotient of any app.

 

The importance of intuitive UI/UX designing is, at present, greater than ever before. Mobile app companies (even the small ones and startups) must have separate, proficient teams of animators and graphic designers. With increase in the average number of apps on a device, as well as the advent of new-age smart devices (e.g., smartwatches) – the average user-interaction period with any single application is also going down. This is another factor developers have to keep under consideration. It has been predicted that total global spending on mobile apps will reach a whopping $35 billion by the end of 2015. App development will become even more financially rewarding – but only if you know how to make a mark in this domain.

 

So, that’s that for this week’s AppBoard Tuesday. If you are planning get your feet wet in the field of iOS or Android app development, do write in. In case you feel that there are further challenges for developers we have missed out on, get in touch and send us your lists. We will be more than happy to take a look and add your points.

 

ABT will return…(when else?)…next Tuesday. Till the next time, stay well, keep learning about mobile technology, and love thy apps!

 

Making A WatchKit App: A Step-By-Step Tutorial

Making apps for Apple Watch is something on the minds of every dedicated iOS developer across the world. Here is a stagewise, detailed description of how you can create a demo WatchKit application.

 

Any iOS app developer worth his/her salt would be aware that Xcode 6.3 beta has been released along with Swift 1.2. This is the framework to be used for making apps for Apple Watch – with WatchKit (released in mid-November). With all due respect to the ‘large’ iPhone 6 and 6 Plus, Watch is probably the most exciting gadget from the Cupertino company in recent times. With the launch of the much-hyped smartwatch looming in April 2015, here is a step-by-step guideline on how you should go about making a WatchKit application:

 

  1. Know the basics – First, a bit of theory. Third-party app developers need to know that there are two separate things that need to be worked on together, for making a Watch application. The first of them is the WatchKit app itself, which has all the resource files (including storyboards) and documents for developers. The second is the WatchKit extension, which provides the coding support for customizing the UI of the apps. The former is present in Watch, while the extension resides in the paired iPhone. You must be aware that Watch HAS to be paired with an iPhone to be of any real use, right?
  2. Get the latest version of Xcode – Many indie app developers are making the the mistake of working with outdated Xcode versions, while trying their hand at making WatchKit apps. Do not make the same folly, and head over to https://developer.apple.com/xcode/downloads/, to download Xcode 6.3 beta. It comes with 6D520o build, and has the entire OS X Yosemite and iOS 8.3 beta SDK support. If your Mac system is not updated, now is the time to move on to Yosemite. (Note: You can start off with Xcode 6.2 beta 5 as well, although that is not advisable).
  3. Start a new project – Mobile app developers working with Xcode will be familiar with this stage. all that you have to do here is select a ‘Create A New Project’ option (File → New → Target) on the Xcode beta screen. You will find 5 alternative templates displayed – choose the ‘Single View Application’ option from them. Save the project in the usual manner.
  4. Move over to Watch app – Any iOS app development project starts off with the previous step. From this stage, you will be focusing on making an app for Watch. When you select ‘Target’ (under ‘File → New’) a new window will appear, with the ‘Watch app’ icon. This is the template for creating WatchKit apps with the extension on the paired device. Select it, and you are good to go.
  5. Fill up the required fields – On the next screen, you will find a short form, which needs to be filled up. Note that some of the fields (for instance, product name, are pre-entered and cannot be changed). Put in your organization name (if you are a freelance app developer, put something here that will be easy to remember). Make sure that you select Swift as the programming language. Once you are done with filling up the form, hit ‘Finish’. In case you find that the screen has become unresponsive, you might have to reinstall Xcode all over again.
  6. To check or not to check? – Most early WatchKit app development experts are recommend unchecking the ‘Include Glance Scene’ and ‘Include Notifications scene’ options on the screen (which came up during the previous step). However, if you do wish to create an application with an active notification interface, you can leave that option checked. An extra file for bug-testing the interface will automatically created. In case you keep the option unchecked, the same file has to created manually later on. For developers working for the first-time with WatchKit, starting with no Notifications and Glances scene options should be the way to go. More elaborate projects can always be tackled later.
  7. The bundle IDs will now be configured – If you have completed the earlier steps correctly, the bundle IDs of the WatchKit app as well as the WatchKit extension will be configured now. In your Xcode iOS project, separate files will be added by the framework to the different targets (app and extension). You will find that these two bundle IDs match with that of the related iOS application. If the three are not in sync, there must have been some errors in the earlier setup.
  8. Make a new label – You had selected the ‘Watch App’ template under ‘Target’, right? Now, you will need to add a label to the playground. Doing so is simple enough: click on the ‘Interface.storyboard’ option in the BitWatch Watch App group. The storyboard will display a blank interface controller, on which label(s) have to be added (for starters, try out ‘Hello World’). You can drag and drop a label from the object library, and add button(s) above or below it. On the right-hand side, you will find options to specify the ‘Position’ of the label. Both the horizontal and the vertical fields should be set to ‘Center’.
  9. No AutoLayout – This is a significant departure of WatchKit from generic iOS app development tools. While adding labels and buttons, you will find that the objects can be added/modified ONLY vertically (i.e., on top of one another), and not in any freestyle form – as is generally the case with the usual iOS dragging options. Instead, on Apple Watch, all objects have to be ‘pinned’ on something else (other objects, screen edges, etc.). Since the screen real estate on Watch is small, the absence of Auto Layout does make sense, and ‘pinning’ is good enough for giving your app a streamlined appearance.
  10. Connect Outlets with Actions – This part might feel slightly confusing for first-time WatchKit app developers. After all, the storyboard is in the Watch (WatchKit app), while the codes are all stored in the paired iPhone (WatchKit extension) – so how are they supposed to connect with each other? Well, you need not worry too much over that, since this wireless connection between Actions and Outlets is established via Bluetooth (this is part of Apple’s setup for WatchKit). To make the connection, navigate to the ‘Assistant editor’ window, and check if ‘InterfaceController.swift’ is visible (if not, try refreshing the window). Make an outlet (in the InterfaceController class), click on ‘Connect’, drag a button to the class, choose ‘action’, and click ‘Connect’ once again. That’s it – the Actions and Outlets should now be in sync.
  11. Test your WatchKit app – Just like regular mobile app testing, properly testing apps for Apple Watch is also of paramount importance. Once you have built and run the app, move it to the iOS Simulator. Enable ‘Apple Watch’ as the ‘External Display’ device. Under Hardware → External Displays, you will find two alternative Watch options (38 mm and 42 mm). Test the app for both. There should be two simulator windows (one for Watch, the other for the paired iPhone).
  12. Next up, run your app – Okay, now you are almost done. iOS app developers only have to run their WatchKit applications at this stage. For the purpose, there is a full list of iOS device simulators under ‘WatchKitDemo Watch App’. Run the app on all the simulators – right from iPhone 6 and 6 Plus, to iPad Air and iPad Retina. You can test the app in different screen resolution levels as well.

 

For testing WatchKit apps, a notifications payload (e.g., a JSON payload) has to be specified to the interface. The scheme editor comes in handy for this purpose. The app interface can be customized further, by adding images and other objects. Invest some time on getting a proper feel of the WatchKit App architecture – once you have done that, you will find that creating apps for Watch is fairly simple!

 

Talk Nah! App By Teknowledge

At Teknowledge, we pride ourselves at being able to handle any type of app development project. Even so, the idea of making yet another social networking app did not really interest us at first. That was, of course, until Rajiv, the concept developer of Talk Nah!, explained the basic functionality he wanted in this app. Once we got the hang of what the app would be like, we were properly hooked!

Talk Nah is a unique social networking app

Selecting Teknowledge Software For The Talk Nah! Project

“Although I was confident that my social networking app idea was unique, there were certain reservations. There were so many apps in the same category at the app store – and making my app stand out was likely to be a challenge. It’s a good thing that my idea was utilized in the best possible manner by the developers at Teknowledge, led by their talismanic CEO, Hussain.”

 

— Rajiv Maharaj (Head, Sky IT Ltd; Founder, Talk Nah! app)

 

After Rajiv had explained the app to our team of iOS developers online, we sent him a detailed free app quote. Within the next couple of days, all the terms had been agreed upon, and we moved on to the actual implementation stage.

 

Why iOS Over Android?

Talk Nah allows anonymous posting on others' walls

This was a question we had posed to Rajiv at the very outset. After all, the success of any app hinged critically on its reach, right? Soon enough, we found out that he and his team had a systematic rollout plan already in place for Talk Nah! The initial release of this mobile social networking application would be followed by an improved Version 2 (sometime in the first half of 2015), as well as an Android version.

 

“I found Rajiv’s strategy of testing the waters before plunging headlong for the Talk Nah! project to be interesting. It made a lot of sense to release an iOS-only version first, and monitor the response of targeted users to it. Based on that, the updated version for iPhone, iPad and iPod Touch will be chalked out – and a version for Google Play Store will also be released.”

 

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

With well over 8 years of experience in the line of cross-platform mobile app development and around 650 apps in our kitty – Teknowledge is at a position to handle the Android project of Talk Nah! as well.

 

USP Of Talk Nah!

Talk Nah has multiple interesting features

“Was the underlying idea for Talk Nah! sound enough? Absolutely. Would it be able to stand out from the thousands of social interaction apps showcased at iTunes? Frankly, I wasn’t very sure.”

 

— Rajiv Maharaj (Head, Sky IT Ltd; Founder, Talk Nah! app)

 

Rajiv agreed with the app developers working on the project that Talk Nah! needed to have a really interesting USP, which would set it apart from other iOS apps in the same genre. Several ideas were floated, discussed and trashed at our drawing board…until the concept of ‘anonymous interactions’ was brought to the table. Make no mistake, this feature has turned out to be probably the most loved feature about this social app.

 

During those early days of the Talk Nah project, I was practically obsessed with trying to find out how this app could be given a different feel. There were literally a couple of sleepless nights. As soon as the idea of anonymous social connections was floated, there was a general consensus that this was it.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

So, How Does Talk Nah! Work?

Talk Nah! had been conceptualized by Rajiv, and created by our app development team, as an application that offered a whole lot more than general social networking and IM apps. On this iPhone app, users have been given the option to share their thoughts and opinions about anything under the sun, without ever having to disclose their identity. HD images and other media files can also be shared with ease. There is an additional option to mark any conversation as ‘Favourite’. This feature is, in essence, similar to bookmarking a website, and people could return to their ‘Favourite’ conversations later on, at their convenience.

Talk Nah! boasts of user-friendly in-app navigation features

“Apart from the intriguing anonymity feature, I wanted Talk Nah! to be a medium via which users could view and rate each other’s posts and comments. Hussain and his developers created a very nice interface for the app, making the task of rating comments really easy.”

 

— Rajiv Maharaj (Head, Sky IT Ltd; Founder, Talk Nah! app)

 

 

 

The Fun Element Of Talk Nah!

“There was a very fine line in making Talk Nah! a fun social networking app, and letting it seem too frivolous. I realized that there wasn’t much scope to play around with the color themes and general UI of the app. That’s why Rajiv and I decided to make the names of some of the features rather chuckleworthy.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

If you have not already used Talk Nah! on your handset, the term ‘Bodow’ might seem strange to you. However, this funny word (borrowed from, of course, ‘bowdown’) actually refers to the act of rating up a comment on the Talk Nah! comment. Similarly, if someone does not like a comment posted by another, (s)he can simply mark it as a ‘Failure’. As the Talk Nah! community grows in size – the maze of ‘Bodow’-s and ‘Failure’-s would surely get more interesting.

 

Inclusion Of The Search Feature

tn2

At first, including a ‘Search’ option was not considered necessary for Talk Nah! Later on though, Rajiv pointed out (and we realized too) that it might well happen that a particular user does not find any of the existing topics/conversations in the app to be interesting enough. A ‘Search’ box would enable him/her to look up the stuff (s)he loves with the minimum of fuss – and would enhance the functions of the app as well. In the end, we did include searchability in ‘Talk Nah’.

 

“My focus was constantly on bringing the users of Talk Nah! up close and personal with topics of their interest. In addition to the live feed option on the individual walls, the top-rated and currently trending topics could be viewed under separate tabs. The addition of searchability was yet another attempt to help people discover topics that they love.”

 

— Rajiv Maharaj (Head, Sky IT Ltd; Founder, Talk Nah! app)

 

 

Starting Out With Talk Nah!

 

The last thing we wanted for our all-new social networking and conversations app was any type of problem in its downloading, installation and usage. With a size of meagre 4.7 MB, we made sure that the app would never hog phone memory and bandwidth. After installing the app on iOS device(s), all that people had to do was choose a unique username, and select their country – and they were good to go. Anonymity was guaranteed during conversations.

Talk Nah takes mobile social networking to a whole new level

“While working as a mobile app entrepreneur for the last 8-odd years, I have learnt one thing. The more confusing the download and installation procedures of an app are – the greater is the risk of users not bothering to try it out. Me and my team of developers made sure that using Talk Nah posed no such complications.”

Hussain Fakhruddin, CEO, Teknowledge Software

— Hussain Fakhruddin (CEO, Teknowledge Software)

 

We decided that users would not have to separately register on the app either. That’s another potential hassle avoided!

 

There’s A Lot Of Room For Further Growth

Chat screen of Talk Nah! app

A draft screen of the app (later changed)

 

The overwhelmingly positive response to Talk Nah! has delighted Rajiv (of course), but the man has no plans to rest on his laurels in future. Researches have been already initiated by him and his team at Sky IT Ltd., to make a list of probable new features that might be present in Version 2.0 of the app. It will be a challenge – and a challenge that everyone at our mobile app company would relish – to make Talk Nah 2.0 just as Rajiv chalks it out to be.

 

Talk Nah! is available for free download at https://itunes.apple.com/us/app/talknah!/id898534516. In our portfolio we have quite a few IM and social networking apps – but Talk Nah! is easily the one we had the most fun while creating!