Showing posts with label appdev. Show all posts
Showing posts with label appdev. Show all posts

Wednesday, April 29, 2015

Q. and A. Regarding Magic xpa 3.0

Magic xpa Product Manager Eyal Rozenberg and VP Marketing Itai Galmor recently got together for a little Q. and A. with developers about the pre-release version of Magic xpa Application Platform 3.0.

The session can be seen on video:



One of the highlights of the session is the features chart showing the main new features for users in each deployment mode: Client/Server, RIA, Mobile, and HTML Merge. 



To learn more, please register for the Magic Software Users Conference 2015. See you at the Hilton Waterfront Huntington Beach! 

Wednesday, January 9, 2013

Developer’s Guide to Mobile Order Tracking Apps


Developing Mobile Order Tracking apps for deployment across multiple mobile platforms? When designing your app it is important to keep in mind the differences between order tracking and simple shipment tracking.

With a shipment tracking app we start with a tracking number and have a simple question in mind: where’s my package? These apps are very easy to build because you can simply pass the tracking number to the shipping company web service as a request and receive back shipment information from the shipping company web service. For a company like FedEx that ships 9 billion packages per day, there’s a lot of big data integration taking place behind the scenes of that simple Web Service request, but as the mobile app developer, you don’t need to worry about that.

As the developer of an order tracking app, you suddenly have taken on a much more complex task. Order tracking differs from shipment tracking in the following ways:

Multiple Shippers.  In many businesses, an order may be shipped by a variety of different carriers. Not only FedEx, UPS, DHL, USPS and other well known small package delivery companies, each of which offers Web Services for package delivery and tracking information, but also other carriers such as CEVA Logistics, DAMCO, and literally thousands of trucking, common carriers, sea cargo, air cargo, rail, freight and freight forwarding companies.

Multiple Shipment Methods. In addition to tracking multiple shippers, an order being tracked may have a variety of different shipment methods associated to it. In addition to common designations such as same day, next day, 2-day air, etc. you may also have alternate methods such as will call, in-store pickup, download, digital delivery, license keys and hold for further instructions.

Order Information. In a simple shipment tracking app, all you have is the tracking number and perhaps weight and dimensional information. You don’t necessarily have any information about the order itself: quantity, item number, name, description, price, etc. An order tracking app will typically have all of this information available as well. From an app design standpoint this becomes problematic because you obviously don’t have the screen real estate for all of this information. So even though your app spans a broader range of related information regarding the order information, you’ll want that information on a separate tab.

Multiple Orders and Order Status. Since you may be tracking multiple orders, you’ll want an easy way to find and display orders, usually by order number, date, or keyword search. The home screen for an order tracking app may indeed be a list of order numbers with most recent open orders first and oldest delivered orders last. Color or bold text on the order number can be used to clearly identify open orders versus closed orders. Partial order logic will need to be considered as well as this is a common scenario in many businesses.

Payment Information. Another tab to track payments related to orders may be desirable as well. As payment methods will vary, so will payment status and the way that payments are applied.  In some businesses, payment methods may fail after an order has placed. Such as a delayed credit card rejection. In these scenarios, you may want to highlight these orders that need payment attention on the home screen and also provide mechanism to the customer and/or salesperson to cancel orders in accordance with your business rules. When customers have terms and make payments after the fact, credit status may affect the status of an order. For example, an order may be accepted but not processed until a payment is made to return the credit status to normal. This is common in many industries and may need to be accommodated in your app as a business rule.

Salesperson’s Tools. Salespeople and sales management may also need mobile order tracking apps, since they deal with multiple customers, they may need to have an ability to see orders in a variety of ways: by date, by product or product type, by customer, by salesperson, etc. From the home screen, the salesperson or sales manager should be able to apply filters so that they see only such orders. User rights for salespeople, sales managers, warehouse and logistics personnel and customers will all vary. Keep role based rights and security in mind when creating your app.

