Microsoft's Windows Azure Mobile Services Targets Back End Systems

Microsoft is making a concerted effort to convince developers to use its Windows Azure service to build mobile apps that tie together with various back-end services. A number of sessions at last week's Visual Studio Live! Chicago conference described how developers can use Microsoft's new Windows Azure Mobile Services to remove the headache of writing code designed to link to server-side processes.

Windows Azure Mobile Services fits into a category known as mobile backend and a service (mBaaS). A report released last month by Gartner said 40 percent of mobile app development projects will tie to cloud-based back-end services in the next three years. Like platform as a service (PaaS) mBaaS provides application middleware to various back-end services but the latter is aimed specifically at letting developers add services to mobile apps such as push notifications, storage and integration with back-end systems and social networks.

"There are a number of over the air testing tools, deployment, provisioning tools that support different mobile platforms, but when it comes time you need storage, creating push notification or you need to federate across different identity providers, you end up writing a ton of code to integrate with different systems behind the scenes," said Jesus Rodriguez, who gave a talk on Windows Azure Mobile Services at Visual Studio Live! Thursday. Rodriguez is CEO of KidoZen, which offers a cloud-based platform designed to provide enterprise apps targeted at mobile devices.

Rodriguez worked closely with Microsoft on Windows Azure Mobile Services and said it's joining a market heated by a bunch of startups such StackMob, Kinvey and Parse, which was acquired last month by Facebook. As a result of Facebook's acquisition of Parse, Microsoft will be competing with the social network, Rodriguez said, adding also just launched a new mBaaS platform.

Craig Kitterman, a senior technical product manager for Windows Azure at Microsoft, talked up Windows Azure Mobile Services in his Wednesday keynote. "Windows Azure Mobile Services is a quick and easy way for a developer build rich mobile client applications to add great cloud based back end capabilities," Kitterman said following the session. "Those applications typically need to authenticate users, they need to store different types of data and they need push notifications and updates that come down from the cloud when things happen. So Windows Azure Mobile Services gives developers a simple API they can use on either Windows Phone, Android or IOS to implement all of those capabilities with their app without having to be a database expert or a back end developer."

Many of these cloud mobile back-end services allow developers to deploy server side code using Javascript. "Cloud mobile back-end services stand to become a key component of the application development ecosystem," said Gartner analyst and research director Gordon Van Huizen, in a statement. "As a result, a given organization may begin using them without first developing the requisite understanding of the issues and risks associated with employing cloud services for application infrastructure. What's needed, then, is something of a crash course in the fundamental concerns of deploying application functionality in the cloud."

Posted by Jeffrey Schwartz on 05/20/20130 comments

Updated Windows Azure VMs Give Developers Flexibility

A revamped version of Microsoft's Windows Azure cloud service released a month ago today now gives developers the long-awaited capability of deploying their own servers and virtual machines. Eric Boyd, founder and CEO of the Chicago-based consulting and integration firm ResponsiveX, explained how developers can spin up VMs in the revamped Windows Azure Wednesday at the Visual Studio Live! conference in Chicago.

Until last month's release of the new Windows Azure infrastructure as a service (IaaS), Microsoft's three-year old cloud offering was only a platform as a service (PaaS). At last spring's Visual Studio Live! conference in Brooklyn, N.Y., Boyd, a Windows Azure MVP, suggested that VMs were a key ingredient that would flesh out the Windows Azure service.

While Windows Azure PaaS offered more application level services such as middleware and databases, it lacked the control IaaS offers, notably to spin up a VM or stand up a traditional version of SQL Server, SharePoint or BizTalk, or for that matter just basic server and storage infrastructure, Boyd explained.

The new added control is particularly important to developers looking to quickly set up test and development environments, Boyd said. "This is probably one of the most compelling scenarios for all of us," he said. "I know when I use to dev all the time in corporate America, in an awful number of scenarios where I just needed a dev environment with a Web server an app server, and a database server, waiting on IT to provision that took  forever, and slowed us down and didn't make a lot of sense."

Now in Windows Azure, a developer can just run through a quick wizard in the online management console and in 15 minutes, have an entire dev and test environment spun up. "I'm no longer waiting on IT to do something," Boyd said, plus it eliminates the capital outlay needed to provision a large server, storage and network environment, as well as the resources to manage them, he explained.

Boyd demonstrated how a developer can deploy a VM by logging into the Windows Azure management portal and selecting the necessary infrastructure. That may include a Linux or Windows server, SQL Server or SharePoint, Boyd explained. Developers can also set up VPN tunnels for those who want to connect premises infrastructure in hybrid type environments. 

"That allows you to leave some of your applications on premise, and some of your applications in the cloud," he said. "Maybe it's Active Directory, maybe you want to leave your Active Directory store on premise. If you want to connect back to other apps like SQL or BizTalk or SharePoint, you can do that."

There are some downsides to using IaaS versus PaaS. When using IaaS, developers are responsible for configuring and maintaining the operating system and app server.

While PaaS is more turnkey, in many cases it's less likely to simulate a traditional datacenter environment, Boyd explained. "Sometimes we run into scenarios in the PaaS platforms, where runtimes and middleware are just not installed," he said. "You might be able to script an install in the Web or worker roles but it might not be the most convenient thing to do. There are many reasons why that just doesn't work at all. Maybe that install really takes a long time. In your Web or worker role in a cloud service, you can script the install to happen when that machine starts up, but it really needs to happen in five minutes. If it's a long install, the cloud service breaks down and doesn't work well."

Now that Microsoft's IaaS is available, Boyd said it is more appealing for organizations to run line of business apps such as CRM, BI and identity services in Windows Azure. In an interview after the session, Boyd said that has led to increased deployments by his clients. "It's been nuts."

Posted by Jeffrey Schwartz on 05/16/20130 comments

Devs Urged to Follow Best Practices with Windows 8 Live Tiles

There are a number of techniques and challenges developers face when building Windows 8 live tiles. Ben Dewey, senior software consultant at Tallan, Inc. explored how to effectively build live tiles during a presentation Tuesday at the Visual Studio Live! conference in Chicago. Titled "Make Your App Alive with Tiles and Notifications."

