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”

Learning from a Certified SharePoint Master

Last week I attended the SharePoint Intelligence Conference in Redmond and I listened to a keynote from one of the few Microsoft Certified Masters in the US, Miguel Woods. 

The keynote from Miguel was excellent because he covered the aspects of a SharePoint developer career that need more attention and the future of IT.

Basically his main advice for SharePoint developers was:

1. Learn more about the business side.

2. Become proficient in PowerShell.

The idea is that if we want to advance in our careers as SharePoint developers we need to learn more about how the business teams work so we can serve them better. There are many developers that lack the ability to think like a business user which limits their ability to develop solutions that maximize productivity for that business user.

The second point is related to PoweShell; which was thought only as a tool for Exchange Administrators but now it is tool that all SP developers need to learn. For example, Powershell can be used on your developer machine to automate site creation, WSP deployments and activation, etc. Also, it is a great tool for finding application errors.

After that talk I asked a few people which Powershell book they recommend and they all suggested  “Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0″

Great presentation, Thanks Miguel!

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: