Google I/O 2016

I attended several of the Google IO 2016 sessions and wanted to post my impressions about the new Firebase platform from Google.

FIREBASE

Firebase is the the cloud platform for mobile applications that Google purchase a couple of years ago. This platform is cross-platform and basically makes it very easy for anyone to create an App without having to worry about the backend and infrastructure implementation.

It also allows developers to grow their app and monetize it.

Note: Firebase is FREE!

I have been using Firebase for a few months and I have been very impressed.

I suggest everyone to do the Firebase codelabs from Google IO 2015 at: https://codelabs.developers.google.com/io2016?cat=Firebase

Start with the Firebase: Build a Real Time Web Chat App CodeLab. It shows you how to create a sample app called FriendlyChat where you can learn how to setup the Firebase service and how easy it is to implement Authentication and database access.

Following is a screenshot of the Firebase services available for your app.

Firebase Services

It is incredibly easy to setup the database, storage service and enable authentication providers (Google, Twitter, Facebook, etc). For example, to enable Google authentication, all you have to do is enable it in the Auth settings:

Google Auth enabled

and then add the JS code below:

// Signs-in Friendly Chat.

FriendlyChat.prototype.signIn = function() {

// Sign in Firebase using popup auth and Google as the identity provider.

var provider = new firebase.auth.GoogleAuthProvider();

this.auth.signInWithPopup(provider);

};

Also, you can setup analytics to track app usage and app features where you need to invest more time.

I think Firebase is going to be a great replacement for the Facebook Parse platform, now that Facebook is deprecating  Parse. Also, it is going to give Amazon and Microsoft Azure a run for their money; specially on the Mobile App space.

I love that with Firebase you really forget about your App middleware and other infrastructure services that used to make it very hard for small startups to get up the ground and succeed.

Given that Firebase is free, any developer or small startup can create an app and monetize it, because you can focus 100% of your efforts on the app and not worry about the pipelines and wiring of back-end services.

 

Advertisements

SharePoint 2013 DevCamp Redmond

devcamp

Yesterday I went to the SharePoint 2013 DevCamp in Redmond WA http://www.devcamps.ms/office

It was a great 2 day DevCamp focused on the development of SharePoint 2013 Apps for the Office store. The first day we did an overview of the SharePoint 2013 new App development model and reviewed the development tools.

The second day, we developed our own SharePoint 2013 app. In my case, I developed a SharePoint Hosted-App that got information from a Windows Azure Rest service using oData and oAuth. I was able to develop the solution in a few hours and deploy it to my Office 365 SharePoint “Napa” developer site.

You can get the DevCamp PowerPoint presentation and code at: http://bit.ly/Apps4Feb

Also, I recommend to get a free “Napa” Office 365 developer account at: http://msdn.microsoft.com/en-us/library/jj163980.aspx

SharePoint Saturday Redmond – 2012

Yesterday I had the opportunity of going to the SharePoint Saturday event in Redmond at the Microsoft campus. I had a great time meeting lots of people and learning about SharePoint 2013. Following are the most important things I learned and reference links:

  • SharePoint Saturday Redmond
  • You can get a developer license to develop Office and SharePoint 2013 apps right now of free
  • New product:  “Napa”. This is one of the most important developments from Microsoft in the SharePoint space, basically you do not need to have the Visual Studio client to develop SharePoint apps, you can develop on the cloud in IE 9. You can code and get intellisense and other IDE features right on your browser. The only thing that disappoint me is that you cannot use this great tool on a Mac or a Safari browser.
  • Basically a SharePoint App is a new way of doing SharePoint development where you DO NOT run server side code on the SharePoint Servers, rather you use REST, oData and oAuth to connect to SharePoint interfaces from any client app that can call a Rest service. This is really cool because you can now create SharePoint apps from iOS, php, java, etc. This is basically the way you develop apps for Facebook, LinkedIn, etc. Yesterday, I got my dev.office.com license and I am starting to create Apps for SharePoint
  • SharePoint Apps explained
  • SEARCH! Search is now the main platform for creating ECM sites. You can use search to target content for users, drive navigation menus and creating content. If a Public EMC SharePoint 2010 site, you only need 4 of 5 page layouts to render an entire corporate  public site. The way to do this is by creating custom search scopes to crawl any content internal or external to SharePoint and using the OOB web parts to display the information on SharePoint 2013, which also allows you to customize the web part via CSS or HTML to make it look the way you want. THIS IS A GAME CHANGER FOR MICROSOFT!

