“My” Contribution To Ubiquitous Computing

In my last post, Ubiquitous Computing–Breaking Down the Silos, I talk about how ubiquitous computing is starting to make its way into the world around us.  You may know ubiquitous computing as pervasive computing, ambient intelligence, Internet of Things, haptic computing, or everyware.  No matter what you call it, it is spreading like wild fire and as developers we need to be aware of what that means for the code we write.  This wave of computing not only concerns application developers, it concerns backend developers as well.  In fact the backend developer has a bigger role than the front end guys.  They provide the backend that supports the whole notion of ubiquitous computing.

Why is ubiquitous computing taking off?  The technologies required to support it are developing rapidly.  Think about, in the past few years, how rapidly have the following technologies evolved: the Internet, advanced middleware, operating system, mobile code, sensors, microprocessors, new I/O and user interfaces, networks, mobile protocols, location and positioning? Combing these technologies is what makes ubiquitous computing possible.

The Royal “My”

InnovationI ended the last post with some general advice on how you can get involved in ubiquitous computing.  I titled this post “My Contribution”, in this case the “My” is the royal “My”.  I will not highlight any specific contribution that I have made but will go into a little more detail on how we as developers can code with ubiquitous computing in mind.  It did not make sense for me to title the article “We Contribution” so I went with “My”.

Ubiquitous Guidance

So where to begin?  The first thing to consider is, should my application/device/widget contribute to the ubiquitous utopia.  No all application need to anywhere and everywhere. On the flip side you should evaluate the ubiquitous potential of your projects.  One of the guiding principals should be will my, creation enhance the greater utopia.  Don’t force your applications to fit, just to check the box.  The world does not need to be able to access your fart app anywhere and everywhere (but I may be wrong).

Next you need to determine the infrastructure that will support you.  Most ubiquitous computing scenarios require a backend infrastructure to provide the appearance of the experience being everywhere and anywhere.  This is where you have to be careful to ensure that you don’t silo your users into one platform or another.  This is hard to accomplish because it is easy to adopt a platform and code to that platform. When choosing a backend infrastructure ensure that it can be access by as many different device/OSs as possible.  This will maximize the ecosystem you will be able to target. 

Don’t just concentrate on cloud infrastructure.  Look at other methods, perhaps a little closer to your devices, to provide your infrastructure.  Local Wi-Fi networks or Bluetooth protocols may be all you need to satisfy your situation. For example, take a look at cameras that can transmit pictures to a local computer as they are being taken.  The computer can then display them on a large screen, archive them to a cloud storage solution or send them to the local CVS for printing.

Embrace sensors.  More and more devices are being built with embedded sensors that can provide data to your application that can enhance the user experience.  There are gyroscopes, compasses and such.  There are external sensors that can provide data to your device such as weather data or location data.

Here is an example from the home of the future.  Say you have a device placed in your living room and that device reacts to a Bluetooth signal from your phone. You walk into the room and the device sends a signal to your Phillips Hue Lights to turn on because it’s ambient light sensor had detected that it is dark out. The device kicks on your gas fireplace because it has determined the rooms temperature is not ideal by gathering data from your Nest Thermostat. Because it is a weekday morning it tunes your TV to the local news.  Some may think that this too weird but it provides an example of how ubiquitous computing  can work in the not so distant future.

Thinking Outside Your Application

One of the challenges you will face as you embark your journey to ubiquitous utopia is thinking outside your application.  The examples I provide should show you that single applications may play a smaller role in the greater ubiquitous ecosystem. Don’t just focus on the application. On the flipside don’t focus on devices either.  Each has to work in symbiosis in order for this to work. For some developers this may prove the hardest part.

You may not start out by building a huge computing experience. You may start by building a single applications that persist is content and settings across devices.  This is fine too but always keep the bigger picture in mind.  Can my application play a larger roll in the greater ecosystem. 

Take an application like PowerPoint. It is a pretty powerful application for presenting information.  Microsoft started out by creating a standalone application overtime they have added support of auto saving to SkyDrive OneDrive, where the user can then access their presentations from other computers (without having to sneakernet it to the other device), from a web client, from their Windows Phone and soon from their iOS and Android devices. You can even control presentations from your phone through Office Remote.

This example shows how a “simple” standalone application that has evolved to a point where it can participate in the greater utopia. It is also a good example that shows you don’t have to tackle the whole thing at once.  The key take away is don’t code yourself into a corner. Provide a means to evolve you application to adapt to the users needs and technologies advance.  You should follow this even if you are not try to jump into ubiquitous computing.

