Hover or click on an icon above to discover Faroway Software
The Back-End Layer or Web Service
All of Faroway Software's experience comes together in the backend layer. Robust architecture design coupled with intelligent and optimized coding. Connecting servers to other servers, applications, websites, and mobile devices.
Faroway Software focuses on ASP.NET derived solutions. ASP.NET WebForms-style, but preferably MVC3. Solutions are RESTful and always DRY.
Recent Projects Include:
- Image processing
- XML data translation using XSLT
- Text and CSV processing
- Software Licensing Web Service
- User Access Control
- Email Generation
- Google Wallet (formally Google Checkout)
- User Content-Related Voting
Database Connectivity and Management
Rarely is there a project that doesn't require a database. Faroway Software focuses on SQL Server to manage the myriad bits of information required of all but the smallest web or desktop applications.
- Hand-written SQL including complex joins
- Entity Framework - Design-First when possible and Database-First
- Stored Procedures
- Proper Database Normalization
- File-based data storage techniques
User Experience Design
Putting the user's experience first requires a keen eye for graphical design and a firm grasp of interface functionality. Every application or website presents a different challege to ensure the user has the appropriate information and control while maintaining a compelling and clean look.
Good design is the 'right' mix of many factors. Most situations require a different mix and generally it is about using less than you first expect.
Faroway Software Focuses On:
- Providing flow to draw the customer to the "Buy" button
- Engaging and informative dashboards
- Interactive and friendly forms
- Minimizing distractions
- Intuitive icons
Front-End Website Development
Faroway Software has focused on front-end technologies heavily in the past 3 years.
Technology & Concepts Used Regularly:
- jQuery and commonly used support plugins like jQuery UI and jquery.validate
- CSS 3
- HTML5 Canvas using Kinetic.JS
- Browser Compatibility
- JSON - How do you not use JSON?
Hardware & Software Integration
Engineered solutions are typically comprised of custom and off-the-shelf hardware components. Software for manufacturing and R&D applications uses some of the same or similiar technologies as web applications do. However, engineered solutions have an entirely different set of demands.
Rigourous testing and thorough documentation is key to these solutions whose operating lifetime can span 10 years or more.
Software interacting with a user is one thing, software interacting with the real world presents a unique challenge in terms of reliability and testing.
- Both SCADA (Supervisory Control and Data Acquisition) software, and slave-device firmware.
- Low-level hardware communication protocols: RS-232, GPIB, TCP and UDP, custom data I/O busses.
- Software Communication Protocol Design.
- Real-world applications in manufacturing, R&D with autonomous, and semi-autonomous scenarios.
- Firmware development in C and C++.
- Real-time control loops.
Desktop Application Software
There are many industries and solutions that rely on desktop solutions. For many situations, a desktop application is the correct choice and Faroway Software's history of developing .NET WinForms applications helps many companies achieve that goal.
Faroway Software also stands in the unique position help companies transition to more distributed solutions as they become more and more necessary to the business or customer base.
- .NET versions 1.1 to 4.5. Preferably 4.5.
- Strong multi-threaded WinForms capablities.
- Image processing.
- XML data translation using XSLT.
- Text and CSV processing.
- 'Plug-in' style assembly loading.
- Multiple communication protocols and APIs.
- Limited development using WPF.
Professionalism & Style
With a formal education software engineering, Ryan Woodham focuses on maximizing efficiency, while building readable, reliable code. Professional communication and conduct ensures consice and accurate business meetings. Keeping an eye on risk areas keeps projects on track and under budget.
Ryan Woodham earned a Bachelor's of Science in Computer Science from Montana State University in 2000.
- Risk management through early, rapid prototypes
- Regular communications: Weekly or daily depending on the project and team.
- All projects are budgeted with a clear proposal of services, time schedule, and cost.
- Fixed-bid or hourly-rate projects.
- Nothing is outsourced without prior approval.
- Mixing Agile with Waterfall to bring the proper elements of each to any project.
- Highly readable code. Helpful and clear commenting in the complex areas.