Get Your Hands Dirty with the Kendo UI Scratchpad

Earlier today, Brandon Satrom announced the Q1 2014 Beta release of Kendo UI. It's definitely worth checking out.

Something you may have missed is a feature we've added to the Kendo UI site called the Kendo UI Scratchpad. It's a JSFiddle-esce environment for getting your hands dirty with Kendo UI:

The (new) Kendo UI Scratchpad!

The (new) Kendo UI Scratchpad!

It's especially worth noting that we've also provided the ability to edit every example we have for our Kendo UI demos:

Note: "Edit this example" is new here.

Note: "Edit this example" is new here.

See the "Edit this example" button (above)? Click that and you'll be taken to the Kendo UI Scratchpad to fiddle around with the demo.

Nice, eh? Go check it out for yourself.

The Telerik Platform: Accelerating Your App Development Lifecycle

The Telerik Platform helps you manage the complexity of mobile application development. It does this through a modular platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native apps. For a general overview of the Telerik Platform - including our motivations for building it - I'd recommend reading Todd Anglin's (excellent) blog post entitled, Telerik Platform 101.

In this blog post, I'll highlight how the Telerik Platform helps to address critical phases of your mobile application development lifecycle -- especially as it pertains to cross-platform development.

Cross-Platform Mobile Application Development

Cross-platform mobile application development can be a complicated process. The white-hot demand for mobile apps, coupled with the ever-increasing pace of change that's occurring in mobile, can make some developers feel overwhelmed as they try to keep up.

Development teams operate efficiently and effectively when they incorporate tools that help - not hinder - workflow. In order to address the challenges you face when targeting mobile application development, you need a development platform that can keep pace with the mobile industry; a platform that helps you manage the complexity of mobile application development, but is modular to be easily integrated into your team's existing development workflows.

Enter the Telerik Platform.

Design

The design phase is one of the most collaborative phases of the application development lifecycle. In this phase, your team will define a lot of your application's functions and operations in detail. They will iterate upon a number of artifacts such as the application interface. The Telerik Platform provides a collaborative environment for seamless prototyping and design.

With Telerik AppBuilder, you can create interactive UI prototypes with an intuitive drag-and-drop visual designer. This feature is supported through an in-browser client:

Telerik AppBuilder: Code-Designer Split

Alternatively, you can author these UI prototypes in a Windows client and an extension for Visual Studio.

The UI prototypes you design can be viewed by other members of the workspace. Any changes made can be easily synchronised between clients. Furthermore, these changes can be committed to a repository. From there, your team can iterate against these designs, propose changes, implement new designs, etc.

Build

A critical factor to the successful delivery of any project is identifying opportunities to improve your team's overall efficiency. In the world of software development, these efficiencies are realised through the tools we use. They can be extremely beneficial to developers because they can automate tasks and/or processes that can produce in valuable feedback to the team (i.e. continuous integration). However, without the necessary skills or experience, the tools you use to build mobile apps can quickly become a burden to manage, especially when targeting more than one platform. The cross-platform development tools of the Telerik Platform eliminates some of headaches associated with this phase of your app development lifecycle.

Note: For a detailed overview of our UI controls for native, hybrid, and web applications, please check out Philip Japikse's blog post entitled, A User Interface For Any Approach.

A critical aspect of any software development project is managing your code with a robust version control system. This is built into Telerik AppBuilder and supports features such as change management, history, and conflict resolution:

Telerik AppBuilder: Version Control

You can also configure a remote source repository, including GitHub!

Telerik AppBuilder: Remote Source Configuration

Complementing the code/design experience is the built-in device simulator that enables you to run your app is an environment that mimics many hardware characteristics of a device:

Telerik AppBuilder: Device Simulator

Mobile platform vendors provide SDKs and include tools for building applications. Coordinating these tools to work as an orchestrated build process can be a daunting challenge. Telerik AppBuilder cloud services manages all the platform dependencies for you, so you can focus on development. No need to download, configure and manage multiple development environments and numerous SDKs. Telerik AppBuilder handles it all for you through a remote build service for deployment to test device or for deployment to app stores.

Telerik AppBuilder: Remote Build

