External

Thank you – the only words as a parent you should say to the coach? – more thoughts

I shared this earlier in the week, but thought I’d give this a little more reflection. At the end of the day in the majority of cases the coaches are unpaid volunteers, these are just people that want to help.

What this doesn’t mean is they are the best at the role, and quite often they are the only ones who will take it on.  First ones there, last ones to leave, giving up more time and personal costs for coaching courses, first aid courses, red tape courses – all trying to be the best they can be,  even if they aren’t the best (and most of us never claim to be).

I’m lucky that I have a team of volunteers to share my workload, all as enthusiastic as me, and pretty much have a good balance of skills and abilities between us to cover all that we need – so the kids win, but some groups are not as lucky.

So yes, please say thank you, or better yet say thank you, and ask if we need any help, and do what you can too – and to my co-coaches ‘Thank You’

Source: Thank you – the only words as a parent you should say to the coach? – Working with Parents in Sport

Xamarin release preview edition with iOS11 and Xcode 9 Compatibility

Xamarin today halve a released a preview build for those that have been hankering (since about 2 hours after the WWDC keynote according to some forum posts I’ve picked up on!) to play with Apple’s new goodness.

iOS11

Specifically this let’s you play with Xcode 9, iOS 11 and MacOS 10.13.  If you don’t have Xcode 9 installed already I highly recommend you follow the Dev Centre instructions that allow you to install it in parallel, don’t grumble at me if you can’t get any real work done once you’ve finished playing!

 

(Via.)

Preview: Xcode 9 beta 3, iOS 11, macOS 10.13 support – Preview 1 | Xamarin Releases: “”

Build Your First Game with MonoGame: Getting Started 

Always fancied creating a computer game? Got a Windows PC or a Mac and a semi logical brain? – Go Nuts ….

Game development is what got many developers into programming. But how many of us actually ever learned how to create games? Creating games can be challenging, but it doesn’t have to be that way! MonoGame is a cross-platform gaming framework based on Microsoft’s XNA framework that’s extremely easy to learn …

Source: Build Your First Game with MonoGame: Getting Started

Simple Cross-Platform File IO for iOS, Android, and Windows

One of the biggest challenges in Cross Platform Mobile App Development is implementing a mechanism of performing simple tasks on each diverse platform, such as reading a config file on app launch, when you know that each platform will store this file in a different location, have a preference for different file formats, and have different permission mechanisms for reading and writing. This plugin helps nail most of those issues.

Most mobile applications need to interact with the underlying file system. Be it building a database or caching data, some understanding of how file systems work on target platforms is required. If you’re working with multiple platforms, not only does this require understanding of how each individual file system works, but also how to work with the file system from shared code.

 

The File System Plugin for Xamarin and Windows reduces the underlying file system complexities for each platform into a cross-platform file IO API for iOS, Android, and Windows, making it extremely easy to work with the file system from shared code. In this blog post, you will learn how to use the File System Plugin for Xamarin and Windows to create, edit, and delete files and directories from shared code.

Introduction to the File System Plugin for Xamarin and Windows

