Shape – the App conference

On the 9th of April, yesterday, I attended Shape, the app conference, in Baden, Switzerland.

There, I presented a session regarding Multi Targeting development for Windows Store and Windows Phone apps.

I had a lot of fun while writing the demo App with the surprise that on the night of the previous day, 8th of April, I tested around 23:00 pm my demo and it stopped working. After a while, saw that my demo’s OData provider was off… definitely!

You can read about it here: http://odata.netflix.com/, but to keep it short “as of April 8th, 2013, this service is no longer available.” resumes it pretty well.

Anyway this was good because It took 5 to 10 minutes to plug-in another OData service, even it was never as cool as seeing the latest movies…

My slides and demo are on SkyDrive, available <<here>>

Thanks to Microsoft for the organization and the attendees for their interest!!

Slowing down at KulenDayz

A few weeks ago I had the fabulous chance to attend again at KulenDayz as a Speaker, with the topic of .NET 4.5 Asynchrony. It also happened to coincide with the MVP Summit for CEE (Central and Eastern Europe) so I ended up attending both events thanks to the organizers mainly Bernard Katic and Alessandro Teglia (if you want to know more, check http://www.kulendayz.com and http://belead.me/2012/08/06/regional-cee-italy-mvp-summit/ )

First things first, a big thank-you to the event organizer Bernard Katic and, regarding the MVP side, thanks Alessandro!!!

It was such a great event which is based on slowing down – ironically the contrary of what we do when we attend a conference, as we end up running from one session to another – it was fabulous to see good friends and such an outstanding and vibrant community, seeing good friends, like Tomislav Bronzin, Dobrisa Adamec, Damir Dobric, Bernard Katic, Maja Janic, Alessandro Teglia, Tibi, Catalin, Domagoj, the great Tobiasz!, and much more people that I was surprised to meet there, like Andras Velvart and his wife. Was great meeting all of you guys!!

Well, I also happened to give a session which went pretty well and received a lot of questions and good feedback & congratulations at the end , from some MVP’s and also from some students who were there so I am really happy, as a speaker and as a Toastmaster.

I’d like to give a special thanks to Sandra Saenz, my girlfriend who helped me review and improve the slides and presentation  and to Marion Chevalier, a good friend and excellent toastmaster & speaker who helped me polishing the presentation slides and the session outline. Thank you girls!!

Oh yes, also there were slides and code and here they are!!

Code: http://sdrv.ms/SwbaKY

Slides: http://sdrv.ms/Swbklu

I also promised to give the “recipe” of my cookbook which relates to Async and Await, and here it is too.

The Async/Await recipe: http://sdrv.ms/SwbyZW

You can get all of this directly from the SkyDrive Kulendayz folder here http://sdrv.ms/SwbFEL

Additionally In the next week I expect to put a post of more advanced examples regarding Async/Await and the usage of its combinators. I will put also an example of using asynchronous web services as it is curious to see this behaving the same exact way but with web services. To mention that this is now the preferred way of implementing asynchronous web services, with the TAP (Task Asynchronous Pattern).

Have fun!

.NET 4.5 is on my way

.NET 4.5 is on my way

 

And I mean it. Months ago I was proposed to do one of the things I have always wanted to do in my life: write a book.

And I said YES – to write a .NET 4.5 Book (in fact at the beginning it was a Silverlight book but with the latest Microsoft apathy for what has been named its best creation ever… finally we opted for a .NET 4.5 book).

It was a bit of foolishness because the how wide is the topic (and the effort), but also I decided to take action, step forward and take the chance to do something cool. I accepted :).

Anyway I have done a lot of .NET aspects and touched practically all the flavors of .NET in my professional life.

