Thursday, December 11, 2014

How much does it cost to develop a mobile App? 



I am often asked how much it costs to create a mobile app solution. So I decided to write about how I approach the question. 

What features are mandatory? 
I steer the conversation to what I term the “Minimal Viable Product”. That is, what features are mandatory for the product to be a success in the near term (i.e. within 6 months). Since time to market is critically important for an app, it is important to get the Minimal Viable Product in customers’ hands and gain feedback to evolve the product. Often the discussion gets really interesting. Some of the original items talked about are immediately dropped and others that were not initially considered rise to the forefront. A common problem is “feature creep”, which is important to control throughout every phase of the development effort. Often users want to employ features found in their favorite apps even if not needed in the app under discussion.Ultimately with enough patience we arrive at a set of features that frames the core of the product.  

How will users interact with the app? 
Building upon this collection of features we progress to user interaction with the app. I found making a simple sketch on a white board for each screen and type of use, is very helpful.    The results can easily be documented via digital picture.  I also use tablet drawing tools and prototyping software. Neither is as fast or as simple as the white board.  

Does the app need external data? 
Typical custom business apps require a “cloud” based server portal. Often a portal exists but we need to understand the portal API to send andreceive data. Usually not a big deal, but it is very important to scope this out ahead of time. You may find the portal’s API is not as rich and doesn’t provide the support that the app requires. Who is going to be responsible for the necessary customization?  Sometimes we need to create a new portal. Obviously this is a bigger deal and beyond the scope of this post ... more on this in a 
future blog. 

Which platform(s) to support? 
It used to be important to determine a specific platform to support, i.e. Android, iOS, Microsoft or Blackberry, assuming there is a dominant platform.  Modern apps must be targeted to a minimum of the Android and iOS platforms.  Right away a decision must be made regarding using Cross Development Platform tools or native app development tools ... more on this in a future blog. 

The answer is not long, but it requires intensive discussions up front. Now you can answer the question,  “How much does it cost to develop 

a mobile App?

Discuss this or anything else on our Facebook Page or Google+ now, or contact us for a consultation. 

Wednesday, September 11, 2013

Announcing the ADI Post Collection

Advanced Decisions is proud to announce the release of its first blog post compilation, giving you a quick and easy information resource developed straight from our blog. In it, you’ll find key industry insights and advice that will help your firm to better develop and deliver solutions in the ever-changing world of technology solutions.

Volume 1 Topics
• When Is Software Ready To Demo?
• Are Code Reviews Still In Vogue
• Embedded System User-Interface Tips
• Planning Your Next Embedded System
• To Reuse Firmware Or Not To Reuse

Download Volume 1

Thanks and enjoy,
Gary Felberbaum

Wednesday, August 7, 2013

My Favorite Productivity Apps

It's been 4 months since I abandoned my notebook as my primary computer. Now I use a PC Desktop computer exclusively at work and a tablet (iPad) when away. It has been a pretty smooth transition, experimenting with various apps that allow me access to all my data, documents and messages wherever I am.

I have narrowed down the app field to a few favorites:

Evernote is my go-to for keyboard-entered notes. It's easy to use, works seamlessly on all my devices and provides a simple way to create and manage text, audio and webcam notes. In Evernote, I am able to keep all of my notes and information organized by categories within notebooks. I have been using the free version for several years.

Notability is a more recent addition to my iPad. It is a low-cost app that is optimized for the iPad allowing me to completely replace a paper notebook. When typing notes is not an opton and more free-form entry is required this app is a terrific tool. Using a standard stylus, I am able to create and modify handwritten notes and diagrams easily, which can then be printed, or saved to a PDF file on a variety of cloud-based platforms including Dropbox. One of the best features of Notability is its sliding virtual wristguard preventing erroneous marks appearing on the document when resting your writing hand.

After experimenting with various cloud platforms for collaborating with team members and clients, I have chosen Dropbox as my primary storage and shareable resource. Although I have access to iCloud, Google Drive and SkyDrive, I found it is much too complex to try to use more than one. I chose Dropbox since I found it to be the most widely accepted and easiest to use. I am able to access and share documents, programs and images in Dropbox folders from my desktop PC, iPad and iPhone. One unanticipated bonus is that each time a document is updated the old version is saved. More than once it was helpful to go back and reread or restore from an earlier file version.