Summary. In summary, an order tracking app will begin with a home screen that allows the user, based on rights, to see relevant orders. Drilling down on an order will normally display the shipment status on the tracking information tab along with the desired shipment tracking details. If information on the order details is desired, clicking on the order number in a shipment status tab will open the order tab containing order details, clicking on the order amount can display the payment/credit status information. Here again, color coding the payment amount green, red, etc. can help identify payment status at a glance without the need to click on the amount to open the tab. Depending on your business rules and user desires, a mobile order tracking app can be developed with any number of options. Fortunately, the Magic xpa Application Platform makes the creation of these apps straightforward and allows you to deploy them across multiplemobile OS including iOS, BlackBerry and Android. Then the Magic xpi IntegrationPlatform can handle back-end enterprise integration to shippers’ Web Services and your own ERP system for up-to-date information.

Friday, September 21, 2012

Maps Fiasco: Is Apple Having A Bad Hair Day?




Apple has faced a firestorm of criticism over its poorly executed introduction of Apple iOS 6 maps as a replacement for Google Maps. Pushing out a friendly competitor is classic Apple behavior reminiscent of their rejection of Adobe Flash. If the maps battle ended today, Google would be the clear winner. But it remains unclear whether Apple or Google will triumph in the map wars in the long run. I anticipate either a long term standoff fueled by Apple’s stubborn unwillingness to see a clearly superior Google technology continue to succeed on their platform or  Apple will find a way to become less proprietary and allow Google maps a role in a future iOS version. For now, there course is fairly well set.

The problems with Apple maps in many consumers’ minds are simply that they are not Google maps. Google’s brand is well respected even among iPhone users. But to compound these problems, the maps are simply being ravaged in the media for a long list of errors, glitches and mis-categorizations.

Meanwhile, Apple has lost a pair of rulings in German court against Samsung and Motorola Mobility in its patent infringement claims. The patent dispute over touch screen technology favoring Motorola Mobility and Samsung could have a ripple effect in several other related cases around the globe.

While all of this is clearly bad news for Apple, one cannot help but wonder if it is nothing more than a bad hair day for Apple. They have survived other fiascos in the past with bad antennas, overheating tablets and the like. One suspects that they will find a way to deal with it.
Google has quite admirably taken the high road, stating that they want to make Google maps available for everyone on all platforms. Although one can’t help but feel that they are gloating over all the negative publicity aimed at Apple.

So what’s all the fuss about? One of the most humorous mistakes is an Irish rural estate named “airfield” that has been represented by apple on the map with an airplane icon to indicate an airport. This prompted the Irish Justice Minister Alan Shatter to comment: “I know on occasion mistakes can be made and I am surprised to discover that Airfield, which is in the centre of my constituency in Dundrum, has, in Apple’s new operating system iOS 6 maps application, been designated with the image of an aircraft.”

Aside from the errors, which are just comical, the Apple maps lack some of Google Maps most popular features, such as public transit directions, useful traffic data and street level view images.

What is an app developer to make of all this brouhaha? My takeaway is that the competition between Android and Apple is likely to continue long into the future. As a result, the apps market will remain fragmented between these two giants as well as Windows and BlackBerry. Multi-platform mobile apps development solutions are going to be needed for a long time. Apple doesn’t have any problems that can’t be cured with a good comb. 

Friday, September 14, 2012

Addressable Market for Magic xpa Android Client Reaches 400 Million Devices


Tuesday night Andy Rubin, Senior Vice President of Mobile and Digital Content at Google announced that "there have been half a billion android activations to date, with over 1.3m added every day."

The increase in Android activations from 900,000 per day in June to 1.3 million per day now demonstrates remarkable growth for the platform. For mobile app developers this means that there are a considerable and growing number of buyers for apps. The Magic xpa application platform allows you to develop applications that reach 81.7% of those 500 million activated Android devices. In other words, all of the devices since Android 2.3’s release. So while Ice Cream Sandwich developers are celebrating their ability to reach 100 million users, Magic xpa Application Platform developers are celebrating their ability to reach a market of potentially more than 400 million Android devices with the Magic xpa Android Client. The Magic xpa Android Client overcomes the problem of Android platform fragmentation (in addition to cross-platform fragmentation issues).