Similar to desktop operating systems, mobile operating systems each have their own file system. Building applications that target multiple operating system requires knowledge of not just one file system, but the underlying file system for each platform. Another barrier when working with file systems is the inability to use code that talks to individual file systems in shared code. A common solution to this problem is to use preprocessor directives (#ifdefs) to access platform-specific features, but this won’t work with PCLs and results in messier code.

Plugins for Xamarin expose platform-specific functionality via a cross-platform API that can be consumed from a Portable Class Library or Shared Project, such as using device geolocation, sending an SMS, or storing app settings, to help make you share even more code and increase developer productivity. The File System Plugin for Xamarin and Windows makes working with the many different mobile file systems easy with a shared, cross-platform API. You can download the plugin using the Xamarin Component Store or via the NuGet Package Manager.

Exploring the APIs

The IFileSystem interface represents an abstracted file system at the highest level. The platform-specific implementation can be accessed via the FileSystem.Current property. The file system is made up of a collection of folders and individual files, which are abstracted via the IFolder and IFile interfaces. When creating folders and files, we are also given maximum control over collision detection preferences with theCreationCollisionOption enumeration, which allows us do everything from create an alternative name, replace the existing directory/file, open the existing directory/file, or throw an exception. Of course, all of these APIs are also async/await compatible as well.

1

2

3

4

5

6

7

8

9

10

11

// Access the file system for the current platform.

IFileSystem fileSystem = FileSystem.Current;

// Get the root directory of the file system for our application.

IFolder rootFolder = fileSystem.LocalStorage;

// Create another folder, if one doesn’t already exist.

IFolder photosFolder = await rootFolder.CreateFolderAsync(“Photos”, CreationCollisionOption.OpenIfExists);

// Create a file, if one doesn’t already exist.

IFile selfiePhotoFile = await photosFolder.CreateFileAsync(“selfie.png”, CreationCollisionOption.ReplaceExisting);

Renaming and deleting files is also super easy as well:

1

2

3

4

5

// Actually, this wasn’t a selfie of just me!

await selfiePhotoFile.RenameAsync(“groupSelfie.png”);

// It’s a horrible selfie anyways, let’s delete it!

await selfiePhotoFile.DeleteAsync();

Wrapping Up

In this blog post, you learned how to interact with native file systems for iOS, Android, and Windows from shared code using the File System Plugin for Xamarin and Windows. To learn more about Plugins for Xamarin or check out other plugins available, such as geolocation, messaging, and sharing, check out our complete plugin directory. Visit the plugin in the Xamarin Component Store for more documentation or view the source code online on GitHub.

Source: Simple Cross-Platform File IO for iOS, Android, and Windows | Xamarin Blog

Syncing Files Between Devices with Azure File Sync | Xamarin Blog

Where we don’t have to build out some sort of bespoke mobile app sync, this is pretty much the standard way for us to sync files between cross platform and multi platform apps

In a mobile world, network outages are frequent. Devices are constantly moving and connectivity can vary from great to barely connected to offline, with users expecting your app to continue to function properly. For example, field technicians need the ability to log notes in their field service app, no matter the connection state. Apps can support offline usage by …

Source: Syncing Files Between Devices with Azure File Sync | Xamarin Blog

Improving WordPress Performance – Use Azure CDN | Microsoft Azure Open Source Development Support Team Blog

A simple, incredibly cheap, and effective way of improving WordPress performance, especially if you have a global audience

Support for Open Source Technologies on Microsoft Azure App Service

Source: Improving WordPress Performance – Use Azure CDN | Microsoft Azure Open Source Development Support Team Blog

Big Tees Sleepout

I’m doing this next Friday, please support if you can;

On Friday 13th November, dotUK, through it’s founder and director Andy Flisher, will be sleeping out on the streets of Middlesbrough in aid of an excellent local charity, the Teesside Philanthropic Foundation.

The charity has an aim to bring Middlesbrough and Teesside businesses and companies together to help make Teesside a better place to live and work.  The Big Tees Sleepout specificially is an annual event aimed at highlighting and tackling the homelessness situation that is right on our doorsteps, a situation which we all agree should not exist in this day and age.

You can support Andy by donating online or by signing up and raising your own sponsorship at the Big Tees Sleepout site itself.  If you are unable to support financially, as of course we can’t all do, then please support the event, the charity and our efforts by liking, sharing, and in anyway making the region aware of the event, and the problem.

Thank You.

Originally posted at http://www.dotuk.net/news…

Baby Biography Mobile App – Project

Baby Biography Mobile App – Projects

Andy Flisher is a Software Developer based in the North East of England specialising in cross platform development. Mobile Development experience includes Windows Phone, Android, and iPhone Apps. Desktop Software Development includes bespoke Windows, Linux, and Mac Applications. Web Development Skills include PHP, Perl, Python, Xamarin, C#, ASP (Classic and .NET) – Andy Flisher on Google+

The mobile app will be developed using dotUK’s cross platform, and multi platform mobile app development skills. This skill set is a niche, and dotUK are one of the few development companies, certainly amongst North East Mobile App Developer’s to offer true, native mobile apps that can be developed simultaneously across the core mobile application platforms, in parallel.

Baby Bio Mobile App

The Baby Biography mobile app will be offered initially as an iPhone app, and also as and Android App, in addition to creating Baby Biographies within the app, other features include;

  • Creation of Multiple Books
  • Sharing of Baby Moments and Photos ‘In App’ to Social Media
  • Free Cloud based storage of all your books and moments
  • Collaboration with other parents
  • Conception and Pregnancy calculators
  • In App Support

Cloud storage and collaboration will be offered through dotUK’s in house cloud storage framework which allows the app to seamlessly synchronise the baby biographies into the cloud in the background when connected to a suitable internet connection, but doesn’t in any way impeded or restrict any app functionality when working offline.

Originally posted at http://www.dotuk.net/news…

The New Basecamp Upgrade – Do We / Don’t We?

We use Basecamp, sorry Basecamp Classic, in the office for the majority of our project management needs, moreso I live within Omnifocus on the Mac and iPhone so make use of Spootnik to sync between Omnifocus and Basecamp which as I understand doesn’t currently work, so changes are a big deal, but these are bigger than most. The ‘upgrade path’ is more than that, it’s in effect testing and choosing a new product, except we don’t want a new product, if I’m evaluating a new product then I’ll probably be looking outside of Basecamp full stop.
On top of that, if we do evaluate there’s no turning back, so we have to work in parallel. I’ve not been motivated to even sign up for a free trial, complete apathy. So I googled, let the internet do my thinking for me, and found this, which pretty much sums up how risky a decision 37 signals (the makers of Basecamp) have made. Full credit’s made and follow the link to the full article, felt wrong to quote much more.

My conclusion, I’ll not even bother looking to see what New Basecamp is like, not now, not as an upgrade. I might however have a look to see if there’s a better suited product than Basecamp Classic, but it might not be from 37 Signals, or we may well stay where we are, quite happy.

The New Basecamp, New Coke, and New Decisions

There is so much to say about The New Basecamp that reviewing this release is going to take several posts. So, for starters let’s talk about the big picture decisions related to this major new release.

The Name

This week we got “The New” Basecamp and The New iPad. It seems to be an odd choice for both Basecamp and the iPad.

;

In theory, this works better for hardware. The 37Signals guys were quick to point out that Honda rolls out a new Civic every year and they don’t name them the Civic HD, Civic 4S, etc. You just get a new Civic. But the car industry has the decency to put a model year on it.

;

Apple’s been playing this game for a while. I own a white MacBook and 95% of the time the actual name of the model doesn’t matter. But when it does matter, I have to know that it is the 13-in Early 2009 MacBook. I suspect “the new iPad” will have the same issue. This is because this image to the left won’t help you much in 2014 when you are trying to get support and they need to know if you have an iPad 2, a 2012 iPad, or a 2013 iPad or whatever.

;

But with Basecamp, the name game feels even more strange. What we once knew as Basecamp is now Basecamp Classic. And this new thing, with a completely different feature set has assumed the Basecamp name and is generally prefaced with “the new” to differentiate it.

;

Why the name games? Did Ryan in The Office completely ruin the ability of software companies to name their product “two-dot-oh”?

;

The most straightforward answer seems to be this:

;

Unlike Fog Creek with Trello and FogBugz, 37Signals wanted to leverage the brand value of their existing product with their new, created-from-scratch product. Where Fog Creek has created a second project management tool to live along side their existing tool, 37Signals is maintaining the brand name with the new product. Think: New Coke. Oh wait, maybe that’s not the image they desired.

;

However, unlike most upgrades (excluding Apple’s treatment of video editing software) this “upgrade” actually removes several previously “key” features.

;

A major release like this is going to upset many users however you do it. If you position it as Basecamp 2.0 and you remove key features, well, users are going to freak out.

;

So, the team at 37Signals appears to be trying to walk a fine line. The new thing is new and different, but not the same product at all. So, you get the old thing renamed and a few Jedi mind tricks later… everybody is going to be okay. In theory. But this feels like a decision they will regret if for no other reason than they are going to get tired of talking about it.

;

No Auto Upgrade

Another complication is the decision to not auto-upgrade users to the new Basecamp. Instead, your current projects and accounts may continue to live on forever (or some version of forever) in Basecamp Classic. You may give the new Basecamp a whirl via a free trial and import your projects over, but you don’t have to do so.

;

Why would anybody stay in the old version of a product if the new version is available for essentially the same price? (Let’s ignore the issue about no longer supporting a “free” version in the new Basecamp.)

;

This isn’t a decision that was made by accident. There is a really good reason, but it’s going to frustrate a lot of folks. You see, the new Basecamp really is a brand new product. Completely new code, new features, new style, and all the things that go with a new product. Being a new product, the new Basecamp has a limited feature set.

;

Yes, there are new features that Basecamp (classic) never had. But there are features that are missing. Some are quite intentional (no private messages!) and some are more complex (no time tracking!).

;

Tangent: When Salesforce rolls out a new release (three times a year) you rarely lose key features. And if something is going to change, there is significant build up to the event that includes transition guides, the works. If this winter, Salesforce rolled out a release that say, removed the Opportunities object then all hell would break lose. You don’t just auto-upgrade users to a version of your application that does not include key functionality they have previously enjoyed.

;

And thus, 37Signals put themselves in an awkward situation. Or, more importantly, they put their users in an awkward situation. You can keep on paying the same price for eternity for the old tool that they are not likely to enhance ever again, or you can move to the new application with a different feature set.

;

Good luck on convincing your budget guy of option one and good luck of convincing your users of option two.

;

continue reading via The New Basecamp, New Coke, and New Decisions « Technical Support Is At The Deli.

Andy Flisher is a Software Developer based in the North East of England specialising in cross platform development. Mobile Development experience includes Windows Phone, Android, and iPhone Apps. Desktop Software Development includes bespoke Windows, Linux, and Mac Applications. Web Development Skills include PHP, Perl, Python, ASP (Classic and .NET) – Andy Flisher on Google+

BTServer causing high CPU utilization (When wake from Sleep)

Symptoms are that your Mac wakes from sleep and CPU usage spikes to 100%, Activity Monitor show’s it the BTServer process using it all and you have to quit it.  This happens, 100% reproducible, when you’ve used the iOS Simulator at some point since the last reboot.

This isn’t a perfect solution, in fact it’s ruddy useless of the iPhone / iPad app you’re developing uses Bluetooth, but if it doesn’t then you can get away without BTServer, so we disable it.

Thanks to ‘Frankie’ via the Apple Support Forums

 

Re: BTServer causing high CPU utilization

Mar 4, 2012 5:51 AM (in response to Ryan Homer)

I have the same issue. My mac is 10.6.8 and I’m using XCode 4.2.

 

Just try:

 

Go to the Macintosh HD > Developer > Platforms > iPhoneSimulator.platform > Developer > SDKs > iPhoneSimulator5.0.sdk > System > Library > LaunchDaemons directory and then open the plist file from there. Locate the “Disabled” key and change its value from “NO” to “YES”.

You need to change permission in the file and also its parent folder in order to save the new permission of plist file before modifying in XCode.

 

Hope this help.

 

Frankie

via BTServer causing high CPU utilization: Apple Support Communities.

Andy Flisher is a Software Developer based in the North East of England specialising in cross platform development. Mobile Development experience includes Windows Phone, Android, and iPhone Apps. Desktop Software Development includes bespoke Windows, Linux, and Mac Applications. Web Development Skills include PHP, Perl, Python, ASP (Classic and .NET) – Andy Flisher on Google+