There are times when you just need to gain access to your work computer remotely. I have found that PocketCloud and its companion program that resides on the remote PC provides that capability in a simple-to-use application. This program basically converts your tablet to a remote desktop. It looks and feels like you are running Windows on your tablet and comes with a unique "mouse" pointer for navigating Windows remotely.

The biggest disappointment for me is the lack of good support for editing and creating Microsoft Office documents tools on the iPad. There are a variety of apps to read any Microsoft-formatted document (e.g. Word, Excel and PowerPoint). However the tools to create or edit MS Office files on the tablet are pretty simplistic, somewhat expensive and have limited access to cloud platforms for sharing. Even Microsoft's own Office Mobile for Office 365 (which requires an Office 365 subscription) only runs on the iPhone and only supports Microsoft Skydrive.

What are your favorite productivity apps?

-Gary

Wednesday, June 19, 2013

Reflections On 3D Printing

Advanced Decisions recently co-sponsored a 3D printing and additive manufacturing panel discussion in Shelton, CT, which went great and opened my eyes to the astounding potential of 3D printing.

Here are some of the take-home points I gleaned from the presentation:

1. Not just about plastics. 3D printing can be used with all sorts of materials including metals, food and biological.
2. Biological 3D printing is on the rise, including capabilties for printing prosthetic body parts.
3. The focus isn't limited to creating mechanical parts but also new materials.
4. Found a niche in the market of replacing and repairing obsolete parts.
5. Ideal for rapid prototyping during new product development.
6. Manufacturing is undergoing transition from conventional to additive. Twenty years ago 3D printing could make 10s of units but can now make 100s and in some cases 1000s of units economically.

And if you're interested in learning more, here are some 3D printing articles I found useful:

fab@home
US Navy considering 3D printers on carriers
3D printer saves a boy's life
NASA considering 3D printers

 

Tuesday, May 14, 2013

3D Printing and Additive Manufacturing Seminar

Update: Read the follow-up to this post, Reflections On 3D Printing.

Advanced Decisions is proud to be a co-sponsor of a Ratafia Ventures seminar on 3D printing and additive manufacturing, to be held on Thursday May 23. More information about the event is located below. If you are interested in attending please contact Manny Ratafia at manny@ratafias.com or 203-387-7348. 

The event will host a panel with broad and diverse experience in the rapidly emerging technologies we call additive manufacturing and 3D printing, poised to revolutionize business, from how we design and develop to how we build prototypes to how we manufacture and distribute products. Our speakers will provide insights into these technologies, relating their personal experiences and providing advice. After the formal presentations, we will have Q&A and discussion, followed by a reception.

Date: Thursday, May 23, 2013

Location: Robert D. Scinto, Inc., 3 Corporate Drive, Shelton, CT 06484

Time: 4:00pm to 8:00pm

  • Registration, networking and refreshments from 4:00pm to 4:45pm

  • Program from 4:45pm to 6:40 pm

  • Wine reception from 6:40pm to 8pm


Fee (please contact Manny Ratafia at manny@ratafias.com or 203-387-7348 to pay):

  • $40 is payment received or postmarked by May 16

  • $65 is payment is received or postmarked by May 20

  • $75 is payment is received or postmarked after May 20

  • $90 at the door by cash or check (if space is available)


The presenters are:

  • Mark Bliek

  • Sam Brauer

  • Justin Coutu

  • Jeff Crandall

  • Kevin Dyer

  • Bruce Popek


Moderator and meeting organizer: Manny Ratafia

Presenter Bios

Mark Bliek

Mark Bliek is President of Bolton Works in East Hartford, CT, a leading firm in 3D Scanning, Metrology and Reverse Engineering, as well as 3D Printing. Over the last 25 years, Mark Bliek held positions involving rapid prototyping, 3D scanning and reverse engineering. While at Materialise, first in Belgium from1991 to1995 and then in the US  from 1996 until 2001, he worked in the use of techniques currently driving innovation in additive manufacturing. From 1996 to 2001, he founded and directed the Materialise US operations in Ann Arbor, MI. While Director for Materialise USA, Mark reported trends in the field of rapid prototyping and scanning and gave direction to new software developments. Earlier in his career, working in The Netherlands, Mark was a Software Engineer at Somatech, and did work in 3D CAD systems for Teser, Wiva and Rendeck.

