We deliver outstanding results for the world's largest brands with a team of engineers, designers, business strategists, QA and U/X specialists. Executive Team Amar Varma Co-Founder Amar is one of North America’s foremost experts in mobile and spends time educating enterprises and academia about the mobile ecosystem. Amar channeled his passion for entrepreneurship and new technologies by co-founding Xtreme Labs with Sundeep Madra to capitalize on the emerging mobile ecosystem in 2007. At Xtreme Labs, he focuses on driving the culture of innovation and customer satisfaction. Sundeep Madra Co-Founder Sundeep (Sunny) Madra is a technology visionary within the mobile and web applications community. Sunny co-founded Xtreme Labs with the goal of engaging the captains of industry in world-class development projects that will define the present evolution of the Internet experience. Sunny provides the vision for Xtreme Labs’ software development and business process that has been optimized for the highly iterative and agile nature of application software. Farhan Thawar VP Engineering Named one of “Toronto’s Top 25 Most Powerful People In 2010”, Farhan is a well-known and respected figure in the city’s tech community. Before joining the Xtreme team, Farhan held the positions of Chief Software Architect at I Love Rewards, the Head of Search & MSN Platform for Microsoft Canada and Technical Lead at Trilogy Software. Rahul Singh VP Strategic Alliances Rahul leads the services, strategy and product development teams at Xtreme Labs. He is a champion of mobile productization and is an industry leading expert in time-to-market mobile project execution. Prior to joining Xtreme Labs, Rahul was in Product Engineering Senior Management at ATI technologies in Silicon Valley and at AMD in Toronto.
A 5 Minute Guide to Generate One Thousand Friends on iOS
At Xtreme Labs, we often build apps that interact with a large address book. Contacts are necessary if the user wants to share their favorite product to a friend, or send an article through email. To ensure we handle the worst edge cases, we need to test with a large number of contacts. Of course, it’s very inefficient to have an intern manually input all the contacts onto a device (and our interns have more important things to do!). Fortunately, we found a way to load all the contacts in a short time. How, you ask? Here’s the secret to importing a large contact list onto your iOS devices in less than 5 minutes.
read more- tech.xtremelabs.com/a-5-minute-guide-to-generate-one-thousand-friends-on-ios/
I’ve just returned home from Microsoft’s annual Build conference, which they held at Microsoft HQ in Redmond, WA. Before I attended the conference, I have to admit, I didn’t think Microsoft really “got it” when it came to mobile. I must also admit that I am a bit of an Apple fan boy, having switched to a Mac 5 years ago and have been rocking an iPhone since the introduction of the 3G. With the launch of Windows 8, it seemed to me that to Microsoft, tablets are simply smaller PCs, and that a mobile touch-friendly interface could easily be mashed into one experience for all. Some of the reviews for Windows 8 tended to confirm this, scathing Microsoft for lacking usable touch areas in some cases, and confusing desktop users with a redesigned home screen. I found, as the conference went on, my thoughts around Microsoft changed. (Disclosure: the free Surface tablet and Nokia 920 did help). Free-loader bias aside, Microsoft’s mobile strategy revolves around three key elements: Windows Phone 8, Windows 8 tablets and finally mobile services in the cloud.
read more- http://www.xtremelabs.com/2012/11/microsofts-mobile-strategy/
Xtreme Labs is excited to announce its continuing partnership with Karmaloop, with the recently-launched PLNDR iPhone app for exclusive members-only flash sales on the go. With the app, customers can make purchases from wherever they are, creating a fun, easy, and convenient way to shop for deals that sell out quickly. The PLNDR app reaches customers who can’t always shop online, which takes advantage of user’s desire to get a great item for a great price when the clock is ticking.
read more- http://www.xtremelabs.com/2012/12/get-it-before-its-gone-with-plndr/
For an extreme retailer, only an extreme app developer would do. Xtreme Labs is excited to announce that we’ve launched the Miss KL app for iPhone. Miss KL is a brand-new women’s only division of Karmaloop, the online destination for streetwear fashion.
read more- http://www.xtremelabs.com/2012/12/fashionistas-rejoice-miss-kl-has-gone-mobile/
A good understanding of multi-threading in the traditional unix memory model is required for the following tutorial.
read more- http://tech.xtremelabs.com/java-threads-an-inconvenient-truth/
The intensity of downtown Toronto’s rush-hour pedestrian traffic pales in comparison to the electric work environment of Xtreme Labs. After some time, most XL employees will get up to speed with our fast-paced work environment, but I clearly remember being overwhelmed on my first day as an Agile Engineer at our downtown Toronto office.
read more- http://tech.xtremelabs.com/a-week-at-xtreme-labs-an-engineers-perspective/
Last August, the iOS developer community discovered a small change with potentially large implications that came with the introduction of iOS 5.0: the deprecation of the UDID. The UDID is a highly used unique identifier for each iOS device; somewhat like a social security number for your phone or tablet.
read more- http://tech.xtremelabs.com/udid-deprecation/
With the recent release of the new iPad, app resources (images, videos, etc.) will be significantly larger. Apple has raised the 3G app download to 50mb to compensate for the larger images, but it may still be a tight squeeze. This is especially true for universal apps that have to support low and high resolutions of iPhones, iPods, and now the iPads. Often during the construction of an app we will go through many revisions to the UI, moving new assets in and out of the app. In this confusion, there’s a chance that the developer might forget to remove the image as a resource from the project when it is no longer used.
read more- http://tech.xtremelabs.com/how-to-shrink-your-app/
7 Tools in an Advanced Android Development Workflow
Understanding your development tools allow you to spend less time writing boilerplate code and solving the same problems over and over again. Here are seven tools every Android developer should familiarize themselves with to make their workflow more efficient and solve new problems.
read more- http://tech.xtremelabs.com/7-tools-in-an-advanced-android-development-workflow/
To build working iOS apps quickly and painlessly I have often leveraged open source libraries. It’s important to avoid reinventing the wheel every time your app needs to hit the network, use common UI, socially share content, etc. People have listed libraries before (here, here, and here), I wanted to highlight some that lean more towards dev tools than front facing user features
read more- http://tech.xtremelabs.com/ios-libraries-for-productive-programming/
Parsing JSON Data Efficiently on Android: JsonReader
I recently worked on an Android app that parsed large amounts of JSON-formatted data. We would routinely allocate 20 or 30 kilobytes of heap space for Strings of JSON-formatted text retrieved from a server. We’d pass the strings to the Android framework’s JSONObject class in order to construct our data models. After downloading many objects in a short amount of time we discovered that we were frequently running out of memory and decided that we needed a different strategy to parse the content we downloaded from our server: all those Strings and JSONObjects on the heap were killing us.
read more- http://tech.xtremelabs.com/parsing-json-data-efficiently-on-android-jsonreader/
In my recent project, we were asked to build a hybrid app which incorporates native Android UI with web components. In our past experience, iOS has a very extensive library of handling all web views, which led us to believe that Android would also provide something similar. However, after days of experimenting on Android WebViews, we found it acts quite differently from the UIWebView class in iOS.
Read More - http://tech.xtremelabs.com/introduction-to-android-webview/
Facebook iOS SDK 3.0 makes it easier for developers to integrate Facebook into their mobile applications. This new release comes with a host of major updates, from FBSession which lets an app manage the user’s session with ease to a bunch of smaller features like making it easier to create basic API calls to the Facebook OpenGraph. This version of the SDK also introduces blocks for a cleaner handling of various calls to Facebook.
Read More - http://tech.xtremelabs.com/facebook-sdk-3-0/
This guide will show you how to setup your Mac environment for optimal Ruby on Rails development.
Read More - http://tech.xtremelabs.com/how-to-setup-your-mac-for-rails-development/
What is the savedInstanceState Bundle?
The savedInstanceState is a reference to a Bundle object that is passed into the onCreate method of every Android Activity. Activities have the ability, under special circumstances, to restore themselves to a previous state using the data stored in this bundle. If there is no available instance data, the savedInstanceState will be null. For example, the savedInstanceState will always be null the first time an Activity is started, but may be non-null if an Activity is destroyed during rotation.
Read More - http://tech.xtremelabs.com/android-savedinstancestate-bundle-faq/
The introduction of apps and data plans have opened the doors for contacts to be used in new and unexpected ways. For example, you can use contacts to instant message friends using a data plan, or you can use contacts as a way to video conference with colleagues. A contact list is a list of people, so it should expose all the possible ways that you can communicate with those people.
Read More - http://tech.xtremelabs.com/android-contacts-explained/
There are many things to worry about when designing and developing for Android devices. Some of the most common questions a developer may have when entering the world of Android development are: How do we support all the different device sizes? How do we support device rotation layouts? How do we support different locales and languages?
Read More - http://tech.xtremelabs.com/understanding-android-resource-folders/