In the session, Dewey showed how developers can communicate with users via Windows 8 tiles and notifications and covered the implementation of live tiles, secondary tiles, toasts, badges and notifications.

Dewey praised both the design and philosophy driving the new tile architecture, describing Windows 8 tiles and notifications as "distinctive."

"The ability to engage the user outside of your running application is a feature that no other platform offers in the same way," Dewey said.

The new functionality provides opportunities to enhance interaction and make apps and data accessible to users. But Dewey urged developers to be careful how they use the capability and to hew to best practices defined by Microsoft.

At one point during his presentation, Dewey warned attendees to avoid behaviors -- like constantly updating tiles -- that can annoy or drive away users. In fact, Microsoft's documentation addresses this concern explicitly, stating: "If users don't like your tile, they might place it at the end of Start or unpin it altogether, turn off updates, or even uninstall your app."

Dewey said developers he talks to often complain about not having better control over when and how the tile gets updated. "Remember that periodic updates only update at a minimum of 30 minutes," Dewey said. "I tend to side with Microsoft on this point because I value my battery life and system resources above tile updates. Additionally, I haven't heard any challenges from the field that represent a valid case to increase this frequency."

Dewey also noted that debugging live tiles is a source of frequent complaint from developers. For instance, if a Web site providing live tile XML data goes down, there is no way to have the tile fall back to a default state or failover to another XML source.

"There are a number of reasons for a tile to fail to update. The common issues include malformed XML, incorrect encoding and image sizes above 150KB," Dewey said, adding. "When a tile fails to update, an error will be added to the EventLog, but few details are provided to resolve the issue."

Dewey pointed developers to a helpful blog post that describes tips and tricks for debugging tile updates.

Asked if there were any common mistakes that developers tend to make when getting familiar with Windows 8 UI elements like tiles, badges and toasts, Dewey named several.

"There are a few common mistakes when working with tiles. The first one is with regard to philosophy and guidance. Teams often question when it is appropriate to use toast rather than tiles," he said, referring developers to Microsoft's Guidelines and Checklist documents regarding tiles and toast.

"The other mistake that I see people make is regarding their eagerness to jump into push notifications or background tasks when periodic updates would be sufficient," Dewey said, noting that Windows devices can only have seven apps running background tasks. "In many scenarios, periodic or local updates can serve the needs for most applications without introducing the complexities of background tasks or push notifications."

Dewey urged developers to review the Microsoft documentation, which he called "very comprehensive."

Posted by Michael Desmond on 05/16/20130 comments

.NET Devs Warming Up To MongoDB and Cassandra NoSQL Databases

There are scores of so-called NoSQL databases that allow organizations to create scalable ways of parsing and querying non-relational data. Two that are attracting a growing number of .NET developers are the open source MongoDB and Cassandra databases.

In back to back sessions Tuesday at the Visual Studio Live! conference in Chicago, Ted Neward, principal with Neward & Associates, outlined the nuances of both NoSQL databases. In each session, Neward expressed his disdain for the NoSQL nomenclature, which effectively stands for a database that is "not-SQL." By that measure, Neward said, "NoSQL also applies equally to cars, rainbows and unicorns. None of them are a SQL database either."

For that matter, Neward continued, the list of things that are not SQL databases include object databases, writing to a file, key value stores, hierarchical document databases, XML files and graph databases. "It's a horrible term to use collectively," he said. "They all are piles of data managed by a program."

The term, he argues, also gives the impression that the various non-SQL databases are similar, which often they're not. "It doesn't mean Mongo and Cassandra have much in relationship to one another other than the fact that they both store data," he said.

Neward's distaste for the term notwithstanding, MongoDB is regarded as one of the leading NoSQL databases. The term MongoDB is derived from the word humungous and reflects the database's ability to scale to handle very large datasets, typically documents. The only commercial supplier of MongoDB is 10Gen.

Many customers looking for a high performance documents database have recently gravitated to MongoDB because it is fast, schema-free, open-source and language independent. Written in C++, it runs on all operating systems including Unix, Linux and Windows.

Neward doesn't expect MongoDB or any other non-SQL database to replace traditional relational database management systems, notably Microsoft's SQL Server. "Let SQL Server store traditional data," he said. "When you want to store other binaries, store that into MongoDB."

In the following session Neward dove into Cassandra, which was originally developed by Facebook to power its inbox search capability. Neward said Cassandra provides a column-based structured key-value star store. However, the open source community implemented a layer that gives the database more of the look and feel of a relational database starting with Cassandra 1.0. CQL 3.0 has been available since Cassandra 1.1. "So you can argue in some respects that Cassandra isn't NoSQL but CQL for Cassandra Query Language, which has relational-like mechanisms under the underlying Cassandra system," he said. 

Cassandra is written in Java, meaning .NET developers who want to look at the source code will have to brush up on their Java skills, Neward said. "If you have no Java skills, if you know how to program in C#, and specifically if you know how to program in C# 1.0, you know how to read Java," he said. "As a matter of fact, Java is actually C# 0.3. There's a lot of things that the C# language has that the Java language does not."

The Cassandra database, Neward said, is designed for multi-node clusters. "Cassandra actually wants to run on multiple machines," he said. "It is possible to set up multiple Cassandra nodes on one developer box. It's tricky. You're going to have to get into some very subtle configuration in order to make it happen. You are going to have to dive into the configuration files that Cassandra uses."

Posted by Jeffrey Schwartz on 05/15/20130 comments

Working with SQL Server Data Tools

Lenni Lobel, chief technology officer of Sleek Technologies and author of Programming Microsoft SQL Server 2012 (Microsoft Press), offered a walk through of the SQL Server Data Tools (SSDT) built into Visual Studio 2012 and available for free download for users of Visual Studio 2010.

The session, held Wednesday morning at the Visual Studio Live! Chicago conference, showed how database developers can use SSDT to manage both on-premise and cloud-based database development projects. SSDT works with SQL Server 2012 and SQL Azure databases.

