Category Archives: Business

A Letter to Start-Ups on Technical Development

Lower your Development Costs by as much as 50%

There is a perfection in getting your product into the marketplace as soon as possible so that it can evolve organically rather than waiting for it to achieve perfection.

Dear Start-Up:

Get to a “Minimum Viable Product” as quickly as possible. Whether your “product” is hardware, software, a combination of the two, or some kind of service, not only will you save money, the sooner you get something operating that people can use, the faster they will be able to provide you with useful insight, and the sooner you will have opportunities to refine and, in some cases, redefine you approach. Do not fear mistakes and false starts, as you will get past them and into a position of having happy customers and growing your new customer base.

As its name suggests, a Minimum Viable Product, or “MVP,” has just enough features and functionality to be useful. The bells and whistles can come later, once you have the core product well defined. As easy as this sounds, you may be hard pressed to find a true minimum set of features because you might second guess yourself by thinking that this or that feature, by not being included, could handicap the critical initial release and prevent it from being accepted.

But moving right to a MVP does not mean you start coding today. There is an important planning step that can save you from a tremendous amount of grief and possible failure. This step is the writing of a good technical product specification that will help you decide on the minimum set of features so that your MVP is developed as quickly and as close to your vision as possible.

Listen up: Do not skip this step, even if you think your MVP is not “rocket science.” It may not be, but it is often your young company’s first technical cornerstone, setting forth its basic system architecture and, as such, it needs to provide a strong foundation for what is to come.

Why you Need a Specification

Chances are good that you will need outside developers. If one of your founders is a developer, he’ll probably be too busy with other start-up related issues to be able to dedicate enough of his time to managing all of the development. Besides, if your product is to get out in a timely fashion, it may need more short-term talent … so it’s time to call in some professional developers.

As developers prepare quotations for you, they will ask you for a number of technical items to help them gauge the effort, to neither overshoot nor undershoot your requirements. Examples of such items are technical write-ups, screenshots, mock ups, demonstration videos, sample code, proof-of-concepts, “lab curiosities,” the technical section of your business plan, to name a few typical items which are, by the way, best provided or shown under a non-disclosure agreement. Be mindful of not delivering materials that are focused only in one area, such as the end-user experience, because they may not provide enough detail by themselves to cover the full range of your MVP’s features and functions.

Developers are at their best they receive a high quality technical product development specification against which they can then provide exacting quotations. Besides serving other purposes such as helping you to intelligently determine the MVP’s feature set and establishing your budget, this specification becomes a technical document that liaises between you and your developers. It tells them in no uncertain terms what the product will look like, how it will behave, and what “under the hood” considerations need to be made. It eliminates guesswork on the part of the technicians and programmers. It prevents unpleasant surprises during the course of development when, for example, you and your developer suddenly realize there has been a difference in assumption on some aspect of the product; to resolve this now apparent and unfortunately discrepancy, the development path has to change, the deployment delayed, and the budget revised higher.

Please don’t think that a product specification will take long. We’ve done them in as quickly as a few days and certainly not longer than a few weeks for more complicated projects. Depending on the kind of product or service, a typical specification runs from between 10 and 50 pages. During the writing of the specification, several important issues usually come to light that are best addressed before development is actually begun. These issues are not necessarily technical; they can be related to the business model, customer requirements, and government regulation, among many other factors.

Also, do not think of the time to have a specification prepared as being “lost.” The clarity that the specification will bring to the table will actually allow your product to be developed more quickly overall. Also, some degree of technical research and development work is performed during the preparation of a technical specification, much of which finds its way into the final MVP. Occasionally, there may be multiple technological approaches that need to be evaluated in light of the project’s desired goals. All in all, this engineering-driven specification process with some built-in R&D has the effect of significantly lowering your overall development costs, in our experience by as much as 50%.

Some questions may come to mind…

What will my specification look like? What will it contain? It will be a comprehensive report having, among other things, every feature, every function and every user interface screen of your MVP defined. It has sections of standards, guidance, goals, assumptions, checklists and definitions. it covers all of the MVP’s functional requirements, and some non-functional requirements as well. It deals not only with the software layers but also with what hardware will be used, even if it’s cloud-based, and how it is configured, made secure and has built-in redundancy and backups. It will incorporate your business intelligence, philosophy, personality and value proposition. To the extent of relevance, it will identify vendors, manufacturing processes, and intellectual property considerations. It will contain a proposed development schedule along with an estimated budget.

What does a specification do for me? With proper care, your specification evolves into a “living” guide for the technical side of your business. It becomes an important asset of your company, thereby increasing the value of your company. It can be leveraged to add significant value to your business plan and to your patent filings, and it also becomes a cornerstone for your trade secrets. It can be used to solicit exacting quotations from not only the technical advisory firm who may have helped you develop the specification in the first place but also from a number of other competing firms as well if you so choose.

Should I pay for the specification? Shouldn’t developers do it as part of their quote? Most developers provide free quotes when given a reasonably good specification of what it is they are being asked to do. In lieu of their receiving enough technical material, developers may suggest that you have a technical specification prepared as the very next step. You can do that yourselves or have a qualified engineering team do it for you. Since your MVP’s specification is custom work which has no market other than you, and since it will increase the valuation of your young company, the developers are entitled to just compensation for this preliminary effort. Also, the adage, “you get what you pay for” is very applicable here — you want a solid, engineering document upon which your future can rely. You really do not need a bare bones, short-term “punch list” that will be essentially obsolete a few changes later.

Once you have a properly designed specification for the MVP, your project manager can “shop it around” for maximum cost savings without giving up much in the way of quality. You may choose to break it up into sections so as to help minimize the exposure of your intellectual property and trade secrets. Once one or more developers have been engaged, your project manager will then monitor the project’s progress, providing you with updates and flagging any important issues that need your attention.

As part of the technology strategy consulting that DataPlex provides, our engineers can develop your product specification, act as your project manager, and undertake key portions or possibly all of the technical development to ensure that trade-offs are properly considered and your MVP is developed quickly and to your liking. We can help you develop “customer profiles” and “use cases” that serve to bring closer the real-world to your product’s development. Feel free to contact us to find out how in your particular case we may be best able to help.

ATM Service of California

DataPlex welcomes ATM Service of California as a new customer not only of one of its rapid enterprise development AmpUp-based business systems but also as a hosting client. ATM SoCal, based in Southern California, is an installer of new and a maintainer of existing Automated Teller Machines throughout the United States.  They use the DataPlex Service System for scheduling, performing and documenting all of their ATM work and for providing personalized web-based portals so that their customers can get instantaneous status reports.  For maximum flexibility, the Service System uses the very popular, open source MySQL database engine.

Personal Computing Comes Full Circle

Revisiting the Lessons of Timesharing

by Warren Juran

“Those who cannot remember the past are condemned to repeat it.”  George Santayana, might have been talking about how today’s Internet-based computing echoes computer timesharing from the 1960s and 1970s.  How can the lessons learned from that early era of computing help us to design better systems and applications today?  The tale of personal computing’s evolutionary path shows what experienced engineers and developers can bring to the design table.

Once upon a time, computers were so large and expensive that hardly anyone could afford to have one.  Computer users punched their program instructions and data into cards and brought the decks of cards to a computer center.  Operators at the computer center fed the cards into the computer’s input device.  The printed results were available after a considerable wait.  This inconvenient system seemed to take forever to debug software because of the delays after each cycle of correction and re-submission.  There wasn’t much ready-to-use software and the benefits of computing were available to very few.

Computer timesharing let more people enjoy the advantages of “personal computing.”  Hundreds of users could use their own keyboard/printer terminals to share the resources of one central computer.  In the 1960s and 1970s, computer timesharing companies spread around the world, operating large data centers and communications networks to provide dial-up services for their users.  Timesharing companies opened branch offices in large cities and employed armies of salesmen to locate and cultivate new customers.  The new customers could do their own interactive programming, or use extensive libraries of ready-to-use software for their computing needs.

The timesharing companies provided the central computers, communications networks, software libraries, customer support and education, printing services, remote job entry for traditional “batch” computing jobs, client data storage, and a one-stop-shop for word processing, accounting, messaging, engineering analysis and other customer requirements.

Developers of early timesharing systems dealt with issues like utilizing limited bandwidth, providing rapid access to large amounts of data, and insuring that individual users didn’t monopolize computer resources. Tools like “linked lists,” “sparse matrices,” “hashing,” and priority queuing helped improve timesharing systems. Today’s computers and communication networks are vastly more powerful than their early counterparts, but disciplines like Information Theory, Queuing Theory, Distributed Computing and Peer-to-Peer computing can still enhance system performance and reduce costs.

Mobile Computing: Native Apps versus Web Apps

What it Means to Your Organization

by Harry Tarnoff

Our clients often ask about the advantages of mobile applications and the differences between mobile “native apps” and “web apps.” They ask, “How would a mobile app relate to our business, our people, and the products and services we offer? Should our mobile app be a native app or a web app? Should we consider corresponding changes in our business’ IT systems?”

A well-designed mobile app can certainly complement a business’ website and aid in the marketing and sales of the business’s offerings. The selection of a native or web platform will affect an app’s characteristics, what services it can readily provide, and the app’s future evolution. A wrong choice could cripple a start-up or a company launching a new offering. A poorly designed app may never become popular enough to gather a following.

Even more striking is how mobile apps are growing in importance. The percentage of mobile-only users, at 25% today, is estimated to be more than 65% in 2015. This means that, instead of your website, it could soon be your mobile app that tells your customers about you, your company and its offerings. Your mobile apps need the same care, professionalism, and polish as your website and marketing brochures. The quality of your brand must be high for all elements of your public persona.

Fundamental Differences

A “native app” works on only certain devices for which it is targeted. It is written in one of the development languages supported by the target device. A native app runs on the target device and typically stores its data on the device. Native apps can run very fast and can easily interface with any of the device’s hardware and operating system features.

The flexibility of a native app comes at a price, however: Native apps written for one platform, say Apple’s iOS which drives iPhones and iPads, are not compatible with other platforms like Android or BlackBerry OS. Developers spend significant resources to translate, or “port,” their applications to run on each additional device family. Supporting and maintaining similar software for multiple platforms is expensive.

On the other hand, a “web app” is developed using standard web technologies like HTML, CSS and JavaScript. The resulting program, typically accessed through a URL web address, requires only a device with a standards-based browser. An iPhone, iPad, Blackberry, Android phone, or Android tablet can all be suitable clients for the same application.

A web app pulls content from a remote server, so it needs an active WiFi or cellular link. A web app running within a mobile browser generally runs slower than a similar native app, has some restrictions on its user interface, and often cannot take full advantage of special device features.

But the extent of these differences is narrowing. Native and web apps are breaking through their stereotypes. New development platforms let native apps share a common codebase, easing development. Improvements in mobile browsers and new mobile OS features, let web apps mimic their native counterparts and access special device hardware features. Cross-compiling development platforms improve the performance of web technologies.

Business Card QR Codes and the Apple vCard Problem

by Harry Tarnoff

You may have heard the buzz on “quick response codes” – QR codes, typically one-inch square barcodes that are appearing on advertisements, coupons, in stores, even on T-shirts and shopping bags. The idea is someone interested in the product, store or event could whip out their cellphone, take a picture of the code and have the phone’s browser instantly bring up their associated web page with more information. Wouldn’t it be nice to do something similar on business cards so that someone can scan a code and have the contact information automatically added to their electronic address book?

As we opened up our new offices in Downtown Los Angeles, we wanted to do exactly this, not only because it would make it easier for the people to whom we gave our business cards to add us to their devices’ contact list, but it would also demonstrate some high-tech capability on an otherwise non-technical piece of paper – perfect for a technology strategy company. Well, it’s good that we know technology because there were a couple of issues along the way, the solutions for which we are more than happy to share.

The vCard and the QR Code

The generally accepted format for a electronic business card is called a “vCard.” It has been around since the mid-1990′s and is supported by all the major email and CRM programs. A vCard file can be attached to an email message or linked on the web. It is a readable text file with fields for names, addresses, phone numbers, and other personalized data.

QR or Quick Response codes represent an improvement over their UPC bar code ancestors because they can reliably carry more information for easy access by a business’ customers. Instead of a series of parallel lines as with UPC bar codes, QR codes are in a two-dimensional matrix with blacked out squares at certain row-column intersections, much like a crossword puzzle. Customers use smartphones to scan these codes to see more information – typically a web page associated with the codes – about whatever it is that these codes are associated with.

Let’s now say you want to put the equivalent of your vCard on your business card as a QR code. It may be a natural thought to simply put all of the vCard information directly into the code. This is not a good idea. Besides the code becoming too detailed and harder to scan, when someone scans it using a typical scanner app, they would get only the vCard text. The vCard information does not get added automatically to the Address Book unless the app itself is aware that the data represents a vCard and adds it to the Address Book itself. Your potential customers lacking an appropriate scanner application could become frustrated.

What you do instead is what the advertisers do, that is put a single web link into the QR code. This approach has wide support and will undoubted work fine. After all, that is the primary purpose of QR codes, to be scanned and take a user to a predefined web address.

The plan, then, is to create a code that takes the user to a web address which has a vCard file. The device’s browser, seeing that the “web page” is a vCard, will download the contact information and allow the user to add it to the Address Book.

The Apple Mobile Device Issue

While this approach works on virtually all desktops, notebooks, and many mobile devices including those based on Android, there is a big snag when it comes to Apple mobile devices. For years, Apple has supported vCards as the only easy way to export Address Book entries.  However, Apple’s mobile device browsers do not support vCard files. If you scan a link to a vCard file, all you get is a “Safari cannot download this file” message. Oops.

While this oversight will most likely eventually be fixed, it is probably not prudent to march forward adding QR codes to business cards and hope that Apple fixes this problem. Some kind of hopefully temporary workaround is in order.

You could email the vCard to the Apple device. The device will then ask the owner to confirm adding the data to the Address Book. The disadvantages to the approach are:

  1. It is not automatic since the user needs to enter an email address on which to receive the vCard
  2. The user has to give up his e-mail address which he or she may not want to do
  3. Emails are not always fast and reliable, so the user is forced to wait and possibly retry

The Solution

Fortunately, we have a much better workaround. It requires an entry in Google Places (or Google Maps) and administrative rights to a website.

Our DataPlex entry with Google Places has a bunch of business-related information and is a fine place to send someone who scans in the QR code from the back of our DataPlex business cards. The solution is to forward someone on an iPhone or iPad to this alternate URL. If you haven’t already, set up your entry in Google Places.

The Technical Part

The key part of the solution is adding a URL rewrite rule. Although the following is for Apache, there is a similar process for Microsoft’s IIS.

Here are the lines to add to the .htaccess-file on the website for the folder that contains the vCard:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} .*Mobile.*Safari
RewriteRule ^(.*)vcard.vcf$ http://maps.google.com/maps/place?hl=en&georestrict=input_srcid:0d6a82b1f62d0d2b

Your technical staff should, of course, change the third line with the “RewriteRule” to link to the proper map reference. If it is not already active, your staff also should enable the mod_rewrite module.

How this works is, when an Apple mobile user snaps a pic of the QR code in some scanner app, that app launches Mobile Safari to bring up that web page. The .htaccess tells the Apache server, when it sees that the “user agent” (browser ID) has contained within it the text strings “Mobile” and “Safari” to redirect the browser to the URL specified in the RewriteRule.

You can continue to use the same QR code pattern and URL but update the information on your website-based vCard and in Google Places without having to necessarily reprint your business cards.

Demonstration

Visually, what happens after the Apple mobile device user snaps the pic of the QR code, is, within seconds, he or she is looking at a Google Maps page for the business. Once there, the user can click on “more info” (the right-facing arrow in the blue circle) and then “Add to Contacts” at the bottom of the page. It is a bit unfortunate that the Add Contacts button, along with those for “Share Location” and “Add to Bookmarks” are off the bottom of the screen so the user would have to scroll down, but most experienced Apple device users would know this.

If you want to see a working demonstration of a working QR code-based vCard link, just scan the QR code below. It has the link to a vCard on the DataPlex website. If you are using an Apple device, you’ll end up in Google Maps as described above. Otherwise, you will be prompted to download the vCard directly into your Address Book or Contact List.

vCard for DataPlex

Barcodes, especially the new matrix codes such as QR, can be wonderful time-savers for businesses, but they have to be implemented smartly. If you would like to upgrade to the latest in barcode technology, let us help in your deployment of an easy-to-use yet robust system.

A Quick Primer on Quick Response Barcodes

There are regular enterprise business systems, and then there are those exceptional systems that connect to sensors and allow integration with the real-world, simplifying logistics, lowering costs and saving money. We build such systems, and one of the areas our customers ask us about are barcodes. There is a new type of barcode that is sweeping the world, and you should know about how it may improve your business.

It is known as a Quick Response code or QR code. We’ve put together this QR Code Primer in Q&A form to answer the more common questions, and, should you have more, please feel free to contact us to have a no-obligation discussion.

 What are QR codes?

QR codes are bar codes similar to the UPC codes you see at the market but they are organized into rows and columns and therefore are able to contain more information. Customers use their smartphones to scan these codes to see more information – typically a web page – about whatever it is that these codes are associated with. QR Codes caught on big in Japan a couple of years ago and are now just beginning to appear in the United States. The codes can be used for other purposes too, say, within an enterprise to improve workflow (more on that below).

What do they look like?

While the can be any size, they are square and usually not more than an inch high.  Depending on how much data they contain, the dots (or pixels) will range from large to small.

Here are some sample QR codes:

QR code #1 QR code #2 QR code #3

The first code, on the left, is lower-resolution than the others because it contains the least amount of data. As more data is put into the same size QR code, the dots shrink to accommodate. Larger dots are generally better because the scanner is better able to distinguish them. The third code shows that there can be some creativity; some people even alter the dot pattern to show readable letters or images, but that comes at a cost of lower reliability.

How does a business use them?

There are a myriad of uses, even inventive new ones such as scavenger hunts, green ticketing, and furniture assembly. Common QR code uses are for the purposes of marketing, promotion, entertainment, education, information transfer, sales and retail, and workflow:

Marketing increase a business’ exposure and market
Promotion promote new products and special events
Entertainment e-ticketing, paintball targets
Education tests, lessons, report cards, museum guides
Information Transfer transferring business card information
referencing newspaper articles and online sources
Sales and Retail payments, track units sold, units returned
Workflow sequencing, provisioning, inventory control

sample promotional use

Are there alternatives?

Yes, there are the QR code’s ancestors of single row of parallel lines like the ubiquitous UPC code, and there are other matrix bar code formats including specialty ones used in manufacturing to work across longer distances between objects with the code and the scanner. There are new codes being invented all the time such as Microsoft tags, but unless there is a compelling overriding reason, typically we recommend sticking with one of the more common and better supported formats.

What apps are already available?

