Contents tagged with HTML5

  • How HTML5 Apps can be more secure than Native Mobile Apps

    As businesses accelerate their move toward making B2E applications available to employees on mobile devices, the subject of mobile application security is getting more attention.  Mobile Device Management (MDM) solutions are being deployed in the largest enterprises - but there are still application-level security issues that are important to consider.  Furthermore, medium size businesses are moving to mobilize their applications prior to having a formalized MDM solution or policy in place.

  • Simplifying mobile app development with HTML5 and BaaS

    BaaS is increasingly relied on by mobile app developers as a simple way to link with cloud storage, manage users, send push notifications, and link with social media networks.  By leveraging a single set of BaaS APIs (like Kinvey's Data Links), app developers gain access to a full suite of backend functionality without developing from scratch or sourcing from wide range of service providers.  Basing an application on a scalable and secure back end is essential for enterprise-class deployments. Kinvey's BaaS offering has a proven track record, with successful deployments with companies including Johnson & Johnson, NASCAR, and GSN.

  • Implementing fine-grain security policies in enterprise HTML5 applications

    What is fine-grain security?

    Fine-grained access control refers to the data security model where users of different permissions are given different sets of access rights to read, right, or edit data. Considering fine-grained security policy within applications is becoming more important as apps are increasingly designed to reach a wider group of users. As businesses move to bring their apps to web and mobile, it is more common to create different views of the same core application that are optimized for the specific audience. For instance, an application admin will have a different view than a user performing data entry in the field and a different view from the manager looking for summary statistics. These different application "views" all carry different access rights to the data. Implementing fine-grained security policies within an application is typically the role of the application administrator. Designing in utilities to manage fine-grained access control is the role of the developer.

    Visit our blog for our entire selection of blogs

    Gizmox Blog

    Leveraging Visual WebGui to integrate fine-grain security into your apps

    Gizmox recently announced new features of Visual WebGui that supports the ability to define form-level security policies within VWG apps. Visual WebGui is designed to integrate with enterprise access control technologies like LDAP or Active Directory where access rights can be managed centrally. Visual WebGui developers can build fine-grained policy control that lets application admins define the specific access rights of different types of usersat runtime. The Visual WebGui Business Server integrates with enterprise access control servers at runtime to enforce policy within the application. Abstracting this functionality to the platform level radically simplifies the process of building this kind of access control into an application..

    Demo

    Gizmox Website

    Form Level Security Demo


    Gizmox-ProductBox-VWGps_trans
    Start building rich HTML5 mobile applications within Visual Studio today. Trial a full-feature version of Visual WebGui Professional for 30 days with no commitment.
    Free Trial

    Gizmox Blog

  • USING VISUAL WEBGUI VISUAL EFFECTS TO BUILD INTERACTIVE APPLICATION UI'S

    Desktop vs. Web Application Interface Design

    Building effective user interfaces for enterprise applications is one of the most confounding elements of business application programming.  Genius developers that excel at linking complex data sources, designing highly efficient application logic, and architecting well organized user screen stacks often struggle to build attractive, intuitive, and responsive UIs.  The challenge is that building good UIs requires equal parts art, social science, and programming skill. This challenge is felt particularly strongly in the world of business application development.  As business app developers are shifting away from desktop application platforms to web development for delivery on both desktops and mobile devices. Desktop development tools like VB6 and PowerBuilder had well developed UI tools based on windows based user interaction models.  Adapting user interface concepts to desktop and mobile web poses unique challenges to developers.  This MSDN article “Designing for Web or Desktop?” provides a nice comparative summary of the topic.

    Visit our blog for our entire selection of blogs

    Gizmox Blog

    While there are a rich sets of HTML5 controls that the C# or Java programmer can use to help with web design, many of of the web development toolsets were conceived to facilitate development of modern websites – not to support the specific interaction model of business applications.  In preparing this article, I found this older article from Smashing Magazine discussing the specific differences in designing website UIs vs. web application UI interesting.

    Customizing Properties of Application Controls

    One of the challenges facing the web application developer who is making the transition from desktop development is that they do not have the direct access to control properties they do with desktop development environments.  Gizmox Visual WebGui is a web application development environment built with the desktop developer in mind.  Part of this is giving the same kind of access to the appearance and behavior of the application control set that desktop developers get.  The video series below provides an overview of how to modify the visual effects of Visual WebGui controls.  For an extensive set of examples including sample code, check out the Visual WebGui CompanionKit section dedicated to Visual Effects.

    Using Visual WebGui Visual Effects

    Watch our Video tutorials


    Gizmox-ProductBox-VWGps_trans
    Start building rich HTML5 mobile applications within Visual Studio today. Trial a full-feature version of Visual WebGui Professional for 30 days with no commitment.
    Free Trial

    Gizmox Blog

  • Customizing HTML5 enterprise apps with Visual WebGui themes

    This is the 5th post in our series highlighting new features of Visual WebGui v7. Here we discuss pre-built Visual WebGui themes that come standard with v7 - we will discuss the themes feature generally and show an example of how to customize your app with a theme.
    Visit out blog for our entire selection of blogs
    Gizmox Blog

    Designing an HTML5 enterprise app is not the same as building a website

    As enterprise app developers know, there are many differences in designing an HTML5 user interface to an enterprise app versus designing a basic website.  While both require a sense of design, managing the look and feel of the many different controls, user input patterns, and screens of an app is different from managing the flat surface of a basic website.  While a high end B2C app may warrant bringing in the skills of UI design specialist and the time to customize the look and feel of all of the controls and other application surfaces, many enterprise app developers building B2B and B2E apps are under budget and time pressure to rapidly adapt their existing apps to web and mobile.  The themes feature within Visual WebGui7 provide an approach to rapidly designing or re-skinning the look and feel of your app with pre-built themes including Android, iOS, Windows, and more.  As an example of how themes work, check out the calendar control in the Visual WebGui CompanionKit. Click "Themes" in the upper right to choose alternate themes and see how it changes the basic look of the calendar control.

    Using Visual WebGui themes to design a user interface for HTML5 apps

    Visual WebGui themes affect the resulting user interface in 2 broad ways:
    1. Themes  are responsible for how the client application is rendered on a browser.  For example, the theme defines that a TextBox is rendered on the browser as some levels of <div> tags with an <input> tag for the input.
    2. Themes affect how the the core application code drives client side behavior.  For example, the theme also defines that the TextBox input area should be rendered in certain color and font size.
    These two purposes are closely related but their separate purposes but are important to understand when thinking through the user interface.

    Working with Visual WebGui Themes

    A Visual WebGui theme is defined by a set of controls that when applied, are responsible for all appearance and control behavior related properties. The controls in the themes designer are stacked in a TreeView format on the left side of the themes designer screen. When you click on the control level, a properties pane will appear on the right-hand side. Here you are able to customize the properties view of the app’s controls such as its BackColor, its BorderColor, BorderWidth, Font etc. To work on a specific section of a theme, you must work on that section’s family control such as “ButtonBase”, “ComboBox”, “CheckBox”, etc.

    Creating a new Visual WebGui Theme

    Before we provide an example of customizing an existing theme, we will explain the simple detail of how you create a new theme based on another specific theme. You do this by creating a theme in Visual Studio (Add / New Item / Visual WebGui / Theme…) then you edit the source file for the theme and change the inheritance, so your new theme inherits from a specific theme. It may also deserve a mention that, as with all themes used in a VWG application, you need to register your theme in web.config (through the Registration tab in VS integrations).

    Customizing a HTML5 mobile theme

    To simplify the explanation of customizing your very own HTML5 mobile theme, we will work on an existing android theme that looks like this:
    pic1

    We would like to change the default ForeColor for this entire mobile theme to the color fuchsia, the ListView border color to red and edit a specific arrow control’s color.
    Let’s first customize the ForeColor of this Andriod mobile theme. Select the control level from the TreeView on the Left pane and edit the ForeColor on the properties grid on the right pane as shown below:
    pic2
    The resulting change will appear as follows in the given mobile web application:
    pic3
    As you can see, the ForeColor has changed across the entire app to the color fuchsia. Next, we would like to customize the bottom arrow image in this Android theme. The arrow is part of the ListView family so we would need to select the ListView family control on the left pane. The images associated with this family appear in the middle resources pane. In this example, we will customize the top “ArrowArrowLTR” arrow image. As we can see that it has been inherited to this theme (the small arrow on the bottom left is the sign that it is inherited), we need to save the image to our current theme before we could edit it and therefore we will right click on the image and select “override”.
    pic4
    Now that the image has been copied to our current theme (and is no longer inherited) we can go ahead and edit the image. Simply double click on the image and it will open in your graphic design software. Go ahead and edit it as you wish, change its color or texture if you like. Don’t forget to save it to the theme when you’re done!
    pic5
    Next, we would like to customize the BackColor of the theme from its current default color to red. We do not wish to apply the change to the entire app rather, only to the ListView level, we will choose the ListView family control in the TreeView pane and customize the “BackColor” under the properties pane as shown below:
    pic6
    Once we’re finished, we will be able to view our app with the changes to the theme that we made.
    pic7

    We have our new ForeColor text, ListView BackColor and arrow color and we’re all set!

    Considerations when changing pre-built themes

    While it is relatively easy and safe to change the simple attributes of a control in a theme(in the property grid, and even override an image), it is important to be aware of the consequences regarding later upgrades once you start overriding any of the xslt, html, js and css resources:
    1. If you override such a resource (say an xslt or js), this resource will keep on being overridden and will contain the data/code it had at the time it was overridden.
    2. If you decide to upgrade your Visual WebGui version in a later stage, this overridden resource will keep on containing the data at the time of the original overriding of that resource. This means that updates/fixes/enhancements Gizmox is making to that particular resource will not be included in your theme, unless you delete the overridden resource, re-override it and re-apply your customizations to that resource.
    This fact is highly important as it is overlooked by most users customizing a theme, which causes many frustrations regarding themes during upgrades of Visual WebGui to a newer version. It must be understood that it takes time to do Visual WebGui upgrades, especially where there are heavy theme customizations on the client resources. Further to this, it is most important to understand that customized themes (as are custom control skins) are very dependent on the namespace current when the theme was created. For instance, if you create a theme in a Library project with namespace MyTestLibrary and you edit your customizations to that theme in the same Library project, you will not be able to simply copy that custom theme to your MyRealApplication Visual WebGui application. Rather, you will need to either make sure the custom theme has the same namespace as it originally had, or you need to re-create the theme within the new namespace and re-do the customizations. In the example given, we discussed customizing the “simple property values”. Keep in mind that this does not involve overriding any resource files and the given example is a simple customization example that should be able to survive a VWG upgrade without modifications. Further, keep in mind that this article describes the attributes you set for the actual Html representation of the control and not exactly how the control is constructed.  
    Go ahead and start customizing your mobile web app’s look and feel!

    Gizmox-ProductBox-VWGps_trans
    Start building rich HTML5 mobile applications within Visual Studio today. Trial a full-feature version of Visual WebGui Professional for 30 days with no commitment.
    Free Trial

    Gizmox Blog

  • Adapting HTML5 web applications to mobile with Visual WebGui Form Factor designer

    This post is the 4th in a series focusing on the new mobile design features in Visual WebGui 7.  Here we focus on how the new form factor designer simplifies adapting a HTML5 web application for mobile clients.
    Visit our site for our entire selection of blogs Gizmox Blog

    As the benefits of enterprise mobility are more accepted, IT organizations and line of business managers are looking beyond unified communication and collaboration solutions to bring enterprise applications, typically limited to the desktop, to employees’ mobile devices.   While delivering applications on the web with cross-platform HTML5 are a step in the right direction, application user interfaces need to be tailored and optimized for the devices users are using to access.  This task is complicated by the fact that, as most all companies are adopting BYOD policies, application interfaces need to accommodate a wider array of operating systems, browsers, and mobile form factors.  To truly capitalize on enterprise mobility, development teams need a fast and easy way to deliver integrated enterprise mobile apps for the many devices (phones and tablets) and operating systems (iOS, Android, Windows) users want to work on. There are several key differences in interface design for desktop and mobile including: different screen sizes, different network communication speeds, different computing resources, and different presentation layouts.  In addition, the current level of support for different visual elements, such as HTML5 and CSS3, vary between different browsers. Therefore, developers are often forced to design and create several versions of the same form for the different form factors and operating systems supported. Visual WebGui form factor design feature provides enormous benefits to enterprise mobile application developers. Using the same code base, the feature simplifies cross-platform development by allowing you to easily create a separate form for each mobile device.  The feature comes with a set of form templates tailored for the most common devices on the market making it simple for you to develop cross platform mobile application interfaces and at runtime, ensure the proper form is appropriately served to the client based on the device, browser, and operating system.

    Adapting to mobile form factors with Visual WebGui at runtime

    An application running on Visual WebGui Business Server identifies the browsers and devices that send requests using a set of Detection Definitions. These definitions are set for each browser or device individually. When a request for a form is received, the application detects the definition of the sender, and searches for a match in its list of browser definitions. When a match is found, the appropriate sub-form (a device specific form) is routed to the requesting browser or device of the mobile app. Below is an example of how these built in definitions are displayed in the Browser Definition management window of your application: blog2

    Designing to mobile form factors with Visual WebGui

    In addition, the Form Factor feature offers Design Definitions mobile development tools, which are intended to mimic the look and visual dimensions of a specific mobile device. By displaying a graphic replica of the mobile device in the designer, you are able to easily adjust the content and layout of a sub-form to its intended mobile device. Below is an example of the Iphone5 device:
    blog3

    An Example of mobile development with Visual WebGui Form Factor Designer

    1.  In the below example, we will create a simple Login base form that is intended for logging into an application. This form will act as the base form. By using the built-in browser definitions, both for runtime and design time, the layout of the sub-form can be quickly adjusted to its intended browser, and then routed to it automatically:
    blog4
    2.  We would like to create a sub-form for Android mobile users. The sub-form is based on the built-in browser definitions for Samsung Galaxy S3, and it inherits its content and layout from the Login base form:
    blog5
    3.  When opening the sub-form in the Designer, the inherited content is shown inside an image of the device, according to the built-in Design values that were set for this device:
    blog6
    4.  When the application detects the browser definitions that match the Samsung Galaxy S3 definitions, it routes to it the Samsung sub-form:
    blog7
    5.  It is apparent from both the Designer view and the browser view that the inherited content of the sub-form is too small for the device display resolution and size. Therefore, using the designer, the content display of the sub-form is enlarged to fit the Samsung display area:
    blog8
    6.  When the application runs and the sub-form is routed to the Android mobile browser, its content size now fits the display area of the device:
    blog9

    Additional Resources

    View the complete Form Factor Tutorial for cross platform mobile application development in our demo video library.  Or read additional information on the form factor designer in the User Guide.

  • Building HTML5 applications that can tolerate temporary network disconnects.

    This is the 3rd in a series of blog posts dedicated to highlighting the exciting new mobile development features of Gizmox’s Visual WebGui 7. 
    Visit our site for our entire selection of blogs Gizmox Blog

    Enterprise mobility means that people are working in wide range of environments – not all of which have reliable internet connections.  Even with pervasive wifi and LTE data, temporary disconnects are a matter of daily life – elevators, subways, tunnels or that weird stretch highway you hit every night on the way home.  When deploying enterprise applications on HTML5, one needs to consider what happens when a user loses their connection.

    Visual WebGui Offline mode

    Gizmox built an Offline Mode feature into Visual WebGui to give developers the option to design applications that can tolerate adverse network conditions.  In the event of a lost or interrupted server connection applications can continue to operate without post-backs to the server. Beyond dropped connections,  Offline Mode can help keep your Visual WebGui application responsive in the event of a slow network connection, with changes requiring an internet connection being synchronized in the background.

    Designing HTML5 applications that tolerate offline conditions

    When planning your development of HTML5 applications that can manage offline conditions, keep the following best practices in mind. Secure-by-design While putting application logic on the client can help with managing offline situations, it is best to keep the algorithms and business logic on the server.  Keeping sensitive data and logic on the server minimizes application security risk. Leverage local device data storage capabilities Think strategically about how you can keep event handling logic on the client and avoid server post backs.  Even when the server is connected, you can improve performance by executing simple tasks (e.g. validation) on the client – see prior blog post about leveraging Visual WebGui Client APIs. During offline conditions, events that execute on the client accumulate, synchronizing on the server when connectivity returns. Actively plan for online return Developers should explicitly plan for the return to online conditions after events have accumulated on the client during offline periods.  Care should be taken in ensuring integrity of IDs during resynchronization.  As the session is explicitly interrupted during an offline event, resynch logic should consider the potential of out of synch ID changes.

    Sample offline mode implementation

    The first step in implementing offline mode client side logic is to check to confirm that the user (i.e. user’s client) is offline.  Below is a sample for the “OfflineConfirming” event which is triggered whenever an error occurs in the form. Code in this event handler will check whether the error originated from a disconnection or from some other problem, for example, an image that is not found. To begin, you need to set:
     vwgContext.events.eventArgs().offlineConfirm = true;
    Next, in the OfflineConfirming event handler, set:
    private void Form1_OfflineConfirming(object objSender, Gizmox.WebGUI.Forms.Client.ClientEventArgs objArgs)
    {
      objArgs.Context.Invoke("OfflineConfirming");
    }
    Following this, you need to add OfflineConfirm to the JavaScript file:
    function OfflineConfirming() {
     
    // example of error checking
      var objXmlHttp = vwgContext.eventArgs.XmlHTTP;
      var intStatus = objXmlHttp.status;
      // vwgContext.eventArgs.XmlHTTP.status returns number of the w3c error
      // vwgContext.eventArgs.responseText returns text of the error
      // error list from w3c (e.g. 404 = not found, 500 = server error, etc.)
      if (intStatus == 500) {
        var strResponseText = objXmlHttp.responseText;
        if (typeof strResponseText != 'undefined' && strResponseText != null) {
          if (strResponseText.indexOf('offline error') >= 0) {
               vwgContext.events.eventArgs().offlineConfirm = true;
    
    
            }
        else {
              vwgContext.events.eventArgs().offlineConfirm = false;
          }
        }
      }
      else {
        vwgContext.eventArgs.OfflineMode = true;
      }
    }

    Example:  Managing offline conditions in a HTML5 mobile CRM application

    For a good example of offline mode implemented, check our demo CRM mobile app on your device.  Navigate to tinyurl.com/gizmox-mcrm on your mobile device or scan the QR code below.  Once you are on the app, switch to offline (i.e. set your phone to “airplane mode”) and observe the behavior of the app.  Note the app continues to offer basic navigation without returning error links.  You would have the ability to develop further navigation logic using the client API as discussed in prior bogs. mobile crm qrcode
    Visit our site for our entire selection of blogs:
    Gizmox Blog
    Happy Coding!

  • Transposition - the success story of VB6 migration

    Since all of you VB developers in the present or past would probably find it hard to believe that the old VB code can be migrated and modernized into the latest .NET based HTML5 without having to rewrite the application I am feeling I need to write another post on our migration solution. Hopefully, after reading this and the previous post you will be able to understand the different approach of our solution which already helps organizations around the world move away from the constraints of VB6 and free them to access the applications from any computer or browser-supported devices. I will write on such organization later in this post.

  • How to Bring Your Own Device (BYOD) to a .NET application

    Many recent researches http://www.spiceworks.com/voit/state-of-smb-2012-05.pdf show that application developers are forced to accept the fact that BYOD support requirement for their applications is already here. The pressure to support any device the user will bring and connect to the applications (BYOD) will only increase in the coming weeks and months.

  • Migration & Modernization: Windows/VB6 Apps to ASP.NET HTML5

    I would like to invite you to a webinar we are doing in collaboration with Jeffrey S. Hammond, Principal Analyst serving Application Development & Delivery Professionals at Forrester Research.
    The webinar is free and it will will introduce the substantial changes brought on by the move to Web Applications and Open Web architectures, and the challenges it places on application development shops. We’ll also introduce how we at Gizmox are helping client navigate this mobile shift and evolve existing Windows applications with a new set of Transposition tools called Instant CloudMove. We will discuss the alternatives in the market to evolve your existing applications and focus on our transposition tools that reduce migration risk, minimize costs, and accelerate your time to market.