Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

3 Neutral

About eXcelisys

  • Rank
  • Birthday 09/01/2001

Profile Information

  • Title
  • Industry
    Custom Database/Web Application Development
  • Gender
    Not Telling
  • Location

Contact Methods

  • Website URL

FileMaker Experience

  • Skill Level
  • FM Application
    16 Advanced

Platform Environment

  • OS Platform
  • OS Version
    High Sierra

FileMaker Partner

  • Certification
  • Membership
    FileMaker TechNet
    FileMaker Business Alliance
    FIleMaker Platinum Member

Recent Profile Visitors

4,891 profile views
  1. Holiday Light Maker Finds Peace on Earth with Sales Quoting & Fulfillment App FileMaker Platform Brings Bright Sparkle to Global Operations at Christmas Northeast / Nicolas Holiday Just as Santa relies on the elves to keep his North Pole toy shop churning, holiday light manufacturer Christmas Northeast / Nicolas Holiday depends on the FileMaker Platform to manage sales and distribution of its bulbous bling. As the sole manufacturer of all GE-branded holiday lighting products, the company has a ton of items to track. Like toys that come in every variety, shape and size, so do holiday lights. There are energy efficient StayBright® LED lights, random sparkle string sets, color-changing snowflake LEDs and pre-lit Christmas trees. The list goes on and on. “We have 5,000 product SKUs,” said George Krize of Christmas Northeast / Nicolas Holiday. A few years back, Krize got the jolly idea to upgrade his business management system. For Christmas Northeast / Nicolas Holiday, business management is a big deal because the company sells its merchandise to big box stores like Lowe’s, Costco, Home Depot, Meijer, Michaels Stores and Walmart. It’s a high-volume business where “units” sell in the tens of thousands and accuracy is essential because the company manufactures only what is ordered and must ship an entire season’s worth of product between the end of May and the second week of October. To manage the business, Krize had cobbled together multiple Microsoft Access databases and Excel spreadsheets. “We were looking for ways to consolidate into one program and have cross-platform compatibility for use with Macs and PCs,” said Krize. He decided the FileMaker Platform was the way to go and hired eXcelisys. Doug West, eXcelisys VP for product development, took the reins for the project and turned Krize’s business management wish list into a reality. “This is one of the last places you’d eXpect to find a FileMaker database — in big box retail with high-volume product management,” said West. “This is a big business with a big brand. The next time you go to the store and see GE holiday lights, think of FileMaker.” The new system went live in 2017. We’re still fine-tuning it with different things, but it does everything I want it to do and more,” said Krize. “It’s a work in progress. It’s far from vanilla. It’s so chocolate chip it’s incredible.” StayBright® Color Choice® LEDs are one of the many products managed by the new FileMaker app (image courtesy of Christmas Northeast / Nicolas Holiday). Key Customizations Keep Operations Merry & Bright The new business system takes care of basic business operations like order entry, generating quote sheets, managing purchase order inventory, generating UPC codes and spitting out custom reports. But where it really eXcels is with customizations that have Christmas Northeast / Nicolas Holiday singing the Hallelujah Chorus. eXcel autofill: When businesses move to the FileMaker Platform, they typically leave eXcel behind. But Christmas Northeast / Nicolas Holiday could not because big box stores require vendors to follow eXplicit guidelines for quote submissions via Excel. “You can’t just give them a PDF,” said West. “You have to fill out a spreadsheet with product details, a summary, photos, etc. They provide an eXcel spreadsheet that asks for specific information with formulas we can’t break. The challenge is we have to feed data into those eXcel workbook files and push it into those cells within the Excel files.” eXcelisys accomplished this feat by mapping the data through a third-party plugin that takes values from FileMaker and writes those into the worksheet cells in Excel. EDI integration: As with most large-scale enterprises, Christmas Northeast / Nicolas Holiday eXchanges business documents (i.e. purchase orders and invoices) with its customers using Electronic Data Interchange, or EDI. As such, the new FileMaker system had to integrate with the EDI platform. eXcelisys accomplished this task by adding a script to deal with flat file imports from EDI. “I never have to type a purchase order,” said Krize. “He can import purchase orders by downloading a data file from the EDI system and clicking a button in FileMaker,” said West. “So it’s not 100% automated but it’s still a serious time-saver.” Product cloning: The cloning feature saves Krize time when adding new (similar) products to the lineup. “A lot of our items come in 10 colors,” said Krize. The clone feature eliminates the need to type out the detailed product description each time similar products are added. Instead, Krize clones the product, gets a new item number and makes the color change. Random sparkle snowflake lights are another product managed by the FileMaker app (image courtesy of Christmas Northeast / Nicolas Holiday). Other Favorite Features ✔ FileMaker WebDirect Christmas Northeast / Nicolas Holiday utilizes multiple overseas factories to manufacture and ship its products. These factories need real-time access to the FileMaker database to look up product specs, shipping requirements, package sizes, etc. By using FileMaker WebDirect, users overseas can open a web browser and connect directly to the FileMaker server located in the company’s Connecticut office. The beauty is that the screen renderings look eXactly the same as they do in FileMaker Pro in the home office and it’s all done with no additional web programming required and with no need to install FileMaker Pro on the overseas workstations. FileMaker WebDirect provides quick, instant access to any user, anywhere in the world. With FileMaker WebDirect, users at the company’s overseas factories can plug into the FileMaker app through a web browser to access records from the FileMaker server in the Connecticut office. Updates made in the web browser save to the server and the server pushes updates to the web browser automatically (image courtesy of Christmas Northeast / Nicolas Holiday). ✔ Content Management with Auditing An audit trail on the home page allows Krize to view a list of every change made to any field anywhere in the system. Users at the factories sometimes correct things like weights or cubic volumes for shipping purposes. If an error is made, the audit trail allows Krize to recover the lost value quickly. “I can see what they touched, what the old value was…. It’s handy if someone makes a mistake. I can see what the previous value was, what it was changed to.” ✔ Package Dimension Calculations For shipping purposes, Christmas Northeast / Nicolas Holiday must figure packing dimensions, weight, container quantities, pallet weight, etc. All of this is automated with the new system. A built-in cube calculator figures the height, width and length for each “case cube” of product. Because the company ships products globally, it needed the flexibility to figure measurements with the metric system and with U.S. customary values. The Weather Outside is Frightful, but FileMaker is So Delightful In the end, Krize is pleased with his new business management system, but he also acknowledges the dark period of development he went through to get there. “It was a long drawn-out process to get it to do what I needed,” Krize said. “We were combining three different programs doing three different things and combining it into one piece. Yes, it was over budget and over time constraints. It was a learning process.” Krize is also happy he chose the FileMaker Platform, but along the way he realized the platform was only a piece of the puzzle. “FileMaker. It’s a great program, but it’s only as good as the developer. I have nothing but accolades for Doug. He knows what he’s doing. He makes himself available and is never one to avoid a phone call. I would recommend FileMaker and eXcelisys just based on Doug West.” If all you want for Christmas is a new innovative business solution on the FileMaker Platform, contact us today for a no-charge FileMaker solution consultation analysis and estimate. The post Holiday Light Maker Finds Peace on Earth with Sales Quoting & Fulfillment App appeared first on eXcelisys. View the full article
  2. Survival Guide (7 of 7): Find, Hire & Work with a Software Developer, Successfully! Bringing Your Vision to Life: Development, Testing & Deployment It should be clear that there is a substantial effort that goes into a successful project before the actual development work even begins. In this final segment of our 7-part series on choosing and working with a custom app developer, we offer tips to take you through the development, testing and deployment stages. Development styles — What to eXpect Broadly speaking, there are three common approaches to development: agile, waterfall and prototyping. All are intended to get to the finished product in an efficient manner, but each takes a different approach. The agile development style practices discovery as development unfolds and requires eXtensive client feedback during development, while the traditional waterfall method is heavy on discovery with the client then stepping back and turning the developer loose to do their thing. Prototyping relies heavily on mock-up designs to verify the functionality before actual development commences. It will help to know the approach your developer will use so you can anticipate when you will be called to action. Agile — An iterative wash, rinse, repeat cycle. The discovery phase is very short and informal. The intent is to understand the overall project goals and learn the details necessary to get there. For most projects, this can be accomplished in one or two interviews, which keeps the time and eXpense of a formal planning stage to a minimum. With enough detail to have a clear idea of the goals, the developer can create an interface and first draft of the primary module to find out if they are headed in the right direction to meet the client’s needs. After that, each cycle takes the client feedback and the remaining list of features to rework the previous section and/or work on new features. Builds are presented to the client as often as every week or two to get feedback before continuing. This process repeats until the project is declared finished by the client. Client feedback is critical to keep development on track and moving forward. The feedback acts as a critique and approval of the work completed and provides guidance for the next step. Using this method, features can be reworked again and again to tweak them and fine-tune the workflow. The agile development style works well with projects that evolve over the development lifespan or when the functionality is not crystal clear at the outset. If you don’t like it, change it. The agile method lends itself well to estimated pricing because much of the discovery happens as development unfolds. (To review pricing models, see Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing and Billing Models) Waterfall — A linear step-by-step process in discrete stages from discovery to design to development, then testing and, finally, deployment. Each stage happens in order without revisiting previous stages. The success of the waterfall style is dependent on the accuracy of the discovery and design stages. Everything is outlined in as much detail as possible to produce a very well-defined and generally rigid blueprint. Client involvement is heavily front-loaded in waterfall development and usually requires multiple meetings and back-and-forth communication to nail down the eXact details. Once discovery is complete and the final plan is approved, then the actual development can begin. Development can often be performed relatively quickly because all unknowns should have been discovered and decided. The client may not see a lot of intermediate builds because the blueprint is pretty rigid. This method has somewhat of a “reveal” at the end because not much client feedback is required during development. Waterfall lends itself well to quotes and fixed-bid pricing because the unknowns should be minimized and the specifications are locked in. Prototyping — Mock-ups followed by hard coding. With this development style, the amount of discovery lies somewhere between the waterfall and agile methods. The client outlines the requirements and describes the workflow and then the developer creates mock-ups of what was described. The mock-ups can be tweaked endlessly until they meet client approval. Once approval has been given, the developer can get to work on the actual final product. Like agile development, there is room for tweaking during the mock-up phase, but like waterfall, once the actual development is under way the plan becomes very rigid and doesn’t allow for much modification. This method works well with all pricing models, especially if the mock-up phase is limited to just a few iterations. Keep Knowledge Workers in the Loop The knowledge workers you used to provide initial information about the requirements of the app are probably the same ones you come back to for testing and feedback. They should be users who are currently performing the tasks the app comprises. They can answer questions and give quality feedback because they know how they do their job when things are slow and when things are chaotic. Allowing the end users to have input during development also reduces resistance to a new system and creates buy-in and a feeling of ownership once the app is deployed. The end users who feel their voices have been heard during development will ultimately turn into the cheerleaders and champions of the project. Communication is Key As development unfolds it is important to have clear and constant lines of communication. Communication was important in the pre-planning stages, but it’s even more critical now. You may have an internal vision of what the app should look and feel like. The developer is trying to turn that vision into an operational tool for you and needs detailed information to get there. Make sure you address the developer’s questions with clear answers. Don’t ignore the requests or get ahead of the program. Developers have to build things in a particular order. Help them stay on track by answering what is asked. It can mean the difference between “dead on” and “almost” in what you end up with. The quicker you respond, the faster you’ll see results. There will be times when you are looking for particular features that don’t seem to be in the builds you are asked to review. Ask for clarification to make sure those things aren’t missed, but understand that sometimes the part you want to see will come later in the development process. You’ll have to be patient and let the developer lay the foundation first. Work together as a team to make the work satisfying and successful. Test, Test, Test Testing should be an ongoing activity. Developers are at a disadvantage for testing because they know how all of the features were built to work. They will test it the way they created it. You will test it the way you want it to work. Those are hardly ever the same. The developer’s project manager should review each build and test the newly developed features to make sure they function as the developer intended. This is the most basic level of testing. The more important testing is done by the client, particularly by the end users who know how each feature is supposed to facilitate their workflow. They will quickly be able to determine whether the features are efficient, intuitive or even properly address the task at hand. Always make sure to provide feedback to your developer of what you found. This is a very important piece of your partnership. Deliverables & Deadlines — How You Can Help How long should it take, what will I get, and when will I get it? These are logical questions and by now you just want to see something. Your developer should have a plan for when the stages of work will be completed and delivered for your review. However, things almost always take longer than either of you want. Generally, the timeline is affected by the speed of feedback from the client, so stay on top of it. Deployment Because there is always more to consider and the dream list is ever present, most projects could go on and on. At some point, the client’s point person decides that the solution is deployable and ready for use. Even after your custom solution is deployed, eXpect additional troubleshooting and tweaking as users begin to really work with it in earnest. That is normal and should be eXpected. Full deployment is really the final stage of testing the integrity of a solution. Any issues should be cataloged and reported to the developer so they can be addressed. Make sure you leave enough time in the budget to manage this final stage of development. A well-designed solution will be forward-looking so that as the business grows and evolves, new features and functionality can be added easily. Once your app is deployed and you begin using it, you will quickly come up with improvements or additions you’d like. That’s normal. Keep a list so that you can come back to it when the time is right. Custom software development is an adventure and a process that can teach you a lot about your business. Having a custom solution allows you to run your business the way you want and not have to modify your workflow to accommodate a commercial software package. It gives you a lot of flexibility and the opportunity to grow into areas that might have been unmanageable without it. The development process can be a nightmare if it is seen as a black box of magic that requires little or no involvement from you. However, with appropriate preparation and participation, you can navigate the process smoothly, taking satisfaction that you created something uniquely suited to your business. Enjoy the adventure! If you missed any of the installments in our series, access them here: Part 1: Embracing the Development Mind-Set Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models Part 4: Making the Plan for Planning Your Plan of the Project Plan — What Do We Need to Get This Development Party Started! Part 5: Rassling with the R’s — Roles and Responsibilities Part 6: Taking the Final Leap: Define the Scope & Approve the Plan The post Survival Guide (7 of 7): Find, Hire & Work with a Software Developer, Successfully! appeared first on eXcelisys. View the full article
  3. Is your site running an older version of PHP? Chances are … yes. According to W3Tech, 76.6% of websites are running a version of 5X. This December, support ends for versions 5.6 to 7.0, pushing them to end of life. This means no more security updates! What does this mean for you if your site is still running an older version of PHP? It means that if a new security issue is found it will not be fixed going forward. So, if you get hacked there may not be a simple fix. You can always roll back, but you can’t roll back and fix the problem so that it doesn’t happen again. If your website is important to you, give us a call and we can work out a plan to migrate to the latest version of PHP bringing better security, stability and speed along with it. If you are up to date on your PHP, how is your WooCommerce? Please make sure you are running the October update to 3.4.6 so your site doesn’t get compromised by a recently discovered design flaw. The post appeared first on eXcelisys. View the full article
  4. Is your site running an older version of PHP? Chances are … yes. According to W3Tech, 76.6% of websites are running a version of 5X. This December, support ends for versions 5.6 to 7.0, pushing them to end of life. This means no more security updates! What does this mean for you if your site is still running an older version of PHP? It means that if a new security issue is found it will not be fixed going forward. So, if you get hacked there may not be a simple fix. You can always roll back, but you can’t roll back and fix the problem so that it doesn’t happen again. If your website is important to you, give us a call and we can work out a plan to migrate to the latest version of PHP bringing better security, stability and speed along with it. If you are up to date on your PHP, how is your WooCommerce? Please make sure you are running the October update to 3.4.6 so your site doesn’t get compromised by a recently discovered design flaw. The post PHP Support ending in December – Woo Commerce patched appeared first on eXcelisys. View the full article
  5. WordPress Website Redesign Boosts Placement Firm’s Candidate & Recruiter Traffic Responsive Design & Custom Plugins Optimize Century Group’s eXternal & Internal User eXperiences When businesses in Southern California, the Bay Area or Denver need a new CFO, controller, accountant or payroll coordinator, they turn to Century Group for help in recruiting the right candidate. Likewise, job-seeking finance and accounting professionals rely on Century Group when they’re on the hunt for new career opportunities. Headquartered in El Segundo, California, Century Group specializes in direct hire and temporary staffing services in the areas of accounting and finance. In February 2017, Century Group hired eXcelisys as their WordPress consultant to solve speed issues and provide general support and maintenance for its eXisting WordPress website. Later, Century Group decided to redesign and rebuild the website and kept eXcelisys on board for the project. The new, revitalized, optimized and modernized Century Group WordPress website went live in March. So far, the results are encouraging. “We’ve seen an uptick in visitors per month.” ~ Sabrina Maharaj, Century Group Senior Marketing Manager This is the home page for Century Group’s old website. Compare this to the image far above, which depicts Century Group’s revised, new home page. Project Focus for Century Group Website Redesign Polishing the Look and Feel To modernize the look of Century Group’s dated WordPress site, eXcelisys Web App Developer Fred Morgan and Project Manager Kurt Knippel proposed using the WordPress theme Lambda because it is flexible, mobile responsive and lends itself to custom CSS styling. “We tackled it one page at a time,” said Maharaj. “We analyzed the content and overall flow and optimized from there. I did the concept on my own, then discussed it with Fred and Kurt and got their input to make it happen on the back end. I had a vision and they made it happen.” Users assess the visual appeal of a website within 50 milliseconds. ~Behaviour and Information Technology (March 2006) Above: New website. Below: Old website. Responsive Design: Creating a website that works on every screen Users eXpect websites to work — and look good — no matter what device they are using. Mobile users hate to pinch-and-zoom their way through site content that’s not built for small-screen layouts. Keeping this in mind, Century Group wanted a responsive website to ensure everyone — from mobile users to tablet lovers to desktop devotees — could search for jobs and submit their applications effortlessly. 52% of users said that a bad mobile eXperience made them less likely to engage with a company ~ Sterling Research and SmithGeiger (2012) Responsive web design ensures a great user eXperience across many devices and screen sizes because it automatically “responds” to whatever device it is being read on to optimize the content and features for usability. Headers, font sizes and images need readjustment for mobile devices. Optimizing for Blazing Fast Load Times A site performance audit revealed that people were bouncing from some Century Group webpages. eXcelisys web app developer Michael Suhrbier drilled into the problem and found several areas for improvement during the WordPress website redesign. Server: Suhrbier determined that a server upgrade was needed to accommodate Century Group’s web traffic. He recommended a switch to WP Engine — a performance-oriented hosting company for WordPress-powered websites. Content Delivery: Suhrbier recommended that Century Group use Cloudflare’s DNS service to accelerate content delivery. Now, Cloudflareacts as an intermediary between web users and Century Group’s server, so any requests for the Century Group site run through Cloudflare first. Cloudflare stores Century Group’s static web content (like CSS, JavaScript and images) on its own servers. When someone requests access to the Century Group site, it is served up from the Cloudflare server located closest to the site visitor. This cuts page load times. Moving to Cloudflare reduced Century Group’s load times from 7 or 8 seconds to 1.5 seconds, noted Michael Suhrbier, the eXcelisys developer who recommended the service. Images: Suhrbier combed through the site to ensure images were being served up in the correct sizes so they would upload quickly — and correctly. Mobile images were optimized so they wouldn’t eat up a user’s data. eXcelisys also looked at video content. Century Group’s landing page includes a video that plays when the page opens, so eXcelisys paid close attention to structuring it in such a way that it would render properly without taking forever to load. Plugins: During his web optimization detective work, Suhrbier reviewed the plugins from the original developer and determined that the site had an unnecessary plugin for HTTPS redirection. This plugin was increasing the site’s load time, so he axed it. “My approach is making sites better by subtraction,” said Suhrbier. “The HTTPS redirect plugin is not needed. The same thing can be done with three lines of code in the .htaccess file.” 40% of people will abandon a website if it takes more than 3 seconds to load. ~ Econsultancy Custom Plugins for Additional Functionality Internal processes: eXcelisys built a custom plugin to help Century Group with the recruitment process. With the old website, candidates applied for jobs and then sent their resume later as an email attachment. This process meant that Century Group had to sort the documents to match up applications and resumes. Now, the resume is attached directly to the application. Email alerts: The new system sends an email alert to Century Group recruiters each time a new applicant submits. The custom plugin automatically attaches the applicant’s first and last name to the subject line. This means recruiters have only to look at their inbox to see how many jobs “John Smith” has applied for. Previously, they had to scroll through each email to locate the applicant’s name and determine how many positions a person had applied for. Data management: The website is now set up to capture a small amount of applicant data, giving Century Group a database of candidates it can query when seeking placements for outside companies. “We improved the overall workflow of how a resume is posted and how they are able to store the data and query the data,” said Morgan. “Everything was buried in emails before.” User eXperience During the WordPress website redesign: eXcelisys created a custom “post type” for job listings. The custom plugin aggregates the data in a manner that allows users to conduct keyword searches. Previously, job seekers had to scroll through job listings because the site had only rudimentary search functionality. Now, job seekers can filter their search by job (i.e., accountant), location (i.e., Los Angeles) and industry (i.e., healthcare). In addition, an “easy apply” button allows users to apply for a position and upload their resume in one fell swoop. Clicking the “Easy Apply” button (see image at right) brings up the form on the left. Users upload their resume and hit “submit” to complete the process. Pressing Onward Overall, Maharaj is pleased with the outcome of the WordPress website redesign project. Maharaj said that the eXcelisys developers were “friendly and responsive and offered good advice.” She went on to eXplain: “In some cases, I may have had an idea but I didn’t know the pros and cons. They provided both sides so I could make a well-informed decision.” Suhrbier concurred that a website redesign involves much more than writing HTML and CSS code. “Our biggest job is to educate clients and steer them in the right direction.” To read more about how eXcelisys can help you optimize, revitalize, upgrade and protect your WordPress site from hackers, click here. The post WordPress Website Redesign Boosts Placement Firm’s Candidate & Recruiter Traffic appeared first on eXcelisys. View the full article
  6. Pond Care Company Uses FileMaker Pro with Field-Synced iPads to Deliver Photos & Service Records to Office Staff & Clientele; System Eliminates Paperwork & Improves Customer Communications ASAP Aquatics is located in Indianapolis. Lakes and ponds are lovely … when they are lovely. But not so much when frothy slicks of fluorescent algae bloom all over the surface. To fix this problem, the people of Central Indiana rely on ASAP Aquatics. Founded in 1996, ASAP Aquatics offers algae and aquatic weed abatement, lake and pond care, and fountain sales and service. The ASAP “season” lasts a grueling seven months. From April to October, ASAP techs make 45,000 visits (including service calls and inspections) to bodies of water all over Indiana. That’s a lot of record-keeping, but it all goes swimmingly thanks to ASAP’s custom-built FileMaker Go solution. The system allows techs to take iPads on service calls, document their visit (with notes and pictures) and send the information to the office from the road. But the fun doesn’t end there. The system is also linked to ASAP’s website, allowing clients to log in to their account and check the service records and photos themselves. eXcelisys developer Duane Weller says the system syncs through about 70,000 images a season. ASAP founder/owner Brian McVeigh says he is pleased with the way eXcelisys has been able to incorporate and manage all of the syncing that goes on. At any given time, there may be 30 iPad-equipped techs in the field. “We transfer thousands of records a day,” said McVeigh. “If we couldn’t have the iPads talking to servers in the office all day, it would shut us down. The amount of paperwork would be a burden.” McVeigh came to eXcelisys in 2007 when he needed some heavy lifting with his database app. McVeigh built his first FileMaker Pro solution on his own — in version 3.0 — to manage records and contacts. But as his business niche grew, so did his software needs. No out-of-the-box software solution can handle ASAP’s operations, so the company has been working with eXcelisys regularly over the past decade to add new features whenever McVeigh dreams up a new tweak to streamline operations. McVeigh isn’t afraid to tinker around in the app. Sometimes, he adds a new element, then asks eXcelisys to get it working properly. “He calls on us when he doesn’t have time or can’t figure it out,” said Weller. The current solution is a beast of custom web app ingenuity. “It’s the backbone of what we do,” said McVeigh. Tools of the trade: When techs head out in the morning, they take a truck, trailer, boat and iPad. A Day in the Life of ASAP’s Software Solution Step 1: Tech grabs an iPad from the office and opens the app to access the day’s route. By clicking on an account, the tech receives directions to the site, as well as information about the service needed (i.e. treatment for algae, scum or other shoreline invader such as cattails/water primrose; fountain and aeration system maintenance, repair or installation, etc.). ASAP’s custom FileMaker Go app provides techs with property maps indicating the location of each pond they are to service. The red arrows tell the tech where to access the pond (boat launch). Step 2: Tech services the lake, pond, fountain or other aquatic feature on the site and documents the visit using the app. The tech performs the task that has been scheduled. Upon completion, the tech makes job notes on the iPad and adds photos to corroborate the work that has been done. If the tech sees something that needs further attention, the tech can note this on the iPad app and add more photos so the customer can see the problem. Step 3: Tech syncs the device (can use a cellphone) and the data is transmitted to the FileMaker Server in the front office via MirrorSync. This feature means techs don’t have to spend time filing paperwork or uploading files when they return to the office. The data beats them back! However, if the tech has poor cell service, the files can be synced when they get back to the office. Step 4: App sends client a text or email notifying them that ASAP has serviced their property. Client can log in through a web portal to read about the service that has been performed. McVeigh says that giving clients web access to the service records has greatly reduced the number of phone calls to the office. Instead of calling to see when ASAP is going to spray for cattails, the client can log in and find the date the service is scheduled to occur. The client can also view the images taken by the tech and read a full record of the service performed. The customer portal also includes information about the contract agreement so customers know when to renew their service contract. This saves ASAP from having to send out renewal notices. Above: This is the main landing page for users. It lists their properties and the services contracted for each. Some clients — like property managers — have multiple properties with multiple aquatic features. Above: The “treatment” page that is available to clients through the web portal shows the date, images and information on the treatments performed. It can display treatments by date or pond. Below: Clients can read a detailed report of the visit and see images from the day the pond was serviced. Best New Feature: Employee Incentive Program Tracker This summer, eXcelisys added a “tracker” to the FileMaker Pro system so ASAP can track the number of ponds each technician services a week. When the tech hits a “threshold” (as set by McVeigh) they receive an automatic bonus that is incorporated directly into the payroll. McVeigh says the techs are eXcited by the new feature. “They are doing what they’ve always done but now there’s an incentive to hit the bonus threshold and accumulate eXtra pay.” More Benefits Float to the Surface Detailed record-keeping: McVeigh says the app provides a huge benefit to ASAP’s fountain and aeration division because of the comprehensive record-keeping it provides. When ASAP installs a new fountain or aeration system, the specs are documented in the app, along with the serial numbers of each piece of equipment. The “fountain” layout. When a new fountain or aeration system is installed, the tech takes photos to show it has been installed properly and is working. McVeigh says this helps when clients call to say their fountain is off and complain that it “never” worked. “We have a record that it did,” says McVeigh. The images also help the pond service department. Say a client calls to complain about algae and says it has been there all year. Because the app provides ASAP with a photographic, chronologic history of the pond, ASAP can tell eXactly when the algae problem happened. Said McVeigh: “We can look back and say, ‘No, this just happened. The algae bloomed last week.’ ” Improved Client Relations / Communications: As the old saying goes, “A picture is worth 1,000 words.” McVeigh says having images available to customers through the web portal speeds the repair process when a fountain or aeration system needs fixing. “They can see pictures of what’s broken and get a better understanding of the problem.” It also means customers don’t have to wait at the property to see if the technician shows up to do the work. A custom gallery allows clients to view images in high resolution. To make the images available through the website portal, eXcelisys built an image transferring program in FileMaker Pro that connects to the database to transfer out by FTP. The interface processes and resizes each image for web viewing. A Wellspring of Success McVeigh says he is pleased with the efficiency with which eXcelisys handles each development task. “I’m amazed at how much work eXcelisys can do with the hours we purchase from them.” McVeigh says he finds eXcelisys developer Duane Weller to be eXtremely responsive and thoughtful. “When I have an idea, he says, ‘Sure, I can do that.’ But he’s also aware of the cost.” McVeigh went on to eXplain that when he asks about adding a new feature or function, Weller takes into account the development time the task will take and if it will really advance the end goal. If it’s not a cost-effective feature, Weller recommends not to move forward, even though that means he’s passing up the opportunity to put development dollars in his own pocket. “eXcelisys has really earned my trust,” said McVeigh. ASAP techs pull a fountain system for winter storage and service. Thanks to Brian McVeigh. The post Custom Web App Keeps ASAP Aquatics from Drowning in Paperwork appeared first on eXcelisys. View the full article
  7. The Discovery Phase: Taking the Final Leap: Define the Scope & Approve the Plan When it’s time to actually begin development the tendency is to want to just get started. A lot of time and effort has gone into getting to this point, so there can be a lot of eXcitement about finally making things happen. However, there is one last step to take before your developer puts fingers to keyboard. The “discovery” phase is where the requirements gathering is done. It is the all important planning phase. Thorough discovery is necessary to ensure the app will catapult your business to the next level by improving the efficiency of your business processes, or by freeing up time for employees to increase productivity in other areas. During discovery, you sit down with your developer to hammer out the details — or scope of work. This is usually when the clock starts ticking. Scope of work Brainstorming and needs gathering are used to determine the breadth and potential details of the project. The scope of work narrows that down to the nuts and bolts and provides an architectural plan. The scope of a project includes all of the requirements, data capture, features, connectivity, users, security and everything that defines the whole of the project. Everything about how, where and by whom the solution will be used is included. Information can be shared with other software applications like accounting software, cloud-based solutions, other data systems and your website, or the solution can be completely self-contained. Your developer will help you determine how to incorporate those requirements into the final solution. eXamples of your current work procedures (current database if you use one, other software, spreadsheets, forms, memory, post-it notes, napkin drawings, reports, etc.) and any shortcomings or inefficiencies should be included in the requirements gathering discussions with your developer. Your desired workflow needs to be described so that your developer can turn that into a functional program. The requirements become the working blueprint for development. The end product of the discovery process is the working list of features and functions that end users will use to facilitate their work, the eXpected timeline and cost estimate. If you’re interested in learning more about how you and your developer can work together to define the project and set timelines, we’ve got you covered. Click here! A word of caution. Determining the scope of work is a necessary step, but it can sometimes lead to “paralysis by analysis.” There is no way to anticipate every possible detail of the final solution. There will be adjustments along the way once development starts, so don’t get hung up trying to define every jot and tittle — especially if the developer uses an agile development style, which is closely akin to a wash, rinse and repeat cycle, allowing plenty of room for refinement as the app takes shape. At this point you should be able to trust that your developer has enough information to start building the app so you can see your vision unfold. Now is the time to take the leap and approve the plan. There will be changes, but the initial plan provides a launching point for the developer to begin. Changes in the Scope The scope of work is a living description of the project. Just like with an architectural blueprint for a custom home, change is the nature of the beast. Even after the blueprint is finalized and approved, there are ALWAYS changes along the way. Some changes are minor and some are major. As the project unfolds there will be new ways to think about the workflow and data organization, or it may spark whole new ideas. This is normal and to be eXpected. Unless you are locked into a rigid contract that doesn’t allow any changes to the scope of work, eXpect the requirements to evolve over the course of the project. This evolution requires a periodic re-evaluation of the scope of work to make sure the critical business requirements remain intact while accommodating any changes. As changes arise the scope of work may eXpand or contract. That means the budget and timeline need to be re-evaluated. Those changes will be added or put on a wish list or discarded based on the overall goals along with the budget and timeline. Having a clear understanding of how new ideas affect the development plan will keep the overall project from feeling like a black hole further down the road. The vortex of development doubt can be daunting! Relax. You’ve got scope and a vetted developer., the light at the end of the development tunnel! Development in Phases Sometimes a custom application is relatively small and concise, as simple as automating a single business task. Other times the application will manage an entire business. Most apps are somewhere in between. A small project is generally completed by a single developer in one development effort. A larger project might lend itself to being broken into multiple phases of development or involve multiple developers. It is worth looking at a medium- to large-sized project to determine if it could, or should, be done in phases. Many times, larger projects seem to drag on and take forever before you see any real benefit if they are created in one monolithic effort. That can even kill an app before it is born if the timeline and/or budget keep ballooning. This is something that can strike fear in the heart of the client manager. Considering whether the project can be reduced to modules or discrete parts that have self-contained sets of features can alleviate this concern. If a project can be deployed in stages so that there is a usable benefit early on while other parts are in development, there is a greater sense of progress and a quicker return on investment. For eXample, a project with a fairly self-contained customer module and a separate set of features for a manufacturing module could be broken into phases. The developer can create the customer module first and deploy it so that the end users can start working with it while the manufacturing module is being developed rather than waiting until both modules are finished before deployment. This approach allows users to become familiar with the new system and provide feedback as they work with the customer module. Once the manufacturing module is complete, the two modules can be integrated and deployed as a single comprehensive solution. This is a great strategy that allows users to get comfortable with the new system and do some active testing with real data. Often, this process will even reveal additional adjustments that need to be made to the scope of work. Whether a project lends itself to development in phases doesn’t necessarily need to be determined during the discovery process, but it can be a helpful part of the conversation. The idea is to look for potential ways to create early benefit while development continues. The Blessing Planning is done. Approval has been given. Time for the coding to begin … Look for the final wrap-up to our series (Part 7) coming soon. If you missed previous installments, find them here: Part 1: Embracing the Development Mind-Set Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models Part 4: Making the Plan for Planning Your Plan of the Project Plan — What Do We Need to Get This Development Party Started! Part 5: Rassling with the R’s: Roles and Responsibilities The post Survival Guide (6 of 7): Find, Hire & Work with a Software Developer, Successfully! appeared first on eXcelisys. View the full article
  8. FileMaker Pro Brings Light to the End of Repair Shop’s Dark Data Tunnel Solution Optimizes Workflow & Allows ERS to Analyze Data to Reduce Customers’ Repair Costs When an endoscope fails or performs poorly, it’s a big, costly deal. Broken scopes lead to downtime and downtime costs money. So how do hospitals, surgery centers and clinics keep their endoscopy suites in full working order? They rely on businesses like Endoscopy Repair Specialist Inc. (ERS) to provide preventive maintenance, loaners and quick-turn repairs on their ailing scopes. Founded in 2006, ERS fixes and refurbishes flexible and rigid endoscopes, video cameras, light cables, hand pieces and other surgical equipment. The company is based in Hastings, Michigan. And to be able to do all of that, ERS relies on FileMaker Pro. Before launching ERS, founding partners Robert Fisher and Bob Hile worked together as endoscope repair techs. Prior to that, Fisher honed his mechanical skills as a helicopter tech in the U.S. Navy. Recently, ERS sought a better way to manage its business-critical data. Previously, ERS had used a primitive FileMaker Pro database developed years ago by one of the owners back when ERS was a three-person shop. But now, ERS has grown. Desiring better employee access and state-of-the-art app efficiency, ERS turned to eXcelisys. In Fall 2017, eXcelisys delivered ERS’s new repair-shop tracker app. As an all-in-one business management system, the new FileMaker Pro solution gives ERS one platform to conduct all business affairs. The app does standard stuff, like generating invoices, bar codes and work orders, but it also coordinates workflow. To keep scopes churning through the repair pipeline, workflow is integrated into the app, which automatically walks employees through each process to ensure scopes move from receiving to repair to shipping with no interruptions. The FileMaker Pro solution also tracks endoscope repair history and location — as in where is the scope in the repair process? Is the endoscope waiting for a part, being fixed by a tech, or sitting in shipping? The app also helps ERS administer its loaner scope program. Another new feature includes the ability for techs to add photos and notes about the repairs that are needed so customers can understand the problem. “There’s no way to compare this system to the old one,” said CFO Denise Fisher, wife of ERS co-founder Robert Fisher. Denise says the new software solution has improved the efficiency with which ERS can access data. Retrieving critical data is certainly easier, thanks to the app’s all-inclusive “home screen” layout that offers search tabs and task tabs, making it easy to launch a task or filter for essential information. “I like to bring things up to the surface level,” said eXcelisys developer Duane Weller. “A lot of times with big databases, data tends to get buried.” As Weller worked on the new FileMaker Pro solution, he stayed mindful of ERS’s acute, day-to-day business needs. “They shouldn’t have to dive into the data to find the status of a scope,” said Weller, noting that in the old system, ERS employees had to go to a table and run a search to find simple information. Now, ERS can filter for any status right from the home screen. This is imperative because customers want to know what’s going on. ERS has about 150 scopes a month coming in and going out. Some stay a day, while others require several days for repair. The new app makes tracking a cinch with a status screen that tells ERS eXactly where each scope is. A flexible endoscope is basically a thin, bendy telescope made to snake through narrow passages, enabling physicians to eXamine and treat hard-to-reach areas of the human body. How Does FileMaker Pro Help Endoscopy Repair Specialist Inc. Manage Operations? Assists with Intake Evaluations/Repair Documentation After arriving at ERS, each piece of equipment undergoes a 31-step quality control inspection. During the inspection, techs diagnose the issue identified by the customer. Techs also look for signs of wear and tear and make recommendations for preventative maintenance. The app walks the techs through the inspection process, ensuring no component is missed. Inspection details are recorded on the app and archived (along with photos), allowing ERS to keep a historical record on the condition of each endoscope it repairs. Supports Data-Driven Customer Service “The new software is great for us internally, but to have it impact our customers as well is incredible,” said Customer Service Rep Shannah Zoller. Zoller uses the new app to compile monthly reports for customers showing the average cost of each repair, turn time and probable causes for the repairs being made. Because ERS keeps a history on each scope, ERS can identify when the same repair is being repeated. This helps clients spot repair trends so internal issues can be identified and staff training can be implemented to reduce repair costs. ERS provides customers with detailed repair logs to help them identify problematic handling and usage procedures that may be leading to repairs. This proactive customer-service approach helps ERS’s clients with repair-reduction efforts. Before the new software solution, customers would ask if it seemed like the same repair was being made over and over, but ERS had no hard data to prove it. Now, the information is readily available. “This data is invaluable in this industry,” said Zoller. “We are a small business that’s able to provide this huge service to our customers. We’re in constant communication.” Speeds Employee Training Zoller said the new FileMaker Pro system has made ERS “more efficient as a company” and has helped the medical-device repair shop “eXpand quicker than we eXpected” because of the increased efficiency with which employees can be trained. Before, ERS had to guide new employees through each process step, but now, the app automatically prompts for the next step, helping new hires get up to speed quicker. Manages Data, Ensuring Repair Efficiency The repair-tracking app also ensures that the techs know what is wrong with a scope when it arrives in the repair lab. Techs never have to waste time asking around to find out what’s wrong with a scope. “We now have procedures in place to make sure our techs are being efficient with repairs,” said Denise Fisher. “Everything is written down and documented — it’s not verbally stated or scratched down on a piece of paper.” When ERS had fewer techs, they could communicate verbally about repairs, but that’s no longer an effective way to handle operations. Tracks Loaner Inventory Before the new software solution, ERS had no system for tracking its 52 loaners. Now, the app tracks if a loaner is out at a customer site, is in process onsite, or is available for use. Previously, an ERS employee had to walk to the lab to see how many loaners were in stock. In addition, workflow for the loaners is built into the app so the minute a loaner arrives back at ERS, the employee who checks it in is prompted to send it on for inspection so it can be placed back in rotation. Scoping out the Future ERS is pleased with the work of Duane Weller, the developer, and eXcelisys project manager Greg Furry. “From the beginning, the eXperience was nothing but positive,” said Denise Fisher. “Yes, there were panic moments when something wasn’t working quite like we wanted, but Duane would call us immediately and fix the issue. Duane is fantastic. He’s very good at his job.” In recent months, Zoller has been trying her hand at development, making small tweaks as ERS discovers more ways to harness the power of FileMaker Pro. “If I can do some minor things, that’s great for us as a company,” said Zoller, noting it cuts down on development costs. Zoller said Weller is always willing to provide FMP coaching/consulting by reviewing her code. As the daughter of ERS co-founder Robert Fisher and CFO Denise Fisher, Zoller takes pride in helping move the business forward. “I am pretty proud of my parents,” she said. To read more about eXcelisys’ software design, development and consulting services, click here. The post FileMaker Pro Brings Light to the End of Repair Shop’s Dark Data Tunnel appeared first on eXcelisys. View the full article
  9. Part 5: Rassling with the R’s — Roles and Responsibilities in Software Development Knowing the Software Development Roles… It’s important to get the right people in the right place at the right time. Once the development project launches, everyone involved will have an opinion, eXpertise and investment in the outcome. To get the best results, it’s important to use each person in the right way. Quality in, quality out. In this installment, we’ll walk you through client and developer duties so you’ll know who should be doing what. For a development project to succeed, it must be properly managed by both the client and the developer. Each side comes to the project with a somewhat different mind-set, but ultimately, they are working toward the same shared goal of successfully deploying a well-functioning, transformative solution that improves the efficiency of the business. Though each side seeks the same end result, the responsibilities for keeping the project on track and running smoothly are a little different. Client Side Point Person/Project Lead: This is the go-to person who serves as the authority for all client activity and decision-making. If this person is an end user, they can provide information and feedback directly to the developer. If not, the project lead will coordinate with end users who can provide detailed requirements and ongoing feedback as the project unfolds. The project lead is responsible for managing the scope of the project and determining development priorities. End users typically want more features than the budget allows, so it will be up to the client’s point person to make decisions about what gets included and what waits. Sometimes, the budget must be increased to accommodate the changes; other times, the features have to be prioritized to reduce the scope. As the scope of the project evolves, the client’s point person must communicate the changes and priorities to the development team. The client’s point person must also stay mindful of budget requirements and relay this information to the developer, both initially and as development progresses. The point person gives approval for changes in scope that will affect the overall development timeline. This has to be communicated with the developer’s project manager (PM) so there is no ambiguity about how much budget is available (on the client side) and how much time is required (on the developer side). The PM and client project lead must get their heads together to make sure eXpectations match reality. Sometimes, the client eXpects the project to be completed in the original time frame estimated by the developer even though more features have been added through ongoing development discussions. If things have changed, as they always do, the budget and time eXpectation must be reset. End Users: These are the guys in the trenches. They are the ones who are doing the work that will be managed by the new application. They know their workflow, can identify current inefficiencies and eXplain any workarounds they have created. They are the ones best able to provide the information that will define the scope of the project. They are also the ones who should be the testers of the solution while it is in development so they can give feedback along the way about its effectiveness. Developer Side Project Manager: The project manager (PM) makes sure the development process stays on track. Sometimes the developer fills this role, while other times there is a separate person who takes on management duties. It is important to have someone who has oversight of the progress and development of the project. This is often best accomplished by someone other than the developer to maintain objectivity. The PM makes sure the developer has all of the information necessary to keep the development moving forward. At times, they will prompt the client’s point person to provide more information or feedback so the developer can continue working. The PM keeps an eye on the developer’s time to make sure that the work provided by the developer is in line with the stated requirements and approved budget. The PM may periodically ask the developer for updated estimates to make sure the time eXpectations are accurate and alert the client if estimates change. The PM is the one who asks for additional funding, if necessary. They are the liaison between what the client eXpects and what the developer can produce within the allotted budget and time frame. Sometimes, that means asking for more money. Other times, it means reducing the number of features than can be included. Developer: The developer is the one with the technological wizardry who translates the client vision into a working product. These hands produce the seeming magic. The developer has to have a clear understanding of how the software will be used in order to replicate the workflow electronically. This requires a lot of detail. Don’t be surprised if your thoughts about each task evolve as you try to eXplain how it is supposed to work. Also, don’t be surprised if you have to eXplain things multiple times. Every time you repeat your eXplanation, the features become more clear to the developer. Take the time now to help them understand it clearly before they spend time creating something they will have to amend later. Even at that, eXpect that many things will be reworked after you review the development progress and give feedback. eXecution It is easy for a custom development project to get off-track if it isn’t properly managed. To successfully complete a project, the focus of the work must be controlled. The best way to ensure that the development makes it to the finish line is to have each person with direct responsibility for the project participate, appropriately, according to their role. Successful projects of any kind require proper planning and eXecution. For software development, planning and communication are critical. It’s an eXpensive proposition that can be very frustrating if it is unclear what should be happening along the way. With clear decision-making and all of the players in the right roles, the unexpected won’t derail the project. It’s important to keep the end goal in mind and the mission-critical features at the top of the priority list. The end result of working through the creative process to produce a finished product is a satisfying accomplishment in addition to the major impact it has on your business. Coming soon, Part 6 — Champagne App on a Beer Budget: Discovery Decisions On Features & Functions. If you missed the previous installments, find them here: Part 1: Embracing the Development Mind-Set Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models Part 4: Making the Plan for Planning Your Plan of the Project Plan — What Do We Need to Get This Development Party Started! To read more about eXcelisys’ software design, development and consulting services, click here. The post Survival Guide (Part 5 of 7): Find, Hire and Work with a Software Developer, Successfully! appeared first on eXcelisys. View the full article
  10. FileMaker Pro Audit Trail “Revisited” By Doug West Nearly four years have passed since our last Easy-Bake FileMaker Pro Audit Trail made its Internet debut. The same principles are still going strong, and now we’ve added some bells and whistles based on user feedback. The steps to implement this revised FileMaker Pro audit trail technique in your own solution is as easy as: Copy the four custom functions from this demo file and paste them into each file of your app. Copy the _audit field and paste into each table of your app. (Optional) Add excluded field names in a script that runs when the first window opens. Our primary goals in revisiting this technique were to: Remove the need for the New Record script included in the prior tip file Audit all repetitions of repeating fields Capture changes made through the use of the Replace Field Contents command The first of these goals provides two benefits. Besides the direct effects of the simplification and reduced effort to implement, we also gained support for auditing changes in portal rows without scripting. Performance is always a concern when it comes to background processing and we’ve done what we could to minimize the overhead. The impact may not be noticed when editing a single record. However, when using the Replace Field Contents command, the performance impact can quickly become apparent with even relatively small found sets. The Get(ModifiedFields) function, unfortunately, doesn’t report the field modified with a Replace. Instead, we’re forced to evaluate every field on the record and compare the current field contents to the latest corresponding value in the audit history. If a future version of FileMaker Pro provides us with this useful detail, performance will improve automatically without modifying these custom functions. Of course, this type of audit log stores the history on the same record as the current values. So what happens to the history when you delete the record? The history gets deleted along with it. A variety of solutions have been proposed to address this situation. If you’re concerned about this dilemma, why not simply capture the history to a background table through a scripted process before deleting the record? The _audit field in this technique is also no longer dependent on a modification timestamp field in each table. If you know of an easier way to add an audit log to a FileMaker solution, we’d love to hear about it. Enjoy using this revised version of the FileMaker Pro audit trail technique! •• Download AuditTrailRevisited.zip •• **This article is provided for free and as-is, use, enjoy, learn, and experiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ FileMaker Pro consulting & development services. About eXcelisys, Inc.: Founded in 2001, eXcelisys (www.excelisys.com)is an FBA Platinum Partner and FileMaker Certified developer organization. eXcelisys specializes in designing, developing, customizing, supporting, consulting, migrating, upgrading, fixing, and integrating of database solutions for Desktop, Mobile, and Web applications. Our core technology competencies are FileMaker Pro, FileMaker Go, and MySQL for database frameworks, along with FileMaker WebDirect, WordPress, MySQL, PHP, CodeIgniter, PostgreSQL, Joomla, Drupal, Magento, CSS, HTML5, and Javascript for web sites and web applications. Aside from providing eXcellent customer service, our goals are to use these technologies to intuitively automate your organization’s data solution needs seamlessly and flawlessly across the web, mobile, and desktop platforms. Contact eXcelisys today for a free estimate and consultation about making your business more efficient through intuitive and effective software automation. 866-592-9235. eXcelisys, Inc. is an independent entity and this web site/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries. The post [FMP Tip-n-Trick] FileMaker Pro Audit Trail “Revisited” appeared first on eXcelisys. View the full article
  11. Part 4: Making the Plan for Planning Your Plan of the Project Plan – What Do We Need to Get This Software Development Party Started! You’ve decided that custom app development is for you. You’ve vetted software firms, sorted out your contract and hired a developer. You’re ready to start creating the ideal solution for your business. Now what? As you start a custom software development project, it is important to gather as much of the necessary information up front as you can to be certain that you account for everything you know. Then you can better define the details of your business requirements and workflow for the developer. Define the Project Important elements of any software development project need to be clearly defined. Where are you starting and where do you want to end up? It helps to know what you are using now, but it’s equally important to understand how it falls short of your needs. Are you updating an eXisting solution or do you want to replace it? Will it, could it, should it integrate with other systems you use? What business processes do you wish you could tie together? Anything you do on paper or in spreadsheets is a candidate for being built into a software solution. Anything you wish you could automate could be included. Bring all of these parts into the conversation with your developer because the developer can determine what can be automated and integrated. Don’t presuppose that something can’t be done because more than likely, there is a way. After discussing all of the possibilities you get to decide what features will give you the most bang for your buck based on your budget and time. The following questions can help you define the project: Which Technology Is Right for You? Many people come into a development project with a preconceived idea about what should be used to create their application. That might come from a recommendation from a friend or another business owner, or it might come from research or personal eXperience. It’s helpful to eXplore the range of options enough to get an idea of what is available to help facilitate conversations with your developer, but ultimately your developer is a technology eXpert and should be able to make recommendations about the best development methods, programming languages and tools for your needs. That said, there are a couple of considerations for determining the right technology. The first is what you are currently using. The second is what is most appropriate for your needs. If these are the same, that simplifies the process. The new solution can be created in the technology you currently use. This is common — and more often than not, the best-case scenario — but it isn’t always the best answer to take your business to the next level. To figure that out takes some input from both you and your developer. Remember, you are the content eXpert and the developer is the technology eXpert. You should feel comfortable relying on your developer’s eXpertise to make technology recommendations based on the scope of your needs. Don’t be married to something that isn’t the right fit. You may regret it later. This is where conversations with multiple development firms can help so you can be confident you have made a good decision in the end to get the right type of solution built by the right company. Input Even if the developer is familiar with your industry that doesn’t mean the developer is familiar with your particular business model. You will need to eXplain it in detail, maybe multiple times, before they understand it well enough to translate it into a software solution. Whatever concrete elements you can provide will help draw the picture of what you are trying to do. Old reports, data input forms, spreadsheets, diagrams, needs analysis and a list of requirements all help the developer understand what you are trying to achieve. The earlier those things can be gathered, the better the planning process will be. However, don’t eXpect that those resources can stand alone without any eXplanation of how they fit into your workflow. The developer will not know the nuance of how they are used in your business. You will need to eXplain that. Working through the resources with your developer will help you be more clear in your eXplanations about how things should work and will bring into focus the overall scope of the project. As you begin to eXplain how each element fits into your workflow, you may recognize inefficiencies that you want to change during the course of development. Being patient with this part of the process will improve the final solution and likely your business processes overall. Timeline Everyone wants it yesterday because it’s a huge issue today. But what is a realistic eXpectation based on the size of the project and its complexity? Your developer can help you work out a timeline once the project has been well-defined. Development always takes longer than eXpected, so build in a time cushion if there is a rigid deadline for getting your app deployed. Once all of the information has been gathered and a realistic timeline has been set, it is time to put the project in the hands of those who will be responsible for making it a success. In the next installment, we will define the necessary roles to complete your project efficiently. Coming soon, Part 5 —Rassling with the R’s — Roles and Responsibilities If you missed the previous installments, find them here: Part 1: Embracing the Development Mind-Set Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models To read more about eXcelisys’ software design, development and consulting services, click here. The post Survival Guide: Find, Hire and Work with a Software Developer, Successfully! (Part 4 of 7) appeared first on eXcelisys. View the full article
  12. Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models Creating the perfect vision of your business and even how a software solution enhances that vision is the fun part of dreaming about growing a business. Brainstorming ideas and building a mental picture of how business could be done more efficiently, or eXpanded, really gets the juices flowing. Creativity is unleashed. Evaluating the costs associated with business development, however, tends to kill the creativity. This is particularly true of software development because it often feels like a luxury item rather than an integral part of the dream, even though it is one of the elements of success. Money is such a stressor that it often keeps a business owner from jumping into the deep end of the pool to reach the potential that the business could become. Software development is even worse. It’s hard to evaluate something you don’t understand and even harder to know if you’re getting a good deal or hiring the right developer. The first question is whether custom development and the associated costs are worth it. Without understanding the time and effort required to build an application, custom development prices may seem high compared to commercial application options. And frankly, they are. An off-the-shelf application has been developed with a general business model in mind so it doesn’t fit anyone eXactly, but is close enough for many. The creators of the application make back their investment through repeat sales so the cost per sale can potentially be fairly low. Customization may or may not be an option after the sale, so eXpect to adapt at least some business processes to match the features and workflow of a commercial application. That is the trade-off for a lower price tag. Custom software is designed specifically for your business model and workflow. You are the only one with that product and all of the time and effort spent to create it is done on your behalf. The value of custom is that it handles all of the work requirements you decide should be included and is designed to make your business much more efficient. As the business grows, the custom app can be tweaked to accommodate that growth. That means less time doing manual procedures or using workarounds to meet your work requirements for years. The trade-off here is that it costs more up front to build the perfect app and it will take more time to get it up and running. The return on investment, however, can potentially be huge in reducing operating costs while allowing for business eXpansion as employees refocus their efforts in more productive directions. Because any licensing costs are usually dramatically less than with most commercial solutions, surprisingly, it can often be less eXpensive than a commercial option in just a few years. Pricing Before deciding which is the right direction for you, it is helpful to understand the pricing structures developers use and how they use them to try to charge a fair price for their services. Hopefully, by gaining a little insight about the different billing models the evaluation process will become clearer. Most developers use one of three pricing scenarios — a fixed bid (quote), a fixed bid with change orders, or an estimate. All of these methods are based on developer estimates. None of them can guarantee how long the actual work will take and no developer can calculate the eXact amount of time a project will require. Therefore, all methods are formulated from a “best estimate” based on the known elements of the project. A note about developer accuracy in estimating. If the price seems too good to be true, it probably is. A novice developer will generally underestimate the amount of time needed to complete the project and will offer an estimate or quote based on the eXact amount of work that’s projected to be done (with no allowances for the unknowns). A seasoned developer will do a better job of estimating the necessary time, both in hours and in calendar days. Their estimate may be higher but that’s because their eXperience allows them to anticipate, and account for, roadblocks that could pop up and cause additional development time and money. Once the project is under way, the developer who underestimates the required time may walk away when they get to the point of diminishing returns — especially if they hit a development snag and realize they can’t turn a profit finishing the project with all of the requirements. That usually translates to cutting corners and omitting things that would make the finished product perfect. Some will stand by their word and take a financial hit to finish the work. The eXperienced developer, however, knows that a successful project always takes a bit longer than anticipated and has considered this when compiling the estimate. Quotes, Bids and Estimates Quote: A quote is usually a fixed price that the developer gives to the client after going through a discovery phase to determine as many of the details of the project as possible. Generally, this employs a very rigid requirements document and a well-defined scope of work. Whether the development time required is more or less than the amount of time that price represents, it is what the client pays. Period. Developers who use quotes without change orders have to make a best guess about how much additional time will be required for the unknowns and inevitable changes and add that to the quote. You pay for that time, whether it is actually used or not. Fixed bid with change orders: Most often a quote comes with allowances for “change orders.” In this model, the same process is used to arrive at the initial bid as with a quote. However, if the project scope changes and new functionality is added after the scope document is approved by the client, the developer adds an up-charge for each change. In this model, it is possible for the initial quoted project price to be reasonably low and the final price to be many times higher. Keep in mind it is rare for a project scope to remain the same from start to finish so cost eXpectations should be adjusted accordingly. The changes and additions are commonly called “feature creep.” They happen because in the process of reviewing your workflow to create an app that accurately reflects it, you will re-evaluate and modify some processes along the way and you’ll want the completed application to incorporate these changes. Estimates: With this model, the developer and client go through a reasonable amount of discovery, which may be a little or a lot depending on the complexity of the project and the amount of known information. Based on the scope of the project determined in the discovery phase, the developer or project manager makes an accounting of the number and complexity of the features and gives a range of the eXpected hours it will take to build. This is not a hard and fast price but a best guess based on eXperience. The client is then billed for the actual amount of work time required. Many people are uncomfortable with what they view as an open-ended price, but they are generally presupposing that the project will go beyond the high end of the estimate. This is not necessarily the case, especially in the hands of a seasoned developer. With an estimate, the client pays for the actual amount of development time. The final cost may actually come in lower than the estimate. Feature Creep The danger in all billing methods is the previously mentioned feature creep. One of the great advantages of custom software development is that you often recognize potential improvements to your workflow as a result of defining it in detail for the developer. Being able to modify the application while it is in development can improve your overall business efficiency. You want to take advantage of that as long as the feature creep doesn’t overwhelm the development process. If left unchecked, it can easily cause the project scope to get out of control and/or eXceed the budget. This is why an “open-ended” estimate feels like a black hole and a quote feels like a tidy box. Time management all depends on how modifications are handled. A strategy for dealing with modifications should be determined at the outset so that it is a benefit and not a hindrance. Feature creep can be easily controlled by focusing on the priorities first and saving bonus items for later in the development process. A good developer will help you identify and manage feature creep, ensuring that core priorities don’t fall to the wayside in favor of more eXciting new features. Your developer should categorize features in terms of needs vs. wants and tackle the needs right out of the gate to ensure they get done. Rates Two concepts are worth mentioning here. The first is the rates developers charge. Software development may feel like the Wild West but developers by and large tend to charge what they feel their skill is worth. Low-priced developers are often young (in the sense of time in developing their skill), inexperienced (with the technologies) or slow (haven’t mastered the techniques efficiently). The price seems right, but the work may be subpar or a lot of hours end up being billed because of slow development. More eXperienced and skilled developers are more thorough, quick to resolve development challenges and faster to produce the final product. They charge more per hour but bill fewer hours. The overall cost often works out about the same but can come with a noticeable difference in quality. The second concept is the three intertwined factors of any service: good, fast and cheap. The rule of thumb is that you can choose two of the three, but you can’t have all three. If the product is good and done fast it will be eXpensive. If it’s done fast and cheap it will not meet eXpectations. If it is good and cheap the developer has to spend time on other paying work to afford the time to make it good at a low price, which requires eXtra calendar time. You choose which two are the most important factors. Billing Fixed: The quote proposal defines both the scope of work and the final price, as well as the billing increments. Commonly, the agreement will be for some form of half down and half on delivery or payment in thirds with 100% paid before the finished app is delivered. Payment before delivery protects the developer from disgruntled clients refusing to pay for time and effort on their behalf. Hourly: This usually means some method of hourly pricing based on the actual hours worked. This could be billed at a straight hourly rate or even by the day, week or month. It can be handled as a pre-pay retainer or invoiced at regular intervals during development. In this scenario, the developer may deliver several intermediate builds and a finished product when the work is complete. Because this is a pay-as-you-go arrangement, developers tend to feel more free to share the work as it unfolds because they have been compensated for their time along the way. Now that we’ve established how to approach the prospect of custom software development with the right mind-set and eXpectations, it’s time to dig into proper planning. In the next installment, we will discuss the planning and organization of development, including how to define the scope of the project, gather the necessary information for your developer, and delegate responsibilities. If you missed Part 2, find it here: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Read Part 4 of 7: Coming soon — Making the Plan for Planning Your Plan of the Project Plan To read more about eXcelisys’ software design, development and consulting services, click here. The post Survival Guide: Find, Hire and Work with a Software Developer, Successfully! (Part 3 of 7) appeared first on eXcelisys. View the full article
  13. Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Figuring out how to choose a great developer can be bewildering without some insight about what to look for. In this segment of our seven-part series on choosing and working with a custom app developer, we will eXplore some tips on how to vet developer candidates. Hiring a developer is about creating a working relationship. You want someone who gets your business and gets you. Having a good working relationship often determines the success or failure of a development project. Hire someone you are comfortable with who also has the skills necessary to make your project successful. Beyond the quality of the working relationship, there are several questions to ask that will help you determine if you have chosen the right developer. The Interview Developers Is the company an individual developer or is there a team of developers? If it’s an individual, do they have a backup plan if they get hit by the proverbial bus? Individuals can be great developers, but it’s good to have a plan B. If there is a team, are the developers dedicated to that company or is there third-party outsourcing? Dedicated developers, whether employees or dedicated subcontractors, have a track record with the company and presumably work well within the framework of that company’s development services. They are bound by the service model of the company you hire and should represent the values and ethics of that company well. Outsourcing refers to services that are rendered outside of the company hired to do the work. Outsourcing can be used to bring in someone with specialized technical eXpertise in an area the company lacks, or to provide staffing they don’t have. This is not necessarily bad and, when used well, can benefit the client, but understand that it can complicate a project depending on the lines of communication and availability. Some companies manage these arrangements well, while others feel a little hodge-podge. Bringing in an outside developer for technical eXpertise can improve the final product by getting the right technology or eXtended services for a solution rather than the hired developer providing a subpar workaround. Some eXamples of technical outsourcing include branding/logo design, server configuration or even eXtension/plug-in development. The most common image of outsourced development is offshore developers halfway around the world who work on the cheap, have limited availability during regular business hours and often suffer from a language and/or cultural barrier. That may be the first thing that comes to mind, but there are many sources for outsourcing to provide development staff. An outsourced developer could be an independent contractor, a discount developer (like through eLance or Upwork), offshore or a partner development company. Outsourcing to provide development staff tends to be hit-or-miss, depending on how the developers are chosen and how incentivized they are to prioritize you as their client. The worst scenario is discovering after the fact that the development company does not actually have their own developers and operates simply as a middle-man. In this case, the client may be at a serious disadvantage especially if there isn’t direct access or communication with the developer(s). It is good to know the arrangement ahead of time so informed decisions can be made. The important idea here is, Is the assigned developer(s) skilled in all of the required technologies for the project or is there a provision for what they may lack? It isn’t always possible to know all of the moving parts or required technologies of a larger development project, but what is known should be accounted for. Communication The lines of communication are fundamentally important to the success of any development project. Developers use different models, so it’s important to know what you’re getting into. As a client, you may have direct access to your developer, communicate through a project manager, or via a ticket system. Direct Access: With direct access you communicate directly with your developer(s) to collaborate on your project. There isn’t a middle-man who acts as a go-between, so delays in getting information back and forth should be minimized and understanding should be maximized. Project Manager: Many projects involve a project manager. Often, this person acts as an intermediary for all or most communication; however, this leaves open the opportunity for misunderstandings. When there is a project manager overseeing progress, you probably still want to have direct access to your developer so you can eXplain your vision directly and the developer can ask questions as necessary for clarification. Ticket System: Perhaps the least efficient method of communication is a ticket system. This is where the client enters all requests and questions through electronic messages in a formal structure. You have to be clear in your description of your request and hope the developer interprets it correctly because there generally won’t be much, if any, direct communication. It’s like playing the grade school game of telephone and hoping the message loops through intact. This is often used in larger development firms, companies who employ offshore developers and companies who don’t assign a specific developer to a project, but who assign tasks to developers on a first-come, first-served basis. eXperience How much eXperience does the developer have? Many people want the developer to have eXperience or background in their specific industry. In development terms that can be helpful, but is not a requirement. The developer will have to be educated in your specific business flow regardless of their familiarity with your industry, so this is usually a minor factor. Often, as you provide a broad summary of your goals and work flow, the developer may connect the concept to other projects that use similar processes even in completely different industries. From the developer perspective, the process is more important than the industry. The important question you want answered is how eXperienced are they in the processes and appropriate technologies for your project. Certification Is the developer certified and does that matter? Software development still has a little bit of a “Wild West” feel and many developers are self-taught. Certification lets you know they know their technology, but it doesn’t indicate their level of mastery or application of the technology. Certification may be a good first step in vetting a potential developer, but it is not the only consideration. References There are many people who market their ability as a developer, but it’s hard to tell if they are good at what they do. Beyond eXperience and certification, how do they perform as a developer? You are hiring someone and making a fair investment in them over time so consider it like hiring an employee and check their references. How were previous working relationships? Did they understand the business need? Did they deliver a quality product? Did they set appropriate time and budget eXpectations and revisit them as requirements evolved through the development cycle? Were they good communicators? All of these help you build a picture of the developer you are hiring. Ownership One thing people don’t often stop to consider is ownership of custom software. Who maintains ownership during the development process and who owns it (and has access to it) when it’s finished? In a work-for-hire arrangement, the client may or may not own the product during the development process and have full access to the guts of it when the project is finished. If it is a quoted contract, the developer usually owns the product until the last farthing is paid according to the contract. This means that if things go south during the development process and the relationship ends, the client has nothing to show for their investment. Other times, the developer may maintain developer access even after the project is finished, which means you can access it as a user, but you cannot get into the guts if you want to make changes yourself or hire someone else to make modifications in the future. This is where a contract or service agreement is infinitely helpful in spelling out the details and removing any points of contention. The caution here is to know what you’re getting and when. In addition to the agreement between the developer and client, there are other factors that may affect ownership depending on the technologies used to develop your app. These include, but are not limited to, the following: U.S. Copyright law State Work-For-Hire laws Intellectual property rights Licensed software End User License Agreement (EULA) Open source technologies licensing agreements (EULA, creative-commons [CC], general public license [GPL]) You will want to be fully informed about how these might affect your freedom to use and distribute your app in the future. Having this discussion on the front end will help alleviate any frustrations or disappointments on the back end related to the ownership of the solution you have paid for. The discussion on ownership and when ownership transfers from the developer to the client leads to the all important question about pricing. Since this tends to be the central focus of who to hire and is often the primary consideration, it warrants a more in-depth discussion in order to provide some transparency about how different pricing models work and how to evaluate them. That will be covered in depth in Part 3. If you missed Part 1, you can access it here: Embracing the Development Mind-Set Read Part 3 of 7: Coming soon — Quotes, Estimates and Change Orders, Oh My!  —  Understanding Pricing & Billing Models To read more about eXcelisys’ software design, development and consulting services, click here. The post Survival Guide: Find, Hire and Work with a Software Developer, Successfully! (Part 2 of 7) appeared first on eXcelisys. View the full article
  14. eXcelisys

    [FMP Tip-n-Trick] Hierarchical JSON Viewer / Editor

    Thank you for the kind words and feedback!
  15. Part 1: Embracing the Development Mind-Set Software development isn’t magic. There isn’t a black box where you can throw a bunch of ideas and requirements and out pops a smoothly working app that perfectly meets all of your business needs. Once you see that in print, it seems perfectly logical, but because the process is often hard to understand it feels like there is at least a little magic involved. In this seven-part series, we’ll pull back the covers and eXpose what you should know when you start the hunt for a professional developer for that custom, fix, or upgrade software project. We’ll offer tips to help you select the right developer, discuss pricing models, things to consider when signing an engagement contract, and walk you through the development process from idea to deployment. In this introduction, we offer a brief fundamental overview of what you should understand before you dive into any software development project engagement. Collaboration Development is a partnership between the client and the developer. You bring the knowledge of your business, your workflow and your needs. The developer brings the technical knowledge and software eXpertise. Both are equally necessary for development success. The developer should have a breadth of eXperience with various processes and technologies that will give you options to make your solution function smoothly within your workflow. But until you eXplain your business, your developer won’t know the intricacies of what you need. Even if you have an eXisting system, your developer still needs to know how you currently use it and how you wish you could use it. Knowledge From the developer’s perspective, it takes more than just a pile of papers, eXcel spreadsheets or a database to look at to understand your business flow. You are intimately familiar with how you do your job, often to the point where you could do it in your sleep. How things should work seems obvious to you. Rarely, if ever, will your developer be able to intuit the things you do by nature. You will have to eXplain it in great detail to make it clearly understood. This means that some things will need to be eXplained multiple times before the picture becomes clear. One strategy is to treat your developer like a new employee and teach your workflow step-by-step. You don’t have to teach all of the details of your entire business (unless the new application will manage the whole thing), but view the app like a job description and teach that job to your developer. That will make the functionality of the solution clear enough to represent the way you actually do business. It will also give your developer a foundation for making suggestions for improvement Perspective When building a full database solution you will end up looking at your business processes with a fresh eye as they go under the microscope while trying to properly eXplain them to someone new. Using development as a springboard, it is common to find things you want to change as you go through your business details. Software solutions reflect the business processes they represent. If those processes are inefficient, simply moving them from a paper representation to a digital representation will not make the underlying processes more streamlined or efficient. A custom app can make a process easier to manage, but will not fundamentally change it. Knowing this can put into perspective the effect the new software will have. Taking time to analyze eXisting processes with a focus on ways to improve them is a very important part of the development process. As part of that process your developer can make suggestions for improvements in the efficiency of managing data based on their previous eXperience with data systems. It’s up to you to decide whether the suggestions that come from your collaboration make sense to incorporate. eXpectations Once the development process starts the eXpectations on the developer can be a bit high. There is somewhat of an art to software development. Commonly when a feature is described to a developer it seems straightforward and sounds conceptually easy. Then when the developer begins to create that feature within the framework of the application there are often nuances to the feature or its integration into the eXisting database structure that weren’t anticipated. In this case the development time can be longer than eXpected because implementation of the feature ends up being different and often more complex than planned. This can create frustration for the client because the feature seems so simple to eXplain or straightforward when done manually. You might say, “We always … ” but the truth is, there’s probably at least one eXception to your rule. The eXceptions are easy to handle on paper or verbally, but every eXception has to be coded into the final working product. eXceptions are generally complex because they branch away from the established flow. Translating a manual process into an automated electronic process is most often like a duck on water. There is a lot of work and complexity under the surface to make the feature effortless to use. That takes time to figure out and then create. The duck on water is the magic. Read Part 2 of 7: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? The post Survival Guide: Find, Hire and Work with a Software Developer, Successfully! (Part 1 of 7) appeared first on eXcelisys. View the full article

Important Information

By using this site, you agree to our Terms of Use.