Facebook for all and a Happy Birthday to my brother Alan!

So my brother had a birthday yesterday and I had been racking my brain trying to think of something useful that I could get for him.  He has MS (Multiple Sclerosis) and also had a stroke a few years ago that have left it difficult for him to communicate.  He now lives full time in a residential care home.  So for his 58th Birthday I decided to set him up on Facebook – but with a difference.

 

AlanJohnWalkerI know that Alan will struggle to manage a standard Facebook experience – he has never been technically minded and his MS makes it harder to do things than when he was younger so my idea was to provide him with a “read-only” experience of Facebook so that he can see what his family and friends have been posting and feel like he is more a part of what is going on in the outside world!

I began by setting Alan up with his own Facebook Account – https://www.facebook.com/profile.php?id=100014462405710

image

The first thing that occurred to me is that there is a lot of noise on a typical Facebook Page/App.  The content that I would anticipate that Alan will be interested in is that within the red dotted border above (the timeline) – and so one of the things I am looking at going forward is how we might be able to focus on the timeline element itself.  But for now he will have access to everything and I will have to manage it as best I can. 

I only spoke to the Manager of the care home yesterday to sort out any potential issues (internet access being an obvious one and yes he does have potential for access) .  My thinking in terms of how this might work is different to the way that most people would use Facebook::

 

So how might this work in the first instance?

I envisage Alan being able to see the Facebook display at all times from his bed and that it is permanently set to show the above page. (At this point I don’t see Alan being able to make use of hands on access – the home is soon to be running an iPad trial which Alan will be a part of – stage 2!)

If someone comes in to Alan’s room they will then have the option of using the Facebook display as a conversation starter with Alan, perhaps spending a few minutes reviewing the most recent posts from his family and friends?

It would also be great if we (friends and family) posted occasionally items on our own Facebook that reflected things that Alan might be interested in (An example is the YouTube posting of someone playing Chopin’s’ Military Polonaise – something that my brother would always request that my Mother played for him on the piano at every available opportunity!)

image

This is also a good example that highlights the importance of the role that visitors to Alan’s room can play as the piano piece will only be heard if someone touches the play button!

Going forward I can see a number of improvements to this idea which I/we may look at implementing if this initial idea proves to be a success: 

Perhaps a  larger display that was able to focus solely on the timeline and could be operated by Alan using a simple two button remote (“up page”, “down page”’). 

In an ideal world the Facebook display would exist on Alan’s TV as a default channel that he can look at whenever he isn’t watching his TV.  This would need to be a super friendly implementation that goes beyond the current Facebook apps that are often a part of modern smart TVs (although I will take some time to investigate the current generation of Smart TVs to see just how suitable they might be to this purpose).

 

What does it look like?

Facebook Tablet Idea

 

Initially I have re-purposed a tablet that was originally part of our home monitoring system (we have just re-jigged our home security so this was freely available).  It isn’t a perfect choice as the screen is a little small though on the positive side the App seems to have a little less noise than the typical Facebook web page and the device itself is quite sturdy (it has a stand built into it’s base) so I am hopeful that I will be able to find a suitable spot in Alan’s room for it.

I drafted up the message to go along with it so that anyone entering Alan’s room (cleaners, social workers etc.) will be able to see what it is about and hopefully be encouraged to highlight any interesting items with Alan.

If you have read this far then thank you.  If you have stumbled on this post on the web and have any ideas for improving this scenario please comment below or email me at rd3d2@hotmail.co.uk.

 

Many thanks.

When I say I want a C# developer what I actually want is an ASP.Net developer?

So putting all the XAML stuff to one side (sure that can be web but it is usually referred to as “XAML”) this is an attempt to quantify what it might mean to be a C#, ASP.Net developer today – this is actually an impossible job as these requirements are specific to individual roles and are also in a constant state of flux with prevailing technology changes! (Click on the headings for wider definitions from Wikipedia)

The following five items are probably the “pillars” in terms of requirements to be an Asp.Net developer. In addition a rudimentary understanding of a back end database such as SQL SERVER is a common requirement.

 

1. C#

“C# is a general-purpose, object-oriented programming language.[9] Its development team is led by Anders Hejlsberg. The most recent version is C# 6.0 which was released in 2015”

2. ASP.NET

“ASP.NET is an open-source server-side web application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, web applications and web services.”