Mark Bliek founded Bolton Works in 2002 to develop automated metrology systems using scanning technology. Since 2005, Bolton Works has done projects for Pratt & Whitney and the United Technology Research Center, including baseline accuracy determination of industrial White Light scanners and development of an automated reporting system for dimensional deviations in turbine blades. Bolton Works has also attracted clients outside the manufacturing world, from dental products to jewelry to the arts.

Sam Brauer

Samuel Brauer, PhD, is a Partner in Nanobiz and CEO of Nanotech Plus, LLC, both in Stamford, CT. Sam has worked on commercializing advanced materials in areas such as coatings, filtration, photovoltaics, fuel cells, batteries, pharmaceuticals, and personal care. A recent project for the government of Catalan, Spain involved new manufacturing technologies including 3D printing and focused on new materials and construction processes for transportation and energy generation. Sam has an extensive background in market research, including estimating market sizes in widely diverse industries, with an emphasis on advanced materials. While most of his projects today are undertaken as a partner in Nanobiz, Sam is also the founder of Nanotech Plus, LLC, an alliance of consultants focused on the business of nanotechnology, offering analysis of this burgeoning field to major corporations, small materials companies, venture capital firms and angel investors, and large financial institutions.

Prior to Nanotech Plus, Sam was with the Business Communications Company, leading market research on a range of advanced materials topics, including polymer nanocomposites, carbon nanotubes, advanced polymer composites, DNA micro arrays and in vitro toxicology.

Sam Brauer’s presentation at this meeting will focus on materials that can be used for 3D Printing.  Although thermoplastics remain the most common type of material, a range of other materials are also being used. 3D printing has produced parts with metals, ceramics, hydrogels, and grapheme, in addition to polymers. The ability to incorporate these types of materials greatly expands the utility of 3D printing to produce more complex devices such as circuit boards, aerospace parts, and medical devices.

Sam Brauer received his PhD in Chemistry from Dartmouth. His views have been quoted in a variety of publications, including Fortune, Forbes, Business 2.0, Boston Globe, Seattle Post-Intelligencer, Chemical & Engineering News, Chemical Market Reporter, and Small Times Magazine.

Justin Coutu

Justin Coutu is the General Manager of R&D Technologies in North Kingstown, RI, a company that has been in the 3D Printing industry since the early 2000s. Justin is responsible for implementing the company’s business plan, as well as managing operations, finance, sales, marketing, technical support and service bureau activities. Using CAD files, R&D’s in-house 3D printing systems can produce high-resolution prototypes for shipment to companies across the U.S.. R&D serves the rapid prototyping needs of the manufacturing, consumer product, medical device, education, defense and industrial markets, and is a reseller of the Stratasys line of 3D printing and rapid prototyping systems throughout New England.  R&D also is a service bureau for companies throughout the U.S. who outsource their prototype printing.

R&D’s printers have been used to print rifle scopes, medical endoscopes, exact replicas of houses, golf balls, and models of the heads of conjoined twins for surgeons to use to prepare for operations. R&D has also made a prototype of a console and joystick assembly for underwater exploration vehicles that were used during the BP oil spill catastrophe

At this meeting, Justin will discuss the value of having 3D Printing and Rapid Prototyping available to you and their role in the design, research and product development cycle. He will describe how this technology is significantly reducing the time-to-market for new products and help make products faster, better, and cheaper. Justin will discuss how you can bring Objet 3D Printing into your organization and how this technology can help your company grow. He will also describe the material choices. There are currently more than 107 options for Objet printers alone.

A 1997 graduate of Roger Williams University, Justin earned a BS in business with a minor in engineering.  In 2010, he received his CAD certification in SolidWorks 3D design software from Dassault Systèmes SolidWorks Corp.

Jeff Crandall

