Archive for March, 2015

Nowadays is possible to build an windows store app that will work cross Windows platform, i mean it would work in Windows 8.1, Windows RT and Windows Phone 8.1.

The support for this developing model was announced by Microsoft  sometime ago.

Universal Diagram

https://dev.windows.com/en-us/develop/building-universal-windows-apps

This development support was made in 3 phases a first phase when it was supported using defines in the code, a second phase with the Shared code and override concepts (https://dev.windows.com/en-us/develop/building-universal-windows-apps).

In my opinion the way Microsoft build this universal development environment was the right one and comparing with the other players i would say that for developer’s this is the better platform.

The universal development model respects the fact that HTML 5 is a first class citizen and with WinJS a way to code natively to all the Microsoft Windows 8.1 platform.

Some months ago i start with a team at Innovagency the promotion of a big Windows 8.1 store app (only desktop and tablet) to Universal APP to bring also the support to the Windows Phone. The original app was developend in HTML 5 and WinJS and this new Universal app will also be developed that way.

When developing a Windows Store Universal app there are a lot of chalenges nowadays and one off them is what native controls exists in the different flavors of the platform. Especially in the case off WinJS controls not all controls had come to Windows 8.1 on the phone.

Microsoft had decided not to implement the following WinJS controls on the Windows Phone.

Object name Description
BackButton object and all its members Not needed. Apps that target Windows Phone should listen for the hardware backbutton event. See WinJS.Application.onbackclick
CellSpanningLayout and all its members Use GridLayout or ListLayout instead.
DatePicker object and all its members Use SELECT and OPTION HTML elements.
Hub object and all its members Replace with the Pivot control. See section above.
HubSection object and all its members Replace with the Pivot and PivotItem controls. See previous section.
SwipeBehavior enumeration Replace with phone-appropriate gestures.
Flyout object and all its members Navigate to a new page or use the Windows.UI.Popup context menus.
Menu object and all its members Navigate to a new page or use the Windows.UI.Popup context menus.
MenuCommand objectand all its members Navigate to a new page or use the Windows.UI.Popup context menus.
NavBar object and all its members Replace with AppBar and AppBarCommand controls.
NavBarCommand objectand all its members Replace with AppBar and AppBarCommand controls.
NavBarContainer objectand all its members Replace with AppBar and AppBarCommand controls.
Rating object and all its members Use SELECT and OPTION HTML elements.
SearchBox object and all its members Use INPUT HTML element with the type attribute “text”.
SettingsFlyout object and all its members Navigate to a new page or use the Windows.UI.Popup context menus.
TimePicker object and all its members Use SELECT and OPTION elements.
Tooltip object and all its members Navigate to a new page or use the Windows.UI.Popup context menus.

Source of this table can be found at Microsoft in the following URL:

https://msdn.microsoft.com/en-us/library/windows/apps/dn632432.aspx#unsupported_apis

This means when building Windows Universal APPs this controls will be considered not supported s cross platform since they are not supported by the rendering engine of Windows Phone 8.1

At this time our reader may say but i had listen/read that WINRT is shared along the distributions of Windows 8.1, true but only partial.

One off the controls that is not shared in WinJS is the DatePicker, the main reason for that is that in HTML and Javascript there are many ways to build Date Pickers, but imagine that you are promoting a Windows Store app that was built-in HTML to a Universal APP.

Or let’s imagine that we really need or want to have the Date Picker the same way you are used to in WinJS when building Windows apps. We understand the Microsoft option but this disruption is not uniform with what happen in the XAML development UI model.

In my team case we were promotion a Windows Store APP to Universal APP and we get in trouble since we have a lot of user interface logic based on the DatePicker.

The optimal solotion would be to have the control in both devives ( phone and desktop/tablets) or at least a control that has the same behaviour and methods.

Sebastian Gomez is a developer who had the same problem and had strat to build a first implementation of WinJS datePicker (https://github.com/sebagomez/windows-phone-winjs-datepicker ). The only problem to use this in the context we had present above is that thiss control does not map every methods and properties the original WinJS control have.

Me and my team had extend the explendid work of SebaGomez and anchieve a solution that give us that desired behaviour, we had mantain gomez as the prefix of the namespace as a way to mantain the intelectual property to Gomez.

The instation of the control can be made the same way as a common WinJS control or the original WInJS control of Windows.

First of all you should copy the files  Goomez.UI.DatePickerv2.js (implementation of the date picker ) and rx.lite.js (heper class to make easy the implementation of the DatePicker control) to your development enviroment.

In the view where you intend to instatiate the DatePicker:

– in the head make a reference to the files needed respecting the order of the files

 

includepicker

– You can instatiate the control using a HTML tag where you declare the type of the control as being our control, like in others WINJS cases

includepickerhtml

– you can also instatiate the control dynamic form like you would do with any other WinJs control.

As you would do in a normal WinJS control. The usage of this control in the code is the same you are used to in WinJs controls. We had tried to implement every method’s the original WinJS DatePicker has in their interfaces.

I terms of interface the user experience is similar to the native datepicker avaiable in Windows 8.1.

On challenge the ones who will use this control may feel, is how to interact directly with the control deleting or upgrading information, if that is the case always remember that you are dealing with select box, so remember the DOM concepts and will be as easy to use this control as is with the original DatePicker.

You can get our files from the github public repository amarreiros/WinjsDatePicker_Phone, feel free to use the code and collaborate.

You can also get the original DatePicker from SebaGomez GitHub.

A special thanks to Gomez for the initial code and also to my team in Innovagency who had correct some bugs my extension had.

With a lot coming on the technical press about Windows 10, and also the lack of knowledge about Windows 10 this had been one of the sentences i had ear a lot in the past months:

“What’s the best way to prepare the further ahead for Windows 10?” – clients

or

“What’s the way to get start developing for Windows 10 with so few information for non NDA developer’s” – developer

or

“I would like to see my app present in Windows 10 at his launch? How can we do that?” – Marketing and It client

 

Windows 10 is coming to every device the ecosystem keeps going from a device centric orientation to a cross device orientation, considering that the best way to be future ready in the Windows platform would be to go to Universal  development.

 

So the best way to plan the future in Windows Store is to build Universal Windows Apps or to promote Windows 8 and 8.1 to Universal App this from a enterprise and brand prespective, but also from a developer perspective.

If you are a brand know that by embracing the challenge of having a Windows Universal app you are planing for all the Windows platform ecosystem, this means Windows tablet, computers, hybrids and also Phone. You are also respecting the already known guidelines for Windows 10.

Untitled

 

For the developer’s who hadn’t start yet developing Windows Universal Apps i would suggest you to take a look at the following material:

If you need any help or have some doubts feel free to contact me.

Prestashop Features

Posted: March 18, 2015 in PrestaShop
Tags: ,

I had been developing directly or inderectly e-commerce solutions for mote then 5 years. Long the way i had experiment a lot of e-commerce solutions like Prestashop, Mangento, NopCommerce and recently WooCommerce and Kentico Comerce.

The feeling i get every time someone ask me each solution to use or when i need to choose or to present to someone is a lack of a visualization of features. To help us in this visualization in PrestaShop case ( one of the more complete solutions i had try if you are looking for a 360 solution) Lisa Smith from Blueberry Labs had share with us a great infographic .
Prestashop - The Best eCommerce Experience

Thanks Lisa for the sharing i think this information will be helpful for a lot of us when explaining what PrestaShop can do for our clients.

At 20 February Josh Holmes had been at Microsoft Lisbon to talk about IOT. In a great event full of good presentations, we have the pleasure to see online the coverage of the event at Channel9

 

 

You can see the full event on http://channel9.msdn.com/Events/DXPortugal/Microsoft-IoT-Camp-Portugal-2015

At 7 of March it had occur the seven edition of the Edit Industry Sessions, the topic of the conference was UX and Responsive Design. As i had announced i was invited to be one of the speakers of an event were 140 person had come to discuss and study with us this topic.

session

 

In my talk i had presented my perspective of what we are doing wrong nowadays when we develop in responsive and also what we can learn from responsive to apply in all our frontend development. One off my main focus on this conference besides methodology and the right strategy for the right problem was to remember that Responsive had become a Web Standard once web is ubiquitous. You can get the slides of my talk from slideshare at http://www.slideshare.net/amarreiros/pragmatic-responsive-web-design-industry-session-7

session2

 

 

The other’s speakers had give us excelent talkes, was very interesting to listen the discussion of Mobile First approach from a criative prespective and also to see the new solution of Outsystem to the UI layer. The event had end with a real world example of the usage of the responsive design principles in the build of a Mobile application.

You can get the other speakers talk from the EDIT slideshare:

Was a great event and is very good to see that are so many people pursuing the Responsive Design and Development Wave.

ASP.NET 5 resources

Posted: March 5, 2015 in ASP.NET 5
Tags: , ,

As some of you know ASP.NET is one-off my favorite Web technologies. ASP.NET MVC is the favourite Web Stack technologies of todays Microsoft Web developer’s, but i still believe that ASP.NET MVC is more appropriated for some problems and ASP.NEt for other’s a topic i will discuss with you in a later post.

vnext

 

In this post i will let you with some good most read resources to help you prepare yourself for what’s coming in ASP.NET next version, a lot off interesting things i can guarantee to you.

Shaw Wildermuth as 2 fantastic articles to get your engines start rolling:

http://wildermuth.com/2015/2/25/A_Look_at_ASP_NET_5_Part_1_-_Getting_Started

http://wildermuth.com/2015/3/2/A_Look_at_ASP_NET_5_Part_2_-_Startup

ASp.NET MSDN official documentaton for ASP.NET 5

https://msdn.microsoft.com/en-us/magazine/dn879354.aspx

ASP.NET oficial website

http://www.asp.net/vnext

 

I will also start to share my tests and study results.

Cheers