Using quantitative and qualitative measurements to improve GitHub’s Editor Tools

The Editor Tools team at GitHub builds tools for other developers, and we often feel like we know what we should build next. Though we often have good instincts, we know that other developers have different workflows and different pain points. We don’t always know how you will discover, use, and understand what we have built.

As such, we’ve started the process of discovering how you use what we build, and where the gaps in our extensions are. Our primary goal is to bring parts of the GitHub experience to your development environment. We’re dedicated to discovering what we can about how you use your developer environment, and how we can improve the way you collaborate with your code and your team.

We’re tackling this in two major ways:

  1. Improving our metrics
  2. Conducting usability studies

Improving how we collect and analyze metrics

The purpose of improving our metrics is to better understand how you use our extensions and how Editor Tools improve your workflow. We recently wrote a blog post about how we gather metrics in Atom, which you can read more about here.

Through collecting metrics around how you work throughout the development cycle, we can identify better ways to support you: the developer. We continue to be dedicated to protecting our users’ privacy and security, and in this process we are only interested in gathering large amounts of information that will give us indicators for the success of the features we create.

Conducting usability studies

We’re conducting usability studies with developers in the community to better understand who you are, how you write code, and how you collaborate with your team. All of this will help us understand how to better support your goals and workflows. If you’d like to learn more about future usability studies, follow us on our various Twitter accounts: GitHub for Visual Studio, GitHub for Unity, and Atom.

Learning from you

We are currently running usability studies around Visual Studio. If you use Visual Studio to develop software in any capacity (side projects, school, career, open source projects, just learning, etc), we want to learn from you! Our usability studies are typically done remotely over video conferencing software. Learn more about this study and sign up to participate.

You can also check out what we are up to in our various open source repositories:

We always welcome new contributions. Look for issues with the “Good First Issues” label in our repositories’ issue trackers to get started.

Turning today's students into tomorrow's technologists with GitHub Education, a free program for schools

GitHub Education banner image

For years, GitHub has been free to individual students and teachers for classroom use. Now, we’re making it possible for schools of all types and sizes to adopt GitHub and our education offerings in a single bundle through GitHub Education.

GitHub Education includes access to GitHub, an ever-growing suite of developer tools in the Student Developer Pack, workflows for teachers in GitHub Classroom, and training through Campus Experts and Campus Advisors.

Now we are putting all of these tools and programs together—along with free access to our Business Plan and GitHub Enterprise, so your entire school can get on board at no cost.

We’re excited to expand our commitment to include the features that schools need, like SAML single sign-on and access provisioning, with GitHub Education.

A product suite built around students and teachers

In 2014, we launched the Student Developer Pack, a set of the best tools to help students prepare for careers in the industry. By 2015, teachers asked for help managing their courses with GitHub, so we built GitHub Classroom. Teachers have used it in over 10,000 courses, with their students creating more than two million repositories. Since 2016, students have leveled up their leadership skills through Campus Experts. Now hundreds of Campus Experts around the world are working to build strong technical communities. Earlier this year, we opened up teacher training with our new Campus Advisors program, so that instructors can use Git and GitHub in their courses with confidence.

To date, we’ve helped more than one million students around the globe learn to code, and engage with technical communities to take the next step in their careers.

Helping schools amplify their reach and impact

While many schools teach with GitHub because it is the industry standard for collaborating on software, our partner schools see GitHub Education as a vital way to fulfill their own missions.

Kwame Yamgnane, co-founder of coding school 42 Silicon Valley, says, “Our mission is to prepare tomorrow’s workforce, entrepreneurs, and thinkers with skills and a digital toolset for the 21st-century. We want to make education and pathways to the workforce accessible, and GitHub Education is helping us do that globally.”

In Spain, Ubiqum Code Academy is working to reduce high unemployment rates as well as a skills shortage for IT jobs. “We’re reversing this trend,” says Nathan Benjamin, Head of Product. “At Ubiqum students learn to think like coders and analysts, collaborate on project teams, and use the modern tools essential to IT. The most important of these is GitHub.”

Other GitHub Education schools include Gallaudet University, Santa Barbara City College, St. Louis Community College, and the University of New Hampshire.

Bring GitHub Education to your school.

Announcing GitHub for Unity 1.0

GitHub for Unity 1.0 banner In March 2017 we announced the alpha version of the open source GitHub for Unity editor extension and released the beta version earlier this year. Now, in time for Unite Berlin 2018, GitHub for Unity 1.0 is available for download at unity.github.com and from the Unity Asset Store.

GitHub for Unity is a Unity editor extension that brings Git into Unity 5.6, 2017.x, and 2018.x with an integrated sign-in experience for GitHub users. It introduces two key features for game development teams: support for large files using Git LFS and file locking. These features allow you to manage large assets and critical scene files using Git in the same way that you manage code files, all within Unity.

If you’re at Unite Berlin 2018, don’t miss our GitHub for Unity talk on June 19 at 10:15 am in the Breakout 2 room. Lead developer Andreia Gaita (@shana) will give an overview of GitHub for Unity’s features and explain how to incorporate it into your game development workflow.

What’s new in 1.0

Since releasing the beta version in March 2018, we’ve made new improvements to the user experience and shipped several bug fixes. Version 1.0 also includes:

  • File locking improvements: File locking management is now a top-level view within the GitHub window, giving you the ability to lock or unlock multiple files