Jeff Crandall is the Laser Applications Engineer for Connecticut Center for Advanced Technology (CCAT) in East Hartford, CT. He is directly responsible for projects involving metals additive manufacturing using CCAT’s Optomec 850R Laser Engineered Net Shaping (LENS) system and is the project coordinator for other laser materials processing projects. Currently, CCAT owns the only Optomec system in New England and is working on several federal government additive manufacturing programs as well as additive development projects for private companies.

Prior to coming to CCAT, Jeff was one of the founding members, and held an operations management position at JDS Uniphase Corporation. He has twelve years of laser and optical systems research and development experience doing laser spectroscopy, diagnostics and analysis for NASA’s Space Shuttle Main Engine and Pratt & Whitney’s National Aero Space Plane (NASP) engine programs at United Technologies Research Center in Connecticut; and laser based research and scientific imaging work for aerospace gas turbine and liquid fuel rocket engine programs at Pratt & Whitney Aircraft in West Palm Beach, Florida.

Kevin Dyer

Kevin Dyer is the Founder, Owner and President of InterPRO, located in Deep River, CT. InterPRO provides 3D printing, rapid prototyping, additive manufacturing and related services that help individuals and companies develop better products faster, and at lower cost. The InterPRO team includes engineers, designers, craftsmen, artists and highly skilled model makers. InterPRO serves clients in a range of industries, including aerospace, defense, medical products, hospitals, automotive, electronics, consumer products, universities and other research institutions. InterPRO services include:

  • Computer-aided design and engineering

  • Rapid prototyping and additive manufacturing (SLA, SLS, DMLS, FDM, Polyjet)

  • CNC machining

  • Rubber molding and cast urethane prototypes

  • Professionally painted appearance models

  • Plastic injection molding

  • Medical prototypes for research and surgical planning


Kevin founded InterPRO in 1996. After earning a B.S. in Computer Science at UMass/Amherst in 1984, Kevin joined Data General Computer Corporation as a software engineer.  He joined Evans & Sutherland Computer in 1986 as an Applications Engineer. Kevin was promoted to direct sales with E&S the following year, responsible for selling high-resolution graphics supercomputers used in biomedical research, flight simulation and mechanical modeling. Kevin was hired by California-based 3D Systems in October 1988 as District Salesperson for the northeast U.S., one year after 3D Systems developed the first 3D printing technology. Kevin was promoted to Northeast District Manager in 1991. In his eight years with 3D Systems, Kevin worked closely with Pratt & Whitney, Hubbell, U.S. Surgical, Torrington Company, Hamilton Standard, The Siemon Company, Raytheon, Grumman, Tupperware, Converse, Leviton and others, helping them integrate 3D printing and additive manufacturing into their product development, testing and manufacturing processes.  The installed cost for a 3D Systems machine was then between $300,000 and $700,000.

Kevin launched InterPRO in 1996 and 3D Systems offered InterPRO the opportunity to become a reseller for their new lower cost ThermoJet 3D printers. InterPRO also became a reseller of reverse engineering software and digital sculpting systems as well.  InterPRO currently has ten employees, and is now the largest provider of rapid prototyping services in the New York/New England area.

Bruce Popek

Bruce Popek is President of Design Innovation, Inc., in Avon, CT, a leading product design and development firm working with Fortune 100 companies, inventors, and entrepreneurs.  For 25 years, they have been fully integrated in the product development cycle, working on brainstorming, concept design, production drawings, and manufacturing follow-up. Clients include Cannondale, Conair, Edible Arrangements, Otis Elevator, and Yale.

Before founding DII, Bruce was Director of Design at Coleco Industries, responsible for aesthetics and human factors for ColecoVision and the Adam Computer system. As design director of preschool and games, he was involved in concept evaluation and development of those concepts from Tomy Japan.  Bruce started as a designer for Prince Corporation (now Johnson Controls), designing accessories for General Motors, Ford, and Chrysler.  Working with National Semiconductor and Cadillac, he was on the team that developed the first automotive computer for drivers’ use.

DII entered the CAD age in 1993 with one seat of Pro Engineering and, in 1997, became an early user of SolidWorks. Today, they employ product designers, mechanism developers and model makers that use 3D CAD in performing a multitude of development tasks. Their work for a project may include pencil sketches, mock-ups, 3-D CAD, 3-D printing of models and prototype mechanisms.  They have in-house capabilities to create RTV molds, urethane castings and thermo-formings.