Moving Beyond Computing in Isolation

In this posts I have given some general guidelines for building systems that can help advance the ubiquitous utopia we seem to be heading for.  I have not address security, privacy and technical challenges that still stand in our way.  I will hopefully address those in future posts.  For now keep an eye out for situation that maybe addressed by building a system that can adapt to the user’s needs while appearing to be everywhere and anywhere at the same time.

Posted in Computer Science, Contextual Computing, IoT, Mobile, Modern Application, Software Architecture, Ubiquitous Computing, User Experience, UX | 2 Comments

Ubiquitous Computing–Breaking Down the Silos

ButtonsDuring Build 2013, I attended a session on Ubiquitous Computing given by Bill Buxton.  This was one of the better sessions given at Build, which is saying something since there was not a single line of code shown.  I have gone back and watched that session a few times.  Recently I have been thinking about this session and how there are silos that are preventing a truly ubiquitous computing experience. 

What is Ubiquitous Computing

Ubiquitous Computing is an advanced computing concept where computing is made to appear everywhere and anywhere. – Wikipedia

Mr. Buxton gives the example of the cell phone.  When you are sitting a car, what is the phone?  The car is (if you car is so equipped).  If you are having a conversation while you are driving, the conversation can be heard through the car speakers and the voice is captured through a microphone in the car.  The phone is still handling the call but the driver is not directly interacting with it. Then the driver turns off the car and can continue the conversation, without interruption, on the phone.  Here the computing device adapts to the situation and is made to appear as if it is everywhere.

Mr. Buxton also points out that the computing device does not have to be invisible for it to be ubiquitous.  I believe his point is that the device should adapt to the situation without causing major disruption.  Does it really make sense to have a touch enabled interface in a car?

You see operating system vendors trying to do that today within their ecosystems.  For example Microsoft is in the process of uniting all their operating systems into a single code base.  This has development implications but let’s look at it from an users point of view.  They are unifying the user experience across all devices from mobile, to desktops, even to their Xbox platform.  They also provide an infrastructure to deliver the user’s content to any device.  If you want to listen to you music on phone and then listen to the same song on their Xbox, they can.  Pretty soon it won’t matter what Windows device a user logs into, they will have access to their content anywhere. Again the device hasn’t disappeared, it has adapted to the situation.

The Silos

Apple has a similar ecosystem with their iCloud and Google with their Android platform.  Here is where the silos get erected. Each vendor keeps their ecosystems locked and most third party vendors don’t help.  For example if I have my music in iTunes it hard to get it out to another device. They want to lock you into their ecosystems. 

Third party application developers don’t help either. They build their apps for each of the different platforms and deploy them to the various app stores.  A user with an iPhone and a Nexus 7 would have to buy the same app twice. It also makes switching between phones a costly venture.

So users are married to their platforms until death do them part.  How much innovation do you think there is going to be in the next version of the iPhone.  Sure they will make lighter, faster, and prettier but are those truly innovations. I think that they are expectation, but is it enough to keep you locked in their ecosystem. Now compare that to the Android ecosystems, fragmented, yes but they are at least innovating. A variety of Android form factors are available to better adapt to a users needs.

The point is not to bash one ecosystem vs. another.  It is to point out that these silos exist and that they may be stifling innovation. You can’t blame the different vendors.  They are in it to make money and Apple doesn’t make money from a user on a Windows device. But Microsoft does make money off of Android users, that’s a different story.

Ubiquitous Computing Utopia

Is it possible for an ubiquitous computing utopia to exist?  What does it mean to have a utopia? Do we have to put a computer in everything and then interconnect these devices? What are the security concerns? Privacy concerns? For the foreseeable future we may have to settle for pockets of utopia, especially while the silos exist.  The silos need to be removed before we can truly see utopia. 

There are vendors out there that are trying to do just that.  Sonos is a good example of of one of these vendors.  They have a line of wireless hifi speakers that connect to a used home network and can seamlessly stream music from various sources.  To the users the computing device is “everywhere” in their homes.  Other devices and applications are starting to appear in market, further moves us to a ubiquitous computing utopia.

The Nest Thermostat is another example where silos are minimized.  These are programmable thermostats that learn a user’s preferences.  There is some initial configuration required but once they are set up they blend into the environment.  They have sensors to determine when you are home so that they can set the temperature to an appropriate level, saving the user money. These device can talk to each other and can be controlled from the web.  Thus adapting to the user’s needs and giving the appearance of being “everywhere”.