SSDT is essentially the successor to Microsoft Visual Studio Team System for Database Professionals, widely known as DbPro and sometimes referred to as DataDude. Released in December 2012, SSDT is a Visual Studio plug-in that presents itself as a new database type in the IDE. SSDT enables for database developers familiar Visual Studio capabilities like code navigation, IntelliSense, platform-specific validation and debugging. It also enables declarative editing in the TSQL Editor, and provides a visual Table Designer for database projects and online database instances.

"Database development is hard. It's a huge thing to get right and it's a huge challenge," Lobel told the audience during his presentation. "With respect to the development process itself, there are definitely pain points that can be relieved with the right tooling and SSDT aims to deliver that tooling."

During the presentation, Lobel showed how developers can use the declarative model of SSDT to design databases offline, and use source control functionality to preserve earlier versions of database schema. He also explored features like schema compare, local database runtime support and the ability to support SQL Azure database projects.

Lobel after the demo expressed both praise for and frustration with the SSDT toolset. He described SSDT as being "light years ahead of anything that came before for developers," and gave it high marks for integrating database creation and management tooling into the development environment. However, there are things Lobel would like to see in SSDT.

"SSDT is focused on schema, but not data. Data generation and data compare are features in DbPro that are not features in SSDT," Lobel told the audience.

"They've added unit testing, but I've heard no word on the other two," Lobel continued, suggesting that developers needing data generation and compare capabilities consider RedGate Software's SQL Toolbelt product.

Posted by Michael Desmond on 05/15/20130 comments

Changes May Come to Free Windows Azure Usage in MSDN Subscriptions

Microsoft might change the terms that give developers 750 hours of free Windows Azure usage, according to Craig Kitterman, a senior technical product manager for Windows Azure at the company.

Kitterman dropped the hint during his keynote address today at the Visual Studio Live! conference in Chicago. Kitterman didn't say whether significant changes are in the works or if Microsoft is merely looking at slight adjustments, but he suggested they will be for the better.

"The MSDN offer as it exists today, wink-wink, is one small sized VM continuously running," Kitterman said in his keynote. "You want to run a Web site non-stop [or] if you want to spin up a bunch of machines to do some testing for a couple of hours, and spin them back down, you can do that. We are looking at potentially changing that offer in the future to make it even better for those scenarios today, but we are working hard to make it even better. But with 750 hours, you can still get quite a lot done."

In an interview following the keynote, Kitterman declined to elaborate nor would he say whether the number of hours might increase or decrease. "We are constantly trying to figure out how we can improve the developer experience around Windows Azure and there's lots of different things we look at," he said. "How do we make the MSDN offer better is something we are looking into but I don't have any specifics."

Kitterman polled the audience and estimated that approximately 25 percent were aware that Microsoft offers the free 750 hours of usage with their MSDN subscriptions. One attendee who is aware of the offer said one show-stopper for signing up is the requirement to give a credit card number before taking advantage of the free Windows Azure usage. While Kitterman didn't say whether that would change, he acknowledged that some have an issue with that. Others simply aren't ready to use the cloud.

Jeremy Gruenwald, an application architect with the accounting firm Grant Thornton LLP, after the keynote said he set up an Azure account but is reluctant to use it due to the fact that applications are architected to run on premise. "Honestly our decision isn't really about the pricing, though obviously pricing enters into it," Gruenwald said. "But ours is more about figuring out how to manage our data. We have all these existing applications that are built under the assumption that they've got on premise, cross-database access. We just have to learn how to make that transition."

As one of the world's largest accounting firms, privacy and compliance are also key issues, Gruenwald said. "The idea of putting client data in the cloud has a lot of people nervous," he said. Kitterman acknowledged that concern in his session, but said organizations can use the cloud for certain capabilities without coming against these restrictions.

"In certain cases where people have specific regulatory issues, where they can't put data in the cloud, we have the capability to do things with virtual networking where they can put some of their assets and resources and applications in the cloud while keeping some other things back on premises," Kitterman said in an interview with Visual Studio Magazine editor in chief Keith Ward . "So they really have a lot of flexibility to do hybrid architectures but meet all their security and compliance needs."

Corey Nease, an associate applications analyst at Integrys, an energy company based in Chicago, said he hopes Microsoft extends and enhances the offer. "I hope they keep the free things because I have already spun up a free instance of TFS 2012 that our company is going to migrate to eventually," Nease said. "So I think it would be nice, especially since our whole company has MSDN, and they don't utilize it very well."

Kitterman emphasized developers should take advantage of the free Windows Azure usage with their MSDN subscriptions and try using it to develop and test their apps. "Take advantage of that MSDN Windows Azure benefit," he urged attendees. "Go play around with things like Windows Azure Web Sites and think about how that's going to change the way you think about designing your next project. You can easily deploy and update, very fast and very, very quickly and have the ability to scale on demand so you never run into capacity issues."

Posted by Jeffrey Schwartz on 05/15/20130 comments

Q&A with Microsoft's Jay Schmelzer

Jay Schmelzer, director of program management for Visual Studio at Microsoft, gave the opening day keynote address at the Visual Studio Live! Chicago conference Tuesday morning. I caught up with Schmelzer after his presentation (watch the video here) to ask him about Visual Studio LightSwitch, the move away from Silverlight and the new Apps for Office programming model.

Michael Desmond: If you had one message that you'd like attendees to take away from keynote address today, what would it be?

Jay Schmelzer: For application developers, it would be the realization that it's a multi-device world. As much as we would want and love for everyone to be carrying Windows devices, we know it's the consumer's choice, and developers need an experience for supporting that.

I would say the other aspect of this is wanting everybody to realize that hey, the investments we've made in managed languages, VB, C#, .NET--those assets will continue to evolve and will help them to continue to modernize their apps and adapt them to the devices they need and the services they need to build. Those are investments people should feel confident in and continue to invest in.

MD: Platform confidence is of course such an important thing and has been a core strength for Microsoft in its relationship with developers. But didn't the retirement of Silverlight shaken that confidence a bit?

