August 31, 2015

Upcoming Xamarin University Guest Lectures

By

Whether you’ve had previous experience with Xamarin or are completely new to C# or mobile development, Xamarin University offers an extensive course library that caters to developers of all levels. The program offers live, interactive, lab-based classes taught by Xamarin mobile experts from around the world, at all hours of the day. In addition to the constantly-updated list of regular courses, subscribers also have access to Guest Lectures, which are live webinars given by notable speakers in the community.

Xamarin University CrestNeed to brush up on a subject? Attend a live session again, watch a video recording, self-study with downloadable course material, or attend a 30-minute Office Hour session with an instructor! And don’t forget—Xamarin Mobile Developer Certification is included at no extra cost with your Xamarin University subscription.

With Xamarin University, the knowledge and tools to build beautiful cross-platform mobile applications is at the tip of your finger.

Guest Lectures in September

In honor of the “Back to School” season, we’ve scheduled several special Guest Lectures in September that you can register for now:

 

james September 10th at 9:00am PST
James Montemagno – Using and Developing Plugins for Xamarin
September 17th at 8:00am PST
Pierce Boggan – Spice Up your Xamarin.Forms UIs with Custom Renderers
pierce
krystin September 24th at 8:00am PST
Krystin Stuteman – Prototyping with Xamarin.Forms
September 29th at 8:00am PST
Greg Shackles – Testing your Apps: A Crash Course
greg

 

Guest lectures are recorded, so don’t sweat if you aren’t available when they’re happening live. With your Xamarin University subscription, you’ll have access to all recorded sessions at any time.

Sounds fantastic, now what?

Head over to the Xamarin University page to learn more. From there, you can enroll for a year-long subscription or you can start a free 30-day trial, which gives you access to all of these amazing Guest Lectures throughout the month of September!

August 14, 2015

Xamarin Podcast: MVVM Frameworks with James Montemagno

By

Deciding which patterns to use when developing your app can be difficult, which is why James Montemagno and I discuss MVVM frameworks and our approach to developing cross-platform apps with as much code reuse as possible on this week’s episode of the Xamarin Podcast.

Subscribe or Download Today

Knowing the latest in .NET, C#, and Xamarin is easier than ever with the Xamarin Podcast, available via iTunes, Stitcher, and SoundCloud. Do you have an interesting story, project, or advice for other .NET mobile developers? If so, we’d love to share it with the Xamarin community! Tweet @pierceboggan or @MikeCodesDotNet to share your blog posts, projects, and anything else you think other mobile developers would find interesting. Be sure to download today’s episode on MVVM frameworks, and don’t forget to subscribe!

August 4, 2015

Webinar Recording: Mobile Enterprise Success with Xamarin and Oracle

By

We’re excited to help our customers build better enterprise apps through our recently announced partnership with Oracle. With this partnership, developers can build native iOS and Android Xamarin apps that quickly integrate with Oracle Mobile Cloud Service (MCS) for robust backend functionality, including push notifications, mobile APIs, storage, analytics, and more.

Watch the recording of the live “Mobile Enterprise Success with Xamarin and Oracle” webinar below to hear leading Forrester Analyst Michael Facemire and Xamarin and Oracle executives discuss our partnership and its impact on enterprise mobility. You’ll also learn about each platform and see a live demo on configuring MCS, building a Xamarin Project, and adding the Xamarin SDK for Oracle Mobile Cloud Service to your projects.

View the presentation slides for this webinar here.

Additional Resources

Visit xamarin.com/oracle for more information about our partnership and to download the Xamarin SDK for Oracle Mobile Cloud Service.

June 18, 2015

Want to try Xamarin University? Now you can!

By

Try Xamarin University for Free

Xamarin University has grown rapidly since its introduction in 2014 and today, we’re excited to announce a brand new way for you to experience Xamarin University for free.