Missing topics that I need to research

  • Mobile development on SharePoint 2013
  • Creating a UI in SharePoint 2013 that is mobile enabled and targeted for iPhone and iPad devices.
  • Does SharePoint 2013 have a better OOB mobile site?
  • BCS in SharePoint 2013
  • BI and SharePoint Apps

Over all the conference was a success and I am looking forward to developing SharePoint Apps right now. Specially using Node.js, iOS and HTML5.

Windows Azure, Node.js, SharePoint 2013 and Jade (following the LinkedIn architecture pattern)

I am a big fan of Node.js (asynchronous I/O model) and it is great the Microsoft has a Windows Azure solution that hosts Node.js applications. After SharePoint 2013 was released, I had an idea that I think could be used on the new SharePoint App feature of SharePoint 2013, specially on the Cloud Hosted Apps. 

For example, the way LinkedIn implements is mobile UI is based on the Node.js internet server and a MongoDB data source that sends content and other artifacts to Node.JS. In turn node.js sends the structured data to express.js and Jade to render the UI for any device or native application. Following the same pattern I can see SharePoint being the MongoDB and sending list or Business Connectivity services to Node.js and therefore express.js to render a UI based on SharePoint 2013 data to any device. We could even use jQuery Mobile to enable a better UI for smartphones or iPads.

I am going to create a demo with this architecture to test its performance and feasibility in an enterprise. After all, the main goal is to empower business to achieve their goals faster and not only because the technology is cool.

For my demo, I am planning to use a developer license for Windows Azure and a SharePoint 2013 instance from CloudShare

I will be posting my findings in the near future. In the mean time, take a look at the article on MSDN Magazine from Joseph Fultz: “Mixing Node.js into your Windows Azure application”

How to make a mobile site for SharePoint 2010 data and content

A few weeks ago I learned about the way LinkedIn implements their mobile application and web site. Basically they use the same code base for both, meaning:

  • HTML 5
  • CSS 3
  • Node.js
  • Express.js
  • javascript
  • Socket.IO
  • MongoDB

Based on this technical design, I realized that SharePoint could use some of these technologies to create a mobile enabled site. The Out-of-the-box mobile version of a SharePoint site is ugly and it takes several third-paty tools (telerik, infragistics) to implement. By contrast, if we use Node.js to generate data and content services based on SharePoint lists. After that Express.js would use that information to create the javascript templates for the UI in HTML5 and CSS 3.

This implementation has the advantage of creating a one uniform UI for desktop web browsers and mobile devices. Also, with this technologies and HTML5, this application could be exported to PhoneGap to create native applications for iOS, Windows Phone and  Google Android.

Resources:

Do you want to Print complex InfoPath forms? Use Word instead!

If you are creating large complex forms in InfoPath that need to be either exported to PDF or that are expected to be printed to paper with the look and feel of a large “government” form, you probably do not want to use InfoPath for printing.

InfoPath Print View is good for small forms or for forms that do not require explicit table rendering with checkboxes inside table cells. The issue is that InfoPath was not really created for complex Printing, it is a tool to generate input forms very easily and deploy them to SharePoint for collaboration.

If you want to implement complex printing for SharePoint data, I would recommend using Word Automation services and a SharePoint designer workflows to automatically export the document from Word to PDF.

Word printing is much better that InfoPath and it has an export to PDF feature that is very useful if you need to export your documents to PDF and email them to your users or clients.