JS: I step back and look at it and say, 'it was really more that the entire RIA plug-in model. In hindsight had a lifespan." Whether it's Silverlight, whether it's Flash, they all are facing the same challenges, where they are dependent on devices supporting them. We could have at Microsoft decided to keep supporting [Silverlight] on our devices, but then a big chunk of its reason for existence is gone. It's not going to do what you need it to do, because I can't make Apple support it forever.

This whole category, rather than being one player in it, is going away. So now we have to help developers evolve to the next thing. It's got a support life that's still quite far out there—the standard five by five [years]—so those assets will continue. And now it's time to consider what is the evolution of that app.

MD: You talked about multi-device support and the choices organizations need to make to enable it. Are you seeing organizations struggle with those choices?

JS: We're seeing folks trying to understand what is the right path. From the Microsoft point of view and Visual Studio point of view there are two patterns that we support inherently in the tools. There is the native for Windows--whether it's HTML/JavaScript/WinJS, or its VB/C#/XAML on WinRT, or its C++ WinRT for Windows apps. Or the other pattern being standards-based Web [apps].

So if you have an app that doesn't require lots of native capabilities of the device but you need to support multiple [devices], then we have tools like LightSwitch which will create a standards-based HTML client that will run on all these devices. And for a business app, a client-based business app, that's actually all you need.

And then we have partners like Xamarin and folks like that who can come in and provide other experiences for getting native within Visual Studio using our stuff.

MD: At one point during the keynote you had asked how many people were aware of LightSwitch. How many hands went up?

JS: I would say maybe 20 percent. I wish I could say it was lower than I expected, but I've asked that question a lot and I've seen that a lot, so I was kind of expecting it.

Some of it goes back to our other conversation on Silverlight. LightSwitch, the first version of it, came out right when the uncertainty of Silverlight was at its peak, and that is what we supported at the time. That was part of it.

We are seeing an uptick just in terms of traffic to our site, traffic in community forums and places like that now that the HTML client is out there and people see where we are going.

MD: Can you talk about how the audience for LightSwitch has evolved? Your keynote certainly positioned LightSwitch as a professional developer's tool.

JS: One of the things that we realized is that we originally targeted an audience that wasn't a Visual Studio customer, but we were branded as a Visual Studio product. That presented some challenges. We still believe that that audience is important, we still keep simplicity and productivity as the key part of our design philosophy for LightSwitch. But we also realize that hey, we are part of the Visual Studio family, so one of the things we have to be able to do is have LightSwitch work in a model that works for developer workflow.

That means things like being better in a team environment, having multiple people working together on a project, working better with the lifecycle tools. So that's an area where we've shifted our focus a bit and said let's make sure these productivity features and experiences work well for professional developers. Nobody would want to spend eight hours doing something they could do in eight minutes, as long as it works within their tool chain.

MD: How important is LightSwitch support for HTML apps in all this?

JS: I think HTML support has really been part of the excitement factor there. We've got developers that feel they need to go to HTML and JavaScript coming from a managed code background, and that's a leap. And you have a tool like LightSwitch that can make HTML and JavaScript that much more approachable for them by just reducing the amount that they have to interact with it. That is piquing some interest.

MD: So do you expect more hands to go up next time you ask a Visual Studio Live! crowd about their awareness of LightSwitch?

JS: I definitely do. I think we've got a number of things coming out that we aren't ready to talk about yet--but probably in the BUILD time--that will get some folks more excited and really understand where we are going with this. I'm hoping next year we come back and I see at least 50 percent of the hands in the air. I think the question for next year will actually be how many people are using it, and we will see probably 50 percent of this kind of audience saying they are using it for something.

MD: And LightSwitch can be used in conjunction with other tools, of course. So you can leverage it where it's needed.

JS: We have examples of folks who build really large applications that use LightSwitch for a portion of it, where it's the table maintenance part of the app, right, where you have lookup values and things like that. And you have to create UI to manage that. You don't really want to go spend 40 hours building that when you could just knock it out in 20 minutes.

Those are other things that we do, patterns people develop where they custom build a core part of it, but there's LightSwitch for everything around it. In fact, every LightSwitch app I've ever seen has got some percentage of the app where they went and took control of that thing completely, the UI or whatever, because that's the part that required the custom work.

MD: How is the new Office and SharePoint app model being received by developers?

JS: I'm seeing two reactions. One, the folks who have never done SharePoint development or Office development are saying this is something I can take a look at now. It does look more like something I'm used to. So that's good.

The folks who have been deep in things like SharePoint and Office, I'd say they're ones who are excited about the model and the pattern. They're now in the phase of trying to map what they used to do to the new world. Because in a lot of ways it changes it pretty dramatically from what they used to do.

MD: How does the new Apps for Office model relate to Visual Basic for Applications (VBA) and Visual Studio Tools for Office (VSTO) apps?

JS: I was talking with a gentleman after the keynote who said he has a lot of VBA and VSTO applications in Excel and can they just kind of move over. And well, it kind of depends on what you are doing. VBA and to an extent VSTO--the old object model--had a lot of automation capabilities in the object model. You could make Excel do things. That's not part of the new model. The new model isn't about making Excel do something, it's about leveraging a service with Excel.

So if your app was all about the calc engine in Excel and putting the data in and out and letting the calc engine do its thing, then OK, the new model is going to work great for that. If you were basically automating a bunch of manual steps through a macro, that's not going to work with the new model. That's not what it's designed for.

Those existing approaches still work and are fully supported in the rich client versions. But that's what we're seeing, is people having to go back and rethink how they accomplish what the app used to do in the new world.

MD: And the new model cleans up some of the problems that could crop up when upgrading to a new version of Office, right?

JS: That was always a pain for app developers. I've got to go test my app for the new version of Office before I can get rolled out. Now [with Apps for Office] it's just a service interface that we need to keep consistent, as opposed to the wacky things that can happen when you're running in the process of another app. Developers are seeing this as a huge benefit.

MD: Thanks again for your time, Jay. Anything else you'd like to address before we close?

JS: We touched on this a few times. The .NET Framework, CLR, VB/C# are core developer assets of Microsoft. We are absolutely continuing to invest, evolve and innovate in those. Customers really shouldn't question their investments there. They should have confidence that we are going to continue to be there and continue to evolve that.