Developers continuously test their applications through a runtime environments such as a simulator or device. Telerik AppBuilder can speed up your development through LiveSync, which lets you make changes to the project in the code editor and see those changes applied in real time in the simulator and across devices.

Connect

Mobile applications face some unique challenges when it comes to connecting to back-end data and services. Unlike "traditional" applications like those targeting the desktop, mobile applications must deal with a dynamic environment of interruptions (i.e. incoming phone calls), high latency, and variable signal strength. Moreover, these applications must play within the confines of a much more restrictive sandbox; the memory and network constraints imposed by mobile platforms force developers to re-think the way applications are architected.

Telerik Backend Services provides a rich, comprehensive set of services to manage your mobile application's data and users. These services also extend your capabilities in the cloud by exposing rich, custom logic to intelligently manage your back-end data.

Note: To understand the motivations behind Telerik Backend Services, please check out Jim Holmes' blog post entitled, Cloud for the Entire Lifecycle.

Telerik Backend Services

With the Telerik Backend Services, you can mobilize your existing data with our standard (web) and custom connectors, which saves you time to develop your mobile applications. Additionally, we have out-of-the-box user management, authentication and push notifications. These and other services provide you turnkey implementations of design patterns that are widely employed by mobile applications today.

Testing

It's common practice to integrate testing throughout all aspects of development. However, mobile application testing is fraught with complexity. The capabilities of devices and their development platforms are constantly evolving to adopt consumer demands. The Telerik Platform helps you manage this complexity through Telerik Mobile Testing, an automated cross-platform mobile testing capabilities.

With Telerik Mobile Testing, you can create and execute web, hybrid, and native tests across range of platforms, including Android and iOS. Our test runner infrastructure is built on Node and provides detailed diagnostics:

Telerik Mobile Testing

Our test infrastructure features a small set of web-friendly system requirements:

  • Tests are authored in JavaScript
  • HTTP and WebSockets forms the communication channel with JSON-formatted commands
  • Android and iOS apps available for native testing (Google Play and the Apple App Store)
  • PhoneGap/Cordova plugin for hybrid testing

Once your tests are written, you can execute them remotely via the CLI or web-based interface:

Telerik Mobile Testing

Test execution and their results are synchronised with the test runner. This includes tests against native apps (including those running in simulators):

Telerik Mobile Testing (In Action)

Once you've executed your test, you can share the results with the rest of your team by publishing them to the Telerik Platform:

Telerik Mobile Testing (In Action)

All goodness.

Deployment

Ah, deployment. It's probably one of the more exciting phases of your software development lifecycle. Just ask ten different people in DevOps what deployment can be like and you'll end up with ten different answers.