3. MVC

MVC (Model-View-Controller) is a software architectural pattern for implementing user interfaces on computers. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.

4. HTML

Hypertext Mark-up Language (HTML) is the standard mark-up language for creating web pages and web applications. With Cascading Style Sheets (CSS), and JavaScript, it forms a triad of cornerstone technologies for the World Wide Web. (ASP.Net commonly renders it’s output as HTML)

5. JavaScript

JavaScript is a popular, high-level, dynamic, untyped, and interpreted programming language dating back to the dawn of the web.

 

 


 What else am I likely to be expected to know about?


CSS (Cascading Style Sheets)

Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a mark-up language most often used to set the visual style of web pages.

BOOTSTRAP

Bootstrap is a free and open-source front-end web framework for designing websites and web applications. It contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions. Unlike many web frameworks, it concerns itself with front-end development only.  (It’s principal trick is in providing a basis for a UI capable of adapting to any form factor)

JQUERY

jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. It is free, open-source software using the permissive MIT License. Web analysis indicates that it is the most widely deployed JavaScript library by quite a large margin.

NODE.JS

Node.js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of tools and applications. Although Node.js is not a JavaScript framework, many of its basic modules are written in JavaScript, and developers can write new modules in JavaScript. The runtime environment interprets JavaScript using Google’s V8 JavaScript engine.

ANGULAR

Angular is a complete JavaScript-based open-source front-end web application framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications.

TYPESCRIPT

Typescript is a free and open source programming language developed and maintained by Microsoft. It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming to the language.

ADO.NET

ADO.NET is a data access technology from the Microsoft .NET Framework which provides communication between relational and non-relational systems through a common set of components. 

NB The Entity Framework and Linq  are related aspects of this framework and a basic understanding of operation is a common requirement for jobs requiring MVC.

DEPENDENCY INJECTION

Dependency injection is a technique whereby one object supplies the dependencies of another object. A dependency is an object that can be used (a service). An injection is the passing of a dependency to a dependent object (a client) that would use it. The service is made part of the client’s state.[1] Passing the service to the client, rather than allowing a client to build or find the service, is the fundamental requirement of the pattern.

The intent behind dependency injection is to decouple objects to the extent that no client code has to be changed simply because an object it depends on needs to be changed to a different one.

AJAX

AJAX (short for asynchronous JavaScript and XML)is a set of web development techniques using many web technologies on the client-side to create asynchronous Web applications. With Ajax, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows for web pages, and by extension web applications, to change content dynamically without the need to reload the entire page In practice, modern implementations commonly substitute JSON for XML due to the advantages of being native to JavaScript.

Ajax is not a technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display – and allow the user to interact with – the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.


Which tools am I likely to utilise?


VISUAL STUDIO

Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for all common platforms, as well as web sites, web applications and web services.

POWERSHELL

Powershell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language built on the .NET Framework. It was made open-source and cross-platform in 2016.

From a developer standpoint it can be useful in many common scenarios:

  • static analysis
  • interfacing with C#
  • embedding PowerShell applications
  • working with XML and JSON
  • interfacing with Excel

 

GITHUB

GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git (command line tool) as well as adding its own features.

 

 


Buzz Words


Each role you undertake is likely to have it’s own preferred libraries and methodologies.  Some of the more common requirements are:

(TBA)

Where have your apps gone?

 image

I was surprised to find that the tally of apps I have developed over the previous 5 years or so is close to 300 – an average of an app a week over the period.  I have been asked why I spent so much of my time developing these Apps and although I have touched on this elsewhere in my blog I thought it worth revisiting and explaining why I have taken the decision to remove these apps from the store.

After a lengthy period as a contract developer I made the decision for personal reasons, to close down my business.  This gave me the opportunity to learn about App development and at the same time to consolide my existing web and desktop skills.

Having now made the decision to return to a more traditional role I want to clear the decks and focus on the next stage of my carreer. Correspondingly it no longer makes sense to support the many Windows and Windows phone Apps which I am now in the process of retiring from the store.

Of course that doesn’t mean that if you have one of these apps it will suddently stop working and there is certainly no reason why you shouldn’t continue to enjoy any apps you have for years to come!

As ever you are free to email me about any aspect of any apps that you own!

 

 

Ian

Ian.Walker@WebSurfaces.co.uk

New revenue opportunities for Windows developers?

So I was in two minds as to what the make the title for this blog post but having received the email below from microsoft this morning my immediate take away wasn’t about the ‘new opportunities’ but about the decreased cut of app proceeds imposed on developers.  here is the email:

Adding new revenue opportunities for you is a key priority for Windows Store. To attract more store customers, we recently launched new Windows Store and Xbox gift cards. Gift cards are now available at thousands of new retail locations and online stores in 41 markets. Windows and Xbox gift cards work interchangeably and can be used on both Windows and Xbox stores. Sales associates will promote gift cards to customers who want to give gifts, buy apps without a credit card, or fund a child’s account without the worry of overspending.

With the recent expansion and because gift cards have higher costs due to packaging costs and revenue sharing with channel partners, a Commerce Expansion Adjustment will be added to app and in-app product purchases made with gift cards. The Commerce Expansion Adjustment is an additional percentage on top of the normal Store Fee (percentage of Net Receipts) that is deducted in calculating the App Proceeds payable for apps or in-app product transactions using gift cards.
The Commerce Expansion Adjustment for gift cards will take effect in
specified markets in March 2016 at a rate of 2.24%. Details about how the Commerce Expansion Adjustment is calculated and deducted from App Proceeds can be found in the App Developer Agreement.
Windows Dev Center allows you to choose which markets you publish your apps and how you price them in each market. In doing so, you may want to consider if the Commerce Expansion Adjustment applies in a specific market and factor that into your market pricing strategy going forward.
For further details about the Commerce Expansion Adjustment and the list of markets where it applies see your
App Developer Agreement and Windows Dev Center.
Thank you,
The Windows Dev Center Team

I am sad to see that there is a need to cut developer proceeds in this way.  I have found it difficult to justify the development of apps for Windows and Windows Mobile (in spite of the fact that I have found the process enjoyable and the tooling excellent) and have felt forced into looking at reducing (if not completely eliminating) the time I am able to devote to developing apps for the Microsoft store.

Sad times.

 

Update

image

It is with some sadness that I have decided to withdraw all my apps from the Windows Store.  I felt this was necessary in order  to clear the decks and prepare for future projects.

NB My understanding is that this process will take some time before it is reflected in the non availability of some 300 or so of my apps in the Windows and Mobile Store.

IMAX 3D “Edge of Tomorrow”

One of the benefits of not working (or“resting” as I like to call it),  is the opportunity to spend some time with the kids while they are on their half term holidays.  Of course they are both working hard at the moment, Emily for her GCSE’s  and Daisy for her end of year exams… but ….

So we were very excited to have been invited by Stuff magazine to attend the premiere of ‘Edge of Tomorrow’ at the BFI IMAX  (For my part, anyone who knows me will appreciate that I am excited by all things stereoscopic/ 3d and this will be the first opportunity I have had to see a film at “the largest 3D IMAX in Europe”!)

I am doubly excited to be going with my eldest daughter, Emily, who is a massive fan of Emily Blunt who is planning to attend  the premiere. with her co-star.

So Is there a down side to this trip? Well, we are getting the 1:30am coach from Gloucester to get in to London at 5am …  (Red Carpet at 7am, Premiere at 9am – all over in time for brunch!)

As the opening scenes of the film take place in Trafalgar Square and Waterloo Bridge I thought we should walk from Victoria, past Buckingham palace, down the Mall, across Trafalgar Square and over the Hungerford bridge – offering us a great view of Waterloo bridge, before heading over to the BFI a short walk past the site of my first ever workplace (in Chicheley Street – ironically now a bar!).  Of course I have pointed out this particular site many times before so have an idea what I can expect – but I guess that is all part of the fun!

The Film

I might as well start by telling you to go and see this film on the largest 3D screen you can find.  It’s just simply an enjoyable way to spend a couple of hours!  Better than Godzilla (which I enjoyed) and probably my favourite film of the year so far (and I wouldn’t be surprised if it stayed that way).  Don’t expect surprises (there are some), don’t expect romance (there is some), don’t expect a comedy (but expect to laugh a bit). Do expect action (lots of it), do expect suspense (buckets) and perhaps most of all, expect to be thrilled!

The Experience