The scope and the size of the enhancements are dramatically smaller than they used to be, but that's more a sign that it's a mature framework. It's a mature platform. We don't need to go and double the size of the base class libraries every time, because they're rich, their pretty complete. In some cases that's actually a benefit to an application developer. In the past we've heard that things were evolving so fast that they couldn't keep up. We feel like we got ourselves to a pretty good point.

Posted by Michael Desmond on 05/14/20130 comments

VS Live! Chicago Day 1 Keynote: Multi-Device Dev, LightSwitch, More

Developers need to support a diverse array of devices and understand the vital role of services in enabling rich application experiences. That was the message from Jay Schmelzer, Microsoft's director of program management for Visual Studio, during his opening keynote address at the Visual Studio Live! Chicago 2013 conference this morning, as he explored the two trends and how they directly play off each other.

"It turns out hardware devices really aren't that interesting without great software on them," Schmelzer told the audience. "It also turns out that great software is a lot easier to build when you have compelling hardware to target and capabilities in that hardware that you can target and leverage as part of your application." 

He emphasized that services allow developers to efficiently create rich experiences that are shared across form factors, and noted that developers face a number of choices as they address both existing client/server and emerging service-centric applications. Developers, Schmelzer said, "are going to need a multi-device strategy." And they have three choices to get there:

  • A "completely native experience" built on the native framework for each targeted device.
  • A browser-based approach that leverages HTML and JavaScript to run on as many different browser devices as possible.
  • A hybrid approach Schmelzer called the "player model" that wraps HTML content within a native app shell.

Schmelzer then dove into a demo of the Visual Studio LightSwitch simplified application development tool, which he called "the best kept secret we have inside of Visual Studio." LightSwitch, Schmelzer noted, now supports HTML apps, enabling developers to use mature, .NET Framework-based tools and infrastructure to create broadly compatible HTML apps.

Schmelzer said LightSwitch solves a serious issue for business developers, who often find themselves pulled off the critical task of enabling custom business logic, which is why organizations write custom apps in the first place.

"The value is in the unique business rules. But all of our time as app developers is usually spent in the stuff that doesn't provide unique value. Getting the data into and out of the database, getting a service put up in front of it, designing the UI. So it's all of that time we put in, and then very little left for actually creating custom rules," he said. "We wanted to create an experience that flips that on its head."

Schmelzer showed off the template-driven app creation process in LightSwitch, showing how the app UI can be quickly tuned to adapt to desktop, tablet and phone screen form factors. He also walked through the point-and-click data handling and binding capabilities of LightSwitch.

Shifting gears, Schmelzer explained the Apps for Office 2013 and SharePoint 2013 application model, which features a completely different approach from previous versions of the products. The new model turns the approach "inside out," he said, relieving developers of the need to contend with deep and rich object models that don't map to other aspects of managed development.

"Now instead of having your extensions or your components plug into the process of Office or the process of SharePoint, we've opened up the Office products and SharePoint, and exposed the rich set of services they offer to developers to consume, and we've exposed them via standard rest-based APIs," Schmelzer said.

Posted on 05/14/20130 comments

Win 8/RT, Cloud, Data To Be Key Themes at Visual Studio Live! Chicago

The Visual Studio Live! Chicago 2013 conference is set to open Monday, May 13, providing hands-on guidance and training for developers engaged with the Microsoft .NET Framework and Visual Studio development environment.

The event will kick off Monday with a trio of all-day workshops, before the formal event begins Tuesday morning with a keynote address by Jay Schmelzer, director of program management for Microsoft's Visual Studio Team. More than 60 sessions and a number of networking events are planned during the conference, which runs through Thursday May 16.

Visual Studio Live! Chicago features nine technical track, with the most heavily represented track being Windows 8/Windows RT. Sessions range from an all-day, hands-on workshop (Build a Windows 8 Application in a Day) to primers on things like WinJS and Windows 8 design concepts, to more involved explorations of data sharing with Windows Phone 8 apps.

Even so, Windows Azure may well be the star of the show in Chicago. Schmelzer's Day 1 keynote on Visual Studio and .NET Framework development will address the transition dev orgs are making toward cloud-based development. The Day 2 keynote by Microsoft Windows Azure Team Product Manager Craig Kitterman will focus entirely on Windows Azure and its facilities for quick and effective application delivery.

Rocky Lhotka, co-chair of the Visual Studio Live! conference series and chief technology officer at Magenic, says the cloud-focused curriculum reflects developers' "rapidly evolving" interest in the Microsoft Azure platform.

"Just a couple years ago most people were extremely skeptical of the cloud and what it could provide," he says. "Today I would say that most developers are starting to recognize that the cloud offers them some amazing value, potentially enabling them to incorporate features into their apps that would have otherwise been too complex or costly."

He adds that while few organizations have yet to make the transition to cloud computing, he sees a "shift in developer attitude" that is opening the way to adoption.

Microsoft's Kitterman agrees. "Azure demand is definitely picking up," he says, noting that developers are coming to terms with concepts like Platform-as-a-Service (PaaS), which holds a lot of promise for enterprises. He also notes that the new Windows Azure Infrastructure-as-a-Service (IaaS) functionality launched last month enables virtual machines on-demand and flexible dev and test in the cloud -- things that can alleviate IT bottlenecks. "This, with the growth of devops, makes now the right time to take advantage of the cloud," Kitterman concludes.

Another point of focus at Visual Studio Live! Chicago will be data-oriented development. There are nine sessions in the Data Management track at the event, including a full-day workshop on SQL Server 2012 led by Visual Studio Live! led by co-chair and Blue Badge Insights CEO Andrew Brust and Sleek Technologies CTO Leonard Lobel.

Lhotka says that the conference agenda reflects a focus on practical technical guidance. "As conference chairs we are always sensitive to the balance between the 'cool' stuff people might use someday, and the pragmatic content attendees can use immediately," Lhotka says, citing the example of HTML5. He says few developers have switched their primary development platform from .NET to JavaScript, instead looking at HTML5 as an extension of ASP.NET. "Our goal is to reflect this reality in our choice of content for the conference."

