The Curious Case of the missing SwiftUI Clicks
I’m still developing my Ploze app (import your life’s history from a myriad of sources into an integrated searchable on-device timeline).
Swift, SwiftUI and .NET from Switzerland
I’m still developing my Ploze app (import your life’s history from a myriad of sources into an integrated searchable on-device timeline).
Since the start of this year I’ve been working on and off on the TV Tracking app that I wanted.
Intro
For the last couple of years I’ve been working on an app called Ploze that lets you import data exported from a wide variety of services (Reddit, Day One, Skype, Twitter/X, Amazon, etc.) and present them in an integrated searchable timeline - everything stays on device. It is Mac only for now.
sqlite is amazing and Frank Krueger as gone above-and-beyond in creating sqlite-net.
Oh no! Not yet another breathlessly gushing post about AI and LLMs … That’s right, this is not another post like that.
I gave a presentation at GenTechies in Geneva, called Something is Happening with Headsets
In my FoodPhotoLog app I want to make the content searchable, but I don’t want the search field cluttering up the UI unless the user scrolls down slightly to expose it.
Great discussion with Leo Dion on his podcast talking about winding down Voice in a Can and the experience launching it and realizing its impact was more significant for some people than I first realized
I’ve made an app for logging photos of what I eat.
I’ve a TestFlight for a new app called Ploze that imports data from many different services and presents it all in an integrated searchable timeline.
I’m getting reports for some new users that Voice in a Can (Alexa on your Apple Watch, Vision Pro, Mac and iPhone) is showing an Amazon error Key master exception and when I look at the logs I indeed see this:
I like to build with warnings treated as errors, however sometimes this can cause unexpected headaches.
On macOS 14.2.1 (23C71), xCode 15.2 (15C500b)
Voice in a Can In 2018 while on my daily train commute I started playing with the Alexa Voice Service (AVS), which provides a network API to Alexa.
The GitHub issue I created for myself was Tap a photo to load it in Apple Photos. It was supposed to be a 10 minute thing. One of those tasks you quickly knock off and then feel good about yourself because you’ve been so productive.
I’ve read plenty of blog posts about Swift’s AsyncStream but never had a reason to use it to implement something myself until now. It was surprising easy.
I recently found myself trying to debug a most perplexing problem. Two identical strings were different. How could this be?
I’ve been hearing a lot of hot takes about there being no compelling VR experiences, so I want to share one in which I participate each week.
I’ve been banging my head against a wall trying to run XUnit tests on my Mac, for my Xamarin Forms app.
In theory when using a SwiftUI MenuBarExtra with the window style, you should be able to use scenePhase environment variable to detect when the menu bar button is clicked, and the window is shown.
If you give a Moose an Apple Watch, then they’ll want to use it to automate their Alexa smart-home . Which will require you to implement the Amazon Alexa Voice Service in a Swift and SwiftUI Apple Watch app . So that the moose can say things like Turn on my electric blanket when out in the wilds, and be nice and cosy by the time they tuck up in bed at the end of the day. Which will make the moose…
What if you wanted to render a dynamic UI in SwiftUI, where you knew nothing of the view hierarchy at compile time? One that was downloaded at runtime from the internet? One that could change in response to user action or server events?
I’m trying to convince myself that I’ve not really moved to Swift from C#, more that I’ve added Swift and SwiftUI to my repertoire, but I can feel my C# and .NET slipping away.
I’ve written several posts about using Xamarin to build Apple Watch apps, but I’m moving to Swift and SwiftUI for my watchOS apps now.
I’ve just put together a Xamarin Forms Stripe example app, based on their standard iOS and Android examples that let you browse products (Emoji), choose a shipping address and method, add and select a payment method, and purchase the product.
I have a list of items that I want order by frequency, so that
I wanted to be able to share a token between my macOS, iOS app and watchOS app so that I could login on the phone and be automatically logged in on the watch too. I wanted to save the token to the iCloud KeyChain on the phone or mac and have it automatically sync to all the other devices.
I’m learning Swift and SwiftUI, and as part of this journey I’m working my way through Donny Wals’ excellent Practical Combine: An introduction to Combine with real examples! The problem I’ve been working on my 11” iPad Pro running iPad OS 13.5.1, with the book open on one half of the screen and Swift Playgrounds on the other, and I’ve noticed that the results from calls to print in Combine…
This post is part of Luis Matos Code Snippets’ Xamarin Month In the early days of Xamarin Forms, if you wanted to use a platform-specific feature of a page or a view, you’d have to write a custom renderer. Later came effects, which were a little less painful. But the game-changer was when Microsoft decided to build-in common platform-specific features, right into the XAML, so that you could turn…
I’m working on my third Apple Watch app built using Xamarin. In this post I’m going to describe how I develop and what some of the issues were that I encountered when testing and uploading to the App Store for beta testing. The edit/build/run development loop I build and run and test on the WatchOS simulator when doing general development, since this is the fastest, and I can debug apps on the…
I’m inherently optimistic. A new version of the app is available? Install it straight away! And this generally works well, I’m aware of the updates and new features and don’t get left behind. Except when it doesn’t. I’d updated to the latest version of Xcode (11.4) and updated Visual Studio for Mac and the corresponding Xamarin.iOS, and … let’s just say it did not go well: This method contains IL…
After spending a lot of time with AWS Lambdas, I’m exploring Azure functions. The out of the box example just returns a OkObjectResult as a IActionResult.
I’ve been building Apple Watch apps using Xamarin for a couple of years. I love it. I get to write apps using my favorite programming language, C#, and get all the .NET goodness that comes with it. When I’ve structured my software well I’ve re-used the core code across WearOS, Tizen, and beyond. It isn’t always easy. That is largely because what Xamarin is doing isn’t easy. They track changes in…
I’ve been getting the error Error updating Xcode project on my Mac when trying to open a storyboard using Xcode in Visual Studio, by right-clicking the storyboard and choosing Open With|Xcode Interface Builder. Going to Help|Open Log Directory and then opening Ide.log I got a clue: WARNING [2019-11-26 18:42:18Z]: Slow command update (28ms):…
As with most of my posts, this is a message to my future self who will have forgotten everything I did today, to get my Xamarin Mac app notarized. I hope it helps other people too. Apple rejected my app from the store … please include specific macOS features that the application will use and not aggregated content. I’ve no idea what it means, but I interpreted it as we like Siri and we don’t like…
Instant rage I’ve done it, you’ve done it, we’ve all done it. We’ve reacted with rage to some frustrating failure in an app, and left a negative, one star review. It’s a different experience though, when you are on the receiving end of these kinds of reviews. Trying to not immediately respond to the review with that same flash of anger takes experience, detachment, and maturity. The user doesn’t…
My current side/passion project requires the use of HTTP/2: It’s a .NET implementation of the Alexa Voice Service and I use it to drive Voice in a Can: Alexa for iOS, Apple Watch, Mac, Android, Android Wear, and … Tizen. This isn’t an advert, but I do want to set the context. The Alexa Voice Service requires the use of HTTP/2 and this is a real-world product, not an academic excercise. Why HTTP/2?…
I have an app, called Voice in a Can, which lets you use Alexa on your Apple Watch and iPhone. I’m working on bringing it to the Mac, and one of the things I want is that it be started at login, if the user wants this. To do this in a sandboxed app, you need to create a helper app, and bundle it inside your main app, in a specific location (/Contents/Library/LoginItems). This helper app is…
I picked up a new Samsung Galaxy Watch (SM-R800) today, and after spending an evening on it, I managed to deploy and run a Xamarin Forms (Tizen 4.0) app on it … I just tried the default template: In case it helps someone else, these are some of the things I did. FWIW I’m using Windows running in Parallels on a Mac. Install the Tizen tools for Visual Studio, and create a new Tizen XML App (Xamarin…
I’m looking for beta testers for an Apple Watch (and iPhone) app I’ve created that brings Alexa to your wrist. Demo and details:
This is a screencast I just put together showing how you can show your computer’s screen as an Alexa Smart Home Security Camera.
I have many Smart Home devices that can be controlled from my Amazon Echo, however none of those devices can be controlled from Siri on my Apple Watch or iPhone. None are HomeKit compatible.
Supports segments of varying colors, radius and degrees, and supports data binding. Resulting code in GitHub
Resulting code is here
This is another of those posts where I am essentially writing a message to my future self to remind myself how to do something, and in the process perhaps help out someone else. I wanted to use the Google Sign-in for iOS Xamarin Component from Xamarin Forms to let a user sign-in to Google, and then use the resulting access token to invoke one of the Google APIs, in my case the Google Tasks API.…
This is a small, simple thing, to make a Xamarin Forms DatePicker more friendly. Instead of showing the date for yesterday, today and tomorrow, as it normally does, it instead shows “yesterday”, “today”, and, you guessed it, “tomorrow”: iOS: Android: The view is totally straight-forward, except that instead of just binding the Date in the DatePicker, I also bind the Format: <?xml version="1.0"…
After many years of buying Mac laptops, I’ve bought a Dell XPS 13.