Thursday, January 3, 2013

Creating a Mobile Customer Service or Help Desk App with Magic xpa Application Platform


Writing a basic Magic xpa Customer Service or Help Desk app for a mobile device could make a great weekend mobile app development project for a Magic xpa developer.
Magic xpa does a good job of making it easy to handle the huge variety of data types, by insulating you from the details of the implementation.  Magic xpa reduces the number of data attributes (often referred to as data types in many programming languages) that you will need to work with -- alpha, numeric, date, time, BLOB, logical, etc. are the most common. The Magic xpa programmer also does not need to specify how those variables are actually stored in memory or in a database as the application platform itself manages these repetitive and inconsequential details for the developer.

To create a mobile app for customer service or an employee help desk, a few tables that might typically be required are the user table, the ticket table, the solution table and the solution response table. Many other variations are possible, of course, depending on the complexity of service/help app required. We’ll take the time to detail the fields used in the user table and the ticket table. But keep in mind that the tables will all have relationships.

For the sake of efficiency both in data storage and application performance, you should avoid creating duplicate data. So if, for example, the solution proposed relates to a specific ticket, there is no need to store all the ticket details in the solution table. You can simply point to the unique identifier of the ticket table. This is the principle of data inheritance. The data inheritance or data model relationships in our example are shown here:


Now let’s look at the User Table and Ticket Table.

Typical Customer Service App fields – User Table
Field name*
Field attribute
Field description
PrimaryID
Numeric
The unique identifier for the record.
UserFirstName
Alpha
The first name for the record
UserLastName
Alpha
The Last Name for the record
UserEmail
Alpha
The Email for the record
UserMobilePhone
Alpha
The mobile phone number of the user or device.
UserEmployeeID
Numeric
An integer value containing the employee ID for this record
DepartmentID
Numeric
An integer value containing the department ID for this record


Typical Customer Service App fields – Ticket Table
Field name*
Field attribute
Field description
TicketID
Numeric
The unique identifier for the record.
Status
Alpha
The status of the service ticket, for example, this could appear to the user as a drop down list offering open, closed, pending, overdue, etc.
Severity
Alpha
The status of the service ticket, for example, this could appear to the user as a drop down list offering open, closed, pending, overdue, etc.
Subject
Alpha
Brief subject of the problem described in the record.
Description
BLOB
A detailed description of the service issue.
CreateDate
Date
Date record was created.
CreateTime
Time
Time record was created.


* The developer can use any name for these fields, the field names here are just examples. In addition to the above, you’ll want to think about tables that contain the problem, description, and BLOBs containing the communications between the service rep and the user (the solution and response table), as well as tables containing service rep information, etc.

