Crosslight 2 Update 2 is here!

As our enduring commitment towards agile development standards and compliance with CMMI Level 5, we’re happy to announce that the second update for Crosslight 2 is here! This update is a maintenance release which includes many new features and significant enhancements to the enterprise application framework and Crosslight core components. It also improves the overall stability for Android’s tab fragment and activity components.

Crosslight now supports batch update in sorted collections, with smooth animations and transitions. Not only that, our APIs are improved with a more modern async calls, which improves response time and usability of your Crosslight applications. Android form builder now also includes a new DateTime picker component that complies to the standard Holo theme. When Android L arrives, don’t worry, the look and feel of your apps will automatically comply to take advantage of the sleek look and feel of the new Android version. By popular demand, iOS now supports content navigation within the master detail component.

Without further ado, head over to our git repository to obtain this update. All Crosslight samples associated to this update have also been merged to the master branch. You can download or clone them here. Also visit our Developer Center for full changelog on this update. Expects more updates rolling out regularly, with more exciting features.

Till next time,
Nicholas Lie

Video Tutorial: Getting Started with Crosslight Reporting Service

Crosslight 2 provides a capability to view enterprise reports across multiple platforms including iOS, Android, Windows Phone and Windows 8. The reporting services is built upon the company’s flagship reporting, ClientUI Reporting, to produce identical reports across multiple platforms. You can quickly add reporting feature to your apps since Crosslight has encapsulated all of the functionality required to display the reports on multiple platforms natively. Check out the following video to learn how to configure the report server and display the report on Crosslight apps, which runs on four major platforms: iOS, Android, Windows Phone 8 and Windows Store.

You can also get the source code for this video from our new Git server: http://git.intersoftpt.com/projects/CROS-SUPP/repos/simple-reporting/browse. To learn more about Crosslight reporting service and how it works, see Viewing Enterprise Reports. If you have any questions, feel free to post it in our community forum, or drop us a mail.

Webinar: Building Gorgeous Mobile Apps with Advanced Crosslight UI and Services

We’re very happy to introduce the release of our flagship development toolset for Silverlight and WPF, ClientUI 10. ClientUI 10 has now equipped with powerful enterprise reporting services that allows you to author any kind of reports quickly and easily. What’s also great about the enterprise reporting services is also that the reports are completely viewable in Crosslight applications.

Not only that, push notification services introduced in Crosslight 2 takes away developers’ pain of having to tediously configure the necessary configurations to allow push notifications on their apps. Crosslight 2 has streamlined this process into a single unified entry point, starting from registering the device token to the platform service, receiving the device token back and saving them to the WebAPI database, and much more.

The social networking services also allows developers to perform various social network operations such as authenticating with social networks, getting the user profile info, getting list of friends, sharing content, and much more. What’s great about the social networking services, is that services are completely UI-agnostic. You can design any kind of views to use with our social network services and have them in your application, just the way you want it to be.

Watch as Nicholas introduces you to the integrated enterprise reporting services, how to view the reports on Crosslight apps, push notification services for Crosslight and how to send them across multiple devices. Last but not least, the social network services that allows you to perform various Facebook authentication completely with custom UI.

You can also find the recordings to the first and second day of the webinar, in case you’ve missed them. Also, visit our Developer Center to learn more about Crosslight. It contains hundreds of documentation topics, illustrations, walkthroughs, video tutorials, and more. If you have any questions regarding Crosslight, feel free to open up a new thread at Crosslight community forum.

Cheers,
Nicholas Lie

Webinar: Building Data-Aware Apps with Crosslight Enterprise Framework

Building enterprise apps will almost certainly involves data access. Crosslight aims to be the holistic solution you need to build enterprise mobile apps quickly and easily. Therefore, in this release, Crosslight 2 ships with powerful data access that supports the latest Microsoft techonlogies such as WebAPI 2 and MVC 5. To accelerate your development even further, Crosslight 2 took the extra step of creating entity designer extensions for VIsual Studio 2012 and 2013.  The entity designer extensions allow you to create reusable entity models, entity context, entity controllers, and entity services.

Watch as our Chief Technology Officer, Andry Handoko Soesilo, introduces you to the plethora of data access services such as using the entity designer extensions, explaining the concepts of data synchronization and RESTClient for streamlined data retrieval, creating a simple mobile CRM app complete with incremental loading and pull to refresh, and much more.

Also, visit our Developer Center to learn more about Crosslight. It contains hundreds of documentation topics, illustrations, walkthroughs, video tutorials, and more. If you have any questions regarding Crosslight, feel free to open up a new thread at Crosslight community forum.

Cheers,
Nicholas Lie

Webinar: Crosslight 2 Highlights

Crosslight 1 marks a great start for developers jumping into cross-platform mobile development. Built solid grounds, the MVVM pattern, Crosslight paves the way for extensible, maintainable, scalable, testable, and making your code highly reusable to use on four platforms: iOS, Android, Windows Phone and Windows 8.

Crosslight 2 introduces an even more comprehensive additions to the powerful toolset to easily create enterprise mobile apps in just a very short time. This includes versatile data access services, beautiful UI components such as the navigation drawer, advanced master detail view, two new templates: business app template and the navigation drawer template. Watch the webinar recording to see how you can leverage Crosslight 2 and take advantage of its powerful features and start developing your own mobile apps today.