In late 2002, DII entered the age of 3D printing with the purchase of a 3D Systems Thermo Jet wax printer.  Since 2012, they have been using an ObJet 30 printer. DII uses their 3D printing system along with CNC machining, SLA models to build prototypes, evaluation models, working models, and photography sales samples.  The ability to print models overnight gives them a competitive edge over competition while saving clients time and money.  The accuracy of the Objet 30’s additive layer process and photopolymer materials hold production tolerances for engineering mechanisms and also reduces finishing time for appearance and working models.

Bruce is a graduate of the College of Creative Studies in Detroit, MI with a BFA in Automotive Design. He is a member of the APMM, Association of Professional Model Makers.

Moderator and Meeting Organizer—Manny Ratafia

Manny Ratafia is an entrepreneur, management consultant, and angel investor. He has founded and run ventures in a variety of technology areas, organized conferences and meetings, and has consulted to owners and senior executives of companies on a range of management, market, and technology issues. His educational background includes a bachelor’s degree in Mechanical Engineering from The Cooper Union and master’s degrees in Mechanical Engineering from MIT and in Engineering and Applied Physics from Harvard, and an MBA from Dartmouth. In the past, when he worked as an engineer and manufacturing process researcher, he has been involved in extensive product design, development, manufacturing, manufacturing process improvement, and has personally run various types of machining equipment, including some automated equipment, and has done some computer-aided design. As a management consultant, he has developed and helped commercialize products in medical devices, sensors, scientific instrumentation, and physical therapy/physical fitness markets, and has consulted on several product development/manufacturing company acquisitions, consulting at times for both acquiring companies and companies being purchased. Manny has served on the boards of directors and advisory boards of several start-up companies and non-profit organizations. Manny’s research and opinions have been published and quoted in more than 100 general, business and scientific publications in the U.S., Europe, and Japan.

Friday, March 15, 2013

When Is Software Ready to Demo?

During the development of custom software applications I am often confronted by the question of when to demonstrate software that is still under development.

The fear of every developer is to allow individuals to interact with the software before it is "ready." Of course, defining "ready" is the challenge--but so is defining who is giving the demo, its purpose and the composition of the audience.

In the early stage of development, as a developer or technical lead, I am the one pushing for a demo intended to uncover questionable areas of the requirements definition or technology issues as early in the development process as possible. (The actual software may very well be throwaway code.) For this to be effective, the test application should be created rapidly with a single focus (e.g. illustrate performance, screen layout, work-flow, or even error handling). The main idea is to eliminate as many unknowns as possible and to throw light upon aspects of a complex system as early as possible. We want to avoid going down a path too far, only to find we are proceeding in the wrong direction. These demos are typically oriented for technical people on the team as well as stakeholders.

The next opportunity for a demo is the more traditional usage. At this stage of development, the application is not complete but major functions are implemented and tested. The purpose is to measure the applications performance against requirements in a controlled setting. One example is to gain feedback observing typical users, where feasible, interacting with the application. Are there confusing areas? What happens when a mistake is made?

Another effective demo is to stress-test the application. This can be done by scripting data entry or transactions for example. Allow the application to run for an extended period of time and measure performance. Now I am looking to expose areas of weakness and potential bottlenecks that must be addressed.

Finally the software is code complete, tested and ready for release. It is safe to demo at a trade show and in front of potential customers. In fact, at this stage, the software is ready for beta site deployment.

-Gary

Sunday, February 24, 2013

The Changing Mobile OS Landscape

As we begin 2013, and to nobody's surprise, there are two dominant smart phone operating systems, Android and iOS.

Recent data in Business Insider states that as of Q3 2012 Android and iOS account for over 70% of the market share, with Android  accounting for about 75% of that share. In Q4 2012 alone BGR states that worldwide iOS and Android phones made up over 90% of the smartphone shipments.

But after digging a little deeper it becomes apparent that change is on the horizon for 2013.

Most of us are familiar with Windows 8 mobile handsets and Blackberry's recently announced Blackberry 10 handsets -- but lesser known are the 6 or so additional OSs that are in the works, including FirefoxOS, Jolla, Tizen and Ubuntu.

Though these oncoming options are good news for innovation and competition, I suspect our lives as mobile developers will be getting a bit more challenging.

To Reuse Firmware or Not to Reuse

Sometimes on new embedded development projects I am presented the option of repurposing firmware that has already been developed for the intended platform.

At first glance, repurposing seems a no-brainer because of its potential for saving time and effort, but a closer look at the risks involved paints a different picture.

Risks of repurposing firmware include unknown bugs, uncorrected known bugs, poor programming practices, and "fragile" software that becomes unstable after change. And sometimes even though the software is well-written it just doesn't achieve its intended purpose.

Here are some criteria I find helpful when evaluating if I can reuse a firmware code base:

  • Documentation: Does it exist and is it current? (Specifically, I ask for design documentation and test procedures.)

  • Understandability: Simply read through the source code. Does the style and format conform to your standards?

  • Testability: Has the code been unit tested? Can you duplicate the results?

  • Availability of original developer: Can you contact the programmer(s) should you run into problems?

  • Version and source control: Is the software under active management and control?


Unfortunately I have not found a failproof system to make this decision. However if more than half of the above points are answered in the negative I choose to start from scratch.

 

Wednesday, December 5, 2012

The Ideal Testing Mindset

I was working with a company a while back when one of the execs asked about softening test results so they didn't sound so bad. It made me realize that this exec, who was fantastic at marketing and selling, didn't fully understand the point of testing.

We get used to presenting things in the best light possible without lying, but with testing that mindset is counter-productive. Not that you want to blow anything out of proportion, but it’s important to be objective about testing.

First, how bad is this defect? This is where defined severity criteria work well – is data lost or corrupt? is the user unable to perform a critical function? is there a workaround? – all important questions when objectively evaluating defect severity.

Second, if there are areas that may not work as designed, wouldn’t you want to find out before your product gets into a customer’s hands? Yes it may take some work to fix it, but it’s going to need to be fixed either way. It’s better for your reputation and bottom line to fix it sooner rather than later.

Finally, it’s okay to have bugs early on in the software development process. That’s why we test. It is not a reflection on your product, it’s just part of the process. Just like all of us humans are flawed, so is our software. Fortunately (or maybe unfortunately) it’s much easier to fix our software bugs!

-Judi

Wednesday, November 28, 2012

Planning Your Next Embedded System

Since my philosophy on product development is so closely aligned with requirements definition, I don’t know how you can begin a new product development without creating a team first.

The team should not be composed of only technical contributors, but also domain experts (internal or external), stakeholders from various company departments, and finally the user community.

Once the team is assembled, you can begin to define product offerings, value, cost, etc. With timely marketing input up-front, coupled with manufacturing and service personnel voicing their inputs from the beginning, you can see a product concept emerge.

My advice is to keep the team involved all the way through development and deployment gaining feedback as you go.

So if it’s a question of technology or team, I always choose team first. What do you say?

-Gary

Wednesday, November 7, 2012

Smartphones and Service Technicians

Smartphones will soon replace laptops as the primary tool for service technicians.

Companies are realizing that laptops are expensive to maintain in the field, and no longer present a clear-cut alternative to a smartphone. In addition, many service personnel already have a smartphone with them at all times for communication needs.

Advances in core technologies have made smartphones quite capable for the diagnostic tests and troubleshooting of field service personnel. And new smartphones will still support legacy systems via USB adapters just as laptops do.

The main thing lacking is apps that integrate information for service technicians, which is no easy feat. The apps must be smart and collect data from various sources, including diagnostic test information, part procurement, customer and warranty information, and incident and problem reports to name a few. It is this total integration in a simple package that will be a game changer.

Please share with me your experience with moving your service personnel to a mobile platform.

-Gary

Monday, November 5, 2012

Process vs. People

Can a solid process support an inferior team? Yes.

Can a capable team overcome an insufficient (or inappropriate) process? Yes.

So which situation is more likely to be successful? In my opinion, it's the team every time. People trump everything.

Even though a good process makes a good team even more productive, a small team of high performers can do amazing things. The key here being a “small” team. Once you get past a certain size--I’d say 4 - 6--even the brightest superstars can become bogged down by poor communications and an inefficient working environment.

