2013 was a year filled with excitement, innovation and disruption. Apple introduced the iPhone 5S, Google announced an IDE built just for Android developers, and the world rolled their eyes as words like selfie, twerk and jorts were added to dictionary!
It was exactly a year ago today that we joined forces with Twitter. Since the acquisition, not only did we enhance features, functionality and improve your experience with Crashlytics, we also had some pretty exciting personal achievements — our first kegerator, 4 Crashlytics babies, and 24 new employees (p.s. – we’re hiring)!
Here’s a look back at how things shook out for us in 2013.
We know you’ve been busy untangling the lights, posing for the always entertaining family photo, losing your mind finding a parking spot at the mall, all in an attempt to track down that nearly impossible to find gadget that’s on everyone’s list this year. Well, no need to wear your pj’s inside out and backwards, because our updates this month will make you feel like school’s been cancelled and it’s time to play!
This month, we’ve been busy delivering you the holiday gifts you won’t find under your tree! Back in November we launched a new version of Crashlytics for Android SDK, along with a slew of enhancements to our IDE plugins and usability upgrades. Finishing the year out strong, we crafted a dozen gifts just for you: upgraded data visualization, enhanced navigation experience, multiple support enhancements to the IDEs and platforms — and more!
Lightweight, Cutting-Edge Data Visualization
We first upgraded our data visualizations by leveraging the latest, much lighter weight D3 library. To give you an even more interactive experience, we revamped the metrics UI on our issue list page and updated the time series on the issue details. We also upgraded the metrics summary data that displays device and OS details, with fully interactive pie and bar charts.
We believe that developer tools should be beautiful and intuitive — not like that failed attempt to recreate Grandma’s famous fudge! Our new graphs and charts flow naturally with our upgraded design theme. We also updated the alert center where alerts for new comments and issues now use our standard UI library. This is all while enhancing the accuracy of our realtime service in improving the delivery of information for new issues, comments, and service hooks verifications!
Effortless, Cross-Device Navigation
To make it easy for you to navigate through different platforms and devices, we revamped the issue’s metrics dashboard and broadened the date range so you can view up to 30 days worth of crashes per issue. We also reduced the number of selector options by removing the old Alert Center’s app switcher.
We upgraded the stack trace on the issue details and session summary pages by removing the separate section that contained the exception and memory address and placing that information inside the crashed stacked trace header. To better denote the crashed header’s significance, we highlighted it in blue so you can spot it with ease, just like Rudolph’s red nose!
More Powerful, Multi-Platform Support
We didn’t waste any time adding support for the latest release of IntelliJ 13, including support for Android Gradle projects. We also updated our Gradle plugin to support a breaking change in the latest version of Google’s Android Gradle plugin, which prevented any broken builds that would’ve been caused by Google’s change in the default flavor capitalization.
For our Eclipse IDE plugin, we drastically improved the efficiency of icon prefetching. Outside of the Android platform, we also improved the application icon support for iOS 7, which ensures that your latest application icons will be located and automatically updated in our web dashboard and Mac app!
Here’s our internal changelog:
- Improved application icon support for iOS 7.
- Resolved minor issue with deleted applications.
- Built support for IntelliJ 13.
- Enhanced efficiency of icon prefetching for Eclipse plugin.
- Fixed minor bugs that caused the plugin window to flicker and disappear when first opened.
- Resolved issues that caused Eclipse Kepler to occasionally halt during startup.
- Overhauled Issue’s metrics dashboard and increased date range for customers.
- Reduced selector options and implemented new standard UI library into alerts for new comments and issues.
- Upgraded data visualizations to D3 and updated time series on the issue details page.
- Enhanced metrics summary data with interactive pie and bar charts.
- Improved alert center with new CLS UI.
- Boosted performance of realtime service on returning information associated with new issues, comments, and service hooks verifications.
- Updated stack trace on the issue details and session summary pages.
- Moved exception and memory address information of a crashed session inside the stacked trace header with header highlight.
This year has been full of fun and excitement and we can’t wait to continue to celebrate with you into next year! While we won’t be squeezing down any chimneys to fill your stockings with treats, we hope these upgrades and enhancements will keep you smiling through the holidays. Happy holidays from our Crashlytics family to yours
Posted by Brian Lynn on Nov 26, 2013 in Company, Engineering
It’s that time of year! Time to hang with the fam, write code, and enjoy an ice cold winter lager. All while making sure you’re dressed to impress for the inevitable run in with your old high school flame…
As Thanksgiving approaches, we have a ton of updates to share that are sure to distract you from the very obvious fact that Cousin Sam burned off his eyebrows in the deep fried turkey practice round that went down last weekend! This month, we bring you a new version of the Crashlytics for Android SDK, user experience enhancements to our IDE plugins, and usability upgrades to our web dashboards.
And just to recap–before you caught Grandma putting more wine in her glass than the gravy pan (go Granny!), and even before your little sister brought her tattoo-covered boyfriend home from college — back in October we shared two major announcements back to back: Crashlytics for Android Studio and Crashlytics Real-Time Search.
Performance & Responsiveness
We’re excited to have shipped v1.1.5 of our Android SDK with some serious performance upgrades! (If only there was a way to boost your own performance after you fall into that inevitable Thanksgiving Day food coma).
We tweaked our starting logic to move an extra blocking call off the main thread, reducing our SDK start time by over 75%, so you can get Crashlytics up and running even more efficiently — similar to how that extra cup (or 3) of coffee will have you nailing those Black Friday deals better than ever! To make the Crashlytics logger more useful, we now log priorities and tags to your crash reports as well as the Android logger. We also boosted crash processing efficiency by eliminating unnecessary process data collection and reduced the prioritization of Crashlytics threads to free up even more resources for your app.
When mom asks why we showed up empty handed on Thursday, we’ll have a good excuse: we’ve been busy deploying several updates to our Android IDE plugins to enhance the user experience! These include smart drawing of our plugin to better handle non-IDE windows that have focus, and an even smoother responsiveness of the organization selection screen, which now loads network data asynchronously.
Seamless & Intuitive
For those of you asking for access to the raw stack traces, we heard you loud and clear — even over the sounds of the too-soon holiday music that seems to be glaring from every car stereo anywhere. Our web dashboard now gives you the power to see and copy a raw representation of exceptions and threads. This feature is especially beneficial to our Android developers because you can also use the raw stack inside your IDE, so debugging crashes became easier than ever.
After launching shareable crash reports in September, we added read-only comments to these reports. Now even developers without Crashlytics accounts can view these notes, which can include useful information for collaboration with your team (e.g. JIRA URL). We get it — even if you remembered to put elastic waist pants on before you sat down to eat you still need help from the whole extended family to make a dent in that bird!
To enhance overall usability, we completely revamped the Issue’s session page, along with newly added drop down menus for users to easily navigate between their organizations and applications.
Here’s our internal changelog:
- Reduced SDK start time by over 75% by eliminating a blocking call during exception handler initialization in Crashlytics.start().
- Enhanced Crashlytics.logException(Throwable) to log a warning via Log.w() and immediately return on null input.
- Crashlytics.log(int priority, String tag, String message) now logs the priority and tag to Crashlytics reports as well as the Android logger.
- Removed collection of unused process data to improve crash processing efficiency.
- Explicitly set all Crashlytics background threads to THREAD_PRIORITY_BACKGROUND to defer CPU resources to the application.
- Fixed a bug preventing the Crashlytics SDK from being pulled into Android Studio automatically while adding an application.
- Pushed a non-critical fix to our plugin updater that prevents multiple updates between IDE restarts.
- Enhanced the UI of our modals and notes section as well as added the ability for users to filter out versions directly from the dropdown menu.
- Added raw stack traces so developers can now see and copy a raw representation of the exceptions and threads.
- Added read-only comments in shared crashes so notes are visible to team members who got the shared link but didnt have a Crashlytics account.
- Revamped UI for Modals and Notes.
- Added filters to Dropdown menus.
- Won the office-wide “Movember” contest (Tom Selleck truly is an inspiration).
It’s been quite a busy fall season for us but we look forward to shipping even more features before the year’s end. In the meantime, we’ll catch up with you guys on the other side of the holiday — save us some leftovers! Now, back to googling “Thanksgiving puns”…I mean…writing code
As we wrap up the Veteran’s day parades and tuck away our flags, Android developers around the world have been eagerly anticipating this week. 6 months after launching Crashlytics for Android, we’re making a big splash at one of the the most talked about conferences in the Android developer community: AnDevCon.
Supporting developers means more than just merely being a conference attendee, which is why we’ve decided to immerse ourselves fully by sharing our deep knowledge of Android development. Not only is our co-founder Jeff Seibert keynoting at the event, but joining him we have not one but TWO of our Android engineers sharing their hand-crafted strategies and development secrets!
Keynote: Developing at Twitter Scale
After keynoting at the last AnDevCon in May, Jeff is taking center stage again addressing the audience on how Twitter builds its own apps, the biggest challenges in app development today, and how we solved them at scale.
Key takeaways attendees can look forward to:
- How to structure your development process for maximum efficiency
- Automated testing and continuous integration
- Tips and tricks for optimizing and debugging your Android apps
When: Thursday, 10am PST
The War on Errors
Ever wanted to know why apps really crash? Our very own Android engineer Marc Richards is going to divulge all the nitty gritty details that many are scared to talk about!
Marc has been spearheading Crashlytics for Android since our humble beginnings. In his class “Crashes: The War on Errors”, he will take a deep dive into why Android apps crash, how crashes affect your users, and what your best solutions are. Besides sharing technical details on crash prevention, he will explain the psychology of crashes and offer an economic framework for determining your highest-priority bugs.
When: Wednesday, 10am PST
Fireside Chat with Twitter University
Even with a keynote and a workshop, we knew there had to be another way for us to connect with the developers at this conference. So we took it one step further. Marc and Lien Mamitsuka, another one of our Android Engineers instrumental to the success of Twitter’s Android app, will join an informal Q&A session at 7:30pm PST.
Hosted by Twitter University’s Marko and Sasa Gargenta, the session will feature the best strategies to develop apps quickly, grow your mobile team, and improve your app’s stability. This will be a rare opportunity for Android developers to learn how Twitter and Crashlytics work under the hood and get all the answers to their technical questions!
Will you be at AnDevCon? Jeff, Marc and Lien would love to meet you, so keep an eye out for us. Don’t be afraid, we don’t bite
If you didn’t make it to AnDevCon this time, no worries! Follow us @Crashlytics or hashtag #AnDevCon to stay up-to-date on our talks.
Happy Halloween from our (Crashlytics) family to yours! Over at CrashHQ we’ve somehow managed to find time to ship two major product updates this month (more on that later) — which is surprising considering how much time “some” of us spent infusing locally distilled vodka with fresh pumpkin and hand-embroidering “Doogie Howser, M.D.” onto that lab coat we bought at Good Will.
But even before October rolled around and we started getting into heated discussions with our co-workers born after 1990 about the blasphemy of never having heard of half the potential costumes one could create based on Mike Myers SNL skits, we accomplished a lot. In fact, last month we released an even lighter-weight version of our Android SDK, improved IDE plugin features, and easily shareable crash reports. This month we kept up that same momentum and launched Crashlytics for Android Studio and Crashlytics Real-time search!
Support for Android’s Next Big Thing
When Google first announced Android Studio last spring, Android developers everywhere were excited to start building their apps in an IDE designed specifically for them. This month, we released our plugin for Android Studio, bringing the power of Crashlytics to Android’s premier IDE, complete with robust Gradle support. Much like our plugins for Eclipse and IntelliJ, we made it seamless to integrate Crashlytics into your Android Studio workflow, along with access to the same powerful features: real-time issue browsing, SDK addition to new apps, and fully automated ProGuard deobfuscation. Again, all while searching the entire Greater Boston Area for the perfect, most-historically-accurate Salvador Dali mustache
We also created a more dynamic and responsive interface shared by all of our Android plugins. The new UI sports slick page transition animations, an app selection screen that tells you exactly which apps are already configured for Crashlytics, and the option to easily switch between your apps. Regardless of your choice between Android Studio, Eclipse and IntelliJ, you can have an effortless and streamlined debugging experience. (Picture taking your kids trick-or-treating without the inevitable sugar-induced melt down!)
Locate Issues from Anywhere, Anytime
When we first launched our iOS and Android SDKs, our unique logging features allowed developers to capture logged data with highly actionable insights. For our new real-time search functionality, we dramatically increased the flexibility and search precision by creating new indices to capture custom keys, logged events and custom user fields. This gives you the power to instantly locate the exact crashes you’re looking for with vivid details, along with the option to search across all build versions or hone-in on a single one.
Here’s our internal changelog:
- Fixed CrashlyticsMissingDependencyException when building with aapt’s –rename-manifest-package option.
- Upgraded plugins to go directly to issue browser on launch.
- Improved display of app and user names that use non-ASCII characters.
- Integrated new components of a new standard UI library such as a new sidebar and other components swaps.
- Switched the office kegerator over to a frosty pumpkin ale.
- Took the My-Kid-Has-the-Cutest-Costume contest offline by having a company Halloween party.
- Finally nailed consuming the right amount of candy at said party as to not get a stomach ache (speaking for our children, not ourselves).