June 2013 Entries

BUILD was a wonderful experience. It was great to see old friends, make new friends, learn about the latest Microsoft technology and party with a bunch of geeks. It didn't hurt getting some awesome swag.

While I Know that some people were disappointed that Microsoft didn't Say more about the XBox One, I was pleased with the information we got for developing Windows 8.1 and Windows Phone applications. Add to that the ability to pick the brains of MVPs and product team members was really worth the price of admission.

It is going to take a while to digest all of the material and weeks to go through all the videos. In the end there is a lot of information that is going to improve my projects. I look forward to what Microsoft has coming next seeing every one at the next BUILD.

Day 1 rocked. So how could they top that? By having more goodies to give away! During the keynote they announced that attendees would get one year of Office 365, 100 GB of SkyDrive and one year of Adobe Cloud Service. Overall they key note was long with more information shot at you than you could possibly absorb. They went about 20 minutes over time which made me think that they could have split it to a 3rd keynote and given us a better idea on some of these topics and perhaps addressed the one open question that was floating around Twitter. That is, what is going to happen with XBox development. It sounded like there was a quick side mention of that, but I missed it.

The rest of the day was packed with great sessions full of Windows 8, Azure and Windows Phone goodness. I had planned on attending Scott Hanselman’s talk, but they had so many people this they had to push to an overflow room. Stay tuned from session summaries later.

The day was topped off by an attendee party across from the San Francisco Giant’s ball park. It was kind of quirky and and fun. They set it up on one of the piers in the bay and had food served by food trucks. You would be surprised how good the food was. Add in some pool tables, fooseball, video games, a DJ, a comedian/musician and plenty of spirits and it was a great way to end day 2.

Live tiles are what really add a ton of value to both Windows 8 and Windows Phone. As a developer it is important that you leverage this capability in order to make your apps more informative and give your users a reason to keep opening the app to find out details hinted at by tile updates.

In this session Kraig Brockschmidt cover a wide array of dos and don’ts for implementing live tiles. I was actually worried whether I would get much out of this session when Kraig started it off with the fact that his background is in HTML5 based apps which I have little interest in, but the subject almost didn’t come up during his talk. It focused on things like making sure you have all the right size graphics and implementing all of the tile event handlers. The session went on to discuss the message format for push notification and implementing lock screen notification and badges.

As with the other day 1 sessions it was like drinking from a fire hose, but it was good stuff. Check it out when they post it on Channel 9.

If ever there was a session that you felt like your head was going to explode, this one would do it. Tim Heuer proceeded to try to fit as many of the changes and additions to XAML as he could in one hour.

There were a number of improvements that struck me. The first was the fact that we no longer need to put stack panels in the AppBar in order to add buttons. This has been changed to a CommandBar which at the very least makes the markup read more cleanly. Now if they would just bring this same improvement to Windows Phone we would be set.

There was a lot of cheering at the beginning of his talk when he showed that there are now date time pickers. I understand that it makes life easier, but I just couldn’t get that excited. The couple of features that did grab my attention being able to select a group of tags and then add an encapsulating tag such as a StackPanel around them and the fact that they have optimized XAML so that now runs on average 25% faster.

I’d go crazy trying to list off all the improvements and new features so be sure to go and review the recording of the session.

Testing an application is not what most people consider fun and the number of situation that need to be tested seems to grow exponentially when building mobile apps. That is why I found the topic of this session interesting. When I found out that the speaker, Francis Cheung, was from the Patterns and Practices group I knew I was in the right place. I have admired that team since I first met Ron Jacobs around 2001. So what did Francis have to offer?

He started off in a rather confusing who’s on first fashion. It seems that one of his tester was originally supposed to give the talk, but then it was decided that it would be better to have someone who does development present a testing topic. This didn’t hinder the content of the talk in the least. He broke the process down in a logical manner that would be straight forward to understand if not implement.

Francis hit the main areas we usually think of such as tombstoning, network connectivity and asynchronous code, but he approached them with tools they we may not have thought of until now. He relied heavily on Fiddler to intercept and change the behavior of network requests.

Then there are the areas you might not normal think to check. This includes localization, accessibility and updating client code to a new version. These are important aspects of your app that can severely impact how customers feel about your app. Take the time to view this session and get a new appreciation for testing and where it fits in your development lifecycle.

Even the simplest of smart phone apps can be a challenge to give a compelling UI regardless of the platform. Windows Phone and XAML are no exception. That is what got my interest in this session by Shawn Oster. He took a checklist type approach to the subject is good considering that is about the only way that many us get things done.

