Tag Archives: Android

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.

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.

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.

Android-based Smartphones – Google’s Nexus One and Motorola’s Droid

Will Motorola’s Droid or Google’s Nexus One trump Apple’s iPhone?

The latest entries into the mobile computing market are the Motorola’s Droid and Google’s Nexus One, both based on Google’s powerful new Android 2.0 Operating System. Some reviewers have called these smartphones “iPhone killers.” Are they really? What does Android represent to mobile computing?

The Droid and Nexus One are both very capable devices, and they outperform the iPhone in several ways. Some if not most of their specifications indeed surpass those of the iPhone 3GS, Apple’s most recent offering, which, by the way, isn’t terribly surprising for two-year newer smartphone designs.

The Android devices tout a larger screen size, the ability to replace batteries, better voice control, application multitasking, turn-by-turn navigation like a standalone GPS device, and a less restrictive app marketplace. The iPhone has much more and better managed memory, seamless integration with its iTunes and app stores, a more protective app marketplace, a more fluid gesture-based interface, and a greater variety of more polished apps.

At DataPlex, we think of Android 2.o devices as different animals, less as direct competition for the iPhone and more as a gap-filler, particular for Verizon, the cellphone carrier that desperately needed a smartphone facelift. Many people will select Verizon smartphones because of their high-quality 3G network which is arguable better than that of AT&T, the iPhone’s exclusive carrier. Others will cite the lack of availability of add-on apps for the Android devices as compared to the enormous quantity and variety of apps available for the iPhone.

We see the Droid and Nexus One dropping into the space between the uber-business-focused Blackberry and the sleek, arty iPhone, and some new apps will just make more sense for the Android platform than they will on those for other smartphones. Android will help make more accessible business and enterprise applications.

Don’t feel bad for Apple. Apple has never sought purely to dominate a market. Rather, it looks to make its offerings attractive and easy-to-use, particularly with the overall intent of integrating them seamlessly with the rest of its product line. Alternately, the Droid and Nexus One come across as capable, feature rich devices, but ones with some rough edges and some complexity in the veins of the longstanding PC vs. Mac debate. Apple has its followers and the attraction of its more polished market. Rumor has it that Apple will releasing its next iPhone version mid-2010, that is, after it releases its also-rumored tablet. Don’t be surprised if it incorporates some of Android’s new features.

To learn more about the differences between the Droid, Nexus One and the iPhone, read the following posts. As you mull over what they say, you’ll identify with what is important to you.

The Wall Street Journal’s Walt Mossberg on his first impressions of Google’s Nexus One as compared to the iPhone:

http://ptech.allthingsd.com/20100105/googles-nexus-one-is-bold-new-face-in-super-smartphones/

GoGrid’s Technology Evangelist Michael Sheenan reports on a week he spent with the Droid:

http://www.hightechdad.com/2009/11/20/a-week-with-the-verizonmotorola-droid-by-an-iphone-addict/

Here, Technologist and TV Journalist Shelly Palmer provides a clear report card comparison of the iPhone, Droid and RIM Blackberry:

http://www.shellypalmermedia.com/2009/11/29/my-new-verizon-droid-plus-the-iphone-blackberry-droid-report-card-and-review/

Ars Technica has posted a very complete and technical analysis of the Droid sprinkled with comparisons to the iPhone:

http://arstechnica.com/gadgets/reviews/2009/12/review-of-the-motorola-droid.ars/

A bunch of pictures of the Nexus One:

http://arstechnica.com/gadgets/news/2010/01/photo-gallery-googles-nexus-one.ars

Also, don’t forget that the Droid and Nexus One are only the first swath of Android 2.0 devices rolling out over the next several months, so be sure to watch for the latest in smartphone offerings. A good site to do that is:

 http://www.phonedog.com

Should you like any advice on your smartphone selection, feel free to drop me a note. Also, if you’d like to stay on top of things electronic from my perspective, you are invited to follow me on Twitter @DataPlexCEO.

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

One of our clients noticed that his website wasn’t showing up on smartphones and other mobile devices. The problem was that his website used Adobe’s Flash which doesn’t render properly or at all on some mobile devices. We describe a solution in this first of a two-part series.

The Problem

Adobe Flash (formerly from MacroMedia) is a mature and dominate technology platform for showing animation on and providing high-end user interfaces for websites. Before smartphones, Flash could claim upwards of 99% browser penetration.

Flash’s penetration has been poor with smartphones. Up until recently, no smartphone supported Flash, and even today, only a limited number of smartphones support all the core features of Flash.

With the growing dominance of mobile smartphones, some companies whose websites rely on Flash are realizing that they cannot adequately reach their customer base. Companies that invested tidy sums in making their website into state-of-the-art user experiences are finding that a growing number of their customers are unable to interact with their sites from Flash-incompatible smartphones.

This is a problem that will eventually get corrected. While there seems to be some political posturing between Adobe and Apple with regards to bringing Flash to the iPhone, Adobe and ARM, the processor company behind most smartphones, are wrapping up a technology collaboration announced in November 2008 to bring Flash to most other ARM-powered devices by late 2009 or early 2010, and we are already seeing the results of that collaboration. We think it is clear that Apple will be forced to tag along at the end of the day.

Which smartphones support Flash? Basically, the iPhone browser does not while some of its apps do, the Palm Pre is about to, and all the Android 2.0 devices such as Motorola’s Droid and Google’s Nexus One do and will. Unfortunately, there are more iPhones than anything else, so this presents serious problems for existing websites that utilize Flash.

The Solution

If a website has just one or a few small Flash elements for effect but most of the site including the home page is non-Flash, e.g. HTML, then it would show the occasional blank space where the Flash animation would go. If a website’s home page or other web pages are completely Flash, or if the website relies solely on Flash for site navigation, then it may be mostly unusable.

In either case, the website would benefit from having some non-Flash-based alternatives dropped in and activated when a Flash player is not available. While the alternatives make not be as “flashy” (sorry), this quick solution will make a website more smartphone compatible.

DataPlex engineers know how to install alternatives to Flash into a website. Contact us for more information.

There is another, more clever technical solution which keeps some if not all of the “flashiness.”  You can read about here in Part II (coming February 2010).