Skip to content
Sep 15 14

ListViewWebPart – Set custom SPView (SharePoint 2013/2010)

by Amol Ajgaonkar
ListViewBG_BM

I was working on a feature stapler to add a list view on the landing page. I simply created an instance of the ListViewWebPart class, set the ListID, ViewGuid and the WebID and added the web part to the page. Great, I saw the web part on the page. But then, I realized that the web part was not rendering the view I had set.

Solution:

Searching online, I found numerous articles describing how a ListViewWebPart works. To summarize, ListViewWebPart creates a hidden view and uses that view to render. So, even if you set the view while instantiating the web part, it does not use that view.

The solution for this was pretty simple, all I did was use the XSLTListViewWebPart instead of the ListViewWebPart and it used the view that I set. Here is a snippet of code that returns a XSLTListViewWebPart.

public static XsltListViewWebPart GetListWebPartWithViewFor(SPList list, string webPartTitle,string viewName)
{
XsltListViewWebPart lstWp = new XsltListViewWebPart();
SPView view = list.Views[viewName];
if (view != null)
{
lstWp.ViewGuid = view.ID.ToString();
}
else
lstWp.ViewGuid = list.DefaultView.ID.ToString();
lstWp.ListId = list.ID;
lstWp.WebId = list.ParentWeb.ID;
lstWp.Title = webPartTitle;
lstWp.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleOnly;

return lstWp;
}

Aug 29 14

Fifteen Mobility Improvements To Bring Your Field Staff Into The Now

by Sadie Van Buren

20140514_Field_Enablement_At_Meat_Spot_crop_sq_200   If your field workforce is up and running on a mobile device platform to do their work, congratulations! You’re already realizing the benefits of stepping away from a paper-based process. But is their mobile experience taking advantage of the latest and greatest functionality? Advancements in just the past two years have been so rapid that many of the functions that seemed revolutionary just a short time ago have been eclipsed. The field service experience no longer needs to be a disembodied app on a device – now the device can act as a Swiss Army knife of tools, as well as an extension of the desktop and your corporate systems.

I interviewed the experts on our Devices and Mobility team, and they shared with me fifteen mobility improvements you can take advantage of today, that will empower your field staff and make their work lives easier:

Functionality Then Now
1. E-signature capture Needing to sign on paper, or to use a dedicated device or stylus, which is challenging if it is lost, stolen, broken, or used in a slippery / greasy environment Sign with your finger.
2. GPS location detection Continual connection to wifi drains the battery.
Example: Needing to track vehicles during their delivery routes, or find equipment or inventory at a facility.
Get regular location updates without being continually connected.
3. Offline / disconnected data access Long, tedious waiting for app sync; inability to multitask. Sync in the background while you continue to work.
4. Cross-platform availability Locked into a single platform, heavy reliance on native code. Provide cross-platform availability with minimal native code.
5. Multiple functions in a single device Dedicated, proprietary devices that provide a single function.
Example: a retail organization having a separate device for everything the customer can do in their stores – price scanning, gift registry, etc.)
A single device that can support multiple use cases and functions.
6. Image capture Needing to carry a separate camera or switch to separate function.
Example: taking photos during a site inspection.
Hands-free data capture.
7. Audio capture Ambient environmental noise means poor recording quality.
Example: Elevator shaft inspection – making voice annotations while there is a loud hum in background.
Custom filters can provide background noise reduction as needed.
8. Data capture Manual data entry.
Example: Capturing environmental temperature at different times of day.
Sensors can report back to your app, eliminating manual data entry.
9. Scanning / barcode Scan individual items with a dedicated scanner. Walk into a room and anything with a Bluetooth low-energy signal can be captured.
10. Real-time streaming Streaming kills your cellular plan & battery life. Design apps to only stream on-demand; implement push notifications for background updates.
11. Screen Brightness Battery drain.
Example: Dim environmental lighting, for example at an inspection site, requires higher screen brightness.
Profile your app’s power consumption using tools; theme the UI to work well across ambient lighting conditions.
12. Dashboards Lacking the ability to receive alerts and act upon the information displayed. Sites are responsively designed and the computing power of the device is greater. Receive information, act upon information. See your dashboard on your phone.
13. Native applications Applications such as those in the MS Office suite opened in web browser version with varying results. The software becomes part of the tool. Applications such as PowerPoint can be opened and projected from the phone.
14. Personal assistant The automated PAs of two years ago produced varying results with limited functionality. Today’s functionality is much improved. Assistants like Siri, GoogleNow, and Cortana can analyze your calendar and help with reminders.
15. Segregation of enterprise / personal Needing to carry two devices Today’s mobile operating systems handle this nicely.

 