Shawn started out giving us a set of bad design/good design examples. They very effectively showed how good design gives a sense of professionalism to your app that could determine if your wonderful idea actually makes money is DOA.

I won’t go over all his points since you will be able to get the session online, but a few of his checklist points included design from the beginning instead of as an afterthought, not being afraid to leave white space and making sure your application elegantly supports both landscape and portrait modes. The many gems make this a must watch for any developers who struggle with visual design.

This one is going to be a little long because the keynote was jam-packed so bare with me.

The keynote for the first day of BUILD 2013 was kicked off by Steve Balmer. He made it very clear that Microsoft’s focus is on accelerating its time to market with products and product updates. His quote was that “Rapid release” is the new norm. He continued by showing off several new Lumias that have been buzzing around the internet for a while and announce that Sprint will now be carrying the HTC 8XT and Samsung ATIV.

Balmer is known for repeating words or phrase for affect. This time it was “Rapid release, rapid release” and “Touch, touch, touch, touch, touch, …”. This was fun, but even more fun was when he announce that all attendees would receive an Acer Iconia 8” tablet. SCORE!

The next subject Balmer focused on is new apps. The three new ones were Flipboard, Facebook and NFL Fantasy Football. I liked the first two because these are ones that people coming from other platforms are missing. The NFL app is great just because it targets a demographic that can be fanatical. If these types of apps keep coming than the missing app argument goes away.

While many Negative Nancy’s are describing Windows 8.1 as Windows 180 Steve Balmer chose to call it a “refined blend” as in a coffee that has been improved with a new mix. This includes more multi-tasking options and leveraging Bing straight throughout the entire ecosystem. He ended this first section by explaining that this will also bring more Bing development opportunities to the community.

Steve Balmer was followed by Julie Larson-Green who spent her time on stage selling us on Windows 8 all over again from my point of view. Something that I would not have thought was needed until I had listened to some other attendees who had a number of concerns and complaints. She showed a number of new gestures that will come with Windows 8.1, and while they were cool I was left wondering if they really improved the experience. I guess only time will tell.

I did like the fact that it the UI implementation to bring up “All Apps” now mirrors that of Windows Phone. The consistency is a big step forward that I hope to see continue. The cool factor went up from there as she swiped content from a desktop (mega-tablet) to the XBox One. This seamless experience I believe is what is really needed for any future platform to be relevant.

I was much more enthused by the presentation of Antoine Leblond who humbled us by letting us know that there are 5k new API. How that can be or how anyone would ever use all of them is another question. His announcement was that the Visual Studio 2013 preview would be available today along with the Windows 8.1 bits. One of the features of VS2013 that he demonstrated is the power consumption profiler. With battery life being a key factor with consumer consumption devices this is a welcome addition.

He didn’t limit his presentation to VS2013 features though. He showed how the Store has been redesigned to enable better search and discoverability of apps and how Win 8.1 can perform multiple screen scales depending on the resolution of the device automatically. The last feature he demoed was the real time video streaming API which he made sure we understood by attaching a Surface to a little robot. Oh, but there was one more thing. Antoine and Julie announce that all attendees would also be getting Surface Pros. BONUS!

How much more could there be? Gurdeep Singh Pall was about to pile on. He introduced us to Bing as a platform (BaaP?). He said if they (Microsoft) could do something with and API that is good 3rd party developers can do something that is dynamite and showed us some of the tools they had produced. These included natural user interface improvements such as voice commands that looked to put Siri to shame. Add to that 3D, OCR and translation capabilities and the future looks to be full of opportunities.

Balmer then came out to show us one last thing. Project Spark is a game design environment that will be available for Windows 8.1, XBox 360 and XBox One. All I can say is that if my kids get their hands on this they are going to be able to learn some of what dad does in a much more enjoyable way.

At the end of it all I was both exhausted and energized by what I saw. What could they have possibly left for the day 2 keynote? I hear it will feature Scott Hanselman. If that is right we are in for a treat. See you there.

I’m happy to be at BUILD this week, mainly because my flights finally got me here late on Tuesday. My biggest complaints so far are the flights and the hotel. It seems that almost every flight into San Francisco were delayed multiple hours. The Sequester so lovingly forced on America by congress means that the airport was short controllers. That, along with poor weather and airport construction meant most people were 2-3 hours late arriving. Add on top of that the fact that the hotel that I picked durring registration is absolutely horrid. It looks like something out of a ghost hunters show and smells like it too. I think if Microsoft is going to select a hotel they need to make sure that it is adequate.

