Quantifying the impact of developer experience

At the Developer Experience Lab, a joint Microsoft and GitHub research initiative, we saw this play out globally during the pandemic which led us to a revelation: the best way to help developers achieve more is not by expecting more, but by improving their experience.
The post Quantifying the impact of developer experience appeared first on Microsoft Azure Blog.

Elevate Your Git and GitHub Skills in Visual Studio with the Intermediate and Advanced Series

Git and Version Control skills are essential for development, but they’re often glossed over in coding curriculum and onboarding. We often memorize a few commands without understanding how to recover from sticky situations or leverage Git to the fullest. Are you ready to take your GitHub knowledge to the next level within Visual Studio?
The post Elevate Your Git and GitHub Skills in Visual Studio with the Intermediate and Advanced Series appeared first on Visual Studio Blog.

Swift Student Challenge applications open February 5

We’re so excited applications for the Swift Student Challenge 2024 will open on February 5.Looking for some inspiration? Learn about past Challenge winners to gain insight into the motivations behind their apps.Just getting started? Get tools, tips, an...

Visual Studio productivity features in 2023

Over the last year, we’ve invested heavily in new capabilities to help Visual Studio developers code more easily. Let’s look back on some of the additions that aim to make your coding experience more productive.
Feature Name

Spell Checker

All-In-One Search


Brace Pair Colorization

Sticky Scroll

Compare Files

Copy and Trim Indentation

Case-preserving Find and Replace

Summary Diff

Rename suggestions

17.9 Preview 1
All-In-One Search plain text support

17.9 Preview 1
Productivity highlights

Here’s a snapshot of some productivity enhancements that shipped in 2023,
The post Visual Studio productivity features in 2023 appeared first on Visual Studio Blog.

WP Briefing: Episode 71: New Year, New Blog!

In the latest WordPress Briefing, Executive Director Josepha Haden Chomphosy revisits our roots in blogging and breaks down the essentials of starting your first WordPress blog. Tune in to Episode 71 for practical tips and inspiration to kickstart your blogging journey.

The great non-free-firmware transition

TL;DR: Dear Kali user, when you have a moment, check your /etc/apt/sources.list, and add non-free-firmware if ever it’s missing.
Programmatically speaking:
kali@kali:~$ sudo sed -i 's/non-free$/non-free non-free-firmware/' /etc/apt/sources.list


Microsoft named a Leader in the 2023 Gartner® Magic Quadrant™ for Container Management

We’re honored to announce that Microsoft has been named a Leader in the 2023 Gartner® Magic Quadrant™ for Container Management*. We believe that this recognition validates our end-to-end approach for developing and deploying enterprise-grade, cloud-native apps that run on Azure, in datacenters, or at the edge.
The post Microsoft named a Leader in the 2023 Gartner® Magic Quadrant™ for Container Management appeared first on Microsoft Azure Blog.

Latest updates for C++ Remote Linux Development in Visual Studio: Remote File Explorer, Integrated Terminal, and more…

Visual Studio allows you to target your remote Linux machines so that you can still use Visual Studio’s build and debugging suite for all your remote workflows just like how you would develop locally without having to leave the IDE. To further enhance your ability to develop remotely for C++ from Visual Studio,
The post Latest updates for C++ Remote Linux Development in Visual Studio: Remote File Explorer, Integrated Terminal, and more… appeared first on Visual Studio Blog.

17.9 Preview 3 brings exciting changes to Code Search

With the release of 17.9 Preview 3 dropping today, we are bringing some exciting enhancements to the Code Search (also known as All-In-One Search) experience. Since our last update with the search experience, we’ve been hard at work refining the experience and ideating ways to add to the experience.
The post 17.9 Preview 3 brings exciting changes to Code Search appeared first on Visual Studio Blog.

What Is a Domain Backorder?

In the ever-evolving landscape of the internet, domains are the digital real estate of the 21st century. Like prime pieces of land, desirable domain names are often already taken, leaving many businesses and individuals longing for their perfect web ad...

StoreKit and review guideline update

Starting today, because of a recent United States Court decision, App Store Review Guideline 3.1.1 has been updated to introduce the StoreKit Purchase Link Entitlement (US), which allows apps that offer in-app purchases in the iOS or iPadOS App Store o...

What Is Keep-Alive?

The term “Keep-Alive” may sound like something from a spy thriller, but in the world of web technology, it serves a vital role in improving WordPress website performance and user experience.
The post What Is Keep-Alive? appeared first on Themeisle Blog...

Data Liberation in 2024

Imagine a more open web where people can switch between any platform of their choosing. A web where being locked into a system is a thing of the past. This is the web I’ve always wanted to see. That’s why I announced a new initiative called Data Liberation for 2024. Migrating your site to WordPress, […]

