Category Archives: HTML5

Mobile Application Development Platforms (MADP) Classification

[ad_1]

With the phenomenal growth of mobile app adoption, enterprises are faced with challenges to develop and maintain the apps that work on all these diverse platforms and devices to reach wider audience. Developers also face the challenge of maintaining consistent look-and-feel across device/OS.

Mobile Application Development Platform (MADP), as the name suggests, provides development tools and frameworks for building Business-to-Employee (B2E) and Business-to-Consumer (B2C) mobile applications. In addition to providing the tools, these platforms also provide middleware servers to connect and synchronize the data with the back end systems, eliminates the duplicate work by allowing business logic to be written and maintained in one place. You can build tighter integration with device features by using these MADP tools.

Following are the primary characteristics that any MADP tools should possess:

  • Integrated Development Environment (IDE): providing Visual Editors/Plugins, Form Builders, Property Builders, Debuggers and Source Control Integration.
  • Mobile App Development and Debugging: Explicit support for platform devices/emulators, platform specific code generations etc.
  • Multi-Device O/S support and integration: Multi-device platform support with Device Specific Code Optimization, Device Specific Runtime, Device Specific Feature integration and Tighter integration with device.
  • Packaging and Provisioning Mobile Apps: Supporting Native and Hybrid deployments, Single Build Process for all platforms, Inbuilt Application signing, Provisioning Flexibility of Single App – Single Platform, Single App – Multiple Platforms.
  • Middleware Server: Application server that hosts the back end service integration components managing the device registrations, security and transaction management. Also takes care of Mobile Resource Management based on User, Device & Network context.
  • Enterprise Application Integration: Adapters for integration with ERP/CRM and other Backend systems. Support for Data Mappers, Prebuilt Data Transformers, Data Chunking and Server Side Cache.
  • Security and Remote Management: Support for Device data encryption, disabling auto complete features, OTA based Application Management &Updates Device Capability Management (power consumption, networking).

On a broad level these MADP tools based on their development framework & packaging style can be classified into two categories

  • Native build tools and
  • Hybrid build tools

Native Build tools: This is a standard and traditional approach being following by the tool vendors who are in mobile market for long time. Products built on this approach provide sophisticated IDE tools to build application using their propriety frameworks. In this approach it is the responsibility of the tool to make the mobile application device agnostic.

Once the developer builds the mobile project in the tool and specifies the targeted platforms, it automatically creates the optimized native package for the respective platform. Platform/Device specific runtime not only takes care of UI screen optimization but also handles the memory, power &bandwidth management. These IDEs also come with platform specific property sheets for configuring features that are unique to specific platform.

Provides strong middleware features such as offline data synchronization, on device security, back end system integration, transaction management, serving the data based on user context etc.

This approach has its own share of Pros and Cons.

Pros:

  • Provides sophisticated WYSIWYG editors, using drag and drop editor, script & expression builders and property sheet features
  • Guarantees platform and device diversity
  • Good Performance, generates optimized native based on the target platform and device
  • Time to market is very less, using write once and deploy on multiple platforms

Cons:

  • Architecture is built using proprietary framework
  • Vendor lock-in
  • Requires learning a new skillset such as a new scripting language, a new IDE, etc.
  • Cost of ownership is high, license is Device/Session based and in very few cases it is CPU based

Top MDAP products that fall under this category are KonyOne, Antenna AMPchroma, Syclo etc.,

Hybrid Build tools: As the name suggests mobile apps built using these tools depend on HTML5 hybrid frameworks for building device agnostic applications. Products in this category, primarily concentrate more on providing the middleware server features that act as a gateway between the mobiles apps and backend enterprise systems. Most of these tools use REST Web services for integration with backend systems.

For building device agonistic UI, these tools depend on frameworks such as JQuery Mobile, Sencha Touch, Dojo Mobile etc. Using these UI frameworks, developer has to fine tune the HTML5 & CSS in the app to render the UI specific to the platform/device. For accessing the device features such as gallery, contacts, accelerometer, camera, GPS etc. these tools depend on hybrid frameworks such as PhoneGap/Cordova.