And I remembered that quote that I personally love of “Life is a daring adventure – or nothing”, from Helen Keller (http://en.wikiquote.org/wiki/Helen_Keller ). which my friend MA Garcias is making me remember from time to time.

What I didn’t know is that at the middle of writing it my life would change (see http://silverlightguy.com/2012/09/22/a-new-life/) and all my clients when notified of my change kindly asked me to finish all the projects before moving on to Switzerland…

Oh my…

I guess that May 2012 is the month I have worked more hours in all my life, closing three projects for three different clients, all scared of me not being able to finish everything in time and pulling me.

Felt god. Got tired. Finished everything. Felt better. Moved on.

 

Meanwhile, I did nothing regarding the book… and when I arrived to Switzerland I had a whole new world to “setup and configure”, get used to it, to the new work and well, for a month and a half could not do much…

But I moved on, adapted, got everything solved and my publisher, Packt publishing, was quite understanding of my situation and supported that “time off” as a necessity…

Thanks Rashmi and Packt Publishing for your understanding!!! That is really appreciated!! It has definitely been a bumpy road but a worthy one of traveling with such a great team as you… so Thanks!!

 

This weekend, if the stars do not fail me, I am finishing the book – at least the drafts will be, pending some revision work – and the main and most complicated part of this book will be over…

 

It’s been a long road, looking for inspiration, for the most important things to say, how to say them and make them as practical and knowledge–full as possible. I really believe the book is a high quality one and will truly deliver very valuable information in a very short time. And in a very practical way.

So, hopefully I will finish it this weekend… and see it soon on somebody else’s hands. That would make me very happy; see others benefiting from my creativity and work.

After this book is finished I will translate it to Spanish as I have written it from the start in English and for this I have had a good friend of mine, Jesus Salillas, who has an incredible level of oratory in English. He is an outstanding Speaker, a highly recognized member of the Toastmaster’s international community and an even better photographer. Thanks in advance for your great help and support on this project – I owe you a lunch at Switzerland… and maybe some Gin Tonics, of course!.  The other person who has – and is – helping here is my girlfriend Sandra Saenz, who is helping me with formatting support, design and image processing, thanks a lot for your great support and patience!!

Well, guess you already know why .NET 4.5 is on my way. Hopefully I will find more obstacles worth surpassing in a near future but for now I can tell you that .NET 4.5 is such an outstanding technology which if you are a developer, coder, software architect or just curious in .NET technology, you have to check!!! It’s evolution is simply amazing and the fact of having the “portable libraries” feature makes it worth every learning effort.

I want to give additional thanks also to Layla Driscoll and Leon Welicki for becoming technical reviewers of my book, this is truly an honor. And I have worked hard to be able to deserve it, hopefully the end results will stand up to having such great reviewers. I want to make you know that having you as reviewers has made me do double efforts to make the book as best as possible.
I also would like to give a big thank-you to my friends at Crossfit Zurich who have helped me much in burning my obviously increased levels of stress, and well, in the way, losing quite a few pounds of fat… Thanks Ozi, Roberta and Stephen

Thanks!!!

A new life

Yes, I have been pretty much silent for the latest months, so first things first, sorry for this!!

Second, I had a very important reason as I was offered quite a change in my life, I’ve recently joined the Accenture team in Switzerland to come to Zurich for working for Roche Diagnostics.

I just can say that I am extremely happy, the people here is simply amazing, amazing developers, project managers and also really interesting projects that, without being able to speak anything about them I can tell you clearly that is outstanding and is using the latest of the latest in technology, both in medical and development.

Also here the development quality is highly valued, so everything is done well, very well.

It’s highly satisfying being here, also there are challenges, a healthy culture of recognizing quality work and talent so I can truly say that I should have done this before. I am having great times and becoming an even better professional thanks to my colleagues in Roche.

Thank you guys, I am really enjoying being here with you.

Oh, and for those who might be interested, give me a touch. We are hiring… 😉

Geek-a-Palooza!! Geek Speaking!! Windows 8 Development!!

Well, starting strong, I am collaborating on the definition and also speaking of a really cool event called “Geek-a-Palooza”, picture below self descripting:

Imagen

There I will be speaking about Windows 8 Metro style development explaining the attending geeks on how to code the “One Tile” that gathers it all, Portable applications included as a surprise 😉

The session will happen at the beautiful country of Andorra, between Spain and France and is focused for IT & Developers.

For more information, there’s the website of the event, http://www.geek-a-paloozaaa.com/

The only point is that the sessions will be in spanish and catalan…  well you can’t have it all!!

Be Geek my friend!

Windows 8 Metro Application AppBar trick

I’ve been toying around with Metro Applications and have found that there isn’t much information, at least not for .NET XAML applications nor here http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh781232.aspx nor in the sample application which is located here http://code.msdn.microsoft.com/windowsapps/XAML-AppBar-control-sample-2aa1cbb4

There we have two methods, one we declare an application bar for a page – first thought here is that if it’s an application bar we should be able to declare it globally – and from then, override it on each page…

Well, we can’t do that so what this sample proposes is to do it on every page or to create a container Page control that its function is only to contain the “AppBar” and a Frame that is where we load the different “real” pages. Note that for overriding this we have to code and add buttons programatically to each of the AppBars. 

I hope you will comply that having this this way is a bit ugly, given the beauty of data templating and styling that we do have at this day and time. 

So I came out with a cleaner solution that still requires some coding but is nicer :). 

First we do add an AppBar to a page like:

<common:LayoutAwarePage.TopAppBar>

   <AppBar HorizontalContentAlignment=”Stretch” Height=”88″ VerticalContentAlignment=”Stretch”>

         <Grid>

               <Grid.ColumnDefinitions>

                     <ColumnDefinition/>

                     <ColumnDefinition/>

               </Grid.ColumnDefinitions>

               <StackPanel Grid.Column=”1″ Orientation=”Horizontal”/>

               <StackPanel Orientation=”Horizontal” >

               <Button Click=”GoHome” HorizontalAlignment=”Left” IsEnabled=”{Binding Frame.CanGoBack, ElementName=pageRoot}” Style=”{StaticResource HomeAppBarButtonStyle}”/>

               </StackPanel>

         </Grid>

   </AppBar>

</common:LayoutAwarePage.TopAppBar>

Then, we add a Resource Dictionary and, from the AppBar we select “Edit Additional Templates –> Edit Generated Content –> Create Empty..” for creating a global ContentTemplate for our “global” AppBar.

Imagen

Then we create it on our just created ResourceDictionary..

Imagen

After this we will only need to copy the resulting AppBar code on all of our pages:

<common:LayoutAwarePage.TopAppBar>

    <AppBar ContentTemplate=”{StaticResource DataTemplate_AppBarGlobal}” />

</common:LayoutAwarePage.TopAppBar>

And, if we want to change the default/global AppBar, we do only need to edit one file.  And this without architecting our application nor complicating it more than necessary.

Hope this helps.

Design contest for winning a Lumia 800!

Yes, I know… I am a developer participating in a design contest… So what? 😉

Since the beginning of my career I have thought of design as a very important skill to have, at least a bit, regarding fundamentals of design, color theory, and most important, user interface design, that fits well with “pure design” and usability & all the related knowledge… with this “base” skillset you can be creative and evolve a creativity process for whatever you want to.

Also I have always loved to create things and this is not limited to software architecture and I love to design & conceive things, it’s a pretty satisfying process.

It happens that Nokia Spain is organizing a contest for creating a design inspired by the colors of the new Nokia Lumia 800 mobile smartphone which is not limited in any aspect. You can read (in Spanish) about this contest here: http://eldadodelarte.blogspot.com/2012/01/demuestra-tu-creatividad-en.html?spref=tw and here: http://www.facebook.com/note.php?note_id=349720035043739#16064

So… we can do whatever we want! Yay!

Guess what!? I decided to participate and I started some days ago to let my mind wander around for a cool idea!!

To say that I am a proud Windows Phone Geek and I can tell I was there when Windows Phone was presented 1st time at the World Mobile Congress and also I was also at the presentation of Mango… so I have the Tiles & METRO design language very close to my heart… and with this idea I started thinking of a design that I could wear close to my heart and that revived the Nokia Lumia 800 colors – everything all together!!!

After giving a lot of thought and lots of designs in paper I come to a “Tile scenario” over black that went well with the Nokia Lumia 800 design & showcased its colors properly, and went alltogether with the METRO feeling. It has been designed to wear it close to the heart – you will see why in short 😉 – and clearly showcase the love I have for this outstanding device the Nokia Lumia 800 is and its operating system, Windows Phone.
After a lot of designs, tests, playing with tiles, symbols, I came to this:

ImagenTo mention that I tried to create the tiles using a plastic material on my own buying vinyl plastic tiles of 5cm x 5cm but I failed terribly, tried other materials and well, they did not look good as they reflected too much light (or none at all) so I decided, after trying paperboard & vinyl, to go and order 5×5 tiles at Zazzle.es.
They arrived me the last day of the contest and the quality was good, without flash I have been able to have a clear picture of the creation, which was attached to the sweatshirt through pins – in fact each Tile is a pin.
There is a lot of message in the tiles which are designed to be placed over the heart, meaning clearly “I love Nokia & Windows Phone”.

Imagen

Additionally I envisioned another design were this design would be well placed and also close to our heart, warm and close to our right hand (or the hand that we most use) and did this other variation of the tiles design:

Imagen

Obviously, these logos are trademarked and exclusively created for the purpose of this design contest so please do not use them outside of the contest. For this I have created alternative versions without the logos & trade marks that make them unusable outside the scope of the contest.

Imagen   Imagen

Hope you like them!!

PivotViewer…

Hi,

Great news ahead, we (Silverlight MVP’s & insiders program members) just have been allowed to talk about one of the most exciting capabilities of Silverlight 5: PivotViewer… if you don’t know what it is, basically I’d define it as:

An awesome way to efficiently present information & enable incredible interaction with this information, allowing an incredible understanding of the information due to its graphical representation. Also its nature allows to present “gazillions” of data in a very performant way

Oh, did I mention that it is also very fun to reorganize & play with the information? it’s just basically amazing…. keep tuned to this blog for more good later on this weekend but by now I leave you these links:

http://www.microsoft.com/silverlight/pivotviewer/

http://www.silverlight.net/learn/pivotviewer/

http://netflixpivot.cloudapp.net/

http://www.hitched.co.uk/wedding-venues/visual-search.htm

Amazing, right?

A new baby is born – long live Silverlight 5!!

Wow!! As it becomes usual, the beta of Silverlight 5 has been released for MIX and it comes pretty loaded with awesome features.
First we have 3D using the XNA 3D Graphics APi which is awesome, just go check the demos and don’t forget to check what Einar Ingebrigtsen  has done with his library Balder at http://www.ingebrigtsen.info/post/2011/04/13/Silverlight-5-and-Balder.aspx and also, using his library and some of his own projects, checking René Schulte is too a must here: http://kodierer.blogspot.com/2011/04/silverlight-5-3d-slartoolkit-augmented.html and there: http://kodierer.blogspot.com/2011/04/xna-for-web-silverlight-5.html . Also do check Andy Beaulieu for some physics applied to the 3D here: http://www.andybeaulieu.com/Home/tabid/67/EntryID/216/Default.aspx.

Also, on the not so 3D side, we have interesting advancements on the 2D with the new DrawingSurface. There we don’t have XNA’s SpriteBatch but Bill Reiss is actively working on that, as you can read here: http://blogs.silverarcade.com/silverlight-games-101/13/silverlight-silverlight-5-takes-2d-silverlight-game-development-to-the-next-level/
Apart from that we have some already mentioned capabilities – if you remember past 2th of December, the Silverlight Firestarter? – And some other brand new.
We have improved tooling which is called XAML debugging but I’d like to remember as XAML databinding debugging, on the Media aspect we have low latency sound where we can use XNA class “SoundEffect” directly and also “TrickPlay” that enables to change the playback speed with audio pitch correction so we are not hearing the “smurfs” when going quick..
Layout of text has been improved, DataBinding has been feeded with Steroids and, apart from the debugging capability, we have implicit DataTemplates for a concrete type over all our application, custom MarkupExtensions and more… Additionally, we have multi window support, more trust for our applications so they now can access whatever we allow them to (with appropriate permission of course).
Apart from this, you can expect an incredible increase in performance on startup & render, we can now do vector printing, 64bit plugin support, COM interop for in-browser applications, P/Invoke and, oh, an improved pivot viewer control already included on the Silverlight 5 SDK.
You can read more at Tim Heuer’s fabulous post here http://timheuer.com/blog/archive/2011/04/13/whats-new-in-silverlight-5-a-guide.aspx or go straight and download the bits http://www.silverlight.net/getstarted/silverlight-5-beta/ where you have also at your fingertips and for free awesome training video material from Pete Brown.

Well, have fun!

Silverlight MVP

Wow, got it! for me this 3 previous MVP years have been great but now starting this 2011 it is even better.

I just became a Silverlight MVP so… I feel great!

This video relates how I do feel… very clearly 😉

Thanks Microsoft for these MVP years. A billion more thanks for this Silverlight MVP.

And yes, like in the video, I setup my company after this. Well I was already on that so it just was “the right moment”.

If you are interested, go and say “hi” to Brainsiders, http://www.brainsiders.com, it’s focused on User Interfaces, User eXperience, usability, design, training, mentoring and architecting & developing / co-developing rich applications for Web, Desktop and Mobile & other devices.
We are also doing pretty interesting business applications for a big spanish company and also some interesting web application that will leverage Silverlight capabilities and provide incredible usability to a key provider in the industry over its competitors (not yet finished but it will be in one month and a half or less).

What better thanks than to dedicate your business life to the technology you love? 🙂

Silverlight power!!