Where Do We Go From Here

These examples are are making just a small dent in the wider ecosystem.  I don’t think that there will ever be a true ubiquitous computing utopia.  Users can kind of create one by picking a silo ecosystem and go from there. They can then choose devices and application that further advances them to utopia. 

Developers can help lead user further down the path to utopia by ensuring that applications they make or devices they build don’t silo users.  You can still monetize your application by monetizing the content these applications deliver and making that content available on any platform.  Microsoft recently adopted this model for their Xbox Music platform. Originally Xbox Music content was only available on their devices. Now you can access this content on competing platforms.

In the end, integration and standardization, are needed to truly make computing appear everywhere and anywhere.  Device makers need to provide the platform and Application Developers need to make the software that adapts to the device/situation.   And all this needs to be seamless and require as little user intervention as possible. 

Note:

I know that it has been a while since I did  a post. I got really busy towards the end of last year.  I hope to get back into posting more regularly.  Thanks for reading. I want this to be a conversation so please leave you comments.

Posted in Computer Science, Contextual Computing, IoT, Mobile, Modern Application, Software Architecture, User Experience, UX | 3 Comments

2013 in review

The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 18,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 7 sold-out performances for that many people to see it.

Click here to see the complete report.

Posted in Uncategorized | Leave a comment

What Happened to My LayoutAwarePage?

Recently at the //Build/ Conference Microsoft showed off the development environment for Windows 8.1.  In less than an year Microsoft has rev’ed Visual Studio.  For Windows 8, Microsoft tried to provide project templates that got you heading in the right direction.  If you did File-> New Project and you chose the Grid App template you got a solution explorer that looks like this:

Solution Explorer VS 2012

One of the first thing people noticed was that all the xaml pages inherited LayoutAwarePage.cs.  In Windows 8 an application could be in a coupled of different states, Filled, Full, Snapped (320px).  The LayoutAwarePage took care of setting the ViewStateManager to the appropriate state.  It also took care of maintaining state in the case of app suspension. At first this class confused some people, myself included.  So I did a post about it, What is This ‘LayoutAwarePage’ You Speak Of

Fast forward to today.  Fire up Visual Studio 2013 and choose the same template.  Your solution explorer now looks like this:

Solution Explorer VS 2013

No more LayoutAwarePage, no more StandardSyles.xaml and a few other changes.  Where did that LayoutAwarePage  go?  Well in Windows 8.1 there is no hard and fast starts that the application has to fit in.  The developer sets a minimum size and the user can choose any size above that minimum size. This was one of the improvements that was made in 8.1. With that the user can have more than two apps going at the same time.

Multi-Snap Screen Shot

Now that you can have variable sized windows, the killed the ApplicationViewState enumeration.  Developers will now have to determine at which size, the view state of their application should change.  If you used the ApplicationViewState enumeration, you will have some refactoring to do. With this change they did away with the LayoutAwarePage.  So the LayoutAwarePage was also responsible for state management during the application life cycle events.  What happen to that?

There is a new NavigationHelper class to handle that.  In the Solution Explorer you will now see NavigationHelper.cs in the common folder. If you read the comments at the top of the class, you get some instructions on how to use it.

NavigationManager aids in the navigation between pages.  It provides commands used to navigate back and forward as well as registers for standard mouse and keyboard shortcuts used to back and forward.  In addition it integrates SuspensionManager to handle process lifetime management and state management when navigating between pages.

I have not had a chance to take a real good look at what this class is doing, so I don’t know if I will use it as is, modify it, or create a different paradigm.

Another file that is missing is the StandardStyles.xaml.  These styles still exist. They are just baked into the generic.xaml for the controls. You can access those through  the new xaml intellisense feature and you can override those styles to apply your own.

One more change that I want to point out can be found in the Add New Project Dialog.

New Project Dialog

Notice the two new templates.  There is a new Hub App template and the new Coded UI test Project. The Hub App template is similar to the Grid App but it makes it easier to create groups of items, think the Windows 8 new application.  The other template lets you create Coded UI tests.  Microsoft has made some improvements in xaml to allow for UI testing.  These changes have helped made Automated UI testing possible.  I haven’t had a chance to look at all the changes made but when I do I will report on what I find.

These templates provide a great starting point for your projects.  It is hard not to believe that future changes will not break what they have done.  My advice is to use the new files as a template to creating your own implementation.  This is what I did with the LayoutAwarePage and I am glad that I did.  This should help make refactoring easier in the future.  I am  excited to take the new features for a spin.  Stay tuned!