With our new trial offer, you’ll see why over 2,500 students have enrolled in Xamarin University. Take advantage of Lightning Lectures, Guest Lectures, and two full classes from our Certification track, which you’ll be able to attend live as well as access on-demand:
 

    Xamarin University Orientation: Get help configuring your development environment, as well as how to get the most out of Xamarin University, and how to become a Xamarin Certified Developer.
     
    Intro to Xamarin.Forms: Build a first app using Xamarin.Forms. This class is designed to get you up and running on Xamarin with a 100% shared code native application that runs natively on iOS, Android, and Windows.

 
With almost 60 classes offered across 8 learning tracks, we have something to offer to developers across the spectrum. From those getting started in C# or making the switch to mobile, all the way to experienced developers ready to add Xamarin Certification to their resumes, Xamarin University offers everything you need to stay up-to-date in today’s constantly evolving mobile landscape.

Xamarin Certified Mobile Developer status can only be attained through Xamarin University, and after your trial, your completion of Xamarin University Orientation and Intro to Xamarin.Forms can be counted towards the full Xamarin Certification track.

Your 30-day free trial is ready — get started today!

Start Your Trial


June 15, 2015

Forums Updates: Badges and More!

By

The Xamarin Forums have been growing exponentially and now see over one million page views monthly! Our forums provide a great place to ask questions, share experiences, and discuss technical and community related topics. In addition to our posted forums guidelines, we’ve also recently introduced a community moderator program to help ensure the forums continue to provide a great experience for everyone in the community, at all times.

Today, we’re happy to announce the introduction of new forums badges to some of our more accomplished community members, as well as some improvements we’ve introduced to the process of posting new forums topics.

Badges

Our new badges give titles and recognition to members of the community who have accomplished goals or earned certification. The following badges have been integrated into the forums and are being awarded to community members as they earn them:

2015-06-15_0954

  • Xamarin University Professor
  • Xamarin Team Member
  • Xamarin MVP
  • Xamarin Certified Developer
  • Xamarin Student Ambassador
  • Xamarin Group Leader

You can earn one of these badges for yourself by completing Xamarin Certification through Xamarin University, starting up a local user group, or by being a stand-out community member in your school or the developer community at large.

Ask a Question

2015-06-15_0958We wanted to make it as easy as possible to ask a question in the Xamarin Forums, so we’ve added a new “Ask a Question” button. Creating threads with this button allows you to mark replies to your thread as answers, so others can quickly find the answers to the questions they have been looking for. Users will also be able to see from the list of threads in a particular forum if their question has been answered or not, allowing further visibility into question status without having to open the thread directly. Feedback so far has been incredibly positive, with significantly more questions being asked (and answered) daily! 

Get Involved Today

With topics ranging from iOS and Android to Xamarin.Forms and Xamarin Test Cloud, the forums are a great place to exchange knowledge, tips and tricks, and ask and answer questions. To get started, visit the Xamarin Forums and become a member of our growing community today!

June 11, 2015

Better Apps & Faster Release Cycles Part IV

By

This week, we launched a four part series that covers simple steps you can take to improve your apps and make your release cycles faster. Our advice is based on real-world challenges and rewards from Niels Frydenholm, Senior iOS Developer at eBay Classified, who spoke at Xamarin Evolve 2014.

Today we’ll look at how to put the pieces together and expand your focus.

In the first three parts of the series, we discussed the path from manual testing to automation, integration with release management, and how and why to target real devices in the cloud. If you’ve made it through all three steps, you’re ready to reimagine quality in your organization, and focus resources on higher value, more strategic activities.

Shifting Focus

Automation allows QA and development to shift out of fire-fighting mode and reclaim time. In the first stage of the shift, developers and testers will have time to perform creative work that can further increase test quality, efficiency, or coverage. For example, eBay’s dedicated tester can now focus more of his time on supplementing automated testing with manual exploratory tests, and its developers no longer have to worry about building on top of the fragile legacy code created by their former waterfall process. The team can now focus on creativity and productivity, rather than playing clean-up.