Deploying to mobile platforms can be terribly cumbersome and error-prone. Certificates must be requested, code must be signed, devices must be provisioned — all of which is required for local deployment. (This doesn't cover submitting to an app store for review!) Moreover, you'll find that mobile platforms have differing software requirements. Generally-speaking, you need Xcode to target iOS, Eclipse to target Android, and Visual Studio to target Windows Phone — hybrid and cross-compilation tools notwithstanding.

The Telerik Platform can help you manage much of the complexity that comes with deploying to one than one mobile platform.

Telerik AppBuilder: Publish

It provides a streamlined system to publish your apps to devices and app stores. You can have apps packaged and ready for publishing in seconds. From there, you can publish to public and enterprise app stores or deploy to iOS and Android without the need for provisioning.

Management

Ask any mobile developer the joys of managing provisioning profiles or cryptographic identities. It's a non-trivial exercise. Everything from navigating device requirements to setting up a developer account appears designed to prevent you from making apps. The Telerik Platform provides an integrated cross-platform management story to help eliminate some of this pain. that enables you to securely deploy public, private, and web apps to your enterprise app store.

The Telerik Platform: Manage

Managing enterprise users and devices is done through the cloud admin console. From there, you can add and remove users, assign permissions, and delegate roles:

The Telerik Platform: Manage

Measure

Measurement is the first step that leads to control and eventually to improvement. If you can't measure something, you can't understand it. If you can't understand it, you can't control it. If you can't control it, you can't improve it. -- H. James Harrington

Mobile application analytics are one of the most valuable sources of information to a development team because they help measure an application's usage and runtime performance in a real-world setting. And yet, far too often, development teams choose not to instrument their mobile applications to gather this information. It's not because they don't care; rather, it's often because they lack the means to do so; they are missing the infrastructure that's necessary to collect, manage, and analyze these analytics in a quick and efficient manner.

Too often, developers lack insight into the kinds of users they have and the devices they use. Even worse, they can't ascertain the most used features and the most encountered errors being hit in the wild. Telerik Analytics provides all this information (and more) in real-time to give developers the much needed insight that will help them improve their apps.

The Telerik Platform: Accelerating Your App Development Lifecycle

With Telerik Analytics, you can gain an understanding of users and and the way they interact with your mobile applications. This is accomplished by enabling you to better gauge your user base by collecting usage and demographic data. As your mobile application is used, an integrated monitor captures analytics pertaining to a wide range of criteria, including the application's performance, geographic location of users, and feature usage. These metrics are centralised through a data management interface that also includes data aggregation, filtering, exporting and alerts.

Wrapping Up

Feeling overwhelmed? Don't worry. While the Telerik Platform sounds big and all-encompassing, it's modular by design; like a buffet table, you can help yourself to as much or as little as you need. With the Telerik Platform, you can address all aspects of the app development lifecycle, or only those most relevant to you.

The next step in your journey of discovery is to sign up for your free, 30-day trial (with dedicated support) of the Telerik Platform. Once you've established your account, you'll have full access to explore all of the capabilities that the Telerik Platform has to offer.

Thank you for creating a Telerik account

Finally, to learn more about the Telerik Platform, you'll want to visit Mobile Apps Are Dead to register for the launch keynote of the Telerik Platform. Seriously. It's going to be awesome. Join us and be among the first to discover the new way of developing lasting, compelling cross-platform, multi-device app experiences that will change mobile development for the better.

Respond 2014

Last week, I attended Respond 2014 in Sydney.

This one-day conference was organised by the super-awesome folks from Web Directions and was described as “a festival of Responsive Web Design for designers and developers of the multi-device Web”. It featured a number of prominent folks from the RWD community from Australia and overseas, including Ethan Marcotte and Jason Grigsby.

Left-to-Right: Jason Grigsby, Ethan Marcotte, John Allsopp

Left-to-Right: Jason Grigsby, Ethan Marcotte, John Allsopp

Even though I have a vast experience with RWD, I felt like somewhat of an imposter. It had been a while since I had hacked against media queries, fumbled with grids, or dabbled with responsive images. Compounding this problem was the fact that this was my first time attending a conference dedicated entirely to RWD.

Despite all of this, I felt right at home at this conference. The speakers did an amazing job bringing folks along with the materials and concepts presented. Furthermore, I learned quite a number of new things along the way.

Jason Grigsby (@grigs) at Respond 2014 Photo credit: https://twitter.com/StamfordUX/status/430835933487693824

Jason Grigsby (@grigs) at Respond 2014

Photo credit: https://twitter.com/StamfordUX/status/430835933487693824

One of my favourite presentations was by Jason Grigsby who spoke about responsive mobile-first design.

I think Jason provided a lot of solid advice when it comes to tackling responsive mobile-first design. Of particular interest to me was his insights on the state of responsive images. Of the many solutions available, I found Picturefill - a polyfill for the picture element - to be the most practical for helping to address responsive images.

Polyfills: is there anything thing they can't do?

A little later in the day, John Allsopp delivered a presentation entitled, Well, How Did We Get Here? which I found particularly interesting. John invoked nostalgia by taking the audience on a trip through the world of Web development in the 1990s. I remember those days quite well. So many hacks.

John Allsopp laments about the past

John Allsopp laments about the past

John's presentation was excellent because it provided some context around the theme of the day; responsive web design.

I will admit that I started to feel bad for John after 20 minutes into his presentation. He's seen far too many things in the Web development days of old. Naturally, this prompted me to quip the following on Twitter:

Rounding out the day was Ethen Marcotte's presentation entitled, The Map and The Territory. He delivered an interesting presentation that talked about RWD and the future challenges we face globally as more and more third-world countries come online.

All in all, I had a great time at Respond 2014. I learned a great deal and would be very tempted to attend the conference if held next year!

Monitoring Sitefinity Websites with Pingdom

Pingdom is a service that's suited for Sitefinity administrators who wish to remotely monitor and track a website's uptime and performance. Recently, I've been using it to monitor Sitefinity Down Under and thought it would be a good opportunity to share with you some of the things I like about the service. In particular, I'll be writing about Pingdom's check and notification system for monitoring sites.

Pingdom offers different packages to suit your needs. If you're looking to evaluate this service, I'd suggest signing up for its complementary offering, which allows you to monitor 1 website for free. Alternatively, each of its subscriptions start with a 30-day trial period.

Once you have signed up, you will be asked to setup your account and to create a check:

Pingdom: Create New Check

Pingdom: Create New Check

Pingdom features three categories of check:

  • Web
  • Network
  • Email

Network and email checks include those for lower-level network checks like responses from TCP ports and the availability email services such as SMTP.

Web checks include three kinds of HTTP-based checks:

  • HTTP
  • HTTP Custom
  • Transaction Monitor

A HTTP Check is the simpliest one available. It hits a URL/IP and requests the header and static content (i.e. HTML) of the endpoint. It doesn't request any dynamic content like images or scripts.

A HTTP Custom Check hits a predefined endpoint that can execute scripts to determine the status of your site. For Sitefinity-based sites, this can be an endpoint such as an ASP.NET handler or an ASP.NET page. The protocol for a HTTP custom check requires an XML-based payload to be returned by the endpoint:

Pingdom: HTTP Custom Check Settings

Pingdom: HTTP Custom Check Settings

A Transaction Monitor Check is one that executes a series of requests against a URL/IP. For example, you can create a check that requests the homepage of your Sitefinity-based site, logs into the Sitefinity administration section, and then logs out.

A feature of the Transaction Monitor Check that I really like is its ability to provide an IntelliSense-like dialog to construct your instructions on-the-fly:

Pingdom: Create Transaction Monitor Check

Pingdom: Create Transaction Monitor Check

You can easily create checks that conduct a series of instructions against your site. In the example (above), I show how to create one for the Sitefinity adminstration backend. However, it's simple to create a more advanced transaction.

Checks will probe remote URLs/IPs on a periodic basis to see if your site is up, down, or in an "unknown state". You can tweak these settings to trigger notifications when your site is down.

Note: At the time of this writing, Pingdom is currently providing a new service called BeepManager (currently in Beta), which enhances the alert model for Pingdom quite significantly.

In the case of sitefinitydownunder.com, I configured the HTTP check to notify me via email and SMS:

SMS-based notification from Pingdom

SMS-based notification from Pingdom

Last month, we migrated sitefinitydownunder.com from Sitefinity 6.2 to Sitefinity 6.3. We had to take the site offline for a short period of time to perform this upgrade. Notice the 5-minute delay in the SMS-based notification (above) and the email-based (below).

Pingdom: Check Notifications via Email

Pingdom: Check Notifications via Email

In addition to notifications like these, Pingdom provides a series of reports that you can look through to gain insights about your site's uptime:

Pingdom update report for sitefinitydownunder.com

Pingdom update report for sitefinitydownunder.com

Pingdom also features an iPhone app that provides these same reports while you're on the road:

Pingdom on iOS

Pingdom on iOS

In addition to notifying site administrators of downtime, you can also configure Pingdom to create a public status page that will provide your site's visitors with a recent history of your site's uptime performance. You can check out the public status page for sitefinitydownunder.com at the following URL:

http://stats.pingdom.com/j9soofkjsenc

Pingdom provides an excellent service for Sitefinity administrators looking to remotely monitor their sites. In this blog post, I wrote about Pingdom's check and notification system for monitoring sites. Make sure to check it out!

Scott Hanselman at YOW! Brisbane and Brisbane .NET/Azure User Group

Earlier this week, I was fortunate enough to see Scott Hanselman during his visit to Australia. Scott is currently down under as part of the YOW!, one of the better developer conferences we have here in Australia.

Scott Hanselman at YOW! 2013 (Brisbane) Photo credit: https://twitter.com/pbouwer/status/409972933365227520

Scott Hanselman at YOW! 2013 (Brisbane)

Photo credit: https://twitter.com/pbouwer/status/409972933365227520

Scott's a great speaker and his presentations are well worth your time. Before the conference, I quipped on Twitter that his presentations have the potential to expand your mental abilities:

Scott's presentation featured the dynamic duo of web development today:

"Wonder twin powers, activate!" Photo credit: https://twitter.com/mdjnewman/status/409985380234969088

"Wonder twin powers, activate!"

Photo credit: https://twitter.com/mdjnewman/status/409985380234969088

In case you've been living under a rock for the past 3 years, the cloud and browser are eating the world right now.

Scott used a number of analogies that resonated with me during his talk.

For starters, Scott started off by sharing his experience with his attempts to teach an industry veteran of low-level programming the fundamentals of "the Internet". He employed the analogy of the building blocks of a modern operating system to the building blocks of modern web development. (Truth be told, I've done the same in the past. When teaching, I find it's useful to connect the dots with something folks know already.)

Another analogy made by Scott is the idea that a virtual machine is much like a hotel room; it's a temporary place that you're free to trash with the expectation that everything will return to normal upon your return. Here, with the cloud, you can commit apocalyptic-style operations against a virtual machine, all with the experience that the state of the world can be returned to normal. Or, easily replicated to service the business requirements of an organisation. Here, Scott made reference to the door you're find in hotel rooms that join the adjacent room. With sufficient funds, you can have both rooms to scale out, much like with the cloud running on Windows Azure.

I liked this one a lot.

Scott Hanselman at Brisbane Azure/.NET User Groups Photo credit: https://twitter.com/TeamMexia/status/410162647855034368

Scott Hanselman at Brisbane Azure/.NET User Groups

Photo credit: https://twitter.com/TeamMexia/status/410162647855034368

Scott Hanselman at Brisbane Azure/.NET User Groups Photo credit: https://twitter.com/pbouwer/status/410189587651125248

Scott Hanselman at Brisbane Azure/.NET User Groups

Photo credit: https://twitter.com/pbouwer/status/410189587651125248

The following day, Scott delivered another presenation. This time, to the fine folks at the Brisbane Azure User Group and the Brisbane .NET User Group.

Telerik was proud to help sponsor this event. It's rare that we get folks like Scott down here. That's why we felt it was a good event for us to support for the Brisbane community.

Analytics: A Turnkey Solution for Development Teams

Application analytics are one of the most valuable sources of information to a development team because they help measure an application’s usage and runtime performance in a real-world setting. And yet, far too often, development teams choose not to instrument their applications to gather this information. It’s not because they don’t care; rather, it’s often because they lack the means to do so; they are missing the infrastructure that’s necessary to collect, manage, and analyze these analytics in a quick and efficient manner.

That's why EQATEC Application Analytics from Telerik is such a compelling offering. It provides a turnkey solution for development teams looking to take advantage of application analytics.

EQATEC Application Analytics helps you answer questions like:

  • What exceptions are being thrown by your application? When are these exceptions being thrown?
  • What system configurations do your users have?
  • Which application features are the most used? Which features are the least used?
  • Where are your application’s users located?

EQATEC Application Analytics is able to accomplish this task through the integration of a small monitor into the application code.

From there, developers can track feature usage, feature timing, thrown exceptions, and much more. Once the monitor is successfully integrated into the application, the data that’s collected is sent to a cloud-based service and website that analyses this data and generates a set of rich, detailed reports. These reports can be manipulated through filters to provide deeper insights into an application’s usage.

Recently, the team has been extremely busy, building a new, state-of-the-art HTML5-based interface that’s based on Kendo UI, which will be released later this year. In addition, a new SDK is being prepared which will allow you to monitor Icenium applications. This monitor is due to be released next week.

I encourage you to talk to your customers about the power of application analytics and how it can enable you to gain valuable insights into your applications through EQATEC Application Analytics. The service is free to try forever - it will monitor one application with up to 100 installations/users per month for free.