Posted in Build 2013, Metro, Modern Application, MVVM, Software Architecture, Windows 8.1 | Tagged , , | 2 Comments

//Build/ is Over…Now What

logo-build-bigMicrosoft Build 2013 is over, I am back from San Francisco and I am starting to get back into the swing of things.  I have had time to contemplate my experience and I have had time to catch up on some of the sessions that I did not get to attend.  I have also completed the end of conference survey. If I had to summarize my opinion in one word I would have to say underwhelmed.

There were too many 200 level sessions that retreaded the same old demos that they have been showing for the last year.  In the sessions I attended there was not enough technical content.  Microsoft has been on a rapid release and as such they have been showing off what they when they have it.   This is great but this does not leave much to show at their conference unless they get more technical.

Everyone was eagerly awaiting the Windows 8.1 bits and Microsoft delivered.  There were plenty of sessions covering the new functionality though they did not go too deep on any one topic. There is enough new functionality that some thought is required to comprehend it all.  Microsoft took the feedback from user and incorporate that feedback into Windows 8.1. These changes mean that some refactoring will have to happen.  Some new controls will make development easier.

The other major area that Microsoft emphasized was Azure.  They have been releasing updates to Azure at a more rapid pace than they have their other technologies.  The goal is to make Azure enterprise ready.  Just about every Azure service they had in preview went GA and introduced new services as previews with the promise to bring more service at the same pace.

The other emphasis was on Azure for mobile devices and not just Microsoft devices but others as well.  It was nice to see demo’s using iOS and Android devices.  There was even a demo of Xamerin and PhoneGap. They are starting to realize that there are opportunities on those other platforms.

There were two main areas where Build missed.  First there was no appearance of the next version of Windows Phone.  All the phone sessions were either retreads from TechEd or basic concepts from other online sessions. My guess is that they are not as far along as they would like to be.

The other area they missed the opportunity was Xbox.  The Xbox One shares is OS core with the rest of Windows, so there was hope that a developer story would fleshed out. We only got a glimpse of a HTML/JavaScript app being remote debugged on what we were told was an Xbox one (could have been smoke and mirrors).  We were told that if we want to get a jump start for developing Xbox applications was to develop Windows 8 applications.

To a lesser extent there was no love for the indie game developer.  Since the announcement of the next generation gaming console, indie developers have been worried.  XNA seems to be on its way out and Microsoft hasn’t filled the gap in what’s next.  I am not a game developer so it did not  bother me but others around me were not happy.  This was the perfect opportunity to fill the gap.

Other no shows included the next version of Office.  There were some sessions on building Office applications but these centered on functionality  available today in both Office and Azure.  PDC used to layout the product roadmap but those days seem to be gone. There was a cameo of an RT version of PowerPoint but not enough to really garner any coming functionality.

One of the other reason to go to to conferences is the networking.  There were plenty of opportunities for that.  I was able to make some new friends and got to get some perspectives of other Windows 8 developers.  I also got to talk to some of the product teams to find out some of the choices they made in developing WinRT. They were always WP_20130625_013happy to hear some feedback from a developer’s point of view.

I did see one of my favorite presenters in person.  I have always enjoyed listening Bill Buxton talk about user experience.  He did a session on Designing for Ubiquitous Computing. There was no code and no talk of specific technologies, only ideas on what technology can deliver. I really did enjoy seeing him present and I plan on watching this session again.

Overall I am happy with the direction Microsoft is going. It is nice to see them rapidly respond to user feedback.  There are some functionality that they need to address to further make users happy.  I hope that future conference will contain sessions with more technical content and leave the marketing for press events. In the next few post I will cover some of the new features Windows 8.1.   

Posted in Build 2013, Windows 8.1 | Tagged , , | Leave a comment

Build 2013 – Day 2

As I sit here, at the airport waiting for my 2 hour delayed flight home, I finally have time to gather my thoughts on the day 2 keynote. I will withhold my overall judgment for the rest of the conference until another post. The first half of the keynote was all about Azure and web. There were plenty of demo’s and a lot of content. You can watch the keynote on Channel 9.

Azure

Where Windows has recently started ramping up rapid release cycles, Azure has been doing it for a while. They have released 100+ major service in the last few years. Not only have they released these services they have moved more of their applications to Azure. Xbox live, Office 365, and Team Foundation Server are all dog fooding Azure. Microsoft thinks that there are three areas that need to be address when talking about the cloud for modern business. The cloud needs to be:

  • Web centric
  • Mobile Centric
  • Cloud Scale & Enterprise Grade