A new direction in test strategy and tooling provides a rare opportunity to quantify the impact of quality assurance. Within a short time, developers should notice substantial changes in quality KPIs, from performance data and crash frequency to internal metrics, such as open bugs and time-to-resolution (TTR). This information can be invaluable during budgeting, as it assigns objective value to a traditionally hard-to-quantify discipline. It also lays the foundation for the next stage of the shift that makes quality a company concern.

Elevating the Discussion

Screenshot of Xamarin Insights

“If you have happy customers, you’re going to have a happy boss.”

The next phase of the shift expands the definition of quality and the participants in the quality process. By integrating an automated test and release management system with user monitoring and analytics such as Xamarin Insights, teams can redefine quality assurance from a reactive, tactical bug-catching role to a provider of data-driven, strategic guidance for a continuous “build → test → monitor” workflow.

While QA will remain the gatekeeper for this data, the dissemination of this information should also be automated. Starting with departments closest to the product (typically sales, marketing, and product management), you can work with IT to integrate core quality metrics into business apps and dashboards other departments use to justify business decisions.

Putting it All Together

Mobile testing is imperative, but regardless of sophistication or size, most developers are doing it poorly – or not at all. eBay’s business and scale are unique, but the problems they experienced are not, and all mobile developers can learn from their example. To maintain a competitive release schedule without sacrificing quality, developers must embrace test automation, test on real devices, and integrate those tests with development and release processes. Implemented properly, testing can integrate with minimal overhead and have an immediate impact on product quality, developer happiness, and user satisfaction.

June 10, 2015

Better Apps & Faster Release Cycles Part III

By

This week, we launched a four part series that covers simple steps you can take to improve your apps and make your release cycles faster. Our advice is based on real-world challenges and rewards from Niels Frydenholm, Senior iOS Developer at eBay Classified, who spoke at Xamarin Evolve 2014.

Today we’ll look at how to expand your testing program beyond simulators to real devices.

Would you fly with a pilot who had only used flight simulators?

“Don’t trust only emulators and simulators. You have to run on real devices, as well.”

Simulators provide quick, useful feedback, which can be an important component of efforts such as eBay’s commit tests – short tests run by developers on their own code, designed to validate basic functionality. Still, simulators are only an approximation of deployment environments, running on very different, much more powerful hardware. As such, they can mask a number of real problems while indicating others that simply do not exist. For example, several Xamarin Test Cloud customers have noted false returns from simulators in performance-dependent areas such as timing and graphic rendering.

It’s also important to remember that simulators are software applications, and they may carry their own inconsistencies and bugs. eBay noticed that a number of its intermittent, non-reproducible test failures were actually driven by problems with their simulators. The company was ultimately able to code around these failures by automatically rerunning failed tests to eliminate false negatives, but the differences between a true live device and a software simulation are significant.

Ultimately, your app will be deployed on real-world devices, each with its own set of design quirks, limitations, and bugs, and the only way to guarantee performance and quality is to test against real-world targeted platforms. This is not unique to mobile, as QA departments have been testing against a range of supported systems since the beginning of software development. What is unique to mobile is the vast device and OS fragmentation that exists, making on-device testing far more critical while also more difficult to achieve.

How to Test on Real Devices

Xamarin Test Cloud devices
eBay offered three tips for managing resources while making the jump to real device testing:

  • Don’t manage it all yourself. eBay noted the overhead of testing on even their relatively small number of target iOS platforms. “We don’t really have time to install and test on that many devices,” said Niels, so they chose to test on real devices in Xamarin Test Cloud. He also notes that for developers supporting even a handful of Android platforms, this fragmentation is far more complicated.
  • Have your tests in order. Before you deploy tests to Xamarin’s device cloud, make sure you actually have a stable test suite on your local machine.
  • Results reporting matters. Testing on a large number of devices will create a large volume of results. eBay receives detailed reporting from nightly test runs that feed directly into its CI system. The team has access to detailed test data, including screenshots and video from different devices that can help in pinpoint the exact reasons for failures.