So if I had to pick, I’d pick the people. But of course, both is nice.

-Judi

Wednesday, October 24, 2012

Embedded System User-Interface Tips

I have often written about the need for requirements definition at the beginning of any embedded system design. However, I believe user-interface (UI) requirements are in a class by themselves, and thus deserve special attention.

During the conceptualization of the user experience I recommend focusing more on identifying user roles, workflow and informational content than on detailed screen design. Far too often I see a lot of effort devoted to specific graphics, color, font and button alignment before basic questions are even asked. I suggest starting with a representative selection of the embedded system's user community and the development team to address the following types of questions:

-Who are the target user(s)?
-What are their roles?
-What specific information is critical and actionable to each role?
-What information is simply helpful?
-What data is nice to have but does not need to be normally displayed?

Once the above questions are answered then the development team should rapidly create multiple versions of simple user interface experiences for the user community to evaluate. (Sometimes it may take the physical form of a software simulation when it is impractical to develop on the target hardware.)

User feedback gained from interacting with examples of possible user interface screens can provide invaluable feedback that will focus the development team on a specific implementation path. Once the path is set, then it is time to choose the right icons, fonts and colors.

Please share your tips for really good UI design.

-Gary

Wednesday, October 17, 2012

Questions That Provoke Innovation

One of my LinkedIn contacts posted an interesting article about innovation recently. It got me thinking about how this might be used in process improvement.

While there are well known practices to address many of the common issues with poor quality software development, sometimes there are challenges implementing them in specific environments. For example, while it is ideal to develop tests and test products as they’re being built, sometimes we find that doesn’t happen and testing needs to be done after the fact.

Sure, you could just start writing all the test cases from the requirements docs, but that’s a long road. And what if there are no requirement documents? The product still needs to be tested, and in a reasonable timeframe with a reasonable set of resources.

Asking “How might we…” can unlock all sorts of creative options.  One company I work with is using Google Voice accounts to fill in as “people” when testing their software. Sure they don’t all respond, but it’s a great start to put a little more load on the system.

How might you come up with a solution for some of your more intractable problems?

-Judi

Wednesday, October 10, 2012

Doodle -- A Cool Application

Every so often a web-based application really catches my attention. This time it is Doodle, a simple and innovative scheduling application. It is ideally suited for coordinating a meeting or event when more than just a couple of people are involved. No more back and forth emails due to Doodle's voting mechanism. Very cool.

I often wonder what makes a particular application so attractive while similar ones are not. Of course there is no easy answer and it is very subjective.

For me the application needs to:

-Do one thing and do it well
-Be easy to use
-Be accessible from anywhere at any time
-Be offered at a "reasonable price" (not necessarily free)
Companies often cast a wide net when designing new products. The thinking is to add as many features as possible to make the product desirable to a large audience. But I prefer to narrow the focus and go deep in implementing the core functionality. I believe if you focus on end user interaction and then make the product easy to use you will have a winner.

Please share your favorite application with me.

-Gary

Wednesday, October 3, 2012

October Is Manufacturing Month

Here in Connecticut, October has been designated as Manufacturing Month. And since Advanced Decisions helps companies develop new products, many of our clients are manufacturers, giving me the opportunity to observe many of their operations firsthand.

And don't be fooled--manufacturing is not the dirty, dark and dangerous industry that it used to be. It's very high tech.

Manufacturing supports the economy in ways that other fields can't come near. Did you know that for every manufacturing job created, an average of 2.91 jobs in other sectors are created?

So during October, take a moment to learn more about 21st century manufacturing. It provides great jobs, with great pay, that require skilled workers. Groups like CONNSTEP, CBIA and NHMA are all sources of information that provide various programs to educate the general public about modern manufacturing.

-Judi

Friday, September 28, 2012

Are Code Reviews Still In Vogue?

I have seen a significant drop off of companies conducting code reviews, which is unsettling because code reviews are still extremely valuable.

The code review process is challenging, and real-time embedded systems have the additional challenge of software and hardware interfaces. That is why I recommend adding a hardware designer to participate in the code review. It can really help to solve problems quickly that may arise during the review.