Rant over!

So what happened the first day? Steve Balmer started off the keynote along with Julie Larson-Green and a cast of others. We finally found out that there were around six thousand people attending BUILD and that the focus this year would be Windows 8, Windows Phone 8 and Azure. For the rest of the keynote I am going to have a separate post.

You can’t have a Microsoft conference without some fun. This year they have a hunt for pins that represent different gestures in Windows 8. I got all of mine. Now they just need to pull my name.

The sessions I attended were really good. They covered live tiles, what’s new in XAML and building Windows Phone UIs presented by Kraig Brockschmidt, Tim Heuer and Shawn Oster respectively. These will also be covered in separate posts.

The exhibit area was interesting, but somewhat disappointing. TechEd 2012 I think was better organized and better staffed by the vendors. It also seemed that the Microsoft teams’ booths were also in need of some organization and staffing.

Overall it was a really fun day capped off by all six thousand attendees standing in like to get their Acer 8” tables and Surface Pros. What a day! Stay tuned for follow up posts.

Over my career I have made a living as a generalist. I have been a jack of all trades and a master of none. It has served me well in that I am able to move from one technology to the other quickly and make myself productive. Where it becomes a problem is deep knowledge. I am constantly digging for the things that aren’t basic knowledge. How do you make a product like WCF or Windows RT do more than just “Hello World”?

As an architect I need to be a jack of all trades. This is what helps me to bring the big picture of a project into focus for developers with different skills to accomplish the goals of the project. It is a key when the mix technologies crosses Windows, Unix and Mainframe with different languages and databases. The larger the company that the project is for the more likely this scenario will arise.

As a consultant and a developer I need to have specialized skills in order to get the job done efficiently. if I have a SharePoint or Windows Phone project knowing the object model details and possible roadblocks of the technology allow me to stay within budgets as well as better advise the client on technology decisions.

What is the solution? Constant learning and associating with developers who specialize in a variety of technologies is the best thing you can do. You may have thought you were done with classes when you left college, but in this industry you need to constantly be learning new products and languages. The ultimate answer is you must generally specialize. Learn as many subject areas as possible, but go deep when ever you can. Sleep is overrated. Good luck.

Lately I have been plunged back into an extreme waterfall project and it is eating away at my soul. Don’t get me wrong. I don’t really believe in a soul and I have never done a text book agile project, but the longer I’m on this project the more I feel like I’m in an infinite loop. Document. Review. Document. Review. At some point we may do some coding.

The biggest problem with waterfall projects is that you can always add more detail to design documents. I have actually seen some documentation which had pseudo code for almost every line that the developer needs to type. Of course these are extreme cases, but they put a spotlight on the issue.

All of this would be less costly to refactor as we code than it would be to continue to refine the design document. A minimum of documentation to make sure we hit all the key requirements and make sure that the overall architecture is sound is really what a project needs. Spend your time finding the problems by writing code instead of theorizing and discussing.

Going to conferences is a great way to keep up with the industry and recharge the batteries. As of the writing of this post there are less than two weeks until the start of BUILD 2012. While I haven’t been to BUILD before the other conferences that I have been to TechEd and Dev Connections in the past give me some expectations. Normally I would be spending the last couple of weeks going through the session schedule to see which ones I want to attend. BUILD is a little different. It doesn’t look like we will get the session list until we get to the registration table so it is going to be a mystery meatloaf of technology.

So what do we know? Windows 8.1 is going to to take center stage. Not only will the preview bits be available, but there should be plenty of sessions on what new and wonderful things we can build with it. I expect that there will be a fair amount of Windows Phone sessions, but I haven’t seen any good rumors about the Blue release yet to have an idea what the focus will be. What isn’t in an area that I have put any thought into is the new XBox One. There are a lot of people who are hoping for XBox One development sessions.

So what to bring with. Win8 Laptop. Windows Phone 8. Lots of enthusiasm. This is a week that is really going to rock. See everyone there.

Tim is a Solutions Architect for PSC Group, LLC. He has been an IT consultant since 1999 specializing in Microsoft technologies. Along with running the Chicago Information Technology Architects Group and speaking on Microsoft and architecture topics he was also contributing author on "The Definitive Guide to the Microsoft Enterprise Library".