Just as in aviation, there are real-world conditions for mobile apps that cannot be simulated and that are only be surfaced and dealt with by experience in real environments. Xamarin Test Cloud makes that easy.

If you missed the beginning of the series, you can find Part I here and Part II here. In Part IV, we’ll look at how test automation helps teams do more important work.

June 9, 2015

Better Apps & Faster Release Cycles Part II

By

This week, we launched a four part series that covers simple steps you can take to improve your apps and make your release cycles faster. Our advice is based on real-world challenges and rewards from Niels Frydenholm, Senior iOS Developer at eBay Classified, who spoke at Xamarin Evolve 2014.

Today, we’ll look at how integrating automated tests with your release cycles can cut the total time to release by 50% or more.

Optimizing Release Cycles

“By the end of the year, we were releasing on all supported platforms monthly.”

eBay Classifieds 2014 Release schedule from Xamarin Evolve 2014 talk

With multiple developers working in overlapping areas of code, eBay uses Jenkins to manage a variety of automated tests to ensure that its CI efforts run smoothly without slowing down the development process. By automating not just test execution, but also test setup, eBay removed the overhead and potential for error from test management, streamlining their entire development process.

As a result, eBay doubled the number of supported app platforms and pushed more than twice as many releases in 2014 as they did at the start of 2013.

Tips for Getting Started

Niels offered three tips for optimizing releases:

  • Optimize for speed. To minimize negative impact, isolate developers from as much testing overhead as possible, and provide rapid feedback after each change, eBay uses different test suites for different jobs.
    • Ten minute commit tests: eBay’s commit tests during the day are limited to a roughly ten minute subset of the full test suite. This provides an adequate level of assurance to the developer without becoming disruptive.
    • Daily full suite: At the end of the day, they run a full one-hour test suite to ensure complete coverage.
  • Trim the fat. Niels suggested writing around UI-based overhead for test set-up and tear-down. For example, if a UI test is designed to verify that a logged-in user can modify data through a form, the process of creating the user account, logging in, and populating the initial data set can often be automated through a faster, script-based approach without invalidating the test itself, as long as the scripted functions are tested in full elsewhere.
  • Automate job creation. eBay creates branches for new features under development in order to keep its master branch clean for an App Store upload. Unfortunately, this creates a number of opportunities for human error. “We got kind of lazy. When we would make a new branch, we would have to copy all the jobs in Jenkins, and that wasn’t much fun, so developers would start skipping that.”
     
    The company has now automated test setup and tear-down on the build server, which creates the jobs necessary to run UI tests on all platforms whenever it sees a branch beginning with the word “feature.” Once the feature branch has been merged to the master, the build server automatically deletes the jobs it created.

“Prior to automating job creation we found bugs way too late. Whether developers branch or not, we always want to find bugs as fast as possible.”

If you missed the beginning of the series, you can find Part I here. In Part III we look at which target platforms fit your testing needs and in Part IV, we explore how test automation helps teams do more important work.

June 8, 2015

Better Apps & Faster Release Cycles Part I

By

Today we’re launching a four part series that covers simple steps you can take to improve your apps and make your release cycles faster. Our advice is based on real-world challenges and rewards from Niels Frydenholm, Senior iOS Developer at eBay Classified, who spoke at Xamarin Evolve 2014.

You Can’t Afford Not to Do It

“When I talk to people from other companies about automating their entire test base, they give two reasons why they aren’t doing it: ‘The tools are just too complicated to use’ – which just isn’t true — and ‘We don’t have time to start.’ I think the question they should be asking is ‘How can we afford to not be doing this?'”