I have heard Management's reasons to forgo code reviews:
1. It ties up precious resources
2. Not sure how to conduct one properly
3. Might upset a few of our developers
4. The meeting becomes an excuse to attack someone
5. Not on the schedule

But I feel that in spite of all the trouble it may entail,  the goal of creating high-quality, sustainable, maintainable code in a timely manner is well worth the effort. I have found design reviews and code reviews to be invaluable tools to improve the actual quality of the software, stimulate growth, enforce coding standards and find bugs early.

In my experience, having led code reviews and having been a member of peer teams reviewing code, I always felt that it was a positive learning experience. Oftentimes simply asking the developer basic questions and allowing them to explain their thinking leads to amazing results.

Are you using code reviews as an integral part of your embedded development experience? What challenges are you having?

-Gary

Monday, September 24, 2012

Changing to a New Embedded Development Platform

I imagine that for you, as for me, changing to a new firmware development platform is a serious undertaking.

We have all used plenty of development platforms and software development kits (SDKs) from various manufacturers in our careers--and since most of them share a great degree of commonality, we are comfortable with changing to a new embedded development platform. However, I find that the significant challenge lies in discovery of the differences between what we have used and are familiar with and the nuances of the new platform.

Changing to a different development platform is typically accompanied by a change in chip family and / or manufacturer. I find that truly mastering the new platform involves both reading through the reference materials while working with the new tool kit. (For application programmers, the creation of the ubiquitous "Hello World" software program is still the typical starting point.)

But embedded programmers face a different set of challenges. We actually have to get the hardware working first for any software to run (i.e. the Board Support Package (BSP) and the accompanying evaluation board).

In many embedded development projects, product hardware is designed and developed in parallel with the new firmware. Since the product hardware is usually based upon reference designs from the chip manufacturer, making sure the SDK's board support package works properly with the manufacturer's evaluation board is a natural first step.

I start by installing the SDK on my development computer, getting it operational and integrating it with the source control program that I plan to use. Since a typical microprocessor or microcontroller can be configured in so many ways I focus on modifying the BSP to get the evaluation board operational as close to the final product configuration as possible. Once I can demonstrate that I can configure the BSP to control the evaluation board specific hardware (e.g. LEDs blinking, testing memory, exercising I/O, and communication via USB, Bluetooth, RS232 or LAN) then I am ready to turn my attention to developing the product firmware. Often the initial firmware evolves to the boot-up diagnostic software for the embedded product.

What tips or process do you suggest when transitioning to a new embedded development platform?

-Gary

Wednesday, September 19, 2012

Why Products Fail

It’s heartbreaking to see a product fail, especially when it could have been prevented.

There are typically two types of product failure. The first I call Field of Dreams -- “if we build it, they will come.” I’ve seen plenty of cool products built without a marketing, sales or distribution plan, usually by techies with a great idea and impressive skills, but not much business sense.

The second scenario might be harder to see. This is when there’s a real business need and a real market, but for whatever reason the company can’t satisfy it. Whether it's the inability to get the product out the door (scope creep), or a released yet inferior product, it’s painful to see a real opportunity missed. Especially when you know it could have been prevented.

When I talk with entrepreneurs, the questions that I ask typically go in one of two directions. For the techies, the questions are about business plans and sales and marketing strategies. The business folks seem to have all of that figured out, so I usually just talk about the testing and support of their product.  It’s important to know what you don’t know, and some gentle questions can get you there.

-Judi

Wednesday, September 5, 2012

The Value of a Startup Mentality in Large SW Companies



Many of the large companies I work with, and have worked for, are trying to figure out how to create an entrepreneurial culture in the fashion of today's successful startups. I think this is a fine idea, especially the modeling of two particularly attractive traits of startups.

1. Speed: They just get things done! There’s no long approval process, and sometimes there’s no approval at all. "Just do it" is the mantra. Of course, speed should never turn into carelessness, which can then turn into chaos.

2. Budget: I know one firm that has built one of the most innovative and technically challenging products I’ve seen in a long time using various open source products. In a big company, there’s often money to spend, and it gets spent, and often with much less successful results.

I’ve worked in both big and small companies, and there are advantages to each. The resources of a big company are nice, but for me, nothing beats the passion and resourcefulness of a startup.

-Judi