Subscribe: Wallace B. McClure
Added By: Feedage Forager Feedage Grade A rated
Language: Malay
app  application  articles  cross platform  https articles  https  ios  platform  startup  time  users  xamarin forms  xamarin 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Wallace B. McClure

Wallace B. McClure

All About Wally McClure - The musings of Wallym on Web, HTML5, Mobile, Xamarin.iOS, Xamarin.Android, and Windows Azure.


Startup Posts

Sun, 11 Mar 2018 17:58:32 GMT

I wanted to tie together a few of my startup articles designed for developers and to put them into one place where I can access them.  Here are my articles from Visual Studio Magazine over the past few years.

I have a few additional thoughts, so I will be putting them here to my blog.  I'll try to remember to link back to them as well.

Our Golf App

Wed, 21 Feb 2018 15:32:15 GMT

I wanted to share my feeling at watching the scoreboards on Sunday February 18th, 2018.  It is awesome to know that I’ve built a system that people can use and I don’t have to be around to see.  It’s hard when things start.  Your goal when you start is not to have everything perfect.  Your goal is to have something that people can use initially.  It’s not perfect.  It is a start.  Initially, it is called a Minimum Viable Product.  Minimum is the key.  You start with the minimum set of features that people can use.  Over time, you add features.  You improve the product.  That is called iteration.  And that is what I have done.  I have taken a product that I had to go to the golf course to run to now, the golf assistant procs can run the application with no interaction from me.  For the club games, we have things to the point where a golf pro just needs to: Select which club game a group is playing.  The game type, game settings, and money are all preset.  The only thing the pros need to do is select the players, hit the start button, and the players are off and running. Players and teams can setup prebuilt side games quickly and easily while on the course. The players handicaps are stored and updated as necessary. The scoring and money is calculating in real time. The club games are just about as easy as can be to setup.  The only thing that could make it easier is the brain tie in where you just think it, and the game, teams, and players are setup for you.  What does this do?  It eliminates The 20-90 minutes afterwards in figuring out the score and the money.  We talk about wanting to have time back in our lives.  If my game was so complicated that it took 90 minutes to get my money, I’d want out quicker as well. The errors.  If you play a handicapped game, 60-70% of your scores are wrong.  Don’t you want that better? Hack Attack - Low Handicap - And then there is the charity/fun games.  This is truly a package that any club/course could use. We have this down to a package that you import our spreadsheet that you have filled out, print out the qr code page, and the users download our app.  The user starts our app, points at the qr code, and the teams are keeping score. The tournament director can fill out a spreadsheet of teams and players.  This can be imported into an event.  Boom, the teams and players are created. The players will need to download an app for either the iPhone or android app stores.  With this app, the players can scan a supplied qr code.  The supplied qr code allows a person to start scoring for their team. The only thing the golf pro staff has to do is put the print outs of the qr codes on the golf carts or handed to the players as they check-in.  Scan the qr code, and scoring can start.  That’s it.  This saves somewhere between 60 & 90 minutes after the event for players in seeing the scoreboard and results.  This cuts down on the time for the golf pro staff as well as all of the players.  Time is money.  The results are calculated in real time and follow the USGA guidelines for tie breaking. Pictures and video can be uploaded in real time and are immediately available in the application. All of these features create a truly memorable experience.  I am very proud of what has been built.  I am working to get our product out to as many charities as possible.  Please contact me so that we can help your charity generate more money from its charity golf events. Here is a link to the Boys & Girls Club of the Smoky Mountains.  Please check out the pictures and videos that are on the score board. Boys [...]

Startup Posts

Tue, 30 Jan 2018 15:13:00 GMT

I wanted to tie together a few of my startup articles designed for developers and to put them into one place where I can access them.  Here are my articles from Visual Studio Magazine over the past few years.

I have a few additional thoughts, so I will be putting them here to my blog.  I'll try to remember to link back to them as well.

Building For The iPhone X - The Notch and Safe Areas

Mon, 15 Jan 2018 19:17:00 GMT


Check out my article on taking advantage of the iPhone X -