They then spent the rest of the time showing how Azure is currently addressing some of these needs and previewed some services that will address more of them.

Web Centric

They announced the general availability of Azure Websites. Azure Websites is an Azure service that provides free websites to users. This allows originations to publish sites without having to worry about maintaining infrastructure. They can then scale up to one of the paid tiers, relatively easily, as traffic to their site increases. Previously this service was in preview. There are 130,000+ active Azure Websites. They did not define active but that is an impressive number.

Scott Hanselman then got up to discuss what’s new in .Net 4.5.1 (another announcement) in the ASP.Net space. There is now one ASP.Net to rule them. It does not matter if you want to do ASP Web Forms (yes you still can), ASP MVC, ASP Web API or any combination thereof. There is only one project template for web. Once you select it, you then choose which components you want. In continuing their push into the open source space then next version of Visual Studio will include Twitter Bootstrap. They also announced that Entity Framework is now async capable. This means you can now create asynchronous application from top to bottom.

With Visual studio 2013, you now have Azure integration that manages the deployment of your site. I haven’t done web development in a while but some of these new features may get me to take another look. If you have never seen Scott present a talk then you don’t know what you are missing.

Mobile Centric

About six months ago, Microsoft announced a new Azure service that made building out backend systems for mobile devices easy. As with Azure Websites, you get 10 Azure Mobile Services for “free”. These services are not limited to Windows devices, any device that can connect to a REST based service can take advantage of Azure Mobile Services. There is a rich set of features in this service:

  • Basic CRUD database operations.
  • Authentication using a Microsoft Account, Facebook Account, or Twitter Account
  • Push Notifications to Windows devices, Android devices, and iOS devices
  • Custom APIs
  • Scheduler for scheduling tasks
  • Many more

After six months they have announced the General Availability of Azure Mobile Services. If you are interested I building mobile application, I suggest you check this out.

Cloud Scale & Enterprise Grade

Scott Gu came up to talk about Azure Preview that will make Azure scale easily and become more enterprise ready. First a new Auto Scale feature is coming that will allow you to set some thresholds that will trigger you service to either scale up or down without intervention. Some new identity service are coming to allow your Azure Active Directory to be used for single sign-on to third party service like ADP. This should help streamline user management. If you terminate an employee and deactivate their account, you can be assured that their access to those third party sites is deactivated as well. Finally, Microsoft is providing BizTalk as services to allow enterprises to easily enable B2B scenarios. From everything I have heard, easy is not a word used to describe BizTalk so we will have to see how well this preview goes.

This concluded the Azure portion of the keynote. It seems that anything that was in preview before //Build/ went GA and new services were brought into preview. They have committed to continue their rapid release cycle. If you believe that there is a piece of functionality missing, keep an eye out and you may see that feature previewed. Also, if you have evaluated Azure in the past and found it wanting, I would take another look.

Developer Opportunities

When everyone thought the keynote was over Steve “Guggs” Guggenheimer, came out to talk about some general stuff that did not fit into any other part of the keynote. He highlighted so developer opportunities on Microsoft platforms. The first thing he pointed out was that most devices in the Microsoft ecosystem contains software built using a common core. Even though you are not currently able to build once and run on all these device, the reuse story has gotten better and will continue to improve.

It was highly anticipated that Microsoft would make some Xbox announcements at Build. Game dev? App dev? Everyone was disappointed. Xbox did make an appearance in the second keynote. They remote debugged an “Xbox.js” on an Xbox One. They weren’t ready to make any announcements but Guggs did say that if you want to get a jump on developing Xbox apps, you should build Windows 8.1 applications. There is no promise that they will run on an Xbox but with a common core it is not hard to believe that the dev story will be similar. Still no indie game dev story for the new Xbox. This did not make some people happy. If Microsoft wants Xbox One to be a success they better start being a little more open about what’s to come.

Thoughts

Overall I thought the second keynote was better than the first. There was more tech content and less marketing speak. This is a necessity for a developer conference. There were some things missing from both, indie game story, Windows Phone Blue, Office vNext, to name a few. In my next post I will give you my overall opinion of the conference. Until then I encourage you to go out watch the keynotes and all sessions that interest you.

Posted in Uncategorized | Leave a comment

Here at Build 2013 – Day One

