Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Forum

  Home arrow Linux For Devices Articles arrow Guest editorial: Pondering our Linux/Java future

Guest editorial: Pondering our Linux/Java future
By Rick Lehrbaum

Rate This Article: Add This Article To:

Predicting the future is a mug's game at the best of times.The Internet landscape is littered with the carcasses of strange little start-up companies who thought they could predict the future. But then again, the kind of future they foresaw presupposed limitless supplies of cash from angel investors who never really bothered to check whether there was a reasonable business plan behind the ideas.



But the industry wised up, and reality slid back into place with an audible thump. Who knows: perhaps in a parallel universe, the boom actually carried on?

So our world is perhaps a bit wiser now. Certainly, in any case, it is more parsimonious. And, consequently, the "we'll do the whole darned thing ourselves" attitude of some companies has been replaced by one of "adapt and prosper".

This, then, is one reason the open source (and yes, "free") aspect of Linux will be (and already is) so attractive to the embedded market. And also why the cross platform nature of Java will become more and more popular as time goes on.

So, despite my better judgment, I'm going to attempt to predict the future . . . well, at least a future I'd personally like to see.

The future

You've no doubt already read predictions about the house of the future: network enabled devices connected to each other and to the Internet. The fridge that orders milk when you run out. The washing machine that knows when it's about to run out of powder and emails a distress call to the pantry.

But have you sat back and thought about how some of these ideas might actually work in the next few years -- rather than some indeterminate time in the next decade or so?