I have never attended a film premiere but when I mentioned to the girls that I had tickets to the new Emily Blunt film they nearly wet themselves, and so the date was on!.    We arrived early and were escorted to our spots on the red carpet and shortly after a limousine pulled up in front of us and out stepped Tom Cruise.  I have to say I came away loving Tom (not in the biblical sense you understand).  He spent hours outside with the crowd and while all other stars were gracious with the fans, signing autographs and smiling for the cameras, they couldn’t match his commitment.  A quick breakfast inside and we took our seats, a quick introduction from Tom and the crew and the film kicked off!

What a great experience!  Thank you Stuff magazine and Warner for looking after us!

Little Things / Detail / Design / Musings

So as well as some cool new features I tool a little time to think about smaller details that, ordinarily as a developer rather than designer, I routinely let by.

Default Search Box Styling

I guess I was kind of aware that the colours that manifested themselves in various states of the SearchBox were out of kilter with the general ‘sepia’ theme of the overall App.

A couple of overrides in the Application file and sorted:

image

Should I have those colours defined as constants somewhere? You betcha! Have I? (no).  Are there some other overrides that should be in there? (probably)

image

That’’s Better, but do I need that black border? Hmmm ….

Buttons on Top Level Page

A quick edit to make the text background stack panel height 30px instead of 60px:

Before:

image

After:

image

Now should that text background be a transparent dark brown rather than black?

Showing someone the App on their Lenovo tablet and I spotted an issue with my home page layout and the search box:

image

That’s’ Better:

image

Truth is I don’t quite have the eye or the design chops…. but ….. I am getting better (and more diligent) and, in any event, am hopeful of a design makeover for this App from someone who does have the eye …. so watch this space!!

About the development of Vantage Point

As I write this I am poised to upload the fourth version of Vantage Point to the store.  This will be the first version that has started to include the feedback from the Microsoft design Lab and Intel Software Summit feedback from November 2013.  I though it might be interesting to talk about some of the reasons why the App came in to being, what has changed within the App so far, as well as plans for the future.

Changes to the UI

There have been a number of changes to vantage Point in its short lifetime.  Perhaps the most striking is the change in the top most page which came about after talking to some of Microsoft’s own designers last November.

The original top page was a simple grid of the highest level categories of images (Counties in the UK, States in the USA etc)

image

Note also the (default) black background (that is me being lazy)

The main feedback I got from this related to the second Page:

It was pointed out that it wasn’t immediately obvious that there were potentially multiple ‘Towns’ per County and that a more ‘hub like’ approach that illustrated this might be a better solution.  This has resulted in the following new top level page for version 4:

image

I have incorporated a ‘featured’ image that will change each time the page is visited (the Vantage Point image shown can be viewed by tapping the smaller of the two images).

Scrolling right on this page reveals the replacement layout for the original image:

image

I have taken the opportunity to use different hub layouts depending on the number of ‘towns’ available within the County.

The hub layout provides a lot of opportunity for customisation and I can see it being refined as the number of areas covered grows.

Windows 8 Apps and Personalised Advertising

 

Any developer deciding to Add the Microsoft Advertising SDK as a part of their App stack will now automatically offer users the option to personalise their adds (the setting is off by default.)

image

An interesting addition to 8.1 and another sign that the onward march of ‘targeted advertising’ continues.

 

NB Image Still from ‘Vantage Point’, which will be available soon in the App store.

Hard Work, Persistence & Passion = Vantage Point!

So I have had a good few years since closing down my Company and hanging up my ‘enterprise developer’ gloves.  Quite scary to think that I have developed over 200 apps since that day when I sat in a room in Microsoft Victoria and first expressed an interest in developing apps for Windows Phone!.  At the time I didn’t anticipate being away from Enterprise development quite as long as I have been but circumstances being what they were I guess that was just my destiny …  I have run the gamut of apps, starting with a few individual apps that only achieved moderate success I have targeted all manor of strategies in an effort to try and make a living.  Criticised for ‘boiler plating’ a large number of apps using a template system I developed myself I am actually most happy when developing apps that are close to my own heart.  And so it is with my latest App (or to be more exact suite of apps) that draws on a hobby that started out for me back in 2009 when attending an Orange mobile developer conference in Nice!

Logistics being what they are I discovered that I had a free day at the end of the conference and (another hobby) had only just been reviewing a series of Stereoscopic slides that I had picked up at an auction some years earlier – weren’t there some slides of Nice? 