When Apple released the much-anticipated iPhone X on Nov. 3, it generated a surprising amount of interest in a phone that starts at nearly $1,000. Initial delivery dates were four to six weeks out for those who didn't get their initial preorders in. Amid all of the excitement about the new phone, Apple released iOS 11.1 and Xcode 9.1 (followed by the release of 9.2 stable last month). You can now take "full advantage" of the iPhone X. This article will look at what you need to do to leverage this advantage and ensure your apps look right on the iPhone X.

Xamarin and iOS11

Wed, 18 Oct 2017 13:15:01 GMT


It’s that time of year. Each year the fall season brings a winding down of summer fun, changing of the leaves, football and a new version of Apple’s iOS. The fall of 2017 is no different. My college football team lost the first weekend -- on national TV -- and Apple has delivered iOS 11.

iOS 11 is the latest version of Apple’s mobile app OS. It has a lot of new APIs and UI changes and comes loaded on the most recent iPhones (iPhone 8 models and the new iPhone X). iOS 11 comes with a new set of APIs that developers will care about. 

Xamarin.Forms Updates - September/October 2017

Wed, 11 Oct 2017 13:24:29 GMT

I've got a new article out on Xamarin.Forms.  It is a look at some of the features that just came out as well as some features coming out in the next major release (3.0).  The 3.0 release is stated as being out in the 4th quarter, 2017, but we will see.  I never trust shipment dates.  :-)

Note: Xamarin called the next update version 2.3.5 at the time the article was written.  The version was changed to 2.4 right before the article was published and we didn't know until it was too late.


I have an interesting relationship with Xamarin.Forms (XF). My view of cross-platform interfaces was born back in 1993 during a hallway conversation regarding cross-platform (Windows and Mac at the time) and how an interface that looked like Windows on the Mac meant the Mac users were going to come for you with pitchforks.

I had several conversations from 2011 to 2013 with various people from Xamarin about the need for a cross-platform visual UI for mobile devices. Basically, I was hearing from customers that there was a need for a cross-platform UI API. There needed to be some type of API that developers could call for buttons, textboxes and lists that spanned iOS and Android platforms. My favorite response was: "When hell freezes over." I laughed about this because I hate cross-platform APIs that don’t look like the underlying platform. I’ve seen this several times with cross-platform UIs.

Then I was in Las Vegas in 2013 and my friend told me that "Hell has indeed frozen over." I laughed because I knew exactly what he was talking about. A few weeks later I was in San Francisco and had about three hours of discussion with Jason Smith -- the mastermind behind XF who comes from the gaming industry where performance is key -- regarding XF, how it would work, some of the underlying pieces and a bunch of things that were well over my head.

Fast forward almost four years, and I’ve seen some highs and lows with XF. It works well for things that are fairly simple. For apps that are complex, I’ve been less sold on the idea. Having to load a lot of external components to get the native device functionality into a project isn’t a formula for success, I found. I’ve been bitten by components no longer supported, components not working as advertised and my general distrust for components not part of a main product package. Add with the experience of XF running fine on iOS and horribly slow on anything but the most recent Android devices, I’d become quite concerned about the feasibility of XF. I’ve been concerned about the amount of dependence on XF as the singular cross-platform development solution with Xamarin. Thankfully, over the past year I’ve doubled down on my testing of XF. I’ve written two applications for my startup and used XF. Each application has been thoroughly tested on my 2-year-old Android phone. These apps seem to run well, but they’re admittedly simple and might not be a good example measurement. After all, both deal more with data, pictures and Web services than they do with a lot of UI interaction.

Enjoy, and thanks for reading.

A Filtered View of CoreImage with Xamarin

Fri, 11 Aug 2017 14:41:16 GMT


While professional photographers don’t like them, the simple fact is that the camera from practically every iteration of the iPhone has been comparable to what was available in prosumer DSLR cameras. The camera can be used to take pictures (duh), as well as to focus quickly (which is good for barcodes and QR codes). One of the great features of iOS is that it has the ability to take a picture and perform an operation on it, such as run a filter or perform facial detection. This is provided by the iOS Core Image Library.

Filters can be used for creating various effects on images. You might be thinking, "So what? I’ve been able to do that for quite some time with Instagram." Filters are just one part, but Core Image also can detect faces. With the automatic ability to detect faces in images, these images can be easily cut down to get facial information.

