- Make sure you purchase the slowest available processors on your handheld PDAs
- Develop your mobile software applications in complete isolation from your real world working environment - chance and fate make life interesting if not entertaining
- Make sure you purchase the least amount of memory possible on your chosen PDA
- Purchase outdated and end-of-life handheld PDAs (try eBay)
- Develop new mobile solutions to run on old operating systems (try pocket pc 2002 or 2003)
- Choose a dial-up modem option for synchronizing your PDA (forget wireless broadband)
- Develop mobile solutions that assume you will always have good wireless carrier coverage
- Make sure if you lose wireless coverage, that your mobile software application is useless
- Take your existing desktop server application and force it to run on your PDA
- Don't filter the data you want to synchronize from your Oracle or SAP databases, just download the entire corporate database to your handheld PDA
- Don't synchronize only "changed" data, download the entire corporate database each time you synchronize
- Make sure if your connection is broken, you start the entire synchronization process over again - none of this starting where you left off sissy stuff
- Don't consolidate your enterprise data into one simple mobile synchronization "view", leave the data in dozens of different databases and database tables spread liberally around your IT ecosystem - this proves your courage and fortitude
- Don't bother optimizing your application for mobile environments
- Maximize the amount of encryption and security you use on every aspect of your mobile solution - with enough security and encryption you can slow the data synchronization down to a mere trickle
- Make sure you have all your mobile workers synchronize their handheld PDAs at the same time in batch mode
- Hard code your mobile software solution to work only on one specific handheld PDA that can only synchronize with your backend database in one specific manner
- Ensure that the software programmer that develops your mobile software application is ambitious and feels he/she is under paid and under appreciated, and/or their green card is about to expire
- Develop your own synchronization middleware...so what if other software companies have spent the last 15 years perfecting it...no time like the present to begin your own 15 year odyssey.
- Make sure this is your first time developing a mobile software solution - it brings out the pioneering spirit
- Give yourself some unrealistic development time frames - make sure you commit to these time frames publicly and in the presences of senior management. Make sure that senior management then develops their business strategy around the dates you provided
- Don't include testing and debugging time in your project plan...you need to cut corners somewhere
- Documentation is only for forgetful minds, don't waste your time here
- Purchase all your handheld PDAs before you develop your mobile application. Purchase enough to last the next 8 years. Who knows how long they will be available on the market and you don't want to re-develop your mobile software application for new operating systems and features
- Allow your mobile workers to download all the games, music and videos they want onto their handheld PDAs
- Don't standardize on a particular operating system or handheld PDA specification - it will stifle creativity
Friday, March 30, 2007
How to Develop a Slow and Unreliable Mobile Software Solution for Mobile Handheld PDAs and Smartphones
Thursday, March 29, 2007
I walked over to the kiosk and noticed a synchronization cradle sitting next to a connected desktop computer with a flat panel monitor. I noted that the Symbol PDA had a built-in barcode scanner, monochrome screen and was running the Palm OS. I walked slowly around the kiosk, pretending to be captivated by the flexible cutting boards, but I was really trying to determine the purpose of the handheld computer. I noted that the Symbol PDA was their low-end ruggedized device, and that it seemed to be positioned for the use of their customers, not for their own internal inventory purposes. I imagined I was Sherlock Holmes out to solve a case and reached for my pipe.
I nonchalantly picked up a wooden spoon with a price tag of $49 and pretended to be fascinated by its craftsmanship. I looked closer at the kiosk and noted a sign mentioning the registration of gifts. That's IT! The Symbol PDA was used by people wishing to create lists of over-priced gifts, they would never think to buy for themselves. They would scan the barcodes on all the exotic wooden spoons and then synchronize the list to the kiosk computer. Once the products were in the database application, anyone could access this list over the internet. Wow! So much technical ingenuity from a kitchen supply store!
I best finish blogging and return to carving wooden spoons.
Tuesday, March 20, 2007
It is the season for Building Inspection solutions here at MobileDataforce. We are currently involved in 5 different Building Inspection projects. We are working with county governments, private building inspection companies, mold inspection companies, water conservation organizations, and a housing authority in Europe.
There are a lot of similarities:
- Identify the building and building owner
- Identify the physical location
- Identify the inspector
- Identify the date and time of the inspection
- Inspect the premise
- Identify and document the areas that were examined - building, floor, room, wall
- Recommended action steps
- Inspection Report
- Mobile Invoice
Sometimes there are work orders or preventative maintenance work orders that get activated based upon an inspection. For example - NE corner of the roof is damaged, schedule repair. Other times work and cost estimates are associated with the inspections. For example - NE corner of the roof is damaged - estimated repair time 16 hours - materials costs $345.
We often support the mobile component of existing database applications for Building or Property management, but other times we develop both the mobile component and the enterprise building management application.
Monday, March 19, 2007
A customer calls in to report a broken heating system. The office staff takes the phone call, enters the relevant information into the work order database application on the desktop computer which creates a unique work order number. The work order database application, with GIS integration, can compare the location of each service technician to determine which service technician is closest to the work location. This is accomplished with GPS tracking on the service vehicles or handheld computers used by the service technician.
Thursday, March 15, 2007
In an earlier blog article I wrote in detail about the support requirements of enterprise mobile software solutions. Companies simply need to understand that mobile handheld PDAs and smartphones and wireless networks often come with a new and fresh set of support considerations.
iAnywhere / Sybase has invested heavily into developing enterprise solutions for managing mobile devices called Afaria.
Visitors will be able to test HSDPA service at data speeds up to 7.2M bps (bits per second) and HSUPA at speeds up to 1.45M bps at the T-Mobile and Vodafone booths. That compares with the operators' current 3.6M bps HSDPA and 1M bps HSUPA.
Around the globe, enterprise users of mobile data service seek higher speeds to send and fetch large PowerPoint presentations and e-mail attachments as well as for using company intranet services more effectively.
T-Mobile plans to offer 7.2M bps HSDPA service later this year, according to Deutsche Telekom CEO René Obermann.
Vodafone, which is currently testing 7.2M bps HSDPA in a handful of cities, plans to launch commercial services in several large metropolitan areas in the coming markets, a company spokeswoman said.
Wednesday, March 14, 2007
Often the focus of a mobile software project is on gathering the functional requirements, designing, developing and deploying the mobile solution, but little or no focus is given to the question of how to support it once it is deployed.
Here are some of the support issues to consider:
- Who does the field worker call if there is a mobile device problem?
- Who does the field worker call if their mobile application is not synchronizing?
- Who trains new hires on how to use the mobile application?
- If there is a mobile software problem, who fixes it - IT, consultant, contractor, systems integrator, software provider or your cousin Howie?
- Who does the field worker call if the mobile application needs edited?
- Who defines the business process you are mobilizing? They may need to approve any changes to the business process.
- Who controls the security of the device? How do you set-up a new user to securely access the enterprise database? What kinds of security rules must the field user follow? Do different users have different security profiles?
- Who controls access to the enterprise database application (a DBA)?
- Will the Database Administrator allow you to synchronize data directly to their enterprise database application, or do they want a "staging database" or API layer to review all data before it is loaded to the enterprise database application. They will likely be involved in any future changes to the mobile application.
- How many different enterprise database applications are synchronizing with a mobile device? If there is a sync problem, how do you know what database application may be impacted?
- If you hire an additional field worker, how do you order an additional mobile device? Whose budget covers this?
- Who decides if the new mobile device needs to be ruggedized or a consumer grade? What level of ruggedness is required?
- Do different job functions require different devices, carriers and wireless data service plans?
- Who decides what brand of mobile devices are going to the company standard?
- Where do you purchase your mobile devices if one breaks or you need to add one to your inventory? Do you have a corporate discount or volume discount?
- How do you control the variable costs of using a data plan from a local wireless carrier? What happens if the costs of the data services gets out of control? Who pays for it?
- Are the mobile devices or the mobile software solutions under warranty?
- Is there a yearly support contract IT needs to know about? How much? Whose budget?
- What is the account number the warranty is under?
- How do you set-up a new data plan with your wireless carrier? Who does that in the company? What is the account number so you can add subscribers? Whose budget pays for it?
- What happens when Microsoft releases a new Windows Mobile operating system and you can only purchase mobile devices with the new OS on them? Who is going to upgrade your mobile software solutions so they work with the new OS?
- What happens when the field engineer tromps off across 2 miles of muddy field to work at a construction site, but the battery on his handheld computer is not fully charged and it dies about 10 minutes after he gets there?
- What happens when text messages, music, and 97 saved solitaire games claims all the memory on the PDA and the Construction application becomes either too slow or unreliable because of low memory?
- How do you know when your mobile workers are synchronizing the latest information? You don't want mobile workers going days without synchronizing their device.
- When you send an updated software application to your mobile workers, how do you know who is using the new application and who is still on the old?
- How do you disable synchronization on a lost mobile device?
- How do you kill and/or protect your data on the mobile device if it is lost or stolen?
- How do you keep track of which workers are using which mobile devices? If there is an operating system update, or firmware update, how do you know who needs it?
- If you are taking care of many different mobile field workers and many different mobile devices with a variety of operating systems and screen sizes, how do you know who gets what?
- If you have a project manager that requires visibility to more data than other workers, how do you manage different views on the handheld computer?
- Some mobile projects require different levels of security, for different levels of data visibility. How would you manage and track that?
- Some applications require barcode, RFID, GPS, digital camera and other specialized data collection accessories, while others don't. How does the IT Helpdesk track the brand, version and other details of these accessories?
- If a dump truck backs over your supervisor's $1800 ruggedized computer and crushes it into hundreds of unidentifiable pieces, how do you get a replacement out to the supervisor with the exact application and data that is required?
- If a mobile device needs repaired - what is the process for keeping your field workers operating without it? Do you have a stock of spare mobile devices?
- How do you deploy new mobile applications to your 1,300 mobile device users? Must they bring all their devices back to the IT department, or can you publish new applications directly to the handheld computer?
- How do you support the mobile device, when the user has limited computer knowledge and is sitting on the top of a utility pole? What tools can the IT Helpdesk use to help diagnose problems?
- How do you recognize a defective mobile device that is being shared by 12 different mobile workers? Do you have a method of identifying which problems are being reported on a particular device, or are you logging support calls only by users?
- What is your process for dispatching work orders to service technicians when they are disconnected or out of range of cellular and wireless networks? A process needs to be defined.
- What is your synchronization plan for each mobile worker? Can they sync in the morning and evening at their office desk, or do they need to sync every 5 minutes or in real-time?
- What is the synchronization plan for a service technician that rarely has wireless network access? Does it justify a satellite up-link? (Sears Service Technicians use both)
- How do you know when information was successfully synchronized with a mobile device in the field? Are you depending on Wilbert to know what the word synchronization means, or can you see determine the success of the synchronization from the IT Helpdesk?
- What is an acceptable synchronization time? Is it 20 seconds, 2 minutes, 20 minutes? Does the IT Helpdesk know what times are acceptable so they can consider this when configuring a new user?
- How much data can be synchronized in a given period of time on the chosen connectivity option? Is that an acceptable speed for the task at hand?
- Who determines the hardware requirements that support the mobile application and desired synchronization speeds?
- When a new mobile software application is developed - who tests its operating speed on different devices, processors, memory levels and connectivity options to determine what is acceptable and what is not?
- When you are updating or reconfiguring an enterprise database, how do you know what mobile applications and mobile users will be impacted by these changes? How do you manage this update process?
- How does the IT Helpdesk know which one of the 17 mobile applications on the handheld computer is having a synchronization problem?
- If you are supporting 174 work crews and their mobile devices around the globe, how do you know where they are located, and who is responsible for them? How do you know the devices are being sold on eBay?
- How does the IT Helpdesk know if a mobile device is using a cradle, modem, bluetooth, wireless, USB, satellite or Cellular connection to synchronize? The IT Helpdesk really wants to know before they begin working on the issue.
- What wireless carrier, technology and through-put speed is the mobile device using? Is it GPRS, GSM, CDMA, Edge or some other network configuration?
- What do you do with old and retired mobile handheld devices? Companies like Ryzex buy back old handheld mobile devices and recycle them.
These are just a few of the support issues that companies must consider once their mobile applications are deployed.
Tuesday, March 13, 2007
Last week I visited Patron Systems in Boulder, Colorado. They are a software company focused on law enforcement and public safety. They have sophisticated business processes built into their mobile law enforcement applications that include real-time queries to multiple disparate databases to auto-fill eforms on laptops. Once the data is collected on the law enforcement form, it can be synchronized and routed to a police supervisor for review. It stays in a "work que" until the supervisor either approves or rejects it. If rejected it is returned to the original officer for editing and correction or if approved gets sent to the record management system for storage.
This is an example of how data collected in the field can activate an automated business process/workflow back at the office. The data is routed to a specific location, and a specific person/position to review, make a decision and then act upon. Once there is an item in the work que, the person is notified that there is an action required. This is an important concept - the person does not have to remember, or look things up, they are notified there is work to do. This is "automating" a business processes. If the eform is rejected as incomplete it will be sent back to the original author's "work que" and the officer will be notified. Again the significance of this step is that the workflow/business process will notify an officer in the field that there is additional work required.
The above example of an automated business process demonstrates the ability to start a process/workflow in the field, move the process to the office and then back to the field. This is a "mobile and automated" business process. The more you can define and automate "best practices" the higher quality and better your products and services will be.
Workflows can be automated by using mobile software platforms that are integrated with a central database server. Business rules, triggers and other methodologies and tools can be used to automate your processes on the database.
Monday, March 12, 2007
Definition of Automated Business Processes: a set of interrelated tasks linked to an activity that spans functional boundaries. Business processes have starting points and ending points, and they are repeatable.
IBM adds these valuable comments - "More importantly, the value of creating business processes for an enterprise is in the intellectual assets that those processes represent. The widgets that a business produces have value, of course; additionally, the knowledge of how to make those widgets has value too. That knowledge can be captured, added to, and improved in a business process. The scope of the widget-making process is important because doing all of the steps ensures quality widgets; doing more or less or different steps results in higher costs or lower quality or both."
One can improve the quality and consistency of the operation or business process by automating the way it should be completed. In a mobile software application for a handheld PDA, a company has the ability to ensure the appropriate business processes are done in the appropriate order. This is accomplished through a variety of means including:
- Requiring specific information to be captured
- Automating GPS location capture whenever a work order is completed
- Requiring a digital signature from a customer to close out a work order
- Requiring a digital photo of the work performed
- Automatically capturing time and date stamps for work
- Automatically checking inventory levels before dispatching a service technician to replace a part
- Routing the field worker to a different set of questions, based upon answers (e.g. if equipment is broken automatically ask question #6, if equipment is repaired automatically proceed to question #3)
- If work completed, close service order - if work incomplete answer question #2 about rescheduling work
There are an infinite number of ways you can develop and automate business processes. These business processes, as IBM explained, can help you ensure that work is completed in a systematic and quality manner. You are in effect building "best practices" in your mobile software application.
MobileDataforce has spent the last 7 years researching and developing ways to include and manage automated business processes in mobile handheld applications. The PointSync Mobility Platform has been designed with automated business processes in mind.
- RFID Cattle Management application includes Spanish language audio files on the screen so workers can listen to instructions on how to correctly use the application and answer questions.
- Construction Management application can flip back and forth between English words on the application and Spanish words on the application at the push of a button.
- Quality Assurance applications can explain how to analyze the quality of a particular operation through audio, video and pictures
- Instructions can tell the field worker the proper method of ordering additional products to use on a job.
Video files can also be accessed from the mobile application. Let's say a field worker has never performed a routine maintenance procedure on a peice of equipment. The service order or maintenance order can include a multilingual video file that explains how to perform the procedure. This is a powerful training aid for field workers.
MobileDataforce's PointSync Mobility Platform enables the user to access these multimedia files from within their mobile applications.
Friday, March 09, 2007
Our customer has the following business units; trucking, engineering, asset management, facility management, road and bridge building and construction and many more. Each of these business units have a need for mobile software on rugged handhelds to communicate with their management team and software in the office.
Tuesday, March 06, 2007
ROI (return on investment) is the term used to define the value of a solution relative to the cost. If a mobile solution for use on a mobile handheld PDA cost $50,000, how do you justify this investment? Management needs to see that their investment will provide them with a positive return. The following list contains some of the most common justifications for mobilizing business processes using mobile software for handheld PDAs:
- Eliminate time spent in the office re-typing data collected in the field.
- Eliminate time spent on the phone dispatching service tickets or work orders, rather dispatch electronic service tickets direct from your computer to the mobile device of your service technician.
- Send driving directions from Google Maps in the electronic work order; saves time finding work locations.
- Avoid the fuel costs incurred delivering paperwork to the office; rather synchronize the data direct from the field to the central database application.
- Avoid the time cost transporting paperwork from the field to the office.
- Save time and provide better customer service by providing real-time access to enterprise data while in the field. Enable mobile access to customer history, product documentation, warranty information, inventory information, time sheets, work schedules and much more.
- Speed up field data collection by using barcode scanners and barcode labels on assets. A quick scan with your handheld computer can automatically display all stored information related to the asset for quick review, edits and additions.
- Create and schedule service tickets direct from the field , rather than using office staff. This avoids the need to involve the central office staff for this purpose.
- Immediate invoicing for faster collections and cash management.
- Proof of work – GPS audit trail of work. Detail work completed in that location.
- Reduce introduction of errors - paper based systems are inherently slow and error prone. The more hands touch a paper form and add or edit data, the more chances that errors can be introduced to the data.
- Ensure complete data is sent from the field – incomplete field data can take hours of work to track down later .
- Avoid bad handwriting errors and misunderstandings – by creating prepared pick-lists and using handheld keyboards.
- Validate answers on the mobile software application – ensure accuracy of data.
- Digital images to document work - with before and after digital photos that synchronize back to the office.
- Push data to the handheld – avoid time on the phone and note taking while driving by pushing documents directly from the office to the handheld.
- Vehicle and handheld GPS tracking for quicker dispatch and least cost routing- handheld computers with GPS functionality can integrate with GIS and display the location of the field worker to help managers better organize service responses.
- Compute and analyze data on the handheld in the field – programmed analytics can help field users make quicker and better decisions.
- Automated business processes - your mobile application can be configured to perform all kinds of automated business functions, queries, computations, analytics and many more time consuming features automatically based on data input or buttons pushed.
- Enforce business processes for efficiency and best practices - mobile software solutions can be configured to ensure the field user follows the appropriate business processes based upon the data entered (a specific answer can force a separate business process.
- Avoid lost data on paper forms —capture data immediately and sync to headquarters.
- Avoid undocumented inventory usage and unbilled time due to forgetfulness- enforce real time data entry before clock out or work order completion.
- Require clock in and clock out at jobsites to document the accuracy of work estimates.
- Train new service technicians and inspectors with audio memos or video clips.
- Capture digital signature for proof-of-delivery and proof of work.
- Enforce and automate best practices business processes.
- Automatically track inventory and parts usuage on the handheld computer.
- Query for available inventory in nearby work vans to save travel time and fuel cost.
- Use information on handheld computers to up-sell more products and services while onsite with the customer.
- Query latest shipping status or inventory levels via handheld computer while onsite with customer