This approach has its own share of Pros and Cons.

Pros:

  • Follows Open Standards, Architecture is built on top of open standards
  • Framework flexibility, allows developers to choose the type of UI framework tool they want to use
  • Skillset reuse, leverages existing investment done in web development skills
  • Vendor Lock-in is limited to security and synchronization features
  • Cost of Ownership is less, Licensing is liberal with the availability of open source tools

Cons:

  • Does not guarantee device diversity, developer have to depend on UI frameworks to build cross platform UI and fine tune it to specific platform/device
  • User Experience Performance lags behind the native approach, hybrid code are not generally optimized to the specific platform on which app is running
  • Time to market is more, developers need to write/tweak the code for each platform and screen resolutions

Top MDAP products that fall under this category are IBM Worklight, Convertigo, SUP, OpenMEAP etc.,

Existing middleware vendors have slowly started looking into this approach. With their current power of providing robust middleware, security and EAI features they can easily build & add Hybrid Build MADP tool into their portfolio.

Conclusion

No doubt, Native Build tools with their strong feature set have always stood on top during any MADP evaluations, but they are unable to make fast inroads into organizations due to their inflexible licensing models and high license cost. Vendor lock-in is another bottle neck that is influencing CIOs to have second thought before going ahead with Native Build MADP tools. Due to lack of standards specification (eg., JEE, JDO) in MADP space, vendors have no choice but to build tools using propriety standards. This is a high time for tool vendors to come together to define standards in this space.

On the other hand Hybrid Build tools though having inferior features than its counterpart are making inroads into the organizations due their open standard implementation that revolves around HTML5, CSS3 and JavaScript standards. Due to their flexible licensing models and open standards, CIOs are unable to resist themselves from looking forward to buy these tools. The other main advantage of using Hybrid Build tool for CIOs is, now they can reuse their existing web development teams (with JavaScript, HTML, CSS skillset) to build mobile apps.

[ad_2]

Source link

How to Create a Google Form

[ad_1]

If you need a form on your web site, or to use internally at your business, Google Forms may be just the answer. A Google Form is easy to create and the results feed into a spreadsheet so you can do pretty much anything you want with them.

Here is how to create a Google Form. You will need a Google account to do this, so if you don’t already have one, go to docs.Google.com and sign up.

Step 1: Log in to docs.google.com.

Step 2: Go to New, then Form (the left-most button on the top navigation bar).

Step 3:Type in a title for your form where it says “Untitled form”.

Step 4:Type in any text to describe your form in the next box.

Step 5:The next box you see is titled Name. This is a pre-created form box for typing in a person’s name. You can leave it alone or edit it by putting your mouse cursor over it and then clicking on the picture of the pencil. You can also delete it by clicking on the picture of the trash can. The other icon, the two boxes, allows you to create a copy of it. This is the same for any question you create.

Step 6:Create your first question. Type in a question title. This can be an actual question or just a word such as Name or Address.

Step 7: If you would like, you can include Help Text. This will give further instruction on what kind of information should be filled in. This is not usually necessary.

Step 8: With the drop down box called Type, you can choose which type of question to use. Your choices are:

  • Text: A one line text box that anything can be typed in to.
  • Paragraph Text: A multiple line text box that anything can be typed in to.
  • Multiple Choice: You set up different choices that can be chosen by clicking on a circle next to the choice. This allows only one selection.
  • Checkboxes: You set up different choices that can be selected by checking a box. This allows multiple selections.
  • Choose From a List: You set this up with different choices that will be presented in the form of a drop down box, and one of those choices can be selected (the Type drop down box is an example of this).
  • Scale: Set up a scale to choose from. Works good when are looking for people to rate something.

Step 9: Decide whether to make this a required question. If so, check the box to enable this. If you do, the form cannot be submitted unless this question is answered.

Step 10: Click done.

Simply repeat these steps until you have all of your questions filled out. If you would like to rearrange your questions, simply click and drag a question to its new position.