In this article, I’ll look at how to apply filters to images and to detect faces.

Track Your Fitness & Steps On Your iPhone, Just Like Your Fitbit

Wed, 21 Jun 2017 18:25:00 GMT


I’ve been a Fitbit user for several years. I enjoy using it, reading the material and hoping that if I push myself it will help my level of fitness (probably not). What I don’t like is that:

  • It’s another device that I have to keep track of. Sure, it's on my wrist, but I still have to maintain it.
  • I have to keep it charged. My current daily driver is a Fitbit Charge2 that holds a charge for seven days – that's great, but it still has to be charged. So, I also have to keep track of a charger, which adds to the hassle.

Those two things aside, I've found that the device's usefulness far outweighs the hassles. I've even developed a pedometer app for it, which I'll show in this column.

The app uses the CoreMotion iOS framework, which is used for determining number of steps walked/run.

Cache Images and Bind a Byte Array in the Xamarin Forms ListView

Thu, 23 Mar 2017 17:26:00 GMT

Article Url:

I’ve always been concerned when working with images. I'm always careful with how my applications use them, as images can be relatively large and apps will typically download them via a cellular or slow Wi-Fi connection. So you might not be so concerned with image size when it takes only a few hundred milliseconds to download, but those milliseconds can add up when your app is trying to download a large number of them.

In a number of previous columns, I’ve focused on how to make a Xamarin Forms (XF) application look and act more like a native application. I'll continue along and this time I’ll look at how you can use the Xamarin.Forms ListView to cache images so that you can use the images in other locations in your application with application performance in mind.

Xamarin.Forms ListView is the equivalent of the UITableView in iOS and the ListView in Android. It allows you to present a simple grid of data to the user. The user is able to easily scroll through the data, and binding textual data to it is also a snap.

One of the problems that I see with XF ListView is that there has only been one way to easily bind the image in an ImageCell in a ListView, and that's by passing the URL of the image to the cell. ListView is then responsible for downloading the contents of the URL, handling the contents of the download, formatting the image contents and displaying the image.

The problem is that I would like to download the bytes of an image once, to a cache, and then have the cached bytes available whenever the application needs them. For example, the golf application I've been developing along with this article series displays a list of team pictures. I would like it to be able to touch the cell, have another screen open and display the image without going to the server to get it. To do this, I need to be able to cache the images. Because the application will cache the image content as a byte array, the application will need to convert from a byte array to an image, so there will need to be a Xamarin.Forms image converter to handle the binding.

I hope you enjoy the article. 

Intellectual Property and Your Startup

Tue, 07 Mar 2017 01:14:54 GMT


Now that you've gotten deep into thinking about your startup, it's time to think about the meaning of intellectual property. So, what is it and why is it important to define it in the context of your startup?

You're familiar with personal property as well as business property. Personal and business property – those are fairly tangible items. It encompasses things like the desks, chairs, the computer equipment, the office lease. But your startup is riding on the code you – and maybe a team of other developers or people you might contract out for hire -- create and it's not as tangible.

So, have you given any thought to what encompasses your startup's Intellectual property, or IP? I bet it wasn't the first thing that came to mind when you started thinking about a startup or even when you were in the middle of doing the work necessary to get your startup off the ground. But guess what? It's incredibly important because, as you'll soon realize, your IP is the foundation of your startup. Let's look at the basics of IP, what make up the various types of items in an IP, what's their value, and what you should be doing to protect them.

Device Specific UIs with Xamarin Forms - Part III

Thu, 09 Feb 2017 16:35:00 GMT


Last time, I looked at customizing Xamarin Forms applications so that the functionality is the same across platforms. I looked at the components and setting to make this possible, and added some custom, platform-specific programming to accomplish this. The result has been that my picture-taking application for my startup has rounded into form and is usable in low- and high-bandwidth areas. I've had a couple of users test it out with much success.

But that app is still missing something: On the iPhone, XF is well integrated with it. The programming model feels very much like programming against the native iPhone API. On Android, it provides a good representation of the Android UI. However, there are some basic settings in that UI that I feel it's missing.