The challenge in creating a mobile help desk or customer service app for end users is that screen space is very limited on most mobile smartphone devices. The user information should be entered once, and then it need not appear to the user again unless they request to change it, for example, the user may need to change their phone number or email address. If you wanted to pre-populate the UserMobilePhone field, in theory this can be queried using a user defined function such as  ClientOSEnvGet ('device_udf| UIDevice currentDevice’) on iOS, for example, or the user can simply enter their mobile phone number.

Once the user identity is established, the home screen for the mobile app should be the list of tickets with open tickets bolded or listed in red at top in order from most recent to oldest. Only two columns are needed, Ticket and Subject. The user can select a ticket and then the detailed ticket tab opens with the ability to scroll down through solutions and responses. On an iPhone, these could be displayed as colored speech/conversation bubbles whereas on the android you may choose to display in the more conventional android style.

I think its fair to say that creating a Mobile Customer Service or Help Desk App with Magic xpa Application Platform makes for a great intermediate level programming project. What will set the good CS apps apart from the bad ones? Creative features such as customer self service knowledge bases could create real differentiation. When the type of service involves parts and repairs, location information of the device becomes even more relevant. How might you utilize location knowledge in your app to locate parts? to locate service centers?  

What sets the great mobile enterprise application platforms (MEAP) apart from the others? Integration, unified development approach, enterprise-class scalability, security and reliability. 

Wednesday, January 2, 2013

Creating a Store Locator / Store Finder mobile app with Magic xpa




Consumers need to be able to find your store locations from any location. Retail location awareness is part of the basic DNA of any retail chain. Writing a basic Magic xpa Store Locator app for a mobile device should be a fairly straightforward effort for an experienced Magic xpa developer. A basic Store Finder or Store Locator application has an input table and an output table. This is no different for the mobile app. 

The input table is the information provided by the user.

Typical input fields
Field name*
Field attribute
Field description
LookupRecordID
Numeric
The unique identifier for the record
Address1
Alpha
The street address of the record
City
Alpha
The city of the record
State
Alpha
The state of the record
Postal
Alpha
The ZIP or Postal code of the record
Country
Alpha
The Country of the record
* The developer can use any name for these fields, the field names here are just examples.

Typical output fields
Field name*
Field type
Field description
Longitude
Alpha
The longitude of the output geocode
Latitude
Alpha
The latitude of the output geocode
Quality
Alpha
The quality of the output geocode
Coordinates
Alpha
The coordinates of the reference polygon
StatusOK
Alpha
Debugging info from the geocoding process

With the Magic xpa Application Platform,  the developer can create mobile client apps that leverage the devices' GPS. With Apple iOS devices, for example, the ClientOSEnvGet function can be used to query the current device location using the internal or connected GPS device. Function syntax in the Magic Application Platform is selected in an intuitive table driven development wizard interface. So for example,  
ClientOSEnvGet (‘device_location’) will return the current device location, using available location options such as GPS or Network. The result is an ALPHA string in the following format: “OK|Latitude|Longitude”, where OK is a fixed part for testing if a result was returned, and Latitude and Longitude are the coordinates of the current location. If a location could not be obtained, for any reason, an error message will be returned. The results of this function may be parsed to provide the StatusOK, Latitutde and Longitutde fields in the example above.

With your backend system, information for store locations may not be in an obvious place. Yes, it will have an associated address book table. In JD Edwards, for example, address book info is stored in a F0101 table. But not all F0101 records contain your store locations. These will also include employee addresses, customer addresses and other business units such as plants and distribution warehouses. The business unit info will be stored in the F0006 table in JD Edwards, Business Unit Master table  which Contains Business Unit Descriptions and Category Code Information. The Magic xpi Integration Platform will give you an easy way to query these and other tables needed to piece together the necessary information. Other ERP systems can be accessed in a similar fashion.

Magic xpa stores string information with an attribute of ‘Alpha.’ Alpha allows the storing of alphanumeric characters. In the Alpha attribute, Numeric characters are stored as a string. The Alpha attribute is the default attribute.

Magic xpa stores numbers with an attribute of ‘Numeric.’ The numeric attribute allows the storing of an integer or a decimal number. Magic xpa supports up to 18 digits, with the condition that the number of whole digits and decimal digits are each rounded up to the nearest even number.

In addition, you can determine where you may need to employ logical, date, Unicode, time, BLOB, OLE, ActiveX, Vector or .NET data attributes.

With these basics in mind, creating a Store Finder app or Store Locator app is very straightforward with Magic xpa. Enterprise Mobility for retailers becomes a rapid reality with Magic xpa Application Platform. 

Friday, December 28, 2012

Quickstart for Building Mobile eCommerce apps


So you want to build a mobile eCommerce app or maybe you just want one built for you? You want this in part because you have long known that Ecommerce is booming and a brick-and-mortar approach may simply not be enough to keep your business afloat. A Harris poll last November found that 43% of the 2249 US adults surveyed had engaged in "showrooming," a practice where the consumer examines merchandise in a brick-and-mortar store but then later buys it online.

Today online shopping is the iceberg and mobile shopping is the tip. But all indications are that the iceberg may invert with increasing proportions of ecommerce transactions taking place with mobile devices as desktop computing devices continue to shrink in overall market share. Another survey by PriceGrabber of 2469 US adults in September found that in 2012, six percent of holiday purchases made by the average consumer will be made via a mobile device. You are likely reading this because you are already aware of these trends and you've been tasked as an IT department to do something about it. The IT departments of medium sized businesses are particularly challenged because their companies are too big to use off-the-shelf solutions and too small to afford extensive custom programming efforts.

For developers building mobile ecommerce apps for a variety of mobile operating systems and devices and then integrating them to Oracle JD Edwards, PeopleSoft, E-Business Suite, Microsoft Dynamics, SAP or other backend ERP systems, a number of development issues should be considered.

First, the relevant eCommerce data structures for the mobile commerce platform must be analyzed. Some data requires synchronization while other data may simply require a push or pull approach per transaction. If you are building your own eCommerce application, you will need to develop a database architecture. Examples can be found on the web ranging from this very simple training example  to this simple and free MySQL table for eCommerce to more proprietary real world table structures for applications like the Magento eCommerce platform. 

Second, you need to assess how the data you choose in your architecture above relates to the data and processes in your ERP system, such as in this example JD Edwards data dictionary.  Data transformations are likely needed when mapping data between mobile devices, eCommerce platforms and ERP systems.

Fortunately, all of this can be simplified by using the Magic xpi Data Mapper 

From a functional standpoint it becomes important to assess what sorts of unique mobile commerce shopping features you want to offer your users. For example, one of the trends in mobile shopping sites is to highlight "local deals." This requires integration with third party ecommerce databases and an awareness through the mobile device's GPS of the users' location. Other goals may include a recommendation engine, reviews, bar code scanning for those engaged in "showrooming" and much more. My advice is to include one trendy feature so that your mobile store introduction has some sizzle but don’t get bogged down in developing too many trendy bells and whistles, because many are going to fade from popularity as quickly as they are innovated.

In terms of the user interface, Magic xpa will make it very easy to create native mobile apps that are tailored in their look and feel for your various mobile platforms: iPhone, Android, BlackBerry, etc. The Magic RIA client for iOS™, Android™, BlackBerry® and Windows Mobile® is a native operating system (OS) application for any of these devices, implementing the Magic RIA client protocol. Using the Magic RIA client for the different mobile devices, developers can deploy highly interactive enterprise RIA applications on the various mobile devices.

Remember, Magic xpa Application Platform will take care of the heavy lifting when it comes to the database, business logic and user interface layers and allow you to create tailored native mobile apps for the iOS, Android, BlackBerry, etc. In addition the Magic xpi Integration Platform automates business process integration between your Magic xpa mobile apps, your online eCommerce platform (such as Magento, Shopatron, Demandware, Oracle ATG, IBM WebSphere Commerce, Digital River, hybris, Intershop, RedPrairie, Micros-Retail, SAP E-Commerce, etc.) and your ERP or accounting system. These Magic platforms form an ideal combination for developing and integrating mobile commerce apps. 

I've also noted a trend lately among these medium sized IT departments: they want to choose the ERP, eCommerce and mobile development platforms used, but they often don’t want to do all (or any) of the work themselves. That's why vendors like Magic Software offer professional services for mobile app development, including Mobile ecommerce apps. Feel free to contact us if you’re in the market.

Thursday, December 27, 2012

Mobile App Development: 30 Days to App


Just when you thought the hype cycle for mobile apps had peaked, James Johnson reports that the super cool ecommerce platform “Fab managed to pull 56 percent of its Christmas day US revenue from mobile apps, a new single-day record for the e-commerce platform with a focus on designer items. The company also announced that its mobile apps accounted for 40 percent of European revenue on Christmas day, another Fab record.”

Nevertheless, building mobile apps successfully requires an attention to a broad spectrum of needs within your business and not simply a single function. While it is true that mobile apps need to be narrowly focused, the portfolio of mobile apps in your company needs to address a broad range of requirements.

Dan Woods reports in Forbes that building mobile apps requires endurance and stick-to-it-iveness.  “Mobility is really a continuing program for addressing many needs over multiple years, typically with multiple apps.”

And despite the fact that experts are touting gamification, independent university research has determined that usable information and functionality trump entertainment and gaming value.
Indiana University reports that: “The study confirms that using branded mobile phone apps  increases a consumer's general interest in product categories and improves the attitude they may have toward the sponsoring brand. The researchers also found that mobile apps which are informational in nature or utilitarian were more likely to engage users than those where the app focused on entertainment or gaming.” This research finding may surprise people. But if you understand baseball, then you can understand this statistic. If the average hitter swings for the fences in every at bat, they are going to fail. It's easy to strike out when you are trying to force a home run. Informational and utilitarian apps are less exciting, but just like a single in baseball, they are fundamental to success. 

So if you are an IT department with a need to support a broad portfolio of mobile apps that provide usable functionality to business users, partners and customers, what can you do? That broad functionality already exists in your ERP, CRM and other enterprise software systems. How can you expose that business functionality reliably and securely in mobile apps that are flexible enough to grow with your business and your customers changing needs?

The Magic xpa Application Platform and Magic xpi Integration Platform work in tandem to provide a solution for enterprise mobility by allowing you to quickly generate mobile apps that integrate to enterprise software systems, ecommerce platforms and cloud apps by managing everything from API triggers and orchestration to cross-platform native mobile client interfaces. We offer our customers the laundry list of mobile apps below with a templated approach that allows us to promise 30 days to app from the time we have your spec, usually much faster. Not a generic app, but one that is customized and integrated. 

What is needed in every organization is a series of mobile apps that address common business issues and deliver the information and functionality demanded by your users. Magic Software’s application and business integration platforms provide enterprise IT departments the toolsets they need to address enterprise mobility requirements. Many IT departments prefer not to get involved in developing and integrating their own mobile apps, however. For these IT departments, the Magic Professional Services team can offer flexible and comprehensive professional services for mobile apps development.

As we talk to enterprise IT departments about the apps needed, a series of these mobile apps come to mind:

·         Mobile Commerceapps
·         Mobile StoreLocator apps
·         Mobile ordertracking apps
·         Mobile order tracking and shipment tracking apps
·         Mobile credit status and payments inquiry apps
·         Mobile field service management apps, including:
o   Mobile dispatch apps
o   Mobile routing apps
o   Mobile field service apps
o   Mobile customer service, repair, and technical support knowledge base apps
o   Mobile parts order and sales apps
o   Mobile asset tracking, inventory and management apps
o   Mobile field-based project management apps
·         Mobile inventory management apps
·         Mobile pick and pack apps
·         Mobile shipping apps
·         Mobile Time and Attendance workforce management apps
·         Mobile expense report management apps
·         Mobile workforce, HR and employee benefits apps
·         Mobile executive dashboard apps
·         Mobile approval processes apps
·         Mobile document management apps
·         Mobile purchase requisition and purchase order apps
·         Mobile Service and technical support center management apps

Here in Magic Software Americas, Eyal Karny, vice president of Professional Services explains that: “From the time we have identified the business requirements of a discrete mobile business application, we can build the mobile app, integrate it to back end systems, test it and present it for final user acceptance testing (UAT) quite easily within 30 days and usually much sooner. Mobile app development is ideal for agile and SCRUM development approaches because the apps are relatively narrow in focus. Having a common architecture for back-end integration and cross-platform deployment is amazing.” For additional information download “How to Realize the Vision of Enterprise Mobility.”