On the top right of the page, you will have several options of what to do with the form right away. You can send it via e-mail if you would like. Under the More Actions button you can get a code to embed the form in a web site. You can also edit the Summary, which is the note that shows up after the form is submitted. It is a good idea to edit this.

Once you have finished, go back to the main Google Docs page. Your new form will show up under All Items. When you open it, you will see a spreadsheet instead of a form. This is where the information from your form will be saved.

To view or edit your form, click on Form in the top navigation menu. You can also e-mail the form from here and get the embed code, or publish the form as its own web page.

[ad_2]

Source link

Alternatives to AJAX

[ad_1]

The short answer is, “Yes, there are a number of alternatives to Ajax for building Rich Internet Applications (RIAs).” These include Flash, Flex, Java, SVG and Ruby on Rails, as well as a few other niche players.

Now for the details, which make up a somewhat longer answer.

Flash and Flex, fellows

Adobe’s Flash, originally created by Macromedia, has quickly become an RIA tool of choice. Initially installed as a plug-in, its Player application started shipping with Windows XP some ten years ago now. Flash delivers some of the best RIA experiences, as well as multimedia.

On the downside, there is a longer learning curve with Flash. There is also a nagging, potentially problematic security issue. The Flash Player writes files to your computer in a rather secretive way, and there is no way to change the settings without using a “Settings Manager” located at Adobe’s Web site. Finally, Flash takes over your camera and microphone.

Flash brings a totally different perspective to building rich clients, but Adobe didn’t put all its eggs in that basket. The company also introduced a set of tools known collectively as Flex that provides data integration within a framework using integrated development tools. Taking care of the “XMLHttpRequest,” Flex offers easy integration with REST, SOAP or classic HTTP services. Flash is more of a straight-up alternative to Ajax, while some would characterize Flex as something like an “Ajax toolkit.”

Java’s still smokin’

Sun Microsystems’ Java is an Ajax alternative that has been around the block a few times, and its “applets” constituted among the first rich client tools for browsers. Java applets allow developers to use an honest-to-goodness, object-oriented programming language, while Java code runs in the JVM virtual machine with a “sandbox” for memory. Because of JVM, Java code runs on all platforms, living up to its slogan, “Write once, run anywhere.”

Applets can access only the memory allotted for its sandbox, which is an important security feature. Still, there are some problems with Java, the first of which is that it does require a plug-in that has to be manually installed for some browsers. JVM must be running for Applets to start up, and JVM may be slow to load at times. The applet has to be downloaded if it is not cached, which takes even more time, and this may be the most serious problem of all, since Web users typically expect ever higher, faster, better performance.

A mobile acronym?

SVG stands for Scalable Vector Graphics, a W3C language that uses XML to define 2D graphics and graphical applications. Its current version is 1.1, supported natively in the Opera browser (8+). Some Gecko-based browsers such as Firefox offer limited support, and although Konquerer, Internet Explorer and Safari browsers have plug-ins available for SVG, Microsoft’s IE has no commitment to it. The others do.

For PDAs (including PocketPC) and cellular phones there are, respectively, SVG Basic and Lite editions. The fact is that SVG will probably experience some adoption in the mobile category before it earns universal support among browsers. The lack of a commitment from Internet Explorer appears to be limiting the adoption of SVG.

Ruby, won’t you be mine?

Ruby on Rails is a somewhat more youthful technology, a free object-oriented language that has gotten a lot of press in the last few years. It is a “full stack framework” for developing database-driven Web apps following the Model View Controller (MVC) design method.

Ruby emphasizes development simplicity, reinforced with two near-famous and oft-repeated slogans. The first -“Don’t Repeat Yourself,” or DRY – is meant to eliminate wasteful duplication, of data or code. “Convention Over Configuration” instructs users to eschew configuration unless you have an “unconventional” situation.

Ajax support is innately, intrinsically available and simple to use in Ruby. You get instant functionality as soon as you install it. There are drawbacks, of course, especially if your firm has a well-entrenched system, stable development environment, solid platform and a ton of legacy code. It may not be practical to switch to Ruby – and she is still a youngster, after all.