What is the Magic xpa Android Client? The Magic xpa Android Client is a native device OS RIA application designed to take advantage of the mobile device capabilities, while being connected to a scalable, robust enterprise server. The Magic xpa Android Client implements a subset of the capabilities of the Magic RIA client for .NET Desktop, as they are applicable on an Android device.

When developing apps for Magic xpa Android Client it is important to remember that while Android is a multitasking OS, only one app appears in the foreground at a time while all others run in the background. Just to be clear: apps running in the background do not have screen access. However, users can see and switch between apps. Pressing the Android’s ‘Home’ button will move the current foreground app to the background. This is normal and expected behavior on an Android phone.

The Magic xpa Android Client developer should also keep in mind that apps can run multiple windows. However, Android supports a simple stacked window model where windows are inherently modal, occupy the full screen, cannot be moved or resized and run one at a time.  Users familiar with Android know that you use the “Back” Key to close the current window and return to the previous one. As a developer, you can also provide ways so that the program itself can raise the internal “Exit” event. The Development for the Magic xpa Android client provides a way so that the app itself can raise the internal Exit System event. And the developer must be prepared for the fact that the user can terminate the application by using the ‘Back’ button from the first screen of the application at any time.

Magic xpa Android Client developers need to know that Android OS supports local file operations using the appropriate functions. The naming conventions for local folders and file names are according to the Android OS. In general, it can be said that with Android, names are not case-sensitive; folder separators are defined using a slash character (/) and Android apps can access multiple folders (unlike iOS which only allows access to the temp folder).
Magic xpa developers will also want to pay special attention to the use of fonts and colors in your Magic apps for Android. Android OS includes its own set of fonts that are usually different from the fonts found on a Windows desktop. As the mobile RIA client uses the same font table as other interfaces, it is recommended to define separate font entries for use on each device. Since it is not possible to select mobile fonts using the Windows fonts dialog box, in order to enter these fonts, you need to edit the fonts table directly using a text editor. On Android you need to send the font family name and the style of the font you want. The system will find a matching font for you. For example: "Android Serif bold, Droid Serif,12,0,0,Bold".
Developers should pay attention to colors as well. Magic mobile applications use a color table and do not support Windows “System” colors.  You will program your app with exact RGB values for both background and foreground colors. The Magic xpa Android Client will support transparent colors, where applicable. If a system color is used for a form or control, then the device default color for the form or control will be shown. On Edit and Push Button controls, to see the border you must use a color with a system color (to get the device default). And on Combo controls, to see the arrow you must use a color with a system color (to get the device default).

Magic xpa provides special capabilities for querying the device OS as well as the specific build, device serial number and existence of a touch screen. You can query the height and width of the screen, which varies from device to device. And, of course you have access to the GPS which returns latitude and longitude.

These android specific functions are in addition to all of the normal app development capabilities of the Magic xpa Application Platform mobile offering. 

Friday, September 7, 2012

Celebrate iOS 6 for iPhone and iPAD




For iPhone and iPAD app developers iOS 6 will lead to some interesting possibilities for future apps. Developers can access a number of new capabilities at the OS level including Maps, Facebook integration, Passbook, Reminders, new features with In-App Purchase, new camera APIs, and more.

The Magic Application Platform support and functionality for these new capabilities has yet to be announced nor has there been an indication of much of it works out of the box. But developers can hope for new capabilities from among those now supported by the iOS platform:

Maps. The war between Google and Apple continues with the  new Maps engines built into the OS and accessible to apps. The new Map Kit provides developer access to a different kind of more visually aesthetic cartography and interactivity. This makes it easier to build things like routing apps for transportation management systems.

FaceBook. Integration methods to FaceBook are now supported at the OS level. It will be interesting to see if this truly adds value or just provides Apple more say over how far FaceBook creeps onto their devices or both. It seems like the support for single sign-on will be a plus however.
One of the biggest problems facing users is the plethora of apps, tickets, passes, gift cards and loyalty programs residing on their phones. Apple’s plan is to simplify access through a Passbook including accessibility to the Passbook via apps, email and the web.