locked files image

  • Diffing support: Visualize changes to files with the diffing program of your choice (set in the “Unity Preferences” area) directly from the “Changes” view in the GitHub window

  • Reduced package size: Previously, the package included full portable installations of Git and Git LFS. These are now downloaded when needed, reducing the package size to 1.6MB and allowing us to distribute critical Git and Git LFS updates and patches to you faster and in a more flexible way

  • Notification of updates: Get a notification within Unity whenever a new version is available. You can choose to download or skip the current update

  • Email sign-in: Sign in to your GitHub account with your GitHub username or the email address associated with your account

  • Improved Git and Git LFS support for Mac

  • A Git action bar for essential operations

  • And many bug fixes and improvements throughout

Download the GitHub for Unity 1.0 editor extension from the Unity Asset Store today. In addition to integrating the extension into your game development workflow, we encourage you to join our community by contributing and following our GitHub for Unity repo and chatting with us on Twitter (@GitHubUnity).

Project board issue and pull request details view

You can now view and edit key information in issues and pull requests from within your project board.

Clicking on the title of an issue or pull request card opens a side panel on the right hand side of the screen. The following actions are supported within this side panel view:

  • Adding and editing reactions
  • Adding and removing labels
  • Editing titles and descriptions
  • Editing assignees
  • Editing and requesting reviewers
  • Editing projects the issue or pull request is in

Details view animation

Additionally, clicking the link at the bottom of the side panel view opens your issue or pull request in a new tab while your project board remains open.

Read the documentation for more information.

Release Radar · May 2018

GitHub Release Radar · May 2018

You may have noticed there were a lot of great open source releases this past month. Here are a few of our favorites.

mitmproxy 4.0

mitmproxy is a versatile and interactive man-in-the-middle proxy for HTTP and HTTPS traffic, letting you inspect, modify, and play back web traffic. The latest release, mitmproxy 4, sees substantial speed increases and other improvements, such as new keybinding configuration and support for Python versions 3.6 and above. Read the project’s release blog post for more details.

mitmproxy in action

Did you know? mitmproxy has been used to help discover many security vulnerabilities. Learn more about them on mitmproxy’s publications page.

Electron 2.0

Electron is a framework for developing desktop apps with JavaScript, HTML, and CSS. Electron has recently shipped version 2.0, which marks the beginning of Electron’s adoption of Semantic Versioning and a new process for pre-release stability. Head over to the Electron blog for more details.

Did you know? Electron was used to build things like the Slack, Atom, and Discord desktop apps.

VideoJS 7.0

Video.js is an HTML5 web video player. Version 7.0 adds VHS (the other VHS, known as Video.js HTTPS Streaming project) which enables support for new HTTP streaming protocols, like HTTP Live Streaming and dynamic adaptive streaming over HTTP. Video.js 7 also drops support for Internet Explorer 8, 9, and 10. Check out their announcement for more details.

spin.js 4.0

spin.js is a JavaScript library for creating spinning activity indicators. To improve performance, the latest release uses CSS keyframes to run animation. Check out the release notes on GitHub for more information.

Rancher 2.0

Rancher is an open source container management platform. The latest release, Rancher 2.0, supports Kubernetes exclusively and adds a host of new features, including a CI pipeline and interoperability with Kubernetes services offered by cloud services providers. It’s a big change for the project, so check out the release announcement and project docs for more information.

Nest 5.0

Nest is a framework for building server-side Node.js applications. The project recently released version 5, which unveils changes like supporting async lifecycle hooks and HTTP server independence, plus bug fixes and other improvements. See the release notes for more.

Nuke 7.0

Nuke is an image loading and caching library for writing iOS and macOS applications. Nuke 7 introduces support for new formats (progressive JPEG, WebP, and GIF), resuming downloads, and performance metrics. Refer to the extensive release notes for all the details.

Pendulum 2.0

Pendulum is a library that extends Python’s date and time handling, adds a friendly timezone API, and more. Pendulum 2.0 now supports year and month durations, parses ISO 8601 durations, and renames some parts of the API.

import pendulum

now = pendulum.now('Europe/Paris')

# Changing timezone
now.in_timezone('America/Toronto')

# Default support for common datetime formats
now.to_iso8601_string()

# Shifting
now.add(days=2)

See the Pendulum blog for a complete breakdown.

Vapor 3.0

Vapor is a Swift language web framework. Its newly-released version 3.0 now runs completely async (for handling higher levels of concurrency) and dispenses with JSON configuration files in favor of a pure Swift approach. Read the announcement on Medium to learn more about this release!

Policy 2.0

Lemonade, a home and renter’s insurance company, released the first-ever open source insurance policy. The goals of Policy 2.0 are to both make insurance policies dynamic, digital first, and easy to understand for consumers. Check out Lemonade’s Policy 2.0 blog post to learn more.

Polymer 3.0

The Polymer library helps you make custom web elements that behave like regular DOM elements. Polymer 3.0 adopts a few mainstream JavaScript development tools, like ES6 modules and npm. Check out the release announcement on their blog or watch their roadmap talk.

Did you know? True to its name, the Polymer Project is made up of several other parts, including PWA Starter Kit and Material Web Components.


That’s just a handful of releases you shipped last month—keep them coming! If you’ve got a release that should be on our radar, send us a note.

Newer

Changelog

Subscribe

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more