The backbone of the connected home will obviously be a computer of some sort. This computer (or "home services gateway" as I've heard it referred to) won't be the desktop PC sitting on the end of your desk that crashes half the time you install new software on it, or gets infected by a virus every time your children download a new game from the Internet.

It probably won't need much of a graphical user interface (GUI) itself, if it needs one at all. Hence, it won't need to be that powerful. I've already come across several projects where older PCs are ripped apart and turned into Linux MP3 players -- so there's no reason why the obsolete computers of tomorrow can't also be pulled apart and turned into stable Linux servers for the connected home.

And what's this home gateway connected to? To put it simply: everything.

From the smallest device with no interface and a Java processor (that executes Java bytecode directly) with little else, to the smart power meter with a small-footprint embedded Linux OS and a Java-based user interface, up to the set-top box that runs a relatively full-featured Linux and again uses Java for its GUI.

Science fiction?

Imagine, if you will, it's the middle of winter. You're running late from work, and you've got unexpected guests coming over for dinner, but you don't have time to get the extra shopping done for the meal.

Using your Linux/Java PDA, you bring up a house-controller application which shows a small map of the rooms in your home. You click on the lounge and kitchen areas, then click on the heating icon, then enter a start time. The house-controller app connects to your home services gateway, sending the necessary instructions. The gateway calls the heater in the lounge (a "model 2" heater) and sets the time it should switch on. The heater in the kitchen is a "model 1" however, so it only has a simple on/off switch; therefore the gateway will wait until the specified time to send an "on" signal.

Using another application, you skim through your recipe list and choose something suitable. Your gateway already has a list of the items in your pantry and fridge, emailed to it by the supermarket at the same time they were delivered, so it sends a list of the missing ingredients to a couple of "emergency supermarkets" on your subscribed list. The price is returned (probably in XML format) and the gateway chooses the cheapest of the two.

A confirmation email from the supermarket arrives while you drive home and is read to you by your car -- the shopping will arrive 20 minutes before you get home. You pull over (because the driver's side console won't work while the car is moving), open the house controller app and click on the laundry area, then click on the security button to switch that zone off. You set a once-only access code for the laundry door, and reply to the supermarket confirmation email with the code in the special instructions area.

The problems of the evening have been sorted out with a minimum of fuss!

Science fact

Did any of that sound like science fiction?

It shouldn't. Nothing I've described is particularly innovative, and most of it is within a few years (or much less) reach. Consider . . .
  • A Linux/Java PDA has recently been announced by Sharp and is due out later this year. In addition, Compaq's iPAQ also has Linux/Java support, and others are on the horizon.

  • Back in January, DaimlerChrysler demoed a concept car with four internal computers running Red Hat Linux along with a standard Java Virtual Machine running Espial's DeviceTop environment, allowing passengers to browse the web, do their email, listen to MP3s, and so on.

  • Here in the UK, a number of supermarkets already have Internet shopping and home delivery services, so it's not too much of a stretch to think that your shopping can be tied into a application sitting on your gateway which monitors your weekly purchases and remembers what you need.

  • The home-controller app I've described doesn't necessarily need a PDA to run on. Your J2ME-capable mobile phone (available now from several providers) would run it just as well.

  • Java processors might still be relatively expensive now, but will inevitably drop in price. A small Java controller might conceivably plug into your existing heating unit and connect to your gateway through your home's AC power cables, to be controlled by a centralized device.

  • PC-controlled home security systems aren't new, but they also are not going to be child's play to install -- not for your average homeowner. In a networked home, however, if you want to add another sensor in your lounge you just plug it into a network point (or better yet a wireless unit might simply plug itself in) and the security software will do the rest.

  • Again, electronic locks aren't new -- networked electronic locks are already in common use by hotels and businesses. So connecting these into a home automation system could easily be accomplished right now by anyone with a bit of technical know-how. A good example of this is a locking system using iButtons from Dallas Semiconductor.
So why Linux, in particular? . . . and Java on Linux?

I've already mentioned several reasons why these two technologies are important in the embedded space. I believe one of the most important reasons for using Linux, is that an open source operating system can be adapted with relative ease to fit a particular environment -- without the need to write the whole OS yourself. A couple of additional reasons jump immediately to mind: stability and reliability.

But why add Java to embedded Linux?

I think the answer to this lies in the extraordinary adaptability of Linux. The ability to use Linux in such a wide range of smart devices and embedded applications makes using Java particularly important.

Why? One of Java's main selling points has been "Write Once, Run Anywhere". Grant it, the phrase has devolved to "Write Once, Test Everywhere"; but certainly I've never worked with another language where I could develop on one platform and then move my apps across to another without having to put serious thought (and effort) into it.

Consider, for example, that you own a PDA running one OS, but a piece of software you want to use is only available for a competing OS (e.g. Win CE or Palm). Short of requesting that the developer port the software across, there's not much you can do.

However, if the software is written in Java, then as long as there is a virtual machine available for your PDA, you can use it. When you start to think about how many applications there are going to be out there for embedded technology -- everything from a telematics system in an automobile, to a touch-screen GUI for a fridge -- you start to get an idea of just how enormous the scope for variety in these various devices there really is.

And you also begin to realize the usefulness of an application environment and programming language which is relatively decoupled from the hardware it is running on.



Author's bio: Jason Briggs is the J2ME Editor for Java Developers Journal. He has been developing in Java for a number of years, and whereas he has also used UNIX for some considerable time, he is a relative newcomer to the joys of Linux. He is currently based in London, living in a shoebox-sized apartment with his wife.



Related stories: Talk back! Do you have questions or comments on this story? talkback here




Discuss Guest editorial: Pondering our Linux/Java future
 
>>> Be the FIRST to comment on this article!
 
 
 
>>> More Linux For Devices Articles Articles          >>> More By Rick Lehrbaum
 



FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click for a profile of each sponsor:
SUPER-PLATINUM SPONSOR
MOBLIN NEWS & LINKS
Moblin Official Blog
A Framework for Innovation
Compliance Means ...
MiND Over Matter
FEATURED VIDEO

Doug Fisher and Jim Zemlin
PLATINUM SPONSORS
GOLD SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets

Resource Library

• Unix, Linux Uptime and Reliability Increase: Patch Management Woes Plague Windows Yankee Group survey finds IBM AIX Unix is highest in ...
• Scalable, Fault-Tolerant NAS for Oracle - The Next Generation For several years NAS has been evolving as a storage ...
• Managing Software Intellectual Property in an Open Source World This whitepaper draws on the experiences of the Black Duck ...
• Open Source Security Myths Dispelled Is it risky to trust mission-critical infrastructure to open source ...
• Bringing IT Operations Management to Open Source & Beyond Download this IDC analyst report to learn how open source ...


BREAKING NEWS

• NAS system houses 2.5-inch drives for up to 6TB
• Atom SBC boasts special low-power mode
• Android leaps to rugged handheld, and more phones
• Simulator runs Android apps on Ubuntu
• Fanless industrial PC taps Atom
• Router platform runs OpenWRT Linux
• Feature-packed UMPC survives four-foot drops
• UMPC pioneer gives up the ghost
• Biodegradable, solar-powered netbook runs Linux
• Hypervisor rev'd for higher reliability
• Eurotech spins Atom development kits
• Home media server to demo on Intel Atom platform
• Atom boards feature fanless DC operation
• Low-cost pluggable NAS adds Linux support
• Taiwan open source conference sets agenda


Most popular stories -- past 90 days:
• Linux boots in 2.97 seconds
• Tiniest Linux system, yet?
• Linux powers "cloud" gaming console
• Report: T-Mobile sells out first 1.5 million G1s
• Open set-top box ships
• E17 adapted to Linux devices, demo'd on Treo650
• Android debuts
• First ALP Linux smartphone?
• Cortex-A8 gaming handheld runs Linux
• Ubuntu announces ARM port


DesktopLinux headlines:
• Simulator runs Android apps on Ubuntu
• Hypervisor rev'd for higher reliability
• Pluggable NAS now supports Linux desktops
• Moblin v2 beta targets netbooks
• Linux-ready netbook touted as "Student rugged"
• USB display technology heading for Linux
• Ubuntu One takes baby step to the cloud
• Game over for Linux netbooks?
• Linux Foundation relaunches Linux web site
• Dell spins lower-cost netbook


Also visit our sister site:


Sign up for LinuxForDevices.com's...

news feed


Or, follow us on Twitter...