Posted by Michael Desmond on 05/10/20130 comments

4 Biology-Based UI Design Tips

When it comes to design, what you see is not always what you get. During his Visual Studio Live! Las Vegas talk on app design, Billy Hollis noted the fascinating role that the human brain plays in interpreting and comprehending visual input, and offered insights into how developers can take advantage of biology to make their app UIs more effective. Here are four key points Hollis highlighted in his talk this week.

Gestalt Principles: Mind the Gaps
The human visual system is designed to see structure and relationship. Things like the color, shape and proximity of elements to each other impact the mental grouping that the brain commits. So pay close attention to how these elements impact the visual hierarchy of your design. What's more, the brain willingly fills in missing information in the visual field to yield expected or anticipated patterns. This enables designers to, for example, employ minimalist icons (such as the camera icon in Windows 8) that are both spare and simple, yet immediately convey their meaning to users.

Inattentional Blindness: Hiding in Plain Sight
The human brain filters out things that it's not looking for. This is called "inattentional blindness," and it can render objects essentially invisible to the user even though the objects are in plain sight. For instance, if you put error messages in the status bar, you stand a good chance of not getting those messages read because no one will be looking for them there.

Figure and Field: Perception Is Everything
No doubt you've seen the optical illusion that can be interpreted either as a vase in the middle or the silhouettes of two faces at the edges. This happens because your brain chooses what elements in the visual range are the "figure" (that is, the object of interest in foreground) and what elements are the "field" (that is, the background), depending on what you're doing. Microsoft ran afoul of this phenomenon when it tried deemphasizing menus and controls in pre-release versions of Visual Studio 2012, in an effort to make the code windows pop. But developers struggled when they shifted focus to the controls, which remained stubbornly in the background due to their design.

Mapping Principle: Keeping It Real
Want to cut down on user training and frustration? Try presenting tasks in a way that has a close analog to familiar, real-world interactions. For instance, the Windows Screen Resolution dialog box for setting up multiple monitors lets you drag little monitor representations to align the displays and define how graphic elements will cross from one display to the next. The task of aligning monitors is extremely intuitive, precisely because it maps so closely to the physical ideal.

Posted by Michael Desmond on 04/01/20130 comments

Demystifying the Microsoft UI Roadmap

During a heavily attended session at Visual Studio Live! 2013 Las Vegas last week, Brian Noyes attempted to clear up some of the confusion about where developers should focus their efforts in the crowded field of Microsoft technologies. Noyes, a Microsoft regional director and MVP, and CTO and architect at Solliance, counseled that developers should primarily consider their users and those users' needs when choosing a technology path.

"Don't be focused on the technology first," Noyes said. "Technology is a means to an end. Figure out what your apps needs, who your users are, what your requirements are, and then start trying to align that with what the technologies are best for."

Noyes' talk was titled "Demystifying the Microsoft UI Technology Roadmap," and the packed room and number of audience questions showed that many Microsoft devs are searching for direction. Noyes fielded questions about the viability of Silverlight and Windows Presentation Foundation (WPF), the changing mobile landscape, Windows 8 style guidelines and more. Guidance for the mobile space was of particular concern: When Noyes asked how many attendees have current or near-future requirements to build apps for tablets or phones, more than half the audience raised their hands.

"Mobile is the wildcard in all this," Noyes said, explaining that friction is to be expected when moving or redesigning traditionally desktop-based line-of-business (LOB) apps to mobile devices.

Noyes gave a general breakdown of which Microsoft technologies are best for which scenarios. For traditional, content-focused enterprise LOB apps, Noyes suggested focusing on the Modern UI style or WinRT for Windows 8 apps. For small and midsize businesses (SMBs), he noted that Bring Your Own Device (BYOD) scenarios will be more common, and those scenarios will be best served with rich HTML for multiple platforms. For their traditional desktop apps, Noyes added, SMBs should focus on WPF. For businesses supporting tablets and other devices with touch interaction, Noyes suggested focusing on WinRT. He also recommended branching out of the Microsoft stack if needed, and "using the native client platform to provide good UX" -- iOS for Apple products, Java for Android and HTML5 for browser clients. But these recommendations came with a caveat: Noyes said that in the Microsoft tech roadmap, there's no single "best" path.

"The key thing for people to understand is that there is no silver bullet out there," Noyes cautioned. "The UI technology landscape is a confusing morass of overlapping capabilities and you really have to have a good understanding of your user and deployment scenarios, as well as your development team's technology biases, to be able to select the right technology for your application."

Asked why it's so difficult to select a technology path, Noyes responded: "Microsoft's perspective, and the product teams' perspectives, is that they want you all to be happy. Wherever you are today, they want you to be happy and have a path forward. That's why there are so many choices [out] there."

The best thing developers can do, Noyes said, is protect themselves from the number of technology choices -- and the pace of change among those choices -- by trying "to design in such a way [that you] don't paint yourself into a box."

He continued: "Don't put logic on the client side unless you have to. Put things behind the service boundary...You can't think just in terms of the UI. Even if you don't have current requirements to be on tablets and mobile devices, pretend you do. [And] designing for the cloud as your back-end, to the extent possible, is going to make your life easier."

Posted by Katrina Carrasco on 04/01/20130 comments

Windows 8 Not a Magic Bullet for App Design

More on this topic :

Billy Hollis regaled the audience with his trademark wit and passion during his talk on app design at the Visual Studio Live! Conference in Las Vegas last week. While the audience enjoyed a good laugh, Hollis' underlying message was dead serious: Microsoft line-of-business developers need to challenge themselves to master design concepts -- and they need to do it soon.

Hollis said that sleek consumer apps in smartphones and iPads are conditioning users -- both inside and outside corporate walls -- to value thoughtful design in app interfaces. Dense and haphazard Windows Forms UIs that pack dozens of controls on a screen are simply not acceptable anymore.

Projecting a mockup of a nightmare Windows Form UI on the screen, Hollis challenged attendees to take bad design personally, telling them to "be unsatisfied" when they see poorly designed apps.