Other candidates

XUL (XML User Interface Language, pronounced “zool”) was developed by Mozilla to build feature-rich apps that even run when they’re disconnected from the Web. As it offers a common set of customizable user interface components, and uses JavaScript, XML and DTD, it should be a fairly simple task for developers working with DHTML to learn it. One major drawback is that it needs a XUL-enabled Web browser, and that means Mozilla-based ones for now.

XAML (“zammel”) is eXtensible Application Markup Language, and coupled with Windows Presentation Foundation makes up the heart of Microsoft’s application development strategy. Microsoft is aiming for XAML and WPF to replace HTML, Flash and PDF, a tall order, indeed. XAML will deliver 2D and 3D imaging, video, animation, audio and so on, and is supposed to erase the line between Web and desktop applications. As an MS technology, it will certainly be used broadly, but it is not likely to make many waves in non-Windows environments.

Bottom line

If you are hoping to add Ajax functions to an existing site, that is a good place to start, but if you are planning the construction of a new site, and want to use Ajax from the gate, take another look at Ruby on Rails. However, your ultimate decision on the tools to use will depend entirely on what you’ve been doing, what you’ve been doing it with and how willing you are to add another tool to the toolkit. If Ajax is the tool you need, then use it. If an alternative works, use that. If you aren’t sure what’s best, use both until you find out.

[ad_2]

Source link

Server Side Programming Languages

[ad_1]

PHP can run on both Unix and Windows servers, which makes it more accessible than its Windows counterpart, Active Server Pages (ASP). Most full-service web design firms will have at least one PHP guru.

PHP uses are widespread, and can include any kind of server functionality that takes user’s input and displays or manipulates the input. Some pertinent examples of such work are message boards, auction sites, shopping carts, and more. There are numerous free (open-source) scripts out there for PHP newbies to use. This synopsis is meant to serve only as a gateway to other works; although the main goal is to give a reader enough information so they can make educated decisions about what their web developer should do. For those looking to get into PHP, there are many free tutorials and primers out there: http://www.4webhelp.net/tutorials/php/basics.php is a pertinent example.

PHP generally uses the mySQL database system. MySQL is a server-side system that is included on many Unix, and some Windows servers.

On the other hand, Active Server Pages runs – for the most part – solely on Windows servers. This can cause some problems. Windows hosting or private servers generally cost more than Unix servers, making it less accessible than PHP. Like PHP, ASP can do just about anything. There are considerably fewer open-source scripts written in ASP, another testament to its inaccessibility. For those interested in ASP, here’s a great free tutorial: http://www.w3schools.com/asp/default.asp.

ASP can use many different database systems. Many users prefer Microsoft Access. Access, unlike MySQL, offers a what-you-see-is-what-you-get (WYSIWYG) editor as part of Microsoft’s Office suite. In fact, you may already have a copy of Microsoft Access on your computer and not even know it. Its uses aren’t limited to databasing, it’s also used as a basic spreadsheet application for those who need a more programmer-friendly environment than Excel. ASP can also work well with MSSQL or MySQL.

A third programming language with burgeoning popularity is Asynchronous Javascript and XML. AJAX, as it’s commonly referred to, creates interactive web programs just like its cousins ASP and PHP. AJAX uses XHTML and CSS, along with the Javascript Document-Object Model to create interactive pages designed for speed and overall usability. Although AJAX hasn’t gained the acclaim of PHP and ASP, its future is certainly bright. AJAX Basics – [http://dhtmlnirvana.com/ajax/ajax_tutorial/]

It’s difficult to say which of the three programming languages, or the numerous others for that matter, is the best. There will always be disputes, and no standard is set. With the varying interpretations of what a programming language should be, predilections to PHP or ASP arise. PHP is certainly more widely used, but isn’t necessarily the best. When a site is being created to be interactive, a professional can give an educated opinion on which technology should be used

[ad_2]

Source link