Monday, July 28, 2014

Towards cross-platform development..

There are lots and lots of Apps. In fact there are over a couple of million Apps including all of the major brands, Apple, Google, Blackberry, Microsoft with Apple at the top and Microsoft in the bottom. But this is a growing market. The variety is truly bewildering, different size devices; different operating systems(OS); different programming languages;  and different orientations.

This post is not very recent but you can see how the various mobile operating systems compare:
http://www.ibtimes.com/android-vs-ios-whats-most-popular-mobile-operating-system-your-country-1464892
The interactive image in the article really shows the popularity of a given OS/device among different geographical regions.

Windows Phone Apps is for example based on Microsoft's Window 7, 8, 8.1 OSs using .NET. With Windows OS and Visual Studio one can build Apps for all of Microsoft devices covering Phone, Tablet and Desktop. However Microsoft Windows Apps sans Html5/CSS/Javascript is OS specific. Even for apps built with Html5/CSS/Javascript the WinJS file is required (or recommended) in most cases.

Apple Apps can be used on both iPad and iPhone as long as certain files specific to each device profile is available, in general iPhone apps can be used on iPad but not the other way. However the so called iOS Universal apps can be used on iPhone, iPod touch and iPad (before the advent of iOS Universal there were two binaries created for each type). XCode/Interface Builder was used to create the iOS Universal. Although XCode, a superset of Objective-C makes this easy it is not straight forward mainly due to device size differences. Again Apple Apps are specific to devices running Apple iOS.

The same is true of Android Apps. It is built using Java in a multi-user Linux system. The recommended development platform is Eclipse. Read more here, http://developer.android.com/guide/components/fundamentals.html

Latest version of Eclipse Standard here:
http://www.eclipse.org/downloads/packages/eclipse-standard-44/lunar

However there have been several developments (bridge programs) to have a single program that can build Apps to work on any device.

  • With Xamarin you can use C# shared library to build native iOS, Android, Mac and Windows apps.
  •  PhoneGap (Apache Cardova) developer app used with Windows can bundle the App for a variety of platforms.

  • XDK Platform from Intel can similarly create apps for multiple OSs using Html5/CSS/Javascript similar to the PhoneGap, in fact using a later version.

  • Outsystems cloud based development platform can build apps that works with both Java and .NET environments and you can derive source code for each of these OSs

Html5/CSS/Javascript not dependent on any specific vendor together with responsive design should address most of the cross-platform requirements. I am sure more programs on the way in this general direction.

 

Friday, July 25, 2014

Windows Phone 8.1 ???

I received in my email a message from Microsoft Store that a Nokia Lumia 635 is available with Windows Phone 8.1.



I tried to find if my Nokia Icon 929 gets the update. At this point Microsoft (chat) could not say anything positive. My carrier VERIZON is also unable to confirm, they think probably towards the end of August. I do not find Windows Phone 8.1 Upgrade on the store.

It is very interesting that the Nokia Icon was touted as the most current device and it is funny that there is no update.

My guess is it is something to do with the contract between Nokia and the carriers, because for Nokia Lumia 635 there appears to be just two vendors, AT&T and T-Mobile.

Verizon says they are not responsible and that Microsoft should be contacted and I drew a blank with Microsoft.
 

Wednesday, July 23, 2014

Cross platform app development with Apache Cardoba APIs

It is now possible to work with PhoneGap on Windows using PhoneGap Developer App available from the Windows Store. PhoneGap is a free, open source framework based on the Open Source Apache Cardova project that allows developing mobile apps using standardized Web APIs.You can create apps using HTML, CSS and Javascript. PhoneGap bundles up your code for the device of your choice.

You start here:
http://phonegap.com/

PhoneGap Developer app can be used to develop both Windows Phone 8 app as well as the soon to arrive Windows Phone 8.1 store app. With PhoneGap you have full access to the PhoneGap APIs and there is no need to install platform SDKs, registering devices etc.

Get the information guide relevant to your platform from here:
http://docs.phonegap.com/en/edge/guide_platforms_index.md.html
Watch video here for additional motivation:

Wednesday, July 2, 2014

How do you convert your blog to a Windows 8.1 APP?

Why do you need to convert? Well, you cannot lug along your 17" (OK 14") Laptop, Notebook to an interview, but definitely you can take your Windows Phone and show what you are capable of. I am talking about going to an interview and getting a job.

Your blog can show on a smart phone browser but an app has lot of other things like app bar, charms etc. The Web App Template provides you those extra things needed on an app.
This post shows you how without even having the fancy software like Visual Studio. But if you have VS you can do more. Read along..

In the previous post here,

http://hodentek.blogspot.com/2014/06/web-app-template-2.html

the procedure to download and install the Web App Template was described with a few of the key features.

If you do not have access to Microsoft Visual Studio 2013 Express Update 2, you could still create a project based on Web App Template at the Windows App Studio Beta site here:
http://appstudio.windows.com/Projects

When you are at the above site click of Start new project button shown on this page.


The 'Create' page opens as shown.

 

Click on Web App Template.

A project template will be displayed. It is now pointing to the Microsoft site (BaseURL: http://m.microsoft.com) and is at a stage where AppBar Buttons (remember that Web App template adds the required items for a Store Application) are configured.

  • Click on Create
You can change the Base URL to point to your site by editing the Base URL text. I tried out my blog, http://hodnetek.blogspot.com by typing it in place of m.microsoft.com. I also provided a App tile, HTEK_WAT.



I now click Save to save this information. As soon as I click Save, the preview on this web page changes as shown.



If you have touch sensitive screen you can scroll down the screen as well.

Click on the button with icon of refresh and you will see that button is also pre-configured.



Click on the one marked plus(+) next to refresh. The icon for 'accept' is applied (that is you will get a AppBar button 'accept').

If you want to delete it click on the 'Icon' image.



You can add a suitable 'tile'. Click on Tiles to display.


Let us say We pick the Flip Template which requires two images, a 150x150 pixels and another 340x340px.

Click on the Small Image 150x150px shown in grey.
This opens a page where you can access an image that can be added to your phone application (although this is a Store Application) you can only download code for Windows Phone app.



Click on Computer to get an image stored on your computer. Choose a image file (it has to be exactly same size), you will end up in an error otherwise.

 

The bigger image is screwed up. Let us push on.

 

Click Save.
Click Finish. Well. We can always come back and refine.

Click on Generate.
You get the following dialog displayed. It is really for WEB and not for Windows. Well and Good.



Click Windows Phone 8 and click Generate.

 


You can download the file WAT80APP.zip to your computer.

If you do not have VS2013 then may be you should go to PublishInfo tab and follow it up to deploy to your Phone (device).

That is all there is to it.

In fact, if do a Bing Search to your Blog Site URL, it pretty much does the same thing. There may be slight differences. You can check and see the Home and Refresh AppBar buttons are functional.

Describing the config.json for this will be in another post.

enjoy!