Senior Software Engineer with Apple specializing in mobile and embedded platforms. Created operating system components and applications that run on hundreds of millions of devices used around the world. Creative professional who has been successful in every phase of evolving a technology from an initial idea to a final product. Served as a specification author for international standards bodies. Led development teams. Mentored new engineers. Granted twenty-eight software patents in the United States with twenty-two additional public patent applications pending. Hands-on individual who likes to develop new products and technologies in a creative and collaborative environment.
Senior Software Engineer, March 2008 to present
Apple Inc.; Cupertino, CA
Currently a member of the iOS Performance team.
Worked on five generations of the iPod nano and two generations of the iPod classic.
Lead developer of Apple's first touch-based radio application.
- Created custom UI controls for frequency tuning, buffer scrubbing, etc.
- Implemented new features such as live-pause, song tagging, listening history, local stations, and accessory support for HD Radio.
- Responsible for the application and middleware layers. Created diagnostic and logging tools to support the hardware validation and testing teams.
Implemented new text rendering and font management subsystem for the iPod nano.
- Introduced support for bidi text, which added Hebrew and Arabic to the list of iPod nano languages.
- Implemented dynamic glyph caching, which greatly reduced boot times and simplified the text rendering system.
- Reworked font management so the nano now has a full vector font stack. These features allow the nano to support rendering 30 different languages and locals.
Worked on iPod Out for the nano.
- Implemented new features at both the application and middleware layer.
- Coordinated with iOS developers and iPod designers to ensure UI consistency between platforms.
- Created initial diagnostic tools for BMW and other manufacturers to verify their implementation.
Implemented Voice Memos on 4th generation nano. Introduced new features such as chapter marking and labels.
Created the anisotropic knobs used in the iOS 6 Music App's Now Playing.
Actively involved with prototyping new product ideas and features on both iOS and RTXC.
- Explored new product features and categories, prototyped new ideas on iOS and nano OS.
- Scoped implementation effort for select new features and met with external teams for adopting new technology.
- Filed over 30 patent applications with Apple, 20 of which I am the primary inventor. Have numerous other ideas working through legal.
- Worked closely with designers, hardware engineers, testers and others.
- Mentored junior developers and advised other engineers on patent related activities.
Distinguished Member of Technical Staff, April 2006 to February 2008
Motorola, Mobile Devices: Mobile User Experience Technologies; Sunnyvale, CA
- Performed detailed technical analysis of competing technologies to drive future requirements.
- Organized workshops to help identify future technologies and coordinate new projects.
- Created and submitted invention reports for patentable ideas.
- Designed and implemented features to enable rendering engine to be SVG Mobile 1.2 (draft) compliant.
- Researched, designed and implemented proprietary extensions to SVG that were required by the UI framework for layout capabilities, special visual effects, and performance optimizations.
- Optimized rendering engine code and conducted performance analysis.
- Collaborated with UI designers to identify new features and requirements for rendering engine.
- Reviewed source code submitted to rendering engine project by external contributors.
- Coordinated development tasks and project scheduling with global team.
- Authored developer documentation and maintained project wiki for rendering engine.
- Reviewed and prepared requirements documentation for platform and product integration.
- Reviewed and prepared UI guidelines for product integration.
- Assessed 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 was deployed on numerous Nokia products and was 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 a 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).
- M. Ingrassia, E. Dvortsov; "Supporting The Monitoring Of A Physical Activity"; US #9,081,889; 2015.
- D. Shoemaker, M. Ingrassia, N. Hramits; "Location-Based Device Automation"; US #9,071,453; 2015.
- J. Lee, M. Ingrassia; "Media Device With Enhanced Data Retrieval Feature"; US #8,886,112; 2014; US 9,094,141; 2015.
- M. Ingrassia, B. Rottler, A. Lindahl; "Methods And Systems For Providing Podcast Content"; US #8,812,498; 2014.
- M. Ingrassia, J. Lee; "Power Management Of Electronic Devices Based On Charging Location"; US #8,793,520; 2014.
- M. Ingrassia, B. Rottler; "Systems And Methods For Displaying Visual Information On A Device"; US #8,773,470; 2014.
- M. Ingrassia, J. Lee; "Electronic Devices Having Adaptive Security Profiles And Methods For Selecting The Same"; US #8,683,556; 2014.
- B. Rottler, M. Ingrassia; "Motion Controllable Dual Display Portable Media Device"; US #8,791,898; 2014.
- E. Dvortsov, B. Rottler, M. Ingrassia; "Intelligent Pairing Of Electronic Devices"; US #8,630,586; 2014.
- D. Warren, M. Rogers, T. Hannon, M. Ingrassia; "Electronic Device Instructions Provided Using Radio Signals"; US #8,761,683; 2014.
- M. Ingrassia, J. Lee; "Seamless Switching Between Radio And Local Media"; US #8,064,819; 2011; US #8,249,497; 2012; US #8,515,337; 2013.
- A. Haughay, M. Ingrassia, J. Lee, R. Perry; "Collaborative Playlist Management"; US #8,392,505; 2013.
- B. Rottler, M. Ingrassia; "Real Time Video Process Control Using Gestures"; US #8,379,098; 2013.
- M. Ingrassia, J. Lee; "Identifying Radio Stations Of Interest Based On Preference Information"; US #8,244,171; 2012; US #8,571,466; 2013.
- M. Ingrassia, J. Lee, D. Rempel; "Automatic Discovery Of Metadata"; US #8,140,570; 2012.
- M. Ingrassia, J. Lee, B. Schorsch; "Communicating Radio Presets Between A Portable Media Player And An Accessory"; US #8,165,546; 2012.
- V. Setlur, M. Ingrassia, S. Chitturi, T. Capin; "System And Method For Measuring SVG Document Similarity"; US #7,403,951; 2008.
- 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.
Public Patent Applications
- M. Ingrassia, N. Hramits; "Devices And Methods For Locating Accessories Of An Electronic Device"; US application #20140111307.
- M. Ingrassia, N. Hramits; "Systems And Methods For Controlling Output Of Content Based On Human Recognition Data Detection"; US application #20130279744.
- M. Ingrassia, R. Powell, J. Lee; "Systems And Methods For Selecting Media Items"; US application #20130275353.
- D. Warren, M. Rogers, T. Hannon, M. Ingrassia; "Electronic Device Testing Using Radio Signals"; US application #20130130629.
- M. Ingrassia; "Image Metadata Control Based On Privacy Rules"; US application #20130088616.
- M. Ingrassia; "Accessory Dependent Display Orientation"; US application #20120242701.
- J. Lee, M. Ingrassia; "Systems And Methods For Providing Timestamping Management For Electronic Photographs"; US application #20120176504.
- M. Ingrassia, B. Rottler; "Dynamic Generation Of Contextually Aware Playlists"; US application #20110295843.
- M. Ingrassia, A. Haughay, B. Rottler; "Automatic Adjustment Of A User Interface Composition"; US application #20110261079.
- D. Solomonov, M. Ingrassia, J. Mason; "Cache Management For Glyph Display"; US application #20110043528.
- A. Haughay, M. Ingrassia, "Controlling An Audio And Visual Experience Based On An Environment"; US application #20110015765.
- M. Ingrassia, J. Lee; "Accessing Radio Content From A Non-Radio Source"; US application #20100269145; US application #20140148110.
- M. Ingrassia, J. Lee, A. Haughay; "Systems And Methods For Customizing Radio Presets"; US application #20100178938.
- J. Lee, M. Ingrassia, R. Perry; "Systems, Methods, And Devices For Providing Broadcast Media From A Selected Source"; US application #20100076576.
- A. Haughay, M. Ingrassia, J. Lee; "Systems, Methods, And Devices For Retrieving Local Broadcast Source Presets"; US application #20100075695.
- 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, 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.
Publications and Conferences
- A. Wefers, M. Ingrassia; "Advanced Graphics And Animations For iOS Apps"; WWDC 2014; San Francisco; 2014.
- 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.
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
Personal and professional references available upon request.