Android 7 with Xamarin

Mon, 19 Dec 2016 19:36:21 GMT


Xamarin has updated Xamarin.Android to support the latest version of Android -- version 7, aka. Nougat -- that was made available in mid-August. My Nexus 6p and Nexus 7 have both been updated to Android 7 since then, and developers have all of the sweet, gooey goodness necessary to build applications for it.

While Android 7 doesn't appear to be a major update, there are some new items in it that are rather interesting:

  • Multi-Window API: Users can open two apps on the screen at once, assuming that the screen on the device is large enough to support more than one app.
  • Notification Enhancements: The notifications system was redesigned to include a direct reply feature. Users can reply directly to messages from the notification UI.
  • Data Save: The Data Saver is a new system service that helps to reduce cellular data use by applications. It does this by giving users control over how applications use cellular data.

Other features of interest to developers include network security configuration, doze on the go, key attestation, new Quick Settings APIs, multi-locale support, ICU4J APIs, WebView improvements, Java 8 language features, directory access, custom pointer API, platform virtual reality (VR) support, virtual files and background processing optimizations.

App-to-Market: Locking In Technology Options for Your Startup

Mon, 05 Dec 2016 14:22:00 GMT


How crucial is the technology you choose to run it and build apps? It almost doesn't matter, as long as your chosen path provides enough options to deliver to customers the solutions they need. We look at the Microsoft stack as an example.

You've been working in a company that has its own data center with servers sitting in racks. You got training on how to use and deploy solutions on them using a combination of Visual Studio, .NET, servers, Cisco, and a bunch of other enterprise-grade technologies.

You have ideas for some apps and you've been getting ready to venture out on your own. To get a feel for what it might be like, you attend several startup competitions. No one at those competitions are using any technology related to .NET. Some of the attendees you talked with say that knowledge of the Microsoft technology stack isn't useful in a startup. They've even got you second-guessing your choices.

Now you're wondering, "I've got all of this .NET knowledge, but they say that .NET isn't startup friendly; what am I going to do now?"

Note: Since this is Visual Studio Magazine, this article will have a .NET slant to it. Don't worry; I recognize the bias; even then, you can really take a language- and platform-agnostic approach to tool choice for your startup. Just about every stack has something for every facet of building apps.

Customizing Xamarin Forms

Thu, 01 Dec 2016 19:19:58 GMT


In an earlier column on Xamarin Forms app customizing, I looked at how realistic it is to create a Xamarin Forms (XF) application and how close it can tie to the platform. How close does an XF application look in comparison to an iOS and Android application? Now that my startup has been using the application, we found a few items that were "wanting":

  • Saving log-in information. When an app is loaded, no one wants to continually type in a name and password. Users want to just load the application and go with it.
  • Network requests. When a network request is ongoing, such as an upload, what kind of information is communicated back to the user? Is it just the activity indicator or is more possible?
  • Network availability. Is there some mechanism to check for a 3G/4G/Wi-Fi network? If there is no network, the application should communicate this to the user or at least not crash.

I'll look at these nagging features and how to improve the UX of the application.

Speech Recognition in iOS 10 and Xamarin

Wed, 09 Nov 2016 21:22:12 GMT


On September 7 Apple introduced it's newest phone operating system, iOS 10, a gold master version of the XCode programming language and the iOS SDK Xamarin followed up the next day with binding support for iOS10 APIs, and developers were off to the races. Apple supplied the final releases of iOS10 and developer tools the next week after, and Xamarin had updates in less than 24 hours.

Technology happens that quick these days.

In this and future articles (depending on how you respond to this one), I'll highlight some of the new features in iOS10 and Xamarin's support of these features. Since we aren't going to attempt to cover everything here, I'd like to look especially at what I think will be useful now, and this time we'll cover speech recognition capabilities to get you started. Speech recognition is getting more useful as an input option for apps where users need to be less distracted (when driving, for example).

Smoky Mountain Boys and Girls Club Charity Golf Event

Wed, 12 Oct 2016 15:34:00 GMT