For more information, read our Field Enablement case studies for the Insurance and Medical Devices industries, and join our Field Enablement Roadshow in New York, Chicago, and Boston!   We look forward to your feedback!

Aug 26 14

The Business Drivers of the Modern Application – Part 11: Conclusion

by Mikhail Shir

Consumer expectations are changing the way that corporations design, build and run applications.  Employees are increasingly asking their internal IT organizations to provide experiences that are similar to their consumer experiences with websites, devices and applications.

Successful IT organizations are addressing the need to support these increasing business demands by focusing on these pillars and dimensions:
Experience

Architecture

Process

They focus on experience, architecture and process to create successful modern applications.

Experience enables IT organization to deliver applications that operate the way that the user prefers to work instead of requiring the user to change to accommodate the applications.  This demonstrates to internal users that the technology team understands their needs and is responding by making their day-to-day activities simpler, more intuitive and more efficient.

Architecture enables IT organizations to deliver applications that can scale to meet the needs of the organization and eventually to external partners.  They also ensure that the user’s availability and security needs are met.

Process allows IT organizations to more effectively partner with their business counterparts to build applications.  Agile methodologies allow business partners to set priorities every few weeks instead of trying to create rigid yearly plans.  They also allow IT organizations to get direct feedback from the end users on what is working and what is not.  Breaking down those barriers helps to deliver better software faster to end users.

Thank you for taking the time to read the business drivers of modern applications.  We hope that this spurs discussion into how dramatically consumer demands have changed how we should be thinking about building and delivering applications.

Aug 20 14

The Business Drivers of the Modern Application – Part 10: Process Pillar: Engagement Aspect

by Mikhail Shir

In the final series post, we are going to discuss the Process pillar.

The Modern Application Process Pillar focuses on how software development teams are engaging with their business partners and customers to build applications.

Engagement Aspect

Traditional applications are built by disparate product, application development and testing teams.  Interaction between the teams is done through liaisons and lengthy requirements documents.

Modern applications are built by teams that contain a cross-section of skills and responsibilities.  Team members will include product owners, user experience, development, testing and release (configuration) management.  Ideally, the team will share the same space in an office, but often that is not possible. If it is not possible to share the same physical space then the modern application team must use tools to collaborate and coordinate their work throughout the software development lifecycle.

Participation in social networks has grown rapidly over the past decade.  Consumers regularly interact with friends and colleagues on these networks.  They follow people and are followed by others.  They tweet, retweet, share, link, like and comment on content that gets shared with people of all walks of life.

Consumers crave social interaction and want to provide feedback into how their applications are built to better support their needs.  All technical teams (development, testing and operations) want to be involved early in the development cycle to ensure that applications are built well.  Providing feedback throughout the build process provides a sense of ownership among end-users and improves later adoption.

There is growing evidence that informed groups are better decision makers than a few individuals.  In “The Wisdom of Crowds,” James Surowiecki argues that large groups of people are smarter than an elite few, no matter how brilliant those few are.  This approach leverages the collective intelligence and experiences of many employees to build better applications.

Successful IT Organizations create cross-functional teams that allow team members to express their opinion and allow the team to set the right application development priorities to support the organizational goals.

Join us next week for the conclusion to this series.

Aug 6 14

The Business Drivers of the Modern Application – Part 9: Architecture Pillar: Availability Aspect

by Mikhail Shir

In Part 9 of this series, we are going to discuss on the Availability Aspect of the Architecture Pillar.

As a reminder, the Architecture Pillar focuses on ensuring that the application is built using modern development techniques to create maintainable, scalable and resilient applications.

Availability Aspect

Traditional applications have extended system downtime to run maintenance and perform batch processing.

Modern applications have limited to no system downtime.  They are engineered to allow portions of the application to be taken offline without impacting the availability of the whole application.  They are engineered to support multiple versions of the application running concurrently. They avoid batch cycles and instead incrementally update the application data throughout the day.

Consumers expect applications to be available at all times.  Prior to the web, there were two categories of consumer systems that had high levels of availability: telephony (dial-tone) and credit card payment (card swipe) systems.  Consumer-driven websites embraced the need to be always-on because every second of downtime equated to lost revenue and diminished customer satisfaction.

It has been difficult for IT departments to offer high availability.  Many internal IT applications are saddled with long downtimes due to extended system maintenance windows and batch cycle times.  They are remnants of the time when employees only worked during business hours within company buildings.  IT departments could carve out large maintenance windows for their internal application maintenance.