Reminders. There will now be an iOS 6 supported app called Reminders that provides a central repository events and reminders with control over properties such as due dates, priority, and location based alerts.

In-App Purchase. Apple has added improved in-app purchase and in-app content purchasing, including blocking recent widely publicized hacks that exposed in-app content to free access even when the developer intended the content to be purchased through the Apple Store.


Camera. Apps will be able to control the camera’s advanced features such as focus, exposure and region-of-interest. Face-recognition APIs and hardware enabled video stabilization will also be supported. New APIs let you control focus, exposure, and region of interest. You can also access and display faces with face detection APIs, and leverage hardware-enabled video stabilization.

 

Other.  iOS 6 will also support apps that want to do in-app Bluetooth pairing, audio and video sampling, rich text on labels and text fields, and in-app access to Game Center features like multi-player settings.

 

How much of this should or will be supported for Magic xpa developers remains to be seen, but its nice to see Apple moving in a positive direction with all these improvements.



Monday, August 13, 2012

Vision Mobile on The New App Economy



The new developer economics report from VisionMobile is out. Download the report at www.DeveloperEconomics.com. For those that are awake at 11:00 a.m. London time (that's 6:00 am on the East Coast of the US), this webinar entitled 

Implementing a Successful Strategy for Enterprise Mobility

may be of interest as well. 


Wednesday, March 21, 2012

Metro UI Debate: Planned Obsolescence Ahead




With all the debate suddenly surrounding the Metro design spec introduced by Microsoft as part of Windows 8, one cannot help but wonder whose PR department is whipping up the controversy: Apple’s or Microsoft’s? On the one hand, the discussion can be viewed as an attack on Microsoft by the Apple Dumping Gang while on the other hand it could be a “no publicity is bad publicity” ploy by the MSFT Gang That Can Only Design Straight. In my view the attention ends up helping Microsoft and Android while hurting Apple.

The differences in the UI design and interactivity standards are rather ironic. Microsoft has generated literally billions of dollars in revenue by releasing successive generations of its operating systems and driving their adoption by pushing user expectations towards increasingly complex and interactive design standards. Early windows design looked very gray, gradually became more colorful, then beveled, then shaded, then ray traced, then transparent, then animated. Each time the clear intent was to create a graphical case for the latest coolest operating system version and a feeling that applications using the older design standards were passé. It was plainly and simply a form of planned obsolescence little different from design trends in the fashion, automotive and consumer packaged goods industries.

With mobile devices, Microsoft correctly identified a conundrum. If you bring today’s highly sophisticated desktop design standards over to mobile devices then there isn’t really much of a look and feel upgrade path left. Planned obsolescence becomes difficult when your design trends have reached their logical plateau. And this plateau was evident on the desktop as well. The solution: bring the desktop and mobile UI standards down together to a simpler level and yet one which is so clean and crisp as to feel modern and chic.

Metro is not nearly as bad as most of its critics make it out to be. Sure, it is simple. But there are plenty of Swedish designers who will tell you that design simplicity is a value to be upheld. If you think they are wrong, take a visit to your local IKEA store. I disagree that Metro is classic or retro in any way, it is quintessentially modern and sleek. In this sense, I do not disagree that Metro is a workable and pleasant design and interface standard. Whether or not it is a superior standard is a bit of a subjective argument in my view. I disagree with the Metro advocates who suggest that it is the only effective GUI. It is an effective GUI and it can beat chaos design in side-by-side comparison tests. So what? Is Microsoft really going to enforce Metro UI principles with police-state like efficiency? No. As a result, design creep and chaos will eventually eliminate the consistency that is currently Metro’s primary advantage in UI metric comparisons. Once you eliminate its newness and therefore its consistency, the Metro UI will compare similarly to any other well conceived GUI.

Call me a cynic on this one, but I see the graphical aspects of Metro as a well-designed platform for planned obsolescence. Time will tell. In the meantime, designing apps for any platform, any device, any time leads me to Magic.