Curriculum Vitae
Summary
Senior Software Engineer with Apple Inc. Over fourteen years of industry experience, including every phase of evolving a technology from an initial idea to a final product. Proven leadership abilities: served as a specification author for international standards bodies, mentored new engineers, led development teams. Hold nine software patents in the United States and have four patents pending. Goal: to develop new products and technologies in a creative and collaborative environment.
Systems, Environments, Languages, and Software
- OS X, Linux, Windows, Nokia OS, Symbian, J2ME, J2EE, Solaris
- C++, C, Java, SVG, HTML, ECMAScript, XML, WML, WMLScript, UML, Visual Basic, Clipper, SQL
- Xcode, GNU Compiler Collection (GCC), Eclipse, Visual Studio, Processing, Visual Age for Java
- Perforce, Subversion, CVS, ClearCase, Visual Source Safe, Bugzilla, Rational Rose, ArgoUML, WebLogic, Oracle
Education
Master of Science, May 2006
Southern Methodist University; Dallas, TX
Major: Computer Science
Emphasis: Software Architecture/Computer Graphics
Bachelor of Science, August 1995
Florida State University; Tallahassee, FL
Major: Computer Science
Minor: Mathematics
Experience
Senior Software Engineer, March 2008 to present
Apple Inc.; Cupertino, CA
Distinguished Member of Technical Staff, April 2006 to February 2008
Motorola, Mobile Devices: Mobile User Experience Technologies; Sunnyvale, CA
Creating a new UI framework based on Scalable Vector Graphics (SVG), JavaScript, and proprietary XML based application markup. This UI framework is being used on Motorola's Linux based mobile devices. It should greatly simplify application development and reduce time to market. Lead architect for the vector graphics based rendering engine that is used across the platform by the UI framework, web browser, etc.
- Perform detailed technical analysis of competing technologies to drive future requirements.
- Organize workshops to help identify future technologies and coordinate new projects.
- Create and submit invention reports for patentable ideas.
- Design and implement features to enable rendering engine to be SVG Mobile 1.2 (draft) compliant.
- Research, design and implement proprietary extensions to SVG that are required by the UI framework for layout capabilities, special visual effects, and performance optimizations.
- Optimize rendering engine code and conduct performance analysis.
- Collaborate with UI designers to identify new features and requirements for rendering engine.
- Review source code submitted to rendering engine project by external contributors.
- Coordinate development tasks and project scheduling with global team.
- Author developer documentation and maintain project wiki for rendering engine.
- Review and prepare requirements documentation for platform and product integration.
- Review and prepare UI guidelines for product integration.
- Assess conformance suites and testing plans created by testing teams.
Research Engineer, October 2002 to March 2006
Nokia, Research Center: Multimedia Laboratory; Dallas, TX
Architected a cross-platform Scalable Vector Graphics (SVG) rendering engine. This engine is currently being deployed on numerous Nokia products and is part of publicly available Windows-based SDKs. Saved Nokia development time and cost by having a cross-platform rendering engine with single core code base.
- Technical lead for the design and implementation of the core engine.
- Designed and implemented engine to work across multiple platforms (Windows, Linux, S40, S60).
- Assisted in the integration work for the engine to become part of the Nokia 6280 S40 device and Nokia 770 Linux based Internet Tablet.
- Optimized code based on performance analysis and user feedback.
- Member of the W3C working group that defined the SVG 1.1 and SVG 1.2 recommendations.
- Authored a number of invention reports, many of which were accepted and filed as patent applications.
- Presented research and spoke at various industry and internal conferences.
Technical lead for the design and implementation of the JSR 226 reference implementation. JSR 226 is a Java API for rendering scalable 2D vector graphics. The main code base for JSR 226 is deployed in S40 Nokia products and the Windows based SDK is publicly available for download on Forum Nokia.
- Member of the JSR 226 expert group which defined the API.
- Assisted in the integration work for the engine to become part of several S40 products.
- Member of the JSR 287 expert group working to define the next generation SVG/Java API.
Senior Software Design Engineer, August 2000 to October 2002
Nokia, Location Business Unit: Products Division; Dallas, TX
Developed the Enabling Mobile Location Center (EMLC) product as part of Nokia's mPosition solution for location-based services. The EMLC is a middleware server that plays a central role in enabling location-based services by processing information about a subscriber's location and providing this information to application service providers. The EMLC enhances privacy and security for the end-user while allowing operators to control the services offered within the mobile network.
- Member of the Location Interoperability Forum (LIF), an international standards group (now the Open Mobile Alliance Location Working Group).
Developed the Serving Mobile Location Center (SMLC) product as part of Nokia's mPosition solution. The SMLC is a server that computes the location of a mobile subscriber's handset based on cell id and other network measurement data.
- Created the Nokia Geodesy Toolkit that was used by several projects within Nokia.
- Implemented and tested various position estimation algorithms.
- Became geodesy subject matter expert for Dallas LBP team.
- Designed, implemented, and tested geodetic toolkit for handling datum transformations, projections, and various coordinate system conversions.
- Mentored other team members in various position estimation algorithms and overall geodesy concepts.
- Assisted in the authoring of customer and training documentation.
- Member of the Software Process Definition team that evaluated various tools and methodologies.
- Member of the Improvement of Information Flow team that explored ways to increase group cohesion and maximize teamwork information sharing.
Software Design Engineer, September 1998 to May 2000
ObjectSpace, Consulting Services Division; Dallas, TX
Software Engineer for a leading mobile phone supplier and a leading supplier of mobile, fixed and IP networks. Assisted in the design, development, and implementation of their first location based wireless Internet services pilot.
Software Engineer for the world's largest owner and operator of golf courses, private clubs, and resorts. Assisted in the design, development, and implementation of this nationally distributed enterprise level club management application.
Designed and implemented a Java/XML based testing framework that was later adopted by the Consulting division as the standard testing framework.
Assisted in the authoring of the company's Java Language Assessment entrance exam.
Software Engineer, February 1996 to August 1998
NCR, Communications Systems Division: Electronic Commerce Solutions; Woodbridge, NJ
Lead Developer of SmartEC Connect, NCR's first electronic commerce solution that bridged Internet Customer Care with conventional Call Centers. Designed and implemented all server side components of this product. Oversaw all client-related implementation and mentored the other developers. Responsible for all ISO 9001 design and development documentation.
Lead Developer of the Customer Data Store OLE Server, a component of the Call Center Application Development Environment (CCADE). Based on the concept of customer session and history, this component managed file storage and retrieval of information in a database. Responsible for all ISO 9001 design and development documentation.
Developer/Lead Tester of the Computer Telephony ActiveX Controls, a subset of call center development tools used by NCR Professional Services to develop CTI based call center solutions. Created and executed approximately 300 test cases (both automated and manual).
Computer Programmer, March 1994 to November 1995
Department of Health and Rehabilitative Services; Tallahassee, FL
Designed and implemented applications in Windows using C++, Clipper, and Visual Basic. Developed Visual Basic programming standards and documents to assist in project planning. Organized and conducted office training on Visual Basic, office applications, and the Internet.
Computer Programmer, October 1993 to April 1994
The Guidance Counselor; Tallahassee, FL
Worked with clients to determine their needs and expectations of software to be developed. Designed and implemented applications using C, C++ and Clipper. Wrote user manuals for all software that I developed.
Patents
- M. Ingrassia, K. Mori, S. Chitturi, T. Capin; "Method, apparatus, and computer program product for automatically obtaining custom interface elements when changing UI themes by querying a remote repository"; WIPO application #PCT/IB2005/002272.
- M. Ingrassia, T. Capin, S. Chitturi, A. Haro; "Multidimensional tabbing for electronic devices"; US application #20070022367; WIPO application #PCT/FI2006/050240.
- V. Setlur, M. Ingrassia, S. Chitturi, T. Capin; "System and method for measuring SVG document similarity"; US #7,403,951; 2008.
- V. Setlur, S. Chitturi, T. Capin, M. Ingrassia, D. Zhong, M. Hannuksela; "Method for embedding SVG content into an ISO based media file format for progressive downloading and streaming of rich media content"; WIPO application #PCT/US2006/034454.
- V. Setlur, D. Zhong, M. Hannuksela, R. Vedantham, S. Chitturi, T. Capin, M. Ingrassia; "Transport mechanisms for dynamic rich media scenes"; US application #20070157283; WIPO application #PCT/IB2006/001751.
- M. Ingrassia, A. Rios, J. Shelton, J. Yaggie; "Method for collecting and displaying information for ActiveX controls simplifying CTI enabled application development"; US #6,421,068; 2002.
- J. Shelton, M. Ingrassia; "Method for recording and reproducing the browsing activities of an individual web browser"; US #6,418,471; 2002.
- M. Ingrassia, A. Rios, J. Shelton, J. Yaggie; "Method for managing states within ActiveX controls simplifying CTI enabled application development"; US #6,275,230; 2001.
- M. Ingrassia, J. Shelton, T. Rowland; "Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants"; US #6,035,332; 2000.
- M. Ingrassia, J. Shelton, T. Rowland; "Dependable web page synchronization mechanism"; US #5,941,957; 1999.
- M. Ingrassia, J. Shelton, T. Rowland; "Dependable data element synchronization mechanism"; US #5,951,652; 1999.
- J. Shelton, M. Ingrassia, T. Rowland; "Mechanism for dependably organizing and managing information for web synchronization and tracking among multiple browsers"; US #5,951,643; 1999.
- J. Shelton, M. Ingrassia, T. Rowland; "Mechanism for dependably managing web synchronization and tracking operations among multiple browsers"; US #5,954,798; 1999.
Publications and Conferences
- M. Ingrassia, G. Johns; "Java Technology as a Medium for Art and Creativity: Mixing Technology and Art with Processing"; JavaOne 2006; San Francisco; 2006.
- V. Setlur, T. Capin, S. Chitturi, R. Vedantham, M. Ingrassia; "MORE: A Mobile Open Rich Media Environment"; IEEE International Conference on Multimedia and Expo 2006; Toronto; 2006.
- S. Chitturi, M. Ingrassia, V. Hardy; "Building Portable and Scalable Mobile Applications Using JSR 226"; JavaOne 2005; San Francisco; 2005.
- T. Capin, M. Ingrassia, S. Balcisoy; "SVG in 3GPP Multimedia Messaging and Streaming Services"; SVG Open 2003; Vancouver; 2003.
Honors and Awards
- Member of one of five teams nominated for Nokia's worldwide Software Quality Award.
- Received NCR CSD Great Performance Award for work done in electronic commerce.
- Received NCR Meritorious Technical Achievement Award for work done in computer telephony.
- Graduated as a member of Golden Key National Honor Society and Upsilon Pi Epsilon Honor Society for the Computing Sciences.
- University of Central Florida's 1991 state level Mathematics Olympics; first place team competition, third place individual competition.
Professional Affiliations
- World Wide Web Consortium (W3C)
- The Institute of Electrical and Electronics Engineers (IEEE)
- Association for Computing Machinery (ACM)
References
Personal and professional references available upon request.