"You need to feel emotionally unsatisfied if you end up with a kludged-up adaptation," he said during an interview the day after the presentation.

'Microsoft Understands the Danger'
There was urgency in Hollis' voice as he talked about missed opportunities in the Microsoft ecosystem to improve the state of application design.

"When XAML started up we really went heavily into that space and I just immersed myself in design," said Hollis, who at the time expected the developer community to take advantage of XAML to create unique new interfaces. It didn't happen.

"It's a huge missed opportunity. And not only a missed opportunity -- it's a pretty big risk associated with it," Hollis said. "I remember when IBM went from dominating the entire IT industry to irrelevant, in 10 years. In 1985 they ruled everything. In 1995 they were irrelevant."

IBM was upended by its inability to respond to the PC revolution, Hollis said, adding that Microsoft faces no less a threat from the visual revolution that is redefining users' relationship with their computers and devices. If Microsoft developers fail to meet the increasingly sophisticated expectations of users, then developers in other ecosystems will.

"Microsoft understands the danger," he said.

Getting into a Design State of Mind
Microsoft has taken urgent action to close the design gap between its various platforms and those produced by Apple. Touch-savvy Windows Phone and Windows Store apps, with their minimalist UIs and explicit community design guidelines, reflect Microsoft's commitment to meeting user expectations.

But Hollis said that Microsoft faces a challenge as it works to build design expertise.

"Acquiring that discipline is a three- to four-year process. How long has Microsoft been working on it? Two years," Hollis said. "It's inevitable that they will get better at it. But they need to get better quickly."

How can developers improve their ability to design visually compelling and coherent app interfaces? Hollis' first piece of advice is to get emotional.

"Design is about emotion, intuition and other right-brain things," he said. "I tell [developers] to go out and learn to sketch, go to a museum, take pictures of things in the real world that reflect good and bad design."

Hollis said developers need to press users' buttons with their application designs. Characteristics like size, color, shape and relative position can guide user attention. He further advises developers to find ways to cast important information in a way that makes the most sense for users, and not for the computers serving them. A pediatrician's app, for instance, might prominently display the age of the patient, rather than his or her date of birth.

"Humans are programmed with responses," he explained. "If you take advantage of that you can help people make better and faster decisions."

Posted by Michael Desmond on 04/01/20130 comments

Keeping Up with Windows Azure Changes

Microsoft has been improving Windows Azure so aggressively that developers can struggle to keep up. That was the message from Applied Information Systems CTO Vishwas Lele, who explored recent additions to Microsoft's cloud platform during a presentation at the Visual Studio Live! Las Vegas conference last week. "The number of services that are being added is amazing," Lele said, encouraging developers to take a targeted approach to using the Windows Azure. "When you look at the cloud, think of the pieces that might help you."

Lele in his talk highlighted several areas of interest for developers, including Windows Azure Mobile Services support for Android and HTML5 Web clients, and updated Active Directory integration that lets IT departmentsgrant employee access to Windows Azure subscriptions using Windows Azure Active Directory or Office 365 identities.

Big data capabilities also got a boost with the HDInsight Preview, which allows developers to access Hadoop clusters running on Windows Azure. And the Windows Azure Portal received numerous enhancements, including the ability to monitor Windows Azure Web sites and cloud services from locations around the world, added Service Bus configuration and blob storage.

Lele highlighted advances in the mobile space, including new support for PhoneGap and mobile Web apps, and updates to Windows Azure Mobile Services. Lele explained Mobile Services by saying: "If you're trying to write a mobile application and you want some kind of a database that stores some information, you want to service-enable that layer, you want notifications to want some kind of identity management -- essentially all the things that I've described, you can sum it up as it's a back-end in a box."

He noted that scheduler capabilities were also added to Mobile Services. When asked by an audience member why it was preferable to use Mobile Services instead of HTML5, Lele said that, in addition to device support, "the other reason you want to use it is, you're actually not writing any back-end code. What Mobile Services is doing is giving you a ready-made, REST-based API that you can invoke to communicate with [your] data."

Active Directory integration was also highlighted in Lele's presentation. Previously, Lele noted, users had to use their Windows Live ID to log in to the Windows Azure Portal, and there was no two-factor identification available for Windows Azure. "With Active Directory integration, you can actually project your Active Directory credentials up to the Windows Azure Portal," Lele said. "So you can now say, 'Person A from Active Directory, Person B from Active Directory, owned by an organization, will be able to log in to the Windows Azure Portal.'"

Lele noted that Windows Azure Active Directory is highly reliable because it can fail over to other datacenters. It also supports the Graph API and other hard-to-support protocols such as WS-Federation.

The HDInsight Preview, another recent addition, allows developers to get into the big data game with its Hadoop and Hive integration. "You can download the Hive ODBC driver, and then run big data analysis in the cloud," Lele explained. "Then, using Excel and Hive -- once the data comes out of the Hadoop cluster -- you can use Excel to further slice and dice that data." These capabilities will give developers visibility into large data sets, Lele said, allowing them to analyze and "mine that data for patterns."

Another platform enhancement Lele discussed was the introduction of Windows Azure Media Services, which allows developers to bring secure, encrypted "digital media assets," such as video, through the cloud and into SharePoint and other sites.

"There's a REST-based API that's available, and you can invoke it from any platform," Lele explained as he demoed a Media Services-hosted video running on a SharePoint site. "The Media Services team gives you an SDK, which allows you to write applications for iOS and Android, so you can consume it from those devices as well."

As Lele described these and other enhancements to Windows Azure, he emphasized that, to make the most of all these capabilities, developers must take advantage of the automation capabilities in the cloud.

"Cloud computing is based on two premises: One is that it is a consumption-based model. You only pay for what you use, you turn things off you don't use. That necessitates automation," Lele said. "Number two, you can take advantage of the low cost [derived from cloud providers using lower-end hardware], but at the same time not be impacted by the hardware failures. [So] automation is key to being successful in cloud computing."

