Over the years I have created several apps that I am super proud of, and for the most part, I have always put them out for free onto the app stores. More recently I have been experimenting with different monetization strategies for the apps so users can unlock features or just leave a tip. For the longest time I kept things simple with a "non-consumable" one-time purchase. The strategy is straight forward, …
James Montemagno
Android Emulators have been a pain in everyone's side for pretty much ever. Intel HAXM is great, but limited to Intel, then there were custom emulators like Xamarin Android Player and Genymotion, but required additional installs, and finally Hyper-V support, which brought with it AMD support, and side by side Docker support as well. But now, Windows 11 is here and so is a brand new Insiders Preview that brings with …
James Montemagno
As an app developer it is hard enough to create your app, test your app, prep the app store listings, and then get your app approved. The last thing you want to think about is how fast or slow to roll out your app and updates to users. For the past 10 years all I have ever done was just release the app to everyone all at once, and for a long time this all that was available to us. However, now there are options for …
James Montemagno
Last year I ventured into building my own workout area at the house, and it all started with a $400 investment to put together a DIY spin bike. It has been 9 months and over 150 rides of my Sunny SF-B1002 Bike and moofit cadence sensor. They continue to go strong and I love them. Looking back, I did a lot of research up front about what bike to get, how heavy the fly wheel should be, and what type of resistance. The …
James Montemagno
One issue that sometimes comes up in app development is keeping your app alive and running during long running processes. In my case with My Stream Timer, when the user starts a timer, it needs to keep running no matter what. My first solution was to simply turn on Screen Saver mode.
var appDelegate = ((AppDelegate)NSApplication.SharedApplication.Delegate); appDelegate.MainWindow.Level = NSWindowLevel.ScreenSaver; …
James Montemagno
It feels like just yesterday that Frank and I were sitting at a bar in Redmond enjoying a nice craft cocktail and talking about the best way to store settings in shared preferences. After chatting with someone for 2 hours about isolated storage how could you not become best friends and start a podcast, record 266 episodes, and have such amazing listeners that they have downloaded our podcasts over 1.7 million times! …
James Montemagno
Who just upgraded their MacBook after 8 years?!?! This guy!!! Let's set it up for mobile development with Xamarin for iOS & Android development in C#.
That is right, I finally decided to go all in on an M1 MacBook Air (8-Core GPU, 512GB SSD, 16GB RAM) thanks to the $500 "credit" from participating in the DTK program. Not only was it time for an upgrade since my machine was 8 years old, but also because …
James Montemagno