Modern applications recognize that the need for accessibility of information on an almost 24×7 basis is driving the need for significantly greater application availability.  Modern applications are shortening if not eliminating maintenance windows to meet this need.  They are transforming daily batch programs into updates that can be run throughout the day and re-engineering their applications so that they can be deployed incrementally.  They are increasing availability of their application in a cost-effective manner by focusing on resiliency of many, low-cost components instead of investing in the reliability of a single, expensive component.

Successful IT Organizations focus on application availability instead of uptime through a combination of application development, infrastructure and release management disciplines.  They are upgrading or replacing systems that cannot support minimal system downtime.  They practice automatically deploying the application to multiple environments prior to going live. To meet this need economically, modern applications must be designed to be resilient.

Join us next week as we wrap up the series when we discuss Engagement.

Aug 5 14

Join us for a Field Enablement Roadshow – 9/3 – 9/30

by Sadie Van Buren

Join Microsoft, BlueMetal, Apprenda and Xamarin for a half-day in-person event to see how you can enable your field agents with a native mobile application optimized for their mobile devices, with content and data storage in the Cloud.  Learn how you can radically improve your field staff’s processes and response time while efficiently managing your infrastructure and sharing your application code across platforms.

You will learn about:

  • new opportunities in mobility and the cloud
  • latest capabilities you could tap into
  • pitfalls to avoid
  • how to expand your reach across devices and platforms
  • real-life case studies

Our partnership brings you the best of BlueMetal’s design, architecture, and engineering expertise; Apprenda’s solutions for the private cloud; and Xamarin’s solutions for native mobile applications; all on the Microsoft stack you know and trust.

Wednesday 9/3/14 – NYC – NYC MTC, 11 Times Square, New York, NY 10036 - Register for New York

Wednesday 9/17/14 – Chicago – Chicago MTC, 200 E. Randolph St., Suite 200, Chicago , IL 60601 - Register for Chicago

Tuesday 9/30/14 – Boston /Cambridge – Cambridge MTC, One Cambridge Center, Cambridge, MA 02142 – Register for Cambridge

 

 

Jul 23 14

Oren Novotny named Microsoft MVP for Windows Platform Development

by Sadie Van Buren

Oren Novotny has received the Microsoft Most Valuable Professional (MVP) designation in Windows Platform Development. The Microsoft MVP award is given to exceptional technical community leaders who actively engage and share their high-quality, real-world expertise with others in their local online and offline communities.

In addition to receiving MVP designation, Oren is a Microsoft Certified Solution Developer (MCSD) for Windows Store Apps, and a Xamarin Insider. He is actively involved in the developer community.  He created a version of MVVM Light, a framework for WPF, to make it cross-platform with a portable class library, and maintained that version in sync with the original author’s changes.  He is the owner-maintainer of the Ninject PCL Fork, which provides better dependency architecture for applications.  He extended Fluent Assertions to the Xamarin platform.  Most recently, he extended the support for running xUnit tests on Xamarin, iOS, and Android as well as Windows Store applications and Windows Phone 8.1.

Read the full press release here.

Jul 23 14

The Business Drivers of the Modern Application – Part 8: Architecture Pillar: Scalability Aspect

by Mikhail Shir

In Part 8 of this series, we are going to discuss on the Scalability Aspect of the Architecture Pillar.

As a reminder, the Architecture Pillar focuses on ensuring that the application is built using modern development techniques to create maintainable, scalable and resilient applications.

Scalability Aspect

Traditional applications can scale, but usually require long lead times and high cost to provision additional capacity to support an enterprise-scale user base.

Modern applications can scale elastically, quickly and cost-effectively to support an internal-scale user base.

Consumers expect that their applications will be able to scale elastically to support a very large user base.  Consumers have seen startups like Instagram with significantly fewer resources than their enterprise be able to grow to support millions of users.  Their expectation is that enterprise applications will have the same ability to scale to meet an enterprise user base.

Modern applications are built with elasticity in mind to ensure that they can be rolled out to a large enterprise user base and maintain performance.  They are built to be elastic.  That is, they are built to be scaled up and down quickly to meet user demands at appropriate costs.

Successful IT Organizations think about scale early on in the development cycle.  Modern applications are designed to be elastic and thus favor a virtualized, scale-out model where more servers are added instead of a scale-up model where larger hardware is required.  Development teams collaborate with operations teams to ensure that additional capacity can be added quickly through the use of pre-configured virtual servers.  Development teams work with data teams to ensure that the data tier can scale effectively and efficiently to meet user base demands.

Join us next week for the next of the business drivers – Availability.

Jul 16 14

The Business Drivers of the Modern Application – Part 7: Architecture Pillar: Responsiveness Aspect

by Mikhail Shir

In Part 7 of this series, we are going to discuss on the Responsiveness Aspect of the Architecture Pillar.