Also, visit our Developer Center to learn more about Crosslight. It contains hundreds of documentation topics, illustrations, walkthroughs, video tutorials, and more. If you have any questions regarding Crosslight, feel free to open up a new thread at Crosslight community forum.

Cheers,
Nicholas Lie

Advanced Batch Update with MVVM support in Crosslight iOS

If you are iOS users, you might already familiar with the Mail app. When new messages arrived, notice that the new items are inserted smoothly with beautiful animation. The implementation for such insertion is in deed challenging since it needs to take account the actual insertion position based on the sorted data. Furthermore, multiple insertions are also supported with simultaneous animation which adds complexity to the logic. Technically, inserting an item will cause the index of remaining items invalid — and not to mention if there are deletion along the process. There are a lot of aspects that need to be considered. In this blog post, I will share how we support this user experience seamlessly in Crosslight 2.

iOS supports this simultaneous updates through a feature called batch updating. Implementing this feature requires deep knowledge of how iOS works — and typically what you want to avoid, particularly if your code is targeting multiple platforms. Thankfully, Crosslight has supported this batch update operation since its first version by allowing you to simply perform updates to your collection in .NET way. You don’t need to know about iOS even a bit.

Recently, we made several improvements to Crosslight for batch update support in a sorted collection. This allows you to simply adding items or deleting items on a sorted collection without concerning the actual position where it will be displayed or removed. The Crosslight’s table view component now takes care everything behind the scene, including the batch updating process, maintaining the delta changes and simultaneously animate the changes.

Consider you have a raw collection of countries: US, China, Japan, Netherlands, and Greece. When bound to the view, the collection is sorted by the country name in ascending with LINQ. At runtime, you then add few more countries: Indonesia, Brazil, and Mexico.

In ViewModel, the C# code looks like below.

public class BatchUpdateListViewModel : EditableListViewModelBase<Country>
{
    public DelegateCommand BatchUpdateCommand { get; set; }

    public BatchUpdateListViewModel()
    {
        var items = new List<Country>();
        items.AddRange(Countries.Create("US", "China", "Japan", "Netherlands", "Greece"));

        // just a plain .NET collection here
        this.SourceItems = items.ToObservable();

        this.BatchUpdateCommand = new DelegateCommand(ExecuteBatchUpdate);
    }

    private void ExecuteBatchUpdate(object parameter)
    {
        // Begin batch updating
        this.IsBatchUpdating = true;

        // Perform multiple inserts simultaneously to the source items
        this.SourceItems.Add(new Country("Indonesia"));
        this.SourceItems.Add(new Country("Brazil"));
        this.SourceItems.Add(new Country("Mexico"));

        // End batch updating
        // After this code, the bound list view will be automatically updated with smooth animation
        this.IsBatchUpdating = false;
    }

    protected override void OnSourceItemsChanged(ICollection<Country> items)
    {
        // Sort the source items by country name, and use the sorted collection for the display items
        this.Items = items != null ? items.OrderBy(country => country.Name) : null;
    }
}

Notice that the above code simply adds items to the source collection, you don’t have to concern the actual positions in the view. The only thing you need to ensure is to perform the collection changes while the IsBatchUpdating property value is true. As soon as the property is set to false, the bound view will be automatically notified and perform the animation simultaneously. This simple and intuitive code lets you to achieve the stunning user experience similar to Apple’s built-in Mail app when new items are added dynamically at runtime.

The following illustration shows what happened to the sorted collection at runtime.

BatchUpdateIllustration

To demonstrate this feature, we have added a new Sorted Batch Update to the Data Samples which you can download from our Git server. The bits is under the batch-update-sorted branch. You’ll also need nightly build (revision 54 or higher) to try out this new improvement.

In addition to multiple insertions, the sample also demonstrates multiple deletion. And to add more complexity, it also modifies the items which cause its order to change. For your convenience, you can see how the sample works below.

Improved batch update support on sorted collection

 

Most cross-platform frameworks I found today provide just a set of API without thoughtful consideration of the user experience that native to the platform. That’s where Crosslight sets apart. More than just a set of API, we designed Crosslight with the simplicity you expected, while taking account many other important factors behind the scene which will make your apps shine.

Join us for a 3-day live webinars on June 10 – 12, and learn how you can build great cross-platform business apps with Crosslight. We will be demo’ing how to create a fully-functional CRM app in just mere minutes — live. Seat is limited, so reserve yours now.

Video Tutorials: Using Crosslight Unified Push Notification Services

In my previous blog post, I’ve covered how to create a new business app using the Crosslight Project Wizard. Today, I would like to share how to handle push notifications in Crosslight apps using the new Unified Push Notification Services introduced in recent release. This video will cover push notifications for Crosslight-powered iOS, Android and Windows Phone applications. You will also learn how Crosslight has streamlined all the push notifications intricate processes such as registering the device with the platform store service (App Store, Play Store and Windows Store), obtaining the device token and saving it to the WebAPI database. Without further ado, check out the video below.

You have seen how Crosslight elegantly streamlines and handles push notification-related processes into streamlined entry points. To learn more about this topic, visit our developer center: Handling Push Notifications, which outlines the concepts and architecture of the Crosslight push notifications. If you have any questions, feel free to post it in our community forum, or drop us a mail.

Till next time,
Nicholas Lie