In 2013, Denmark’s eBay Classifieds ran small, self-contained development teams focused on short, iterative sprints, but overhead from manual testing inhibited continuous delivery for mobile.

The development team spent two to five days per release on test runs and bug fixes, so product owners forced as many features as possible into each release before the gates closed. This feature bloat cost the company quality and time. Large deltas between releases introduced more bugs that were discovered later in the process, increasing the burden on both development and testing.

According to Niels, eBay adopted a heavily-automated testing process “to speed up the whole development cycle.” While eBay took a number of steps to integrate and tune their process, the move toward automation was the root of the strategy.

eBay Classified on Xamarin Test Cloud

Over time, eBay automated its entire test base and reassigned manual testing resources to areas where they could have the greatest impact. The effort was challenging, but ultimately worth it. They achieved:

  • Better app quality
  • Faster release cycles
  • Happier teams in ways we’ll address later this week

Easy Ways to Get Started

Niels offered three tips for anyone moving toward automation:

  • Prioritize. Test automation is a process, and your existing deployments cannot stop while you reboot. Divide your automation efforts into three categories.
    1. Focus on automating your riskiest areas of existing code first.
    2. Automate tests for new features on an ongoing basis as you create them.
    3. Automate the remainder of your test suite as time allows.
  • Structure your test code. Write clean, well-commented code free of hard-coded variables and designed for reuse, then have that code peer-reviewed before committing.
  • Supplement with manual tests. Manual testers are wonderful at finding creative ways to break things. Use exploratory manual tests to discover new weaknesses. When those tests are successful, structure and automate them.

Ultimately, Niels’ advice to developers is to push through internal resistance to reach the obvious benefits. As Niels notes, “It’s not effortless. There’s a learning curve, but it will pay off.”

In Part II we cover how to cut your app release cycles in half (or more), in Part III we discuss which target platforms fit your testing needs, and in Part IV we explore how test automation helps teams do more important work.

May 19, 2015

Xamarins on Film: New Video Resources

By

The Xamarin team is popping up everywhere; from conferences and user groups to Xamarin Dev Days, odds are high that you can find a member of our team at an event near you. If, however, you we haven’t made it to your neck of the woods, observing a Xamarin on film can be just as fascinating and educational. For your viewing pleasure, and to teach you about a wide variety of mobile C# topics, we present footage from some recent sightings below.

Building Multi-Device Apps with Xamarin and Office 365 APIs

Have you been curious about how to integrate your Xamarin apps with Azure Active Directory and utilize the brand new Office 365 APIs? Look no further than James Montemagno’s session at this years Microsoft Build conference on how to integrate all of these services from a shared C# business logic backend.

Cross-Platform App Development with .NET, C#, and Xamarin

Xamarin Developer Evangelist Mike James recently spoke at the Technical Summit in Berlin, providing a complete overview of how to build native cross-platform apps with C# and Xamarin.

Tendulkar Explains

If you’re just getting started, you can learn the basics of Xamarin and mobile app development one step at a time by following along with Xamarin Developer Evangelist Mayur Tendulkar in his new, ongoing series, tendulkar-uvāca (Tendulkar Explains). The first episode, below, covers how to set up your development environment.

Developing Cross-Platform 2D Games in C# with CocosSharp

13cc9fce-3d69-4b8e-8bc5-35580ff98e33 If you haven’t been following James Montemagno’s appearances on Visual Studio Toolbox, then you’re in for a treat! Officially setting the record for most appearances, his latest visit takes a look at cross-platform 2D games with CocosSharp.

Real-Time Monitoring of Mobile Apps with Xamarin Insights

13cc9fce-3d69-4b8e-8bc5-35580ff98e33In his 8th appearance on Visual Studio Toolbox, James joins Robert Green to discuss monitoring your apps in real time with Xamarin Insights.

Live Events

If you’d like to catch a Xamarin talk in person, check out our upcoming events here.