Category: Technology

  • My Career: Windows Phone

    Microsoft got into the mobile market early with Pocket PC devices. Launched in 2000, these were devices aimed at professionals who wanted mobile access to their work-related calendars and email. With dominance in enterprise software, Microsoft was well positioned to sell . Apple’s release of the iPhone in 2007 completely changed that market though.

    In order to compete with the iPhone, Microsoft decided to entirely rework Windows Mobile into Windows Phone. It would have a new touch-focused interface and an application model much closer to that offered by the iPhone.

    The Silverlight code base ended up being chosen as the basis for applications on Windows Phone. Some of the Silverlight team supported that effort for the Windows Phone 7 release. Then with Silverlight’s wind down as browser plugins became obsolete, I moved over to working on the Windows Phone development platform for Windows Phone 8 in late 2011.

    For Windows Phone 8, the big challenge was a move from being based on Windows CE to Windows NT. This brought in a lot of OS capabilities, but it also had the potential to break a lot of things. My work for the release ended up being documenting the places where app developers had taken dependencies on the ordering of events on Windows Phone 7 and then adding code to the platform so that those events would be guaranteed to have the same ordering when the apps ran on Windows Phone 8. It wasn’t particularly exciting work, but it was critical to maintaining compatibility with the existing Windows Phone app catalog.

    After Windows Phone 8 shipped, I changed roles for the Windows Phone 8.1 release. I moved from being a individual contributor to being a team lead, and I left the app platform team for the team responsible for the phone browser’s user interface. My team’s goal was to make Internet Explorer on Windows Phone feel modern. We implemented support for having more than 6 open tabs, for gesture navigation, roaming favorites and history across Windows devices, and autocomplete for the address bar. I had been an acting lead for a while during Windows Phone 8, but this was my first time officially being a manager. I thought my team was great, and we accomplished a lot for the release.

    Across this time, Windows Phone was a fun project to work on and a product that I was proud of. It had a lot of innovative features like live tiles, jump lists, kids corner, and more. Unfortunately, it was also struggling in the market. By the time Microsoft shifted from an enterprise focus to a consumer focus for smartphones, iPhone and Android were both already in the market. This meant that for app developers, it would be a third mobile OS to support. Then missteps in the move from earlier phone projects, Windows Mobile and Kin, as well as not allowing devices to update from Windows Phone 7 to Windows Phone 8 caused frustrations amongst mobile operators, fans, app developers, and device manufacturers.

    There had also been a problem with the organization of Microsoft’s operating system teams. When the Windows 8 project started, one of its goals was to support tablets and compete with the iPad. Unfortunately, upper management on the Windows side decided that aligning with the Windows Phone application model would only hold Windows back, so they built an entirely different application model than what the Windows Phone team had been using since the release of Windows Phone 7. This meant that applications written for Windows Phone wouldn’t run on Windows tablets and vice-versa. This set the company on a path where the development platforms and app stores for both Windows and Windows Phone were weaker offerings than they otherwise could have been.

    After the relative failure of Windows 8 and 8.1 to draw fans or app developers and the continuing struggles of Windows Phone to build market share, Microsoft decided to merge the Windows and Windows Phone projects into a single team for Windows 10. The idea was that a unified platform would improve the odds of success for both, but a lot of ground had already been lost over the years of them pursuing their own directions. The idea of a unified Windows platform offered some hope internally, and at the time, I was happy to see the teams merging together.

    When the reorganization happened in 2014, I, along with most of my reports from the phone browser team, moved to a new team that was tasked with building a browser app for Windows and Windows Phone. My next career post will cover my time on that team.

  • Hallucinations in Law

    When even folks who are well-educated and held to high standards are falling for the lies of generative AI, the tech companies creating these products are clearly failing their customers. It needs to be absolutely clear to anyone using a generative AI product that none of the output from it can be trusted no matter how plausible it sounds.

    Much like a chain saw or other useful by potentially dangerous tools, one must understand the tools they are using and use those tools with caution. It should go without saying that any use of artificial intelligence must be consistent with counsel’s ethical and professional obligations. In other words, the use of artificial intelligence must be accompanied by the application of actual intelligence in its execution.

    Judge Mark J. Dinsmore

    Judges Are Fed up With Lawyers Using AI That Hallucinate Court Cases (404 Media)

  • My Career: Silverlight

    When I graduated from the University of Michigan, I decided to start my software engineering career at Microsoft. I accepted a position on a new small team working on what was at the time referred to as either Jolt or WPF/E (Windows Presentation Framework Everywhere). The product was a cross-platform browser plug-in to support rich applications and media streaming. Upon release, it would be called Silverlight.

    The first version of Silverlight was very bare bones. It supported embedding a user interface defined in XAML (Extensible Application Markup Language) into a webpage and interacting with those UI elements through the page’s JavaScript. The main goal of that v1 release was media players. At the time, Flash was the dominant way to embed media on a webpage because without plug-ins, browsers did not have a way to support video playback.

    From Microsoft’s point-of-view, the point of Silverlight was that competition with Flash. Microsoft wanted to sell their servers for media delivery, but the dominance of Flash for media playback was allowing for Flash Media Server to be the go-to server option for media. In order to support Windows Server sales, Microsoft needed an alternative to Flash so that companies could deliver rich media experiences without establishing a relationship with another server company.

    As a side note, when you’re working at a big company, it’s always worthwhile to know why the company is investing in what you’re working on. It won’t always be talked about openly, but figuring it out will help you to understand what outcomes will actually be valued by upper management.

    My main contribution to the initial version of Silverlight was its support for Firefox and Safari. I worked on pieces of both the browser interaction through the NPAPI (Netscape Plug-in Application Programming Interface) and our internal platform abstraction layer for system calls on Mac OS. I hadn’t programmed either browser plug-ins or anything for Mac before this point, so my time involved a lot of learning new things as we pushed towards our first release.

    The second version of Silverlight, released about a year later, made things much more interesting. The plug-in now included a version of the .NET Framework allowing for programming of Silverlight-powered interfaces with C# rather than JavaScript, and it supported more media features – adaptive streaming and, unfortunately, DRM (Digital Rights Management). That second release is where Silverlight started to pick up bigger customers including NBC and Netflix.

    As Silverlight grew, I worked on other pieces of it and picked up more responsibilities. I implemented its networking APIs to give application developers the ability to make HTTP requests using either the browser networking stack, which allowed for cookies and auth to be used from the browser session, or directly through the operating system, which allowed more control but was independent of the browser’s state. I also worked on its support of out-of-browser applications, including support for multiple window Silverlight apps.

    It was a lot of fun to get in on a project from nearly its start and see it grow over the years as we shipped 5 major versions. The team working on Silverlight was also great. Unfortunately, it wouldn’t last. While Silverlight was successful in enabling customers to deliver great media experiences using only Microsoft products, shifts in the way people use the internet over those years meant that it had no future.

    Two big changes were happening. First, Google launched their Chrome browser and began to push for HTML5. Their search engine business meant that they wanted to both push application development to focus on websites and for those applications to use standard HTML and JavaScript that their search engine could understand. The other big shift was the iPhone. Suddenly people had a capable browser in their pocket that they were using for more and more of their web browsing. Supporting Windows and Mac was no longer a compelling cross-platform story, and Apple had no interest in supporting Silverlight in their phone browser.

    Between HTML5 allowing for rich media without any plug-ins and more browsing happening on devices without plug-in support, there was no longer a market for Silverlight. As work on Silverlight 5 wrapped up, Microsoft split the team. A small team would continue to service Silverlight until its inevitable end-of-life, and then the vast majority of the team was moved to either Windows Phone or Windows 8 to work on the application platforms for those two products.

    Another lesson from Silverlight is that sometimes even if your product is successful, the market can shift and change its fate. Silverlight didn’t end because we failed to deliver a good product or because we were out-competed by another plug-in. Instead, changes in the broader market brought about the rapid disappearance of browser plug-ins as a whole.

    I was on the portion of the team that moved over to Windows Phone, but that is a story for another post.

  • Digital Packrat Manifesto

    Digital Packratting is the antithesis of this trend. It requires intentional curation, because you’re limited by the amount of free space on your media server and devices—and the amount of space in your home you’re willing to devote to this crazy endeavor. Every collection becomes deeply personal, and that’s beautiful. It reminds me of when I was in college and everyone in my dorm was sharing their iTunes music libraries on the local network. I discovered so many new artists by opening up that ugly app and simply browsing through my neighbors’ collections. I even made some new friends. Mix CDs were exchanged, and browsing through unfamiliar microgenres felt like falling down a rabbit hole into a new world.

    While streaming platforms flatten music-listening into a homogenous assortment of vibes, listening to an album you’ve downloaded on Bandcamp or receiving a mix from a friend feels more like forging a connection with artists and people. As a musician, I’d much rather have people listen to my music this way. Having people download your music for free on Soulseek is still considered a badge of honor in my producer/dj circles.

    Janus Rose

    The Digital Packrat Manifesto (404 Media)

    Where possible I try to make sure I get DRM-free files that I can keep. For music, I buy mp3s, usually as albums. For movies and shows, I do mostly stream. For any movie or show that I want to actually keep, I buy discs rather than digital copies. On the rare occasions that I buy a digital copy of a movie, I make sure it is on Movies Anywhere so that there is less chance I lose access due to one tech company deciding to abandon their service. For books, I only ever buy ebooks from stores that sell without DRM, like DriveThruFiction. For other books I want to read, I’ll either buy a physical copy or borrow a copy from the library.

  • Firefox Focus

    As a result of having worked on it at Microsoft, I’ve been using Microsoft Edge as my browser for years. Recently though, I’ve been looking for alternatives due to the amount that Microsoft has been adding bloated features that I don’t want to the browser so that each overview of new features after an update was a list of things I wanted to turn off rather than anything that excited me. More broadly, the company’s shoving of generative AI into every nook and cranny has pushed me to look for alternatives to pretty much every Microsoft product that I use.

    On the browser front, I’ve switched to Firefox with DuckDuckGo as my search engine. Both of those still seem to be investing in AI, but it was easy to opt out.

    On my phone, I installed both the standard Firefox browser and Firefox Focus. Since doing that, I’m surprised at how much I’m enjoying Firefox Focus.

    It is a simple, privacy-focused browser. It is essentially always in private mode and deletes your cookies and history each time you close it or at the convenient press of a button in its toolbar, and then it also has built-in ad and tracking blockers. On the other hand, it intentionally lacks a bunch of features that I’d normally like in a browser: roaming favorites, password management, tabs, cross-device history, etc.

    Despite that lack of features though, it turns out it feels pretty perfect for navigating a web that is hostile to users. Obnoxious ads are a problem all over the internet, so I recommend everyone use an ad-blocker no matter what browser you’re running. Then a lot of sites use cookies to track activity and interfere with users. For example, news sites often record the number of articles you view and then at some point stop letting you read without a subscription. It turns out defaulting to private mode where cookies are regularly deleted makes those sites feel a lot more user friendly.

    On the rare sites where I actually want to sign-in, I’m easily able to switch over to the full Firefox on my phone with a menu option in Firefox Focus. Then I can benefit from all the roamed information from my desktop browser.

    If you’re not happy with your mobile browsing experience, then I recommend giving Firefox Focus a try. Oh, and also change the settings in every single app that tries to open links in anything other than your default browser to stop doing that.

    Firefox Focus (Mozilla)

  • Innovation is a Distraction

    We do absolutely know what we need to to to fight the climate crisis: Reduce carbon emissions radically. Which we have known for decades (I was taught about the “greenhouse effect” in motherfucking school 30 years ago and my schools never have been especially avant-garde). We know that we need to stop burning fossil fuels, stop eating as much meat, invest in cleaner energy sources and insulate houses, etc. We know.

    But it’s inconvenient. The solutions we know, we have researched, we have tested, are annoying. They force us to change our lives, force us to rethink our social and economic structures (Oh who would have thought: An economic system based on limitless growth and consumption would lead to bad outcomes. Let’s start a research project!). And who wants to do all that?

    Jürgen Geuter / tante

    Innovation is a distraction (Smashing Frames)

  • OpenAI Furious DeepSeek Might Have Stolen All the Data OpenAI Stole From Us

    It is, as many have already pointed out, incredibly ironic that OpenAI, a company that has been obtaining large amounts of data from all of humankind largely in an “unauthorized manner,” and, in some cases, in violation of the terms of service of those from whom they have been taking from, is now complaining about the very practices by which it has built its company.

    Jason Koebler

    OpenAI Furious DeepSeek Might Have Stolen All the Data OpenAI Stole From Us (404 Media)

  • How Decentralized is Bluesky?

    The physical world equivalent for a fully decentralized fediverse then is that every user sends mail to every other user’s house, as needed, similar to how sending letters works in the physical world. This is decidedly not the case with a fully decentralized ATProto. The physical world equivalent would be that every user had their own house at which they stored a copy of every piece of mail delivered to every other user at their house.

    If this sounds infeasible to do in our metaphorical domestic environment, that’s because it is. A world of full self-hosting is not possible with Bluesky. In fact, it is worse than the storage requirements, because the message delivery requirements become quadratic at the scale of full decentralization: to send a message to one user is to send a message to all. Rather than writing one letter, a copy of that letter must be made and delivered to every person on earth.

    Christine Lemmer-Webber

    How decentralized is Bluesky really? (Dusty Cloud)

  • Meta’s Policy Changes Pave the Way for Mass Deportations

    Multiple speech and content moderation experts 404 Media spoke to drew some parallels between these recent changes and when Facebook contributed to a genocide in Myanmar in 2017, in which Facebook was used to spread anti-Rohingya hate and the country’s military ultimately led a campaign of murder, torture, and rape against the Muslim minority population. Although there are some key differences, Meta’s changes in the U.S. will also likely lead to the spread of more hate speech across Meta’s sites, with the real world consequences that can bring.

    Joseph Cox

    Meta Is Laying the Narrative Groundwork for Trump’s Mass Deportations (404 Media)

  • Social Media and Me

    Twitter was my favorite social media site. It was a great way to stay up-to-date on just about anything. I could get news of all sorts there from big headline news to news for my relatively niche hobbies. I never really used it to interact with friends and family (that was what I used Facebook and Instagram for), but it had been my most used of social sites for years by a wide margin.

    It wasn’t perfect though, There were lots of trolls on the site who would pounce on you when you said something they wanted to be controversial like “bigotry is bad”. It also offered some of the best tools to moderate your own timeline though. It was easy to block people. There were tools to block everyone who liked a particularly asinine tweet.

    When Elon Musk bought the site with the clear intention of making it more friendly towards its trolls, I deleted my account.

    I first made an Instagram account for testing when I was working on Windows Phone. It ended up being a great app. I could open it up and see photos from my friends. I even made a second account to have a public one to post miniature photos too, and a third for sharing my collection of LEGO minifigures.

    During the summer of 2023, the fact that I would open up the app and only see photos and video clips from people I didn’t follow and had no interest in ever following rather than the photos I wanted to see from friends and family wore me out. I haven’t posted anything to my personal account since then.

    Facebook has been a background social network for me. When I first started using it, I friended friends from school and family members and got a pretty good timeline to stay up-to-date on all those people. Over time, it too has morphed away from feeling like a place where I see things from my friends into one where Facebook shows me a random assortment of pages, communities I’m not part of, and ads. Pictures I posted to Instagram got cross-posted to Facebook for folks there to see, but like I said, I haven’t posted personal pictures in about a year and a half now. I have shared some news stories I’ve found interesting, but like other social networks, I’m pretty sure Facebook tries to minimize how many people see posts that are links to outside sites.

    With Mark Zuckerberg and Meta going all-in on accommodating the far right, I think the end of my accounts on Facebook and Instagram is quickly approaching.

    I’m not going to disappear though. I enjoy sharing things on the internet and seeing what others share. It’s just that the tools we’ve all been using for that are no longer doing a good job of it. Luckily, there are alternatives.

    Mastodon, an open-source, federated alternative to Twitter, has done an okay job filling my Twitter-shaped hole. It doesn’t have anywhere near the user base that Twitter once did, but it has enough people in areas I care about that I’ve got a useful timeline to follow for politics, tech news, and tabletop gaming discussions. If you’re on Mastodon, you can find me at @scottboehmer@mastodon.online.

    I’ve tried a shared album on Google Photos as a replacement for sharing photos with friends and family, but that hasn’t been working out as well. I haven’t been particularly good about advertising its existence, and not many of my family members seem interested in using the service. I’ve been meaning to look around more for a better alternative. For public sharing of things like pictures of my painted miniatures, I’m looking into Pixelfed, but I have yet to find something that looks like a good solution for more personal photos. If you have a photo sharing service that you like using, please let me know.

    Then I have my own websites for sharing things. This site is where I’ll be sharing articles and videos that I find interesting – the sort of things I might have once retweeted or posted to my Facebook page. Then I’ve had my gaming blog for years now, and that won’t be going anywhere. Both sites have RSS feeds and e-mail subscriptions to make them easy to follow. I also pay for hosting plans that allow both sites to not have any ads.

    For following other people, I’ve been prioritizing RSS and email subscriptions depending on what’s available. I’ve even set up an email account to use just for newsletter subscriptions so that I can keep them separate from my primary inbox. For following RSS feeds, I’ve been using Feedly for years, but I’m not particularly happy with their more recent embrace of AI. It’s another place where I have a todo list item to see if I can find a better alternative.

    I’d love to have the web feel like it’s easy to follow and share with all the people I care about in one convenient place again, but with the anti-human incentives of targeted digital ads, I feel that experience is now a thing of the past.