Today is day one of Build 2013. There is big news being announced here. The excitement is palpable. Developers around the world are gathering in San Francisco to hear about Microsoft plans for the next year. The big interest is in Windows 8.1, with the anticipation of the first public preview.

Here are highlights from the Day one Keynote:

Steve Ballmer is in the house with “Lots to show”.

  • Rapid release: Microsoft is adopting a raid release cycle across their whole line of products. So you can probably expect another release next year.
  • Win 8.1 and VS2013 preview are available now for download.
  • Windows device transformation, people say that the PC is dead. Microsoft says that it has been transformed.
    • 8″ Windows tablets are coming but no appearance of an 8″ Surface, but there is always tomorrow.
    • Touch Touch Touch. When Win was released there were not that many good touch enabled devices, which is changing. These devices are inexpensive, in the $400 range for a laptop.
    • Workhorse 2 in 1: Lenovo Helix was highlighted. It is all about tablets that can convert in laptops. There were some cool concepts whit extra batteries to extend the life of the device.
  • Apps Rising: ~100,000 store apps by the end of the month but how many are useful.
  • 2-3 million desktop applications that run Windows, so the desktop is alive and well.
  • Redefine Blend Desktop/Modern Experience. After Windows 8 was released the masses revolted. The change was too radical. Microsoft listened and incorporated the changes in to the next version of Windows
    • Start button is coming back but not the classic start menu.
    • You’ll be able to boot to the desktop
    • The start screen has been modified to better take advantage of mice and keyboard one of things I noticed was that they were calling the App screen the All Program screen they took the old terminology to describe the Apps screen. They have modified it to make it more usable.
    • Multiple store applications running at once which can span monitors.
  • Bing is built inside Win 8.1. The search charm launches a new rich experience that you’ll be able to take advantage of within your applications.
    • Search is “Not just list of links its thing you can do”

Julie Larson-Green talked about Windows 8.1 Responsive Redesign

  • She showed off some pretty cool gestures for the onscreen keyboard.
  • The Email has been redesigned (this is not Outlook RT)
    • The main new feature is the Power Pane. It has some cool feature like social update aggregations and favorite people aggregation.
  • She also showed off the Xbox music redesign. The coolest new feature was the ability to “Share” (think charms) a web page that contained a list of musicians for a music festival. Xbox music scraped the screen and created a playlist for the artist on the page
  • She highlighted how Win 8.1 sings with SkyDrive so no matter what device you are using, your content will and settings will follow you.
  • There is now the ability to use hand gesture to control apps she called it “hands free mode”. The question is will this be available in an API?
  • Xbox One did makes an appearance demonstrating “play to” functionality. No mention of what devs will be able to do.
  • Multi-tasking and Windowing
    • In Windows 8.1 user will be able to snap apps side by side, any size they want. But also more than two apps at once across multiple monitor.
  • PowerPoint RT Alpha also made an appearance but no word on when it will be available.

Antoine Leblond show off Developer stuff, since this is a developer conference.

  • Performance enhancements for Windows 8.1 out of the box. By upgrading to 8.1, users will get better experience with your apps.
  • Visual Studio 2013 is now available for developing new 8.1 applications.
    • One of the coolest new features is a powerful performance tools built in. He showed an energy profiler that shows you how much energy your apps consume. It even breaks it down by screen, networking and CPU consumption allowing you to troubleshoot your mobile applications.
    • There is also new async debugging capabilities that retain your call stack upon completion of the async call.
  • Store Redesigned
    • Your apps will now update automatically, no more badge icon on store tile. The guilt of not updated your apps is over.
    • There is a better layout coming making it easier to find apps with “Pick for you” apps that powered by Bing. Bing it is not just for Siri anymore. With the layout changes come better navigation al to make finding your apps better.

Gurdeep Singh Pall came up next to introduce Bing as a platform. You will now be able to integrate a plethora of Bing services into your applications. Here are some of the services you’ll have access to:

  • Web index
  • Entities & knowledge
  • NUI
  • Real world
  • 3d Map app win8.1
  • OCR
  • Translator

Ballmer came back up to introduce Project Spark a game, a development platform, any device .. I don’t know how else to explain it.

Overall the keynote was ok. A lot of the features had been announced earlier. It was nice to see the features better explained and in a context that make sense. I can’t wait to get my hands on the APIs and see the deep dive sessions. This has been a brain dump of the keynotes. I hope to further deep dive into these new features later.

Posted in Uncategorized | Leave a comment