General-purpose scanner apps for mobile devices are everywhere. Just go to your favorite app store and search for “qr code.” The real challenge is for a business to set up an appropriate system and then generate the codes to be useful in some way. Sometimes based on the nature of the business use a custom scanner apps needs to be developed.

How can my business make use of QR codes?

If you are asking this question, then you already have some idea of how QR codes may be able to streamline your operation or be used to promote some product, service or event.  Some uses are straightforward and require not much more that creating a landing webpage, generating a code with its URL, and printing the code on promotional materials.

cute QR coded presentAs system developers, we are also interested in the area where QR codes hold tremendous promise but not much has yet been done … with business enterprise. These more sophisticated uses require finely tuned apps particularly when the codes are used to track workflow through various states and statuses. For a large operation, the scanning of codes feeds a company-wide enterprise system to keep important databases up-to-date automatically. As one quick example, Starbucks recently announced that it is now accepting QR code-based mobile device payments at 7,500 locations.

Depending on the application, there can be some “gotchas,” even with seemingly benign uses, for example the problem we identified with Apple mobile devices.

cute QR coded presentOur experience with barcodes and scanning goes back a few years when some of our team members designed printers and scanning equipment. As a result of our rapid development ability, our customers have been very happy with our systems including the good folks behind the NBC game show “1 vs 100.” Let us know how we might assist you.

Better Business Software

Can Business Software be Better?

We have all heard the horror stories regarding business software systems: The tremendously expensive system. The system that didn’t work. The system that couldn’t grow with the business. The provider who wanted $50,000 a module and five modules would be needed. Critical software changes that take weeks or months.

With fast-changing markets, demographics and new regulations, businesses need to be nimble and fast in their reactions. The last thing a business needs is to hampered by expensive and time-consuming system implementations. Hearing about the bad experiences of others’ raises the question, what are the characteristics of good business software?

Thinking from a business owner’s perspective, better business software should:

  • Work reliably and securely
  • Be adjusted to take into account the uniqueness of the business’ operation
  • Come at a cost that doesn’t break the bank
  • Come with easy access to the software’s actual developers for the best possible technical support
  • Be quickly extendible when new features are desired
  • Not be locked in to a specific platform that doesn’t have a bright future or comes with high monthly expenses
  • Maximize connectivity from anywhere using mobile devices

A tall order, right? Not so with us. With DataPlex and AmpUp – our rapid software development tool for business enterprise applications – you get business software that offers modern capabilities that can easily be altered to meet changing needs, possibly giving your business a competitive advantage.

By leveraging AmpUp, you get:

  • A reliable and secure system that take into account the uniqueness of your business’ operation. We start by doing a free assessment of your current operation and then work with you to develop effective new displays and processes.
  • A system at a fraction of the cost of other commercial systems, including those that claim to be “off the shelf.”
  • Easy access and great support. We are the developers, and you have our direct phone numbers. (Email too.)
  • The ability to add new features quickly and at any time. We’re happy to be your technical advisors on anything daunting.
  • A web-based system that can be easily ported to your favorite cost-effective hosting service including those “in the cloud.”
  • Connectivity from Internet-enabled mobile devices whether they be Android-based, Apple, Blackberry, Microsoft or something else.

We introduced AmpUp six months ago because, frankly, we were shocked at what some of our clients were telling us about what they had to put up for systems and support. We didn’t think that a small business needed to spend six figures for a new system, wait six months for their so-called customizations, and then wait weeks for bug fixes which sometimes added even more bugs.

AmpUp logoAmpUp, it turns out, is a software development game-changer. It is a stable “software as a service” or SaaS platform that is shared among many different applications. In four months, we have been able to implement four very sophisticated enterprise systems. That’s one per month. Yes, you read that correctly – you could have one of our completely customized enterprise-wide systems working for you in a surprisingly short amount of time.

Interested? Feel free to drop us a call or note. We look forward to chatting with you soon.

Website Design and Smartphones: To Flash or Not to Flash (Part II)

In Part I, we discussed how relying on Flash for websites can lead to problems with smartphones that don’t support Flash. We recommended the solution of detecting whether Flash is installed and, if not, substituting an alternative such as a non-animated graphic image. But that can be rather boring and not in keeping with your site’s up-to-date and sleek philosophy.

In this Part II, we present how, for our clients, we have created Flash-like effects without using Flash at all. Who says that the alternative has to be a boring static image, right?

One word, JavaScript. JavaScript (JScript for Microscoft’s Internet Explorer) is the de facto client-side scripting language embedded in every modern-day browser that, if utilized properly, can be leverage to provide special effects without the need for Flash. All smartphone have to support JavaScript since so many website use it. Note: JavaScript is not the same as Java which, like Flash, needs to be installed in your browser separately and is not available on all device platforms. JavaScript is the only universal browser scripting language.

Let’s explore a few examples of what we can do with JavaScript.

Example 1:  Rotating and Fading Slideshow

Here’s where a spot in a web page is used to show one picture after another. In the old days, a few years ago, abruptly changing from one image to another was an accepted practice. As designers started to use Flash more, they leveraged Flash’s ability to fade one image out and another back in. Well, JavaScript can do that t0o.

Check out Example 1.

Apple eschews Flash technology, and that’s why there is and probably will never be any Flash support on the iPhone and iPad devices. If you go to Apple’s website, you’ll see them using this effect in many places.

Example 2:  Rotating, Fading and Sectioned Slide Show

One disbeliever who is now a happy client said, “so, you can rotate through images, but what about special effects?” We asked him to mention one, and he said “okay, can you have an image swipe across from left to right in three sections?” We worked for a bit and show him something similar to our second example here, and he was convinced.

See Example 2.

What is going on here is that there are actually several images next to one another, three panes as it were. The JavaScript code rotates through the images in tandem, offset by a small delay to get the desired effect. Note the combined effect of simultaneous sectioning and fading.

Example 3: Two-Dimensional Sectioned Slide Show

Just to prove our point without any doubt, we took our second example with horizontal sections and added vertical sections to generate two-dimensional sectioning with two rows and three columns.

See Example 3.

There are other possibilities limited only my our mutual imaginations. Like Flash, JavaScript can create the following effects:

  • image fade in / fade out
  • image scrolling
  • drop-down / slide
  • changing speed
  • changing color
  • rotation
  • zoom in / zoom out
  • sprite (individual image) control
  • overlaying / superpositioning
  • multiple image morphing
  • synchronization of disconnected animations

JavaScript is not as good as Flash in:

  • video playback
  • accurate sound and video synchronization
  • high frame rates for graphics
  • unlimited text font support
  • realtime user interaction

This comparison does not suggest that JavaScript is every bit as good as Flash in its handling of effects. Far from it. Flash is a much better environment for creating animation because it has a complete development platform for developing its code and a specialized environment in which to execute it.

That said, if you would like the maximum amount of interoperability especially with smartphones, that Flash is that much a better environment doesn’t matter. In that case, turn to JavaScript.

Since JavaScript doesn’t have an Adobe behind it pumping out development environments for creating animation, you will need to turn to a development firm that knows JavaScripts in’s and out’s, matches up what you’d like to see, and provides a custom solution for your site. While that might sound expensive, it’s really not as we have created JavaScript replacements for fractions of what the original Flash effort cost.

*     *     *

In our two-part article, we hope we’ve expanded your thinking about how not to use Flash, at least not for every animation. We would enjoy hearing from you if you’d like to see if we can help with your site animations.

Cloud Computing Issues

This is a sidebar to our Article “Exploring Cloud Computing“.

Here is a rundown on most of the current issues concerning cloud computing:

Security – While a leading edge cloud services provider will employ data storage and transmission encryption, user authentication, and authorization (data access) practices, many people worry about the vulnerability of remote data to such criminals as hackers, thieves, and disgruntled employees. Cloud providers are enormously sensitive to this issue and apply substantial resources to mitigating concern.

Reliability – Some people worry also about whether a cloud service provider is financially stable and whether their data storage system is trustworthy. Most cloud providers attempt to mollify this concern by using redundant storage techniques, but it is still possible that a service could crash or go out of business, leaving users with limited or no access to their data. A diversification of providers can help alleviate this concern, albeit at a higher cost.

Ownership – Once data has been relegated to the cloud, some people worry that they could lose some or all of their rights or be unable to protect the rights of their customers. Many cloud providers are addressing this issue with well-crafted user-sided agreements. That said, users would be wise to seek advice from their favorite legal representative. Never use a provider who, in their terms of service, lays any kind of ownership claim over your data.

Data Backup – Cloud providers employ redundant servers and routine data backup processes, but some people worry about being able to control their own backups. Many providers are now offering data dumps onto media or allowing users to back up data through regular downloads.

Data Portability and Conversion – Some people are concerned that, should they wish to switch providers, they may have difficulty transferring data. Porting and converting data is highly dependent on the nature of the cloud provider’s data retrieval format, particular in cases where the format cannot be easily discovered. As service competition grows and open standards become established, the data portability issue will ease, and conversion processes will become available supporting the more popular cloud providers. Worst case, a cloud subscriber will have to pay for some custom data conversion.

Multiplatform Support – More an issue for IT departments using managed services is how the cloud-based service integrates across different platforms and operating systems, e.g. OS X, Windows, Linux and thin-clients. Usually, some customized adaption of the service takes care of any problem. Multiplatform support requirements will ease as more user interfaces become web-based.

Intellectual Property – A company invents something new and it uses cloud services as part of the invention. Is the invention still patentable? Does the cloud provider have any claim on the invention? Can they provide similar services to competitors? All good questions and answerable on a case-by-case basis.

Once someone understands that cloud computing potentially suffers from much of the same fate as proprietary systems, the question becomes “do the advantages of using the cloud outweigh my concerns?” For low-risk operations and for insensitive information, the answer can easily be “yes.” Realize that cloud-based services can be backed-up, verified, double-checked, and made more secure by combining them with traditional non-cloud IT processes.

The Different Types of Cloud Computing

This is a sidebar to our Article “Exploring Cloud Computing“.

Here is a list of the five most common types of cloud computing.

Software as a Service (SaaS) – a single application, library of applications, an API of web services, infrasructure or development platform users who are not necessarily aware of one another interact with through their browsers; Salesforce.com, Google Apps and Zoho Apps are a few examples. Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) are closely related derivatives of SaaS.

Utility Computing – specialized apps coupled with dynamically reconfigurable resources with often a significant reliance on virtualization for ease of maintenance, portability and scalability.

Managed Services – piecemeal software extensions for existing IT departments such as virus scanners for email or remote desktop managers.

Service Commerce Platforms – a hybrid of SaaS and Managed Services presenting an automated service bureau. Think ADP.

Internet Integration – a combination of any or all of the above, from the same or different providers over a common “service bus,” today in its infancy. The “bus” is a standardized data transfer subsystem which allows different providers’ service elements to be plugged in and swapped out, allowing data to be shared across different providers and giving competitive choice to the user.

These services are provided by “cloud service providers,” also called “cloud vendors” or “cloud providers” for short. A “public cloud” provider is one who purveys services to pretty much anyone on the Internet. The largest public cloud provider in the world is amazon.com’s Amazon Web Services. A “private cloud” is a proprietary network or a data center that supplies hosted services to a limited number of other organizations or people. When public cloud resources are used to create a private cloud, the result is called a “virtual private cloud.” Private or public, cloud computing provides easy, scalable access to computing resources and IT services.