Tag Archives: cloud computing

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.

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.

At the Crossroads of Enterprise, Mobile and the Cloud

DataPlex helps you intersect enterprise, mobile and the cloud

Navigate the Intersection of Enterprise, Mobile and the Cloud

As a disruptive phenomenon in the realm of information technology, Cloud Computing is evolving quickly and driving changes both in the personal space and in the corporate world towards a more portable and web-centric infrastructure, particularly in such areas as sales, marketing, customer relations, logistics and fulfillment.

Back in  October 2008, we said “In only a matter of a couple short years, mobile computing with third party applications will become de rigueur, so it would be wise to plan for that eventuality.” It seems we’re on track.

More important than the introduction of the next generation electronic devices such as the latest iPhone and iPad is the prodigious convergence of enterprise IT with mobile computing with cloud-based services. If you missed it, our previous newsletter article “Exploring Cloud Computing” discusses the current state of personal and corporate services being provided over the Internet. It makes cases for when organizations with existing IT structures should explore moving some of their internal and commercial processes over to the cloud.

While one might understand that the cloud is basically a set of remote software services that can be leveraged to reduce the size and cost of in-house IT support, what he or she should also understand is how the growing shift to the cloud is affecting the types of devices and applications we all use.

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.

Exploring Cloud Computing

Volume 4, Number 1

Could You Be Using It Someday?

We have entered an era of Things Cloud: “cloud storage,” “cloud computing,” or, just simply “the cloud,” referring to how IT personnel often represent the Internet in their diagrams. Are there opportunities to save money or get improved processes by moving to the cloud? In our analysis, we find that the answer is a qualified “probably so.”

The Cloud

Most business have already encounter the first embodiment of the cloud, “cloud storage,” also know widely as “online storage,” where data is kept not on your local computer but “somewhere” on the Internet, often accessed through a web portal that serves as a user interface for storage and retrieval. Flikr, Gmail, Facebook, and Remote Backup are examples of large implementations of cloud storage. While cloud storage has been around for a while, the cloud-based concept is in the process of evolving into not just providing data storage but operations on that data as well. We’ve entered the age of “cloud computing.”