image

I  reviewed my collection again and dug out a dozen or so slides that had been taken around Nice some 100 years earlier.  My thinking was it would be interesting to try and find the spots in these slides and take ‘up to date’ shots from the same spot.  Here is the first one I took after recognising the building while walking along the ‘Promenade des Anglais’:

Cote Dazure,Nice,Prom ThenCote Dazure,Nice,Prom Now

I took some time and trouble to position the camera at what I perceived to be the same spot as the original photographer some 100 years earlier.  It was an interesting experience spending that whole day tracking down the locations and taking ‘up to date’ shots and when I got home I set about thinking how I could present the two images in an interesting way.  It so happened that at that time my interest had been peeked in WPF and its latest sibling WPF/E (which later became the now largely defunct “Silverlight”). I decided to use the photographs I had taken as  the source material, and my motivation for learning how to code in Silverlight.  Along the way I took more photographs of the areas around me and incorporated those also (this has become an ongoing hobby with me much to the chagrin of my wife and family who now expect that I will attempt to disappear for an afternoon whenever we go on holiday to somewhere new, in order to feed my latest passion (yes, no excuses, I AM a geek).  And so, for a brief period ‘From the Malverns’ (as I called the App) existed on the web and was generally met with positive feedback..

Now along the way I discovered that although I could take 20 or so photos in a day only a small percentage of them (maybe 1 in 4) were usable in the App.  How so you say?  The simple fact is it is very difficult to find the exact same spot that the original shot was taken from (although very easy to get within a foot of the spot in any particular direction!).  Over the years I have tried many ways to improve this process, ranging from using my own stereo cameras from 100 years ago (an attempt to be authentic) to printing out see-though acetates of the original which I would manically hold up in front of me as I lined up buildings and objects from the original that were still in evidence today.

And so for some time I had thought about developing some kind of camera add-on that would assist me in this process.  At the same time I wanted to rejuvenate that old Silverlight App and bring it ‘up to date’ as a Windows 8.1  App.  And so I am now close to releasing “Vantage Point” for Windows Phone 8, designed to assist in the taking of present day shots matching old locations and ‘Vantage Point’ for Windows 8 which is designed to present them to best effect!

Vantage Point Maker for Windows Phone 8.

This app is difficult to put into words and I have to confess, that although it is for sale in the store it really has a target audience of 1 (being myself).  Safe to say that the premise is to allow the user to load in an old photograph (such as the one on the left above), revisit the scene and overlay the same location in the viewfinder in order to take the new shot..  I added a few tricks to assist in lining up the shot – filters (using the excellent Nokia imaging API) allow the original image to be viewed as an outline drawing – which makes aligning building and objects a little easier.  I also found it useful to be able to manually change the opacity of each image and automatically blink the old image on and off within the viewfinder.  All this has been a great help using my trusty Lumia 920, though it has also served to peek my interest in the new cameras from Nokia (ie those with higher image resolution and larger screens!).  In an ideal world I might have a tablet sporting a 10” or larger screen and a high quality camera – that would make the whole capture process significantly easier!

Now, although this app is available in the store I am currently looking at developing it further such that it packages the old and new images taken, along with co-ordinates into a suitable file format for direct input into the Windows 8.1 App, the next logical stage being to encourage users to submit their own photographs, old and new, to become a part of the Windows 8 App experience.

Vantage Point for Windows 8.1 and Windows Phone

The original Silverlight allowed the user to interact with the old and new images in several interesting ways. which are better experienced than explained (note to self, resurrect source and re-publish online).  but for this App I wanted an experience that matched the design guidelines and brought something new to the whole experience. ).

Browse Views by County (Version 1)

image

Map View of Locations (by town)

image 

Interactive  view of chosen location

 image

image And so the basics of this app is it allows you to view a 100 or so  postcards of ‘olden times’ overlaid onto the ‘current view’.  (the postcard can be moved around the screen and flipped between old and new views).

 

Now call me a geek, but I have spend many hours ‘playing’ with my new app – so at least I know have one happy customer).!

(Vantage Point is due to be released shortly into the Windows 8 and Windows Phone stores, after ‘just a little more’ tweaking ….)

 

Update:  I am currently looking for some interesting work developing for Windows Phone and/or Windows 8.  Please get in touch if you hear of anything.