A New Approach to Real-Money Games on Google Play

Posted by Karan Gambhir – Director, Global Trust and Safety Partnerships

As a platform, we strive to help developers responsibly build new businesses and reach wider audiences across a variety of content types and genres. In response to strong d...

Hello Developer: January 2024

Welcome to Hello Developer. In this Apple Vision Pro-themed edition: Find out how to submit your visionOS apps to the App Store, learn how the team behind djay approached designing for the infinite canvas, and get technical answers straight from Apple ...

Q&A: Building apps for visionOS

Over the past few months, Apple experts have fielded questions about visionOS in Apple Vision Pro developer labs all over the world. Here are answers to some of the most frequent questions they’ve been asked, including insights on new concepts like entities, immersive spaces, collision shapes, and much more.How can I interact with an entity using gestures?There are three important pieces to enabling gesture-based entity interaction:

The entity must have an InputTargetComponent. Otherwise, it won’t receive gesture input at all.
The entity must have a CollisionComponent. The shapes of the collision component define the regions that gestures can actually hit, so make sure the collision shapes are specified appropriately for interaction with your entity.
The gesture that you’re using must be targeted to the entity you’re trying to interact with (or to any entity). For example:
private var tapGesture: some Gesture {
.onEnded { gestureValue in

let tappedEntity = gestureValue.entity

}It’s also a good idea to give an interactive entity a HoverEffectComponent, which enables the system to trigger a standard highlight effect when the user looks at the entity.Should I use a window group, an immersive space, or both?Consider the technical differences between windows, volumes, and immersive spaces when you decide which scene type to use for a particular feature in your app.
Here are some significant technical differences that you should factor into your decision:

Windows and volumes from other apps the user has open are hidden when an immersive space is open.
Windows and volumes clip content that exceeds their bounds.
Users have full control over the placement of windows and volumes. Apps have full control over the placement of content in an immersive space.
Volumes have a fixed size, windows are resizable.
ARKit only delivers data to your app if it has an open immersive space.

Explore the Hello World sample code to familiarize yourself with the behaviors of each scene type in visionOS.How can I visualize collision shapes in my scene?Use the Collision Shapes debug visualization in the Debug Visualizations menu, where you can find several other helpful debug visualizations as well. For information on debug visualizations, check out Diagnosing issues in the appearance of a running app.Can I position SwiftUI views within an immersive space?Yes! You can position SwiftUI views in an immersive space with the offset(x:y:) and offset(z:) methods. It’s important to remember that these offsets are specified in points, not meters. You can utilize PhysicalMetric to convert meters to points.What if I want to position my SwiftUI views relative to an entity in a reality view?Use the RealityView attachments API to create a SwiftUI view and make it accessible as a ViewAttachmentEntity. This entity can be positioned, oriented, and scaled just like any other entity.RealityView { content, attachments in

// Fetch the attachment entity using the unique identifier.
let attachmentEntity = attachments.entity(for: "uniqueID")!

// Add the attachment entity as RealityView content.

} attachments: {
// Declare a view that attaches to an entity.
Attachment(id: "uniqueID") {
Text("My Attachment")
}Can I position windows programmatically?There’s no API available to position windows, but we’d love to know about your use case. Please file an enhancement request. For more information on this topic, check out Positioning and sizing windows.Is there any way to know what the user is looking at?As noted in Adopting best practices for privacy and user preferences, the system handles camera and sensor inputs without passing the information to apps directly. There's no way to get precise eye movements or exact line of sight. Instead, create interface elements that people can interact with and let the system manage the interaction. If you have a use case that you can't get to work this way, and as long as it doesn't require explicit eye tracking, please file an enhancement request.When are the onHover and onContinuousHover actions called on visionOS?The onHover and onContinuousHover actions are called when a finger is hovering over the view, or when the pointer from a connected trackpad is hovering over the view.Can I show my own immersive environment textures in my app?If your app has an ImmersiveSpace open, you can create a large sphere with an UnlitMaterial and scale it to have inward-facing geometry:struct ImmersiveView: View {
var body: some View {
RealityView { content in
do {
// Create the sphere mesh.
let mesh = MeshResource.generateSphere(radius: 10)

// Create an UnlitMaterial.
var material = UnlitMaterial(applyPostProcessToneMap: false)

// Give the UnlitMaterial your equirectangular color texture.
let textureResource = try await TextureResource(named: "example")
material.color = .init(tint: .white, texture: .init(textureResource))

// Create the model.
let entity = ModelEntity(mesh: mesh, materials: [material])
// Scale the model so that it's mesh faces inward.
entity.scale.x *= -1

} catch {
// Handle the error.
}I have existing stereo videos. How can I convert them to MV-HEVC?AVFoundation provides APIs to write videos in MV-HEVC format.
To convert your videos to MV-HEVC:

Create an AVAsset for each of the left and right views.
Use AVOutputSettingsAssistant to get output settings that work for MV-HEVC.
Specify the horizontal disparity adjustment and field of view (this is asset specific). Here’s an example:
var compressionProperties = outputSettings[AVVideoCompressionPropertiesKey] as! [String: Any]

// Specifies the parallax plane.
compressionProperties[kVTCompressionPropertyKey_HorizontalDisparityAdjustment as String] = horizontalDisparityAdjustment

// Specifies the horizontal FOV (90 degrees is chosen in this case.)
compressionProperties[kCMFormatDescriptionExtension_HorizontalFieldOfView as String] = horizontalFOV
Create an AVAssetWriterInputTaggedPixelBufferGroupAdaptor as the input for your AVAssetWriter.
Create an AVAssetReader for each of the left and right video tracks.
Read the left and right tracks, then append matching samples to the tagged pixel buffer group adaptor:
// Create a tagged buffer for each stereoView.
let taggedBuffers: [CMTaggedBuffer] = [
.init(tags: [.videoLayerID(0), .stereoView(.leftEye)], pixelBuffer: leftSample.imageBuffer!),
.init(tags: [.videoLayerID(1), .stereoView(.rightEye)], pixelBuffer: rightSample.imageBuffer!)

// Append the tagged buffers to the asset writer input adaptor.
let didAppend = adaptor.appendTaggedBuffers(taggedBuffers,
withPresentationTime: leftSample.presentationTimeStamp)How can I light my scene in RealityKit on visionOS?You can light your scene in RealityKit on visionOS by:

Using a system-provided automatic lighting environment that updates based on real-world surroundings.
Providing your own image-based lighting via an ImageBasedLightComponent. To see an example, create a new visionOS app, select RealityKit as the Immersive Space Renderer, and select Full as the Immersive Space.
I see that CustomMaterial isn’t supported on visionOS. Is there a way I can create materials with custom shading?You can create materials with custom shading in Reality Composer Pro using the Shader Graph. A material created this way is accessible to your app as a ShaderGraphMaterial, so that you can dynamically change inputs to the shader in your code.
For a detailed introduction to the Shader Graph, watch Explore materials in Reality Composer Pro.How can I position entities relative to the position of the device?In an ImmersiveSpace, you can get the full transform of the device using the queryDeviceAnchor(atTimestamp:) method.Learn more about building apps for visionOS

Q&A: Spatial design for visionOS
Get expert advice from the Apple design team on creating experiences for Apple Vision Pro.
View now

Spotlight on: Developing for visionOS
Learn how the developers behind djay, Blackbox, JigSpace, and XRHealth started designing and building apps for Apple Vision Pro.
View now

Spotlight on: Developer tools for visionOS
Learn how developers are using Xcode, Reality Composer Pro, and the visionOS simulator to start building apps for Apple Vision Pro.
View now

Sample code contained herein is provided under the Apple Sample Code License.

Code, Connect & Learn at Visual Studio LIVE! in Las Vegas.

As an integral part of our Visual Studio community, we’re thrilled to extend a special invitation to Visual Studio LIVE!, from March 3-8, 2024, at the Paris Las Vegas Hotel & Casino. This event is a hub for developers eager to explore the latest features in the IDE plus additional insights from experts in Visual Studio,
The post Code, Connect & Learn at Visual Studio LIVE! in Las Vegas. appeared first on Visual Studio Blog.

8 Ways to Integrate WordPress with Facebook

Facebook is one of the most popular social media platforms, therefore, it’s a great idea to integrate it on your website. In this post, we’ll show you eight ways to integrate WordPress with Facebook. Let’s get started!
The post 8 Ways to Integrate Word...

What’s new with Google Cast?

Posted by Meher Vurimi, Product Manager

Since we launched Google Cast in 2013, we've been working to bring casting capabilities to more apps and devices. We have come a long way. Now, users can cast to many new devices, like TVs, speakers, smart...

2023 – a year of community experiments

As we enter a new year, we wanted to catch you up on several experiments your feedback and participation helped us fine tune over the course of 2023.

A community experiment is when we identify features believed to increase user productivity and happiness,
The post 2023 – a year of community experiments appeared first on Visual Studio Blog.

Visual Studio Performance Highlights Delivered in 2023

As we step into 2024, we’re taking a moment to look back at the significant performance improvements our team delivered in 2023. Your valuable feedback, active collaboration, and unwavering support have been crucial in enhancing Visual Studio. This past year has been focused on optimizing performance,
The post Visual Studio Performance Highlights Delivered in 2023 appeared first on Visual Studio Blog.