A Xamarin Insights + HockeyApp Future

IanJanickiIanJanicki USXamarin Team, University Xamurai

We have some very exciting news to share with developers everywhere today: Xamarin Insights will be joining Microsoft’s HockeyApp platform! To learn more details, please read the blog post and the FAQ.

Looking forward to an exciting future!

«1

Posts

  • For a bit of clarification, it sounds like on the crash reporting feature will receive parity. What about the event/user session tracking that is in Insights. Is there a comparable feature in HockeyApp or will this be ported over as well?

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    Great question @DanielDura.1972,

    While we will initially focus on getting crash reporting up to speed, events and users are absolutely on our radar. Today, HockeyApp released new Preseason features for event tracking, we recommend you try it! We don't expect you to switch right away, but we will be making strides to make HockeyApp as-useful and even more useful than what Insights provides today.

    Keep your eye on the HockeyApp blog and also please participate in their new Slack room!

  • I don't see any updated Xamarin SDK downloads for Preseason

  • valdeterovaldetero USInsider, University ✭✭

    Until we have to make the move when everything gets up to par, can the audience, users, and events tabs just be opened up for everyone instead of gone completely?

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @Stefan_CaveBirdLabs, you can find it here.

  • ThibaultDThibaultD SEMember ✭✭✭
    edited April 2016

    Hi,

    What about the free version of Xamarin Insights?
    As a developer of apps where user engagement doesn't matter, I am very satisfied with the free version of Xamarin Insights that collects and aggregates crash reports in a neat fashion, and also displays a few interesting metrics. (Crash free users, users past 30 days, ...).

    The HockeyApps free plan suffers of many limitations that Xamarin Insights does not suffer of.
    So what's the future for us developers who were happy with the Xamarin Insights that was included in our Xamarin subscription?

    Will we be allowed to stay in Xamarin Insights?

    Or are we forced to trust our user data to Hockey Apps, a third-party company I know nothing off and that I never chose to work with?

    I work in the public sector and we can't just change providers like that from one day to another. We have to write long documentation to motivate why we use a provider instead of another. When the amount exceeds a certain sum, we even have to make public procurements.

    It's going to be a painful - and forced - process for us to move to Hockey Apps and I wonder what solution Xamarin Insights has for us.

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @ThibaultD, thanks for your response.

    We don't want to 'force' you to do anything. What the team is focusing on over the next several months is helping HockeyApp grow into a service that meets and surpasses what Insights could provide. While there will come a point where we encourage you to switch over, this wont be immediate, and we don't want to stop you from using Insights during the transition period.

    HockeyApp is not just a third-party company, it's a wholly-owned subsidiary of Microsoft and takes security and the privacy of your users just as seriously as we do.

    I'm curious why you find their free tier more limiting than ours. In terms of tools at your disposal, they are very generous. What are your concerns?

  • ThibaultDThibaultD SEMember ✭✭✭

    @IanJanicki said:
    @ThibaultD, thanks for your response.

    We don't want to 'force' you to do anything. What the team is focusing on over the next several months is helping HockeyApp grow into a service that meets and surpasses what Insights could provide. While there will come a point where we encourage you to switch over, this wont be immediate, and we don't want to stop you from using Insights during the transition period.

    HockeyApp is not just a third-party company, it's a wholly-owned subsidiary of Microsoft and takes security and the privacy of your users just as seriously as we do.

    I'm curious why you find their free tier more limiting than ours. In terms of tools at your disposal, they are very generous. What are your concerns?

    Thank you for your answer.

    It looks like the free tier is limited to 2 applications. I created 8 "applications" in Xamarin Insights to monitor the different builds of my application (Debug, Release, Test, Beta, Prod, ...).
    Did I misunderstand the limitations of HockeyApps?

  • ThibaultDThibaultD SEMember ✭✭✭

    @IanJanicki said:
    @ThibaultD, I figured this was the issue. I definitely agree with you this is limiting. While I cannot offer you a solution right now, both myself and the rest of the team know that the current pricing structure doesn't make sense. This will be one of my priorities as I start to work with the new team, and I will definitely take your feedback to heart. Thanks for expressing your concerns!

    Thanks :blush:

  • rmaciasrmacias USBeta, University ✭✭✭✭✭

    @IanJanicki said:
    @ThibaultD, I figured this was the issue. I definitely agree with you this is limiting. While I cannot offer you a solution right now, both myself and the rest of the team know that the current pricing structure doesn't make sense. This will be one of my priorities as I start to work with the new team, and I will definitely take your feedback to heart. Thanks for expressing your concerns!

    @IanJanicki

    I agree with @ThibaultD, my clients (and on my personal project) does the exact same thing. We have different "Dev", "QA", and "Production" "apps" of the same application on Insights so that we don't litter our Production Insights with data from our Dev and QA environments.

    At the same time, keeping our Dev and QA environments separated on Insights is immensely helpful to us because we have, and do catch, A LOT of issues and potential issues that we would not have caught if we didn't analyze this data in Insights before deployment. Switching over to HockeyApp, limiting us to 2 "apps" is not really acceptable. The biggest draw for Insights was Free Crash Reporting and no limits on Apps. Keep this same free pricing tier on HockeyApp please. :)

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    @IanJanicki There are many reasons why we need to have several "versions" of an app as we develop it and bring it to market.

    • Many organisations work in terms of Developer, User Acceptance, and Production environments. Each environment connects to a different server URL and corresponds to the #if DEBUG, ADHOC and RELEASE compiler configurations in the build settings.

    • If the app receives Push Notifications, it's doubly important to have the correct setup. On the Apple side, if you distribute with TestFlight, you have to use a Production certificate to connect up to the notification server. Therefore, if you don't want to be spamming your Production users with test notifications, you absolutely must have different apps with different bundle ids and different certificates. The situation is similar on Android, because you can only have one Google Sender Id per app - again, if you don't want to spam your Production users, you absolutely have to have different apps with different Sender Ids. I take this one stage further to also have a different app for Development, so I can avoid spamming my testers (some of whom are clients and not just internal company testing personnel) while the app is in active development.

    • For reasons other posters have already enumerated, we also have to separate the streams of Insights data so that bugs/crashes in one stream do not pollute the other streams. Everybody fixes problems in Development and User Acceptance that should never even appear in Production metrics.

    • There are also legislative requirements. In the industry I'm in, it's actually illegal to have test (dummy) users in Production data, which makes it all the more important to have separate apps and corresponding servers.

    The upshot is that for every app we bring to the app stores, we need at least 3 actual apps per platform, each with their own Bundle Id and other configurations, so that the various streams of data, metrics and code can be kept separate.

    I think it would be very helpful to have HockeyApp / Insights introduce the concept of an "application group" where you can register the 3 (or in @ThibaultD 's case, 8) Bundle Ids and API Keys needed to manage the Development, User Acceptance and Production streams, but somehow only charge for them as if they were one app (because in reality they are). This would not only be very attractive price-wise, but would have the side-effect of encouraging good development practice.

    At present the Xamarin and VS IDEs do not do a great job of enabling this style of development for apps. There are a few things that change when you change the Bundle Id of an app, but a great many other things that stay the same. Almost all of the ones that change are mixed up in the settings pages with ones that don't.

    Things that change (I've probably forgotten something):

    • Bundle Id / Package name
    • Insights API Key
    • Google Cloud Messaging Sender Id and API Key
    • Info.plist NSAppTransportSecurity settings
    • Entitlements.plist App Groups (mostly for Watch apps) and Associated Domains
    • AndroidManifest.xml GCM settings (RECEIVE, SEND, C2D_MESSAGE, GcmReceiver, REGISTRATION)
    • Application name

    Almost all other aspects of the app will stay the same:

    • Graphics
    • Android and Xamarin.Forms styles
    • Embedded resources
    • NuGet packages
    • Code

    There is definitely an opportunity here to shape the way the IDEs support best practice in app development. I realise this part of the forum is about Insights, but I since the Insights support is integrated into the IDE it would be good to see it being done in a way that actually helps people to work well and doesn't frustrate them. The current IDE integration assumes that a single Insights API Key will be used for both Android and iOS projects in a cross-platform app, which really should never be the case. It also seems to assume that only iOS apps will ever need to generate useful stack traces - again, clearly not the case in real life.

    So there's actually lots of scope for improvement. :smile:

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @rmacias, @DavidDancy

    Thanks for your useful feedback! I will definitely carry it forward. I completely agree with your sentiment, not only regarding the need for several keys for a single 'app', but to make the integration more nuanced and be aware of that fact. Please keep this thread going; these are all great suggestions and useful information to carry forward into our pipeline plans.

  • DavidDancyDavidDancy AUMember ✭✭✭✭

    @IanJanicki The Push Notifications scenario is particularly awkward on Android because of the number of permissions and other keys you have to put in the AndroidManifest.xml file, some of which have the PackageName and part of the android:name attribute. If the IDE could enable text-substitution of this value in a similar way to how Xcode does it, it would be a big win all round. (Better yet, have the IDE know what Android keys are needed when notifications are required and get it to just add everything).

  • DavidDancyDavidDancy AUMember ✭✭✭✭
    edited April 2016

    @IanJanicki alternatively, if the IDE (and the headless build system) could support conditional compilation (#if DEBUG etc) in the various settings files, that would also do the trick nicely.

  • ThibaultDThibaultD SEMember ✭✭✭
    edited April 2016

    @DavidDancy said:
    @IanJanicki There are many reasons why we need to have several "versions" of an app as we develop it and bring it to market.

    Well, this is greatly out of scope for this thread but it's really a great description of the reasons why I have all these environments.
    I haven't dug into that problem yet because I was more focused in the Insights/Hockey App thing but I do agree with you 100%. I do experience all the problems you have listed.

    The Xamarin devenv isn't yet adapted to different builds as you say. In Xcode, you can create different targets that will use different Info.plist files. And that's about it because most of the information (bundle id, images, ...) is contained in the bundle ID. With Android, I could use gradle flavors.
    But with Xamarin I've circumvented the problem by creating bash scripts to build my different build targets. Ewww.

    Supporting continuous integration in mobile development could have its own chapter/thread here in the forum.

  • JKayJKay USMember ✭✭✭

    When it is time to change from Insights to HockeyApp, can we get a blogpost / guide or something explaining how to change.

    There are a couple of random HockeyApp SDK's on nuget at the moment and I'm not sure which one is the correct one. HockeyApp as of today has no (or very hidden) documentation when it comes to making it work with Xamarin applications

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @JKay, we'll definitely supply you with guides when its a good time to switch. Re: SDKs. We're actively working on a new one that will give you first-class Xamarin exception reporting. Stay tuned for announcements at Evolve ;)

  • Jay.HonJay.Hon USMember

    I have a question. Maybe i'm missing something. Is HockeyApp also available for use in deployed apps? Meaning, can we use it for user metrics and crash reporting in a live scenario? Of course, we would like this during testing also, but it's important in a live scenario.

    We don't need to use it for deployment for testing, as my test team is very small......

    We just want Error Reporting & User Tracking & Statistics (Speed, etc) during Test/Live usage of our 2 apps.

    Thanks

  • AndreasLindeAndreasLinde USMember ✭✭
    edited April 2016

    Jay.Hon: Yes, HockeyApp is absolutely designed and used for deployed apps.

  • JKayJKay USMember ✭✭✭

    @andreasLinde I think you wanted to tag @Jay.Hon

  • Jay.HonJay.Hon USMember

    Thanks, @AndreasLinde

    I'll try diving deeper into the documents. It looks like users can 'submit tickets' and things like that, right from the apps. But, is it possible to shut that off? Honestly, I simply want error reporting & statistics, similar to something like Microsoft Insights or NewRelics.

    Thanks again guys. Gonna dive into Microsoft Insights & the new Hockey App stuff now...

  • AndreasLindeAndreasLinde USMember ✭✭

    Jay.Hon: The feedback feature is optional and only works if you actively integrate the UI. Otherwise it does nothing and is nowhere to be seen. So no need to actively shut it off.

  • MommMomm USMember ✭✭✭

    @DavidDancy said:
    @IanJanicki The Push Notifications scenario is particularly awkward on Android because of the number of permissions and other keys you have to put in the AndroidManifest.xml file, some of which have the PackageName and part of the android:name attribute. If the IDE could enable text-substitution of this value in a similar way to how Xcode does it, it would be a big win all round. (Better yet, have the IDE know what Android keys are needed when notifications are required and get it to just add everything).

    I don't know if you have the answer for this, but you can take a look at this post http://stackoverflow.com/questions/21237578/how-to-set-package-name-of-xamarin-android-apk-for-google-play-submission/21473090#21473090

    And then set your manifest this way: < uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" / >
    And the receivers with the same approach: Categories = new [] { "${applicationId}" }

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @Momm,

    Do you think you could start a new thread for a discussion about this issue (and mention me)? Want to keep it focused on HockeyApp here!

    Thanks :smile:

  • IsmaelPapaIsmaelPapa FRMember

    Is there a way to find documentation on HockeyApp Integration using Xamarin Component HockeyApp For Android using Visual Studio and VSTS? I have issue in having HockeyApp recognizing HockeySDK and thus reporting crashes. Please let me now if there already is a thread around this kind of isue.

    Thank you

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @AndreasLinde, perhaps you can help out here?

  • AndreasLindeAndreasLinde USMember ✭✭

    Does this documentation here help? https://github.com/bitstadium/HockeySDK-Xamarin#for-xamarin-for-visual-studio

    If not, what is missing for you?

  • NikiNiki BGMember ✭✭✭

    I also have a question. I couldn't find a way to report handled exceptions to HockeyApp. Is it not possible currently and are there plans to enable it? For me that's the number one Insights feature that would stop me from migrating.

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    @Niki Currently, HockeyApp does not have this capacity, but we're actively working on it!

    Due to the volume of handled exceptions that will come in (its on an order of magnitude greater vs. unhandled as we observed with Insights), we are working on getting the infrastructure in-shape.

    We wouldn't expect you to migrate until this is finished. Thanks for the feedback!

  • JohnMoyJohnMoy AUMember ✭✭

    @IanJanicki On the Xamarin Insights FAQ site it says this ...

    Can Insights be used at the same time as other crash reporting tools (ex. HockeyApp, Raygun, Crashlytics)?

    No. Only one library can catch crash reports at a time. Either Insights will block HockeyApp or HockeyApp will block Insights.

    But I watched THIS video https://evolve.xamarin.com/session/56ec8938de91c6253c277bc7 and I want the Audience analysis that is excellent in Insights, but with the 'shake for Feedback' feature that comes with the HockeyApp package. So are you saying I can't include both packages in the same build? From a crash reporting perspective where it says above 'Either Insights will block HockeyApp or HockeyApp will block Insights' do we know which one will persist at runtime and whether this will be consistent or randomly switch?

  • LukasSpiessLukasSpiess DEMember

    @JohnMoy Assuming you're also talking about iOS, it is not guaranteed which exception handler will get the exception. This is undefined behavior and we therefore need to assume it's random.

    You should able to include both packages though but just need to make sure to disable the crash reporting functionality in the setup code for either one.

  • JohnMoyJohnMoy AUMember ✭✭

    @LukasSpiess Yes I was talking about iOS. Thanks heaps for your response. Much appreciated.

  • JasonAwbreyJasonAwbrey USInsider, University, Developer Group Leader mod

    When transitioning to HA, should I shared the same AppID key between my Android and iOS versions of the App, or is it better to use a different AppID key for each?

    Also, we distribute a Beta and an Alpha version of our app through HA - and each has it's own AppID. But for reporting and analytics can I just use a single AppID?

    Bottom line, are there any significant cons to using a single AppID for multiple versions/platforms?

  • JamesMontemagnoJamesMontemagno USForum Administrator, Xamarin Team, Developer Group Leader Xamurai

    @JasonAwbrey I would use different app id's in HockeyApp as it is designed that way. This is what I did for the Evolve app.

  • AndreasLindeAndreasLinde USMember ✭✭

    @JasonAwbrey: you should use separate App IDs for each platform you deploy to. So in your case one for Android and one for iOS. If you want to use in-app-update alerts, then all features need to use the same AppID. It is not possible to use separate App IDs for individual features inside an app.

    And especially for bug reporting you should not use the same App ID across multiple platforms as our system can't handle that without issues.

  • JKayJKay USMember ✭✭✭

    Is Xamarin Insights eventually going to be deprecated? What advise would you give to a developer who is creating an application and wants to get simple crash reporting information?

    Currently there is a a 2 app limit for free users on Hockeyapp where as Insights offers unlimited applications for simple crash reporting.

  • IanJanickiIanJanicki USXamarin Team, University Xamurai

    Yes, Insights will eventually be deprecated (but not anytime soon).

    We would recommend that you eventually move over to HockeyApp. HockeyApp has some affordable personal plans you can find here.

    HockeyApp has improved crash reporting and PCL support for Xamarin apps is coming very soon!

  • NealCulinerNealCuliner USBeta ✭✭✭

    I got a survey today about Insights and it shutting down. I sure hope at some point when needed you all will provide us a transition guide. I'd rather wait for when they have your magic or know when the right time is to make the switch.

  • ddotmunchddotmunch DEMember ✭✭

    I do like the transitioning and it totally makes sense. However I'd appreciate having more detailed information about it like timing etc. Especially since apparently HockeyApp can be used together with Azure Credits which we have some left due to our BizSpark subscription and I'd really like to use those for my crash reporting and analytics. And since there's no more pricing or signup for Xamarin Insights I'm kind of stuck in the middle.

«1
Sign In or Register to comment.