Subscribe: Wallace B. McClure
Added By: Feedage Forager Feedage Grade B rated
Language: Malay
android  app  application  articles  forms  https articles  https  ios  net  platform  startup  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.


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.

Lessons Learned from Silicon Valley on HBO - Lessons From The Developer Led Startup

Mon, 25 Apr 2016 14:38:00 GMT


The HBO series, Silicon Valley, should be on the viewing list of everyone involved in technology. There is lots of discussion around it, and some of those who live in the geographical region of the Silicon Valley take issue with the series, claiming it's inaccurate.

As someone who has lived it and was involved in startups there, Silicon Valley is an accurate representation. Silicon Valley goes beyond just showing the geographic region as a background character – the show offers a fairly accurate depiction of the the life, times, and hassles of doing a startup. Show creator Mike Judge pokes fun at the geographical Silicon Valley, but also some of the more realistic and ridiculous things that can happen to a Silicon Valley startup. In this article, I'll take a break from the usual startup strategy talk and look at some of the parallels the show and reality sync up as we look at what's happened so far in seasons one and two.

App to Market: Your Startup Needs An MVP

Wed, 23 Mar 2016 14:14:00 GMT

An MVP is not some Microsoft award, but the acronym for a term, "minimum viable product," that loosely defines what you're trying to provide as far as features -- at a bare minimum -- to get your app to market. Let's look at the considerations for making sure your app achieves MVP status.

Drill Into Problems with Xamarin Insights

Thu, 17 Mar 2016 00:55:16 GMT


You've completed the initial version of your mobile app. You've deployed it. And now, you've started to get reports of exceptions in your app. It doesn't happen all of the time, and it doesn't happen to all users, only some of them. What's worse is that the errors aren't often repeatable. For some reason, the issues some users are having can't be repeated in your office. You drive around and try to repeat the errors but you can't, so you wonder if it's is a location issue. Perhaps it's a cell signal issue. Perhaps the issue is the version of the OS the user is running. You're stuck and you don't know what's causing the errors. You need more information in order to solve the problem, so where do you turn? Xamarin has released a product just for this situation. It's called Xamarin Insights.

Slim down your Pictures in the iPhone & Android

Mon, 22 Feb 2016 15:48:43 GMT


Nothing can be as helpful as a picture. Text is great, but there is a reason why pictures are worth a thousand words. Unfortunately, as the cameras of devices have gotten better, the amount of space that pictures take up has gotten larger. With a late-2015/early-2016 phone, a picture can easily be 2MB. Start trying to upload those via e-mail or to a service (Instagram, Facebook, Twitter), and there are always problems with connectivity or otherwise. Let's examine some simple routines to minimize the size of an image.

Xamarin 4 Overview - Article

Wed, 13 Jan 2016 06:19:57 GMT


November 17, 2015 was a great day for mobile development. That is the day that Xamarin shipped the latest major update to its mobile development suite of tools, and with this one there's lots to like:

  • Xamarin.Forms. With Xamarin.Forms 2.0, there are updates for iOS9, Material Design, pre-compiled screens, preview support for Universal Windows Platform apps, and gestures support like pinch.
  • Visual Studio iOS Support. Xamarin has reengineered for iOS support for Visual Studio in a way that should improve iOS app reliability.
  • Mono Upgrade. Microsoft has open sourced portions of the .NET codebase, and what that, Xamarin has incorporated the open source code into the Mono framework. The move should improve the compatibility and performance of the framework.
  • The iOS designer. The iOS designer can now load and save XIB files in addition to storyboard files.
  • The Android designer. The Android designer now supports Android Material Design.
  • Xamarin Test Cloud. To support the Xamarin Test Cloud and its 2,000+ devices that are accessible to developers, Xamarin has introduced a preview tool named the Xamarin Test Recorder, Xamarin.UITest 1.0, and Xamarin Insights, has been released with free crash reporting for all Xamarin customers (and, finally, additional plans for users).

PS. I was told that Listing 5 should have the following change:

protected override void OnCreate(Bundle bundle)
            FormsAppCompatActivity.ToolbarResource = Resource.Layout.toolbar;
            FormsAppCompatActivity.TabLayoutResource = Resource.Layout.tabs;
            global::Xamarin.Forms.Forms.Init(this, bundle); LoadApplication(new App()); 

If You Build It, Will They Come?

Mon, 11 Jan 2016 06:31:42 GMT


Users are the most important part of your application, startup, and, ultimately, business.  You must provide them something of value.  That something must resolve some pain point that they have.  It must do something to somehow make their lives easier.

This time, I'll look back at three of the startups I have been involved with and how each one worked with the users: The first was a real estate multiple listing service that was successful; the second was a pay-for-placement search engine that was successful; the third was a FourSquare-type of service for searching local services that was formed and worked several years, then saw success dry up when FourSquare started up.

Handling Events in the Xamarin MessagingCenter - article

Thu, 10 Dec 2015 20:44:00 GMT


Tightly coupled systems are a nightmare to deal with. Having references everywhere causes all sorts of problems with reusability. Think about this in the standpoint of mobile systems where we would like to share code between iOS, Android and Windows .NET systems. Having to pass around a reference to a UIViewController or Activity/Fragment so that you can make some type of change can be a nightmare. iOS doesn't understand an Android Activity/Fragment, and Android doesn't understand a UIViewController.

What's a developer to do? Thankfully, there are a couple of answers to this problem. The first, and most obvious, solution is to use standard .NET/C# events. Remember, nearly every feature in the .NET Framework is a part of Xamarin products. The second possible solution is something that is Xamarin.Forms-specific: the Xamarin MessagingCenter, which I'll explore in this article.

Xamarin C# and iOS9

Mon, 23 Nov 2015 14:17:00 GMT


At the Apple Worldwide Developer Conference in September, the company introduced the first public beta of iOS 9 (as well as the first beta of OS X El Capitan). Xamarin got access to beta copies of iOS 9 at the same time as every other company, but almost immediately, Xamarin followed up the Apple announcements by making available Xamarin.iOS 9 and Xamarin Studio 6, which adds iOS 9 support.