As a reminder, the Architecture Pillar focuses on ensuring that the application is built using modern development techniques to create maintainable, scalable and resilient applications.

Responsiveness Aspect

Traditional applications strive for good enough performance.

Modern applications require great performance and are built with scalability and speed in mind.  They are performance and load-tested throughout the development cycle to validate the application’s responsiveness.

Every millisecond counts for consumer applications.  A 2009 Akamai Study found that 49% of people expect web pages to load in 2 seconds. A New York Times article in 2012 found that impatient web users were fleeing slow loading websites.

Consumers’ application performance expectations are based on consumer-driven websites like Google, Bing and Amazon.  Consumers are putting pressure on their IT department to continually improve the performance of their internal applications to meet their expectation which are based on consumer web sites that they use daily.

Modern applications are built with responsiveness in mind to ensure the highest quality user experience.  They have adopted many of the consumer website techniques and tools like content caching, progressive rendering and Content Delivery Networks to meet those heightened expectations.

Successful IT Organizations plan for responsiveness early on in the development cycle.  They design applications to be responsive for their expected concurrent user base.  They test application performance continuously throughout the development cycle.  They establish preproduction environments that closely mirror production environments and take steps to ensure that acceptable performance can be maintained at expected levels of scale in production.

Join us next week for the next of the business drivers – Scalability.

Jul 11 14

Translating Brand into a Digital Experience – Step 3: Choosing a device strategy that best suits your brand

by James Horgan

In our final post on this three part series, we will look at how to choose a mobile strategy wisely to deliver on your unique brand as quickly as possible.

If we take a look at Windows 8, iOS6 an Android, they have unique user interfaces, brands, and gestures. This means that for one OS, your design is easy to build because it echoes that os experience, while for another it may be vastly difference and require more development time.

Let’s take a look at a concrete example of a brand and a derived application that extended from it – Johnson & Johnson and its’ digital health scorecard.

Looking at JnJ’s homepage:

Screen Shot 2014-03-04 at 11.18.16 AM

We can see some of the brand aesthetic – highly visual imagery, simple, clean layers of blocked color and font usage.

Look at sample interfaces from Windows 8, iOS6 and Android

Nokia_Best-Buy byond_b66_main_article_1361278810_540x540iphone5c05jpg-e94d57_960w

So naturally when we apply an app design from Johnson & Johnson such as can be found at:

http://www.digitalhealthscorecard.com/

We want to choose an OS that expresses the experience, but also reflects the brand as quickly as possible. In this particular instance Windows 8 is a perfect fit because:

  • Large background canvas for background, people, focused imagery.
  • A process that is linear but can navigate to any step at any time requires a more flexible user experience architecture – i.e. a higher ability to swipe/pinch to various parts of the screen, which is aligned to Windows 8 UX
  • Uses of blocks of colors with font to create a simplified, beautiful experience.

When the experience is applied to Windows 8, we can see how design time is lessened because they are re-using the JnJ brand template to maximum effect.

Screen Shot 2014-03-04 at 11.37.35 AM

Screen Shot 2014-03-04 at 11.38.13 AM

Screen Shot 2014-03-04 at 11.37.54 AM

Similarly note how easy it is to port that experience to iOS and Android now that the visual is established: design tweaks come in the form of reusing OS controls to save on development time, while still keeping the overall feel of the experience intact.

photo Screenshot_2014-03-04-13-11-06

Look for an OS that is flexible to your needs – Windows 8 in particular is good at meeting its 3rd party brands first, and itself second because it has an inherent design language that can easily be tweaked through visuals, colors and font choices to reflect another brand, quickly and effectively. iOS6 had a habit of demanding its client brands design their apps to meet its infamous rigid startings, essentially absorbing big companies under its brand umbrella. But with iOS7 that rigidity is  gone because Apple no longer is the only design option, and it must be adaptable to the ever increasing needs of its clients design teams.

When developing your apps, and you have an established brand, you are in control of your mobile strategy- don’t degrade your design style because the OS demands it, choose the right OS that can fulfill on your brand experience first, then alter appropriately for other systems. This will show a radically reduced cost in the time it takes to establish your design style on 3rd party systems.

Reviewing our 3 part series remember this tips in evolving your brand:

  • Design your brand based on your core values, not on what ‘looks good’. Fashions change, but brands that are representative outlast.
  • Express your digital user experience based on your needs, not the perceived restrictions of the device UX.
  • Finally, when rolling out across multiple native apps, choose the UX philosophy that is closely associated with your brand to ensure effective and quick translation to a digital experience.

Earlier posts in the series:

Translating Brand into a Digital Experience – Step 2: Maintaining your brand in the digital age

Translating Brand into a Digital Experience – Step 1: Understanding Brand