On October 5th, we ran the Smoky Mountain Boys and Girls Club Charity Golf Event.  This was using our golf scoring application.  The application is built on Microsoft Azure and uses Xamarin for some of the club management pieces, such as picture taking (Note the picture shown in the scoreboard below)., C#, ASP .NET Web Pages, Entity Framework, jQuery, and other various software tools  The event had 65 teams spread across two courses (River Course and Highlands Course at the Sevierville Golf Club).  Originally, there were 67 teams, however 2 did not show.  The system will allow teams to be entered, grouped together, flighted, etc.  There are two key items for the event:
  • Additional sources of revenue.  The scoreboard & scorecard provides for sponsorship placement.  Notice in the picture the three sponsors in the header.
  • The amount of time saved in team scoring, totaling, breaking ties, flighting, and etc. that occur after the event.  On an event this size, these typically take 1-1.5 hours and are prone to human error.

Does your charity have a golf event that it wants to take to the next level?

Realities of Cross-Platform Development: How Platform-Specific Can You Go? - Part 1

Fri, 23 Sep 2016 12:17:22 GMT

My personal beliefs on cross-platform development were formed in November 1993. I worked at The Coca-Cola Company at the time, and a few colleagues and I were discussing how to provide Mac users with the same set of applications that we were building on Windows 3.1 with PowerBuilder.

The discussion centered around the UI. The concern was with providing a Windows-centric interface to Mac users. I remember one of the great lines from the meeting: "If you provide Windows help to a user expecting Mac balloon help, you are going to have users that hate you." After this and some personal experiments, I came to agree with this viewpoint. If developers want to make users as happy as possible, they need to call the native APIs of the platform.

Fast-forward to 2009, when I fell in love with the Xamarin iOS product from the first announcement. Xamarin had created a way for C# developers to use the Microsoft .NET Framework and to call into the native platform APIs. Xamarin Android operated the same way. While I would often discuss the need for a cross-platform UI with Xamarin management, I never forgot the lessons of cross-platform from many years ago. At the same time, I knew that there was a need for a cross-platform toolset to create an application. I had talked to enough people to understand the pain and agony. Quite honestly, I was a fence sitter in this area. I liked the idea of XF, but I was never quite ready to make the jump and, honestly, try XF for anything more than some personal experiments and helping a couple of customers.

Url: Platform Specific with Xamarin-Forms

App-to-Market: Show Me the Money

Thu, 30 Jun 2016 14:17:41 GMT

Url for the article:

More on This Topic:

Now that you've moved your idea to prototype and developed an actual minimum viable product that you can give to customers for some feedback, you're almost ready to take the next step and make some valuable time and monetary investments in it. It's time to talk about funding: Where to get it, how to get it, and how to use it.

Before we talk about funding, though, a few things you should know about the investors you go after and what makes technology startups riskier for those investors.

Golfing for the Peyback Foundation and Children's Hospital - Results

Tue, 21 Jun 2016 15:48:18 GMT

The Results of the Morning and Afternoon Rounds:

The Morning Results

The Afternoon Results

We had a long and winding day on Monday.  We went and scored the Morning and Afternoon portions of the Children's Hospital - Peyback Foundation Charity Golf Tournament.  Each portion was flighted.  Pictures were taken of each team while on the course.  The pictures were immediately uploaded to the scoring system for display on the scoreboard.  The flighting of each portion was performed by the application.  As each portion finished, the teams were placed into each flight.  Each team's scores were shown in the flight as well as the team pictures.

The scoring system is hosted in Azure.  The picture upload is done via an iPhone application written in C#/Xamarin.

I learned a few new things that I will work on and resolve the next time around.

Customize the iOS Keyboard with Xamarin

Mon, 23 May 2016 17:02:59 GMT

You can customize the iOS Keyboard with Xamarin.

Nearly all applications require that users interact with your app via a keyboard. It could be a search bar, a text field, or something else -- users typically use the keyboard in some way for input. iOS comes with different types of keyboards that can solve just about any need, but there are times when some additional feature would be great. In Google's Gmail app for iOS, for instance, maybe you'd like to make things a bit easier by adding e-mail addresses for .net, .org, and other domain suffixes. This article will look at how to modify the existing iOS Keyboard to better fit the needs of the application.