Guest editorial: the perfect Linux PDA
By Linux Devices
2003-12-18
Article Rating:    / 0
| Rate This Article: |
Add This Article To: |
|
|
Here is a list of things to do to make a truly successful Linux PDA. This is a list that I have been putting together in my free time the last few years as I have been interacting with this growing field. Some ideas you may like, some you may disagree with. A few ideas you might not have known about, and many that you probably could list yourself. (Note: please add your own suggestions using our talkback, below.)Without further delay, here it is: System Overview - To provide a stable and user friendly commercial open source Linux based PDA that can be used by a teenager, but scale for the enterprise. - If a teenager can't use it then the Enterprise wont want to put it in the hands of the fourteen-year-old in the stock room.
- Have the ability to fit in only 8MB Flash and run in 16MB RAM. - It is easy to expand something, but hard to shrink.
- The primary goal of the project is to be fast, small/stable, and bug-free. (Rather than to be built cheaply/fast) The reason for this is that the applications will run on devices that should not need to be updated.
- Applications should either be a single file/module or file/directory based (Palm and OS X respectively), any other choice will cause you pain and dollars in tech support. This allows for easy moving to memory cards, transfer to friends, transfer to another device (irda), transfer to desktop all without installing or having the application have to know about the file system. Also they can be removed without worrying about left over files.
Enterprise Services - Custom ROMs - With maybe nothing more then a different "Walmart" logo, but their is money to be made here.
- Building Custom Applications - With custom ROMs come custom applications.
- VPN Integrated/module - Security always wins points.
- Java Solution - Must be buzzword compliant and let manager take advantage of those cheap undergrads and proclaim JAVA is the one true...oh never mind.
- Jabber - Instant communication using an open protocol that can be secured and won't change or go away three months into your product lunch.
Developer Services - Application Certification Program - Not meant to be a money maker, but just help recover some of the cost and at the same time improving the quality of the applications running on your device/platform. Some ideas include:
- Check over an applications install/uninstall
- Check name description, for inconsistencies etc. and possible better
- Run Valengrind for memory leaks
- If source is provided check over for possible improvements.
- Unique device ID or some other common method for commercial applications to prevent piracy as much as possible. - Shows that you are there to help the developer.
- Host commercial applications. - Provide the hosting for their application so every developer doesn't have to re-invent the wheels while providing a common portal for your users.
- Developers can buy views for their certified application as the homepage's "Featured application".
User Services - Buy/Download applications online and automatically sync. The package manager can and must be able to buy apps online. The ability for users to just click, ten seconds later the application is installed and their credit card is billed $5 with no hassle. This is a marketing dream that is not difficult to implement.
- Web based agenda sync (for example: http://chronoss.sourceforge.net/)
- Backup PIM data and or all data remotely via Jabber.
- Provide a PDA web portal like: http://mobile.yahoo.com/home
- Provide service similar to ziproxy. Ziproxy is a forwarding (non-caching) proxy that gzips text and HTML files, and reduces the size of images by converting them to low quality JPEGs.
- PDA applications could be natively compiled for the desktop side so users could try them for free and then buy them for their PDA.
Sync - Open API. There is no reason for the sync software to be proprietary. You sell hardware and services on that hardware NOT sync software! An open API will allow for plugins to sync to Palm/Outlook/kmail/etc.
- Outlook of course
- Copy the data via any means (ftp, scp, Samba, nfs, jabber etc )
Kernel - 2.4.2X And 2.6.X
- On boot using lpp (or similar) to have a "pretty" active user experience that doesn't seem to hang
- Well written GPL'd drivers in the official kernel (Audio, usb, IR, touch screen etc)
- Ability to scale the CPU speed as needed
- USBIO, USBNET, WIFI, IRDA, and serial for connectivity.
- Driver for a VGA CF out is one of those nice things that no one uses, but everyone shows off.
System - Ability to boot VERY quickly so it can be shutdown to save power when not used for X amount of time. (Possible even suspend/resume to disk if fast enough)
- Easy to install a new ROM by the user. (One and only one click!)
- With so many very small fast webservers out there there are too many uses begging to be be taken advantage of. Perhaps Displaying the users vCard and any public Docs, allow login to see addressbook/calendar for printing from the desktop webbrowser. Spending ten minutes a hundred ideas could easily be created.
- Finger server - Present what is on the/a specific todo list.
- VNC
- Multi user - Applications should never crash the system.
- Some sort of factory reset available to users (Union FS with cram fs and jffs)
- Windowing system: X11/kfb (both?) I can't decide because I have never seen hard numbers on this. How much memory they use and how long it takes to start are two principle numbers that need to be discovered before a decision can be made. Unless you have real comprehensive numbers on this any e-mails concerning this will be promptly deleted.
- If X11 is used then fun things like:
- Easy Remote Login & Audio
- Easy Remote Application Launch/Running
- Easy way to show applications on desktop side.
- Clean good small fonts are a must.
- GCC 3.X with prelink to help reduce those startup times. Maybe even use uclibc.
- Uses Debian for easy portability and reuse of precompiled and packaged applications along with large number of applications that work together and will have future updates - Customers care where you will be in five years, but Debian will never go away.
- Application launcher should be modular to allow for other designs from the community.
- Launcher has a built in Today screen that is updated (from the db? xml files? other?).
- If using Qt or QtE a mini-kde library should be created allowing for much quicker KDE cross porting. They have plenty of really good classes and there is no reason to not take advantage of them. Along the same lines an open communication should be forged with KDE (or whomever) to help share ideas.
- A clean simple widget theme similar to PocketPC which uses the screen space very well.
- Palm got it right, the "Hardware Pulldown" button that slides menu up/down from off screen should be present. It saves screen space and is just all around good.
PIM - They should talk to each other via a database. For such things as a recurring todo list item that is spawned from the calendar saying it is someone's birthday and to buy a present.
- An OPEN API - Is your business only about selling some PIM software? If not then open the API and reap the rewards.
- The source for these applications should be open so that other can help improve them. (Note I didn't say GPL)
- Application must be able to link to each other.
- Floating appointments.
- This PIM list could go on forever. Just copy DateBK4, they got it right.
Applications In the event that you aren't sure what applications you need for your device here is a small list: PIM: - Today type application - Integrated into the launcher for zero second load time.
- Notes
- Todo
- Address Book
- Calendar
- e-mail
- Jabber client (SMS, PGP Encrypted IM's, sync, whiteboard, backup)
- Calculator
- Phone (VoIP)
PIM Extras - Advanced Calc with graphing features
- Data tracker and grapher (mini excel)
- Expense tracker
- Car tracker
- Shopping list
Applications - Blood alcohol calculator
- Tip calculator
- Currency converter
- Scale converter (C->F degrees, Feet->meters etc)
- Word Reader
- Excel Reader
- Audio Recorder
- Remote controller (IR)
- Movie times
- Recipe manager
- Diet manager
- Bible (and Virtual Girl)
- Area code lookup
- Zip code lookup
- Stop Watch/Big Clock/Alarm Clock
- Language dictionary
- Stock manager
- String search (grep frontend).
- P2P
- Password saver/manager.
- Web browser
- ebook reader with voice integration
- Video/Audio Media Player
- Image viewer
- Image editor
- Text editor
- Test application
Developer Applications - Console both serial and local
- File manager
- Wireless sniffer
- Wireless scanner
- Process manager
- VNC
- Network monitor tool
- Network utility (ping, whois etc)
Games - Chess
- Puzz-le
- Tetris
- Checkers
- Scrabble
- Multiplayer doom with screen touches for movement.
- Buzzword Bingo
- Simple line based game
- BlackJack
System - Media Manager (Disk Formatter)
- Clock & timezone with Internet time getter
- Security/username (Security application wouldn't be number based, but image based.)
- Screen Calibration
- Light & Power
- IR control
- System Info
- Package Manager
- Network (lan, wifi, ppp, bluetooth, vpn)
- Appearance
- Audio (or would this be an applet?)
- Applet manager?
- Backup & Restore. (Maybe be part of Jabber)
- Internationalization - Planning from the start it easier then converting later on.
- Accessibility
- Reboot Utility (Restart the launcher, reboot)
Applets - Audio (or would this go in system?)
- Battery
- Turn off screen, but leave system on.
- Keyboard/input (graffiti, keyboard, pickboard, etc)
- Clock
- Quick application menu (Similar to Pocket PC. NOT a start menu listing all applications)
- Screenshot
About the author: Benjamin Meyer lives in "Lawn Guy Land," N.Y. and works at Symbol Technologies. His interests include KDE programing (and other open source projects), Transformers, new socks, and his high school sweetheart and wife, Jen. Talk Back!
Do you have comments or questions on this story? Talkback here. Related Stories:
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. | |
|
|