Hand-in-hand with automation is the Infrastructure as a Service (IaaS) capability that Windows Azure has provided since June 2012. Lele noted that IaaS allows developers "to provision hardware resources using an API," and eliminates the error-prone process of capacity planning. "It's important for developers to understand [IaaS] not understanding the options that are available to make your applications more fault-tolerant, you're not taking advantage of them in designing your applications," Lele said.

Posted on 03/31/20130 comments

TypeScript Language Capturing .NET Developers' Attention

JavaScript has been in the air at the Visual Studio Live! 2013 Las Vegas conference this week. Whether it was Steven Guggenheimer's Tuesday keynote address on modern apps or Brian Noyes' Wednesday session on the Microsoft UI technology roadmap for developers, JavaScript has been an important part of the conversation. The problem is, many .NET developers familiar with strongly typed C# are either uncomfortable with or even hostile to JavaScript's dynamically typed scripting language.

In particular, programming in JavaScript can become a challenge on larger, more-complex code projects. The lack of strong typing invites runtime errors, while the lack of namespaces and class structure make it difficult to organize and manage code as it grows.

That's where TypeScript, an open source language created by Microsoft, comes in. TypeScript is a superset of JavaScript that presents class structure and type safety for coders, helping them better manage and maintain their code. Projects written in TypeScript compile to valid, standards-compliant JavaScript code.

Ben Hoelting is a software architect at Aspenware and a C# MVP. He also led an hour-long presentation on TypeScript at the Visual Studio Live! conference on Tuesday. He said that C# developers previously aligned with Silverlight are finding themselves forced to learn JavaScript/CSS/HTML.

"Talking with many of the attendees at these conferences and at community events, I find many of them miss coding in C# and XAML. It's just easier for them," he said, noting that JavaScript lacks the tooling and syntax C# developers prefer. "I believe that TypeScript can provide the tooling and syntax to reduce the negative feelings most C# developers get from JavaScript."

TypeScript does not eliminate the need to know and learn JavaScript, Hoelting warns. Rather, it helps reduce the learning curve for C# devs and opens opportunities they might otherwise miss. For instance, TypeScript can take full advantage of powerful JavaScript libraries and APIs like Node.js, and there is TypeScript tooling for both the Sublime and WebStorm 6 JavaScript IDEs.

In addition to providing strong typing, TypeScript also promotes proper code organization -- something that can be difficult for inexperienced JavaScript developers.

"TypeScript allows for Modules [the equivalent of namespaces in .NET], Classes and Interfaces, which fit better into the SOLID principles of object-oriented coding," Hoelting explained. "It makes it easier to separate concerns in my JavaScript."

So could TypeScript win the hearts and minds of grizzled C# developers who might otherwise be hostile to the scripting language? Hoelting thinks it's too early to tell, as TypeScript remains a pre-1.0 release. Version 0.9 is currently in the works -- an alpha version could be released in April -- and promises to add support for generics and a more robust compiler architecture. You can read more about the upcoming version at Microsoft's TypeScript blog.

"Here's my opinion on TypeScript. Anders Hejlsberg [the creator of C#] and many of the other members of the C# team at Microsoft have been helping to define and develop TypeScript," Hoelting said. "That tells me that we're going to see an explosion of C# features that start showing up in TypeScript. In a year or two, C# developers are going to feel right at home inside TypeScript. That's my take on what I've seen from Microsoft."

Posted by Michael Desmond on 03/28/20130 comments

SharePoint 2013 & Cross-Platform Mobile

Interoperability is emerging as a central theme of Microsoft mobile development at the Visual Studio Live! 2013 Las Vegas conference, being held this week.

In his Tuesday session, "Better Together -- SharePoint 2013 and Mobile Development," Aptillion Inc. Founder and Director Darrin Bishop discussed the SharePoint mobile dev experience on a variety of devices. "Windows Phone is a no-brainer to code against for SharePoint," Bishop said, but he added that new Remote APIs in SharePoint 2013 -- REST and client-side object model (CSOM) -- allow developers to code against iOS and Android devices, too. According to Bishop, on SharePoint 2013, "You're not limited to the [Windows] Phone OS anymore.

Bishop noted that mobile device usage is skyrocketing, and companies that use SharePoint need to develop a "mobile story" to be prepared for the continuing influx of mobile devices in the workplace. "Designers and architects need to think about who is accessing what data or services from where and for what reason," Bishop said.

Touching on the theme of interoperability and the cross-platform capabilities of SharePoint, he commented: "Sometimes it makes sense to browse a product natively and change the UI to make it a little bit easier for the platform, and sometimes it's nice to make a specific app to go after that targeted [platform]."

Bishop described the Android platform as the friendliest to proprietary apps created by developers for private company use. He noted that both Apple and Microsoft have more-restrictive policies about what apps are put onto their devices. He also gave this caveat: "We've got a lot more tools [in SharePoint] to do better mobile devices and customizations, but it's still not perfect yet. It's still a lot of work to make it really work well on all devices, whereas SharePoint on the desktop out of the box is really easy. The tradeoff is really about who your people are and what you're doing."

While the SharePoint mobile dev experience is an evolving area, the biggest impediment to developing mobile solutions in SharePoint may be the product's install base. Many organizations are still on SharePoint 2010, and it remains to be seen if the new mobile dev capabilities in SharePoint 2013 will spur fast adoption.

Bradley Flynn, an audience member, noted: "It's hard, especially for larger companies, to do adoption for a brand-new product like [SharePoint 2013], so usually there's a two-year delay" between product release and company deployment. Flynn is holding off on redoing his company's intranet until they deploy SharePoint 2013 "because I know there are a lot of pluses, like MySites. The social tools that are built in to 2013 are way better than 2010." But he admits the upgrade might be a hard sell -- some of his company's departments are still on SharePoint 2007.

Bishop points out that Microsoft cloud offerings could help companies shortcut the update process and move quickly to the latest tools. "I think companies need to look at Office 365 and SharePoint 2013 in the cloud while they consider their plans," he said. "Office 365 is a strong contender for many businesses."

Posted by Katrina Carrasco on 03/27/20130 comments

Subscribe on YouTube