Using Swift and AVFoundation to create a custom camera view for an iOS app

Using Swift and AVFoundation to create a custom camera view for an iOS app

2

Capturing images in iOS When you want take a photo with your iOS device, there are two ways to go about it. The image picker controller is an out-of-the-box solution for capturing photos and videos. It is easy to set up, but does not provide a very flexible experience. The alternative is to create a custom capture user interface with the AVFoundation library. However, using the AVFoundation requires each component be configured and connected. This post explains how to use the AVFoundation components in a simple photo app. It should be enough to get you started if you want to use a custom camera in your app. Project Setup Create a single view application with Swift as the programming language and select iPhone for the device. In the project settings, in the Deployment Info section, find the Device Orientation subsection and make sure only “Portrait” is checked. That avoids the complications of the device rotating

Read more

SoCal Code Camp Takeaways 2014

Agile Takeaways from SoCal Code Camp UCSD June 28th, 2014

0

SoCal Code Camp is a free event held every year for software professionals to meet, network and learn from their peers. This community driven event has become an international trend where peer groups of all disciplines, platforms and programming languages band together to bring content to the community. The Camp takes place over two days with 100+ learning sessions to choose from. As a Scrum Product Owner, I attended sessions focused primarily on Agile tools and techniques. The following is a list of some of the stand-out takeaways from the event: The two most important metrics to measure the success of working software: Are people actually using it? What are they saying about it? If you see a lot of waste in your existing software development process, create value stream maps to identify areas of improvement and distribute to the team (include upper management!). Below is an example: Insistence on

Read more

Follow the Creators of the Agile Manifesto

Follow the Creators of the Agile Manifesto

0

Below are links to the websites and social media profiles of the 17 co-creators of the Agile Manifesto. We recommend following them if you are interested in Agile, SCRUM and software development.   Kent Beck Blog: http://www.threeriversinstitute.org/blog/ Twitter: https://twitter.com/KentBeck LinkedIn: https://www.linkedin.com/in/kentbeck Mike Beedle Website: http://www.enterprisescrum.com/ Twitter: https://twitter.com/EnterpriseScrum & https://twitter.com/mikebeedle LinkedIn: https://www.linkedin.com/pub/mike-beedle/4/67/a43 Arie van Bennekum Website: http://www.pmtd.nl/ Blog: http://projectbeheersing.finext.nl/NL/nieuws/nieuws/blog_arie_van_bennekum/0/ Twitter:  https://twitter.com/arievanbennekum Alistair Cockburn Website: http://alistair.cockburn.us/ Blog: http://alistair.cockburn.us/Blog Twitter: https://twitter.com/TotherAlistair LinkedIn: https://www.linkedin.com/pub/alistair-cockburn/13/725/235 Ward Cunningham Website: http://c2.com/ Twitter: https://twitter.com/WardCunningham LinkedIn: https://www.linkedin.com/in/wardcunningham Martin Fowler Websites: http://martinfowler.com/ Twitter: https://twitter.com/martinfowler Google+: https://plus.google.com/107610341080687821846/posts James Grenning Person Blog: https://www.renaissancesoftware.net/blog/ Twitter: https://twitter.com/jwgrenning LinkedIn: https://www.linkedin.com/in/jwgrenning Jim Highsmith Blog: http://jimhighsmith.com/ Twitter: https://twitter.com/jimhighsmith LinkedIn: https://www.linkedin.com/pub/jim-highsmith/0/31b/123 Andrew Hunt Website: http://andy.pragprog.com Twitter: https://twitter.com/PragmaticAndy LinkedIn: https://www.linkedin.com/in/pragmaticandy Ron Jeffries Twitter: https://twitter.com/RonJeffries Website: http://xprogramming.com/index.php Jon Kern Website: http://technicaldebt.com/ Twitter: https://twitter.com/JonKernPA LinkedIn: https://www.linkedin.com/in/jonkern Brian Marick Website: http://www.exampler.com/blog/ Blog: http://www.exampler.com/blog/ Twitter: https://twitter.com/marick LinkedIn: https://www.linkedin.com/pub/brian-marick/0/238/958 Robert C. Martin Twitter: https://twitter.com/unclebobmartin Website: https://sites.google.com/site/unclebobconsultingllc/ LinkedIn: http://www.linkedin.com/pub/robert-martin/0/5b0/739 Steve Mellor Website: http://www.stephenmellor.com/ LinkedIn: https://www.linkedin.com/pub/stephen-mellor/0/225/232

Read more

Agile: A Different Way to WIRC

0

Recently I attended a webinar presented by Jeff Sutherland. Jeff created the first Scrum team in 1993 with Ken Schwaber, both of whom helped write the Agile Manifesto in 2001. The title of the presentation was Strategic Scrum for ISVs (Independent Software Vendors). During the webinar, Jeff pointed out that many Agile practitioners actually know very little about the contents of the Manifesto. Most can’t recite the four values of Agile. I was one of these folks until I began studying the Manifesto in depth, which led to a better understanding of who wrote it and why. Bob Martin summed things up nicely in Jim Highsmith‘s History: The Agile Manifesto article. We all felt privileged to work with a group of people who held a set of compatible values, a set of values based on trust and respect for each other and promoting organizational models based on people, collaboration, and

Read more

When Software Projects Go Wrong

1

Before Drive Current embraced developing in teams and agile methodologies, we worked on a project for a large non-profit organization. We had a single developer on the job who churned out code and over the course of six years built a very sophisticated application. He didn’t have a lot of support, just a few hours of UX design once in a while. Not much product management. No formal QA. We didn’t run two-week sprints ending with a presentation of new functionality. Instead, our lone wolf programmer coded for months and then demo’d a giant feature in multi-hour calls. The feedback would often result in significant restructuring. This resulted in coding to accommodate extreme flexibility.  Which ultimately meant quite a bit of gold-plating. There was no automated testing infrastructure so when seemingly small requests or bugs were submitted, the change would often be agonizing as we worried what else might break.

Read more

San Diego Beach - Best City for Startups

Best City to Launch a Startup? Right Here In San Diego.

1

Recently Radius and Forbes Magazine listed San Diego as the best city to launch a startup. This was based on the analysis of 27 million U.S. businesses. San Diego ranks number one due to a large concentration of high growth businesses. One area identified as high growth happens to be computer systems design. Surprise! Surprise! Drive Current has been developing high performance, scalable computer systems in San Diego for more than a decade. Our highest priority is to satisfy our clients and their customers through early and continuous delivery of valuable, working software. Our strength lies in our: People – we build our projects around motivated individuals who are dedicated to getting the job done with continuous attention to good design and technical excellence. Process – our refined agile processes promote sustainable development and harness change for the customer’s competitive advantage. Passion – we work together daily with our customers

Read more

Digital Retrospective Board Featured Image

Sprint Retrospective Exercise for Remote Scrum Teams

1

Are you having difficulty facilitating sprint retrospectives because you have remote team members? We have developed a Digital Retrospective Board that may help. For those unfamiliar with Agile, a retrospective is one of  12 principles outlined in the Agile Manifesto,  more specifically: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. At Drive Current, we’ve been using a collaborative retrospective technique with our local scrum teams for years. This traditional whiteboard exercise was adapted from the book Agile Coaching by Rachel Davies. It encourages the team to reflect on positive, neutral and stressful events during the sprint and emerge with an actionable task to iteratively improve the team, company or product over the next sprint cycle. After attending Diana Larsen’s Advanced Agile Retrospectives seminar in San Diego last week, I have an in-depth understanding of the fundamental requirements of any

Read more

Agile vs. XP – What’s in a name?

1

Back in the early days when Bryan, Jon and I started developing software we didn’t have any kind of methodology. We just gathered requirements as best we could and then built something. Over time, as we did more projects we learned more tricks. Simple things like mocking up an interface and showing it to a customer… before coding.  That was a big step.  As the projects we built became more sophisticated, our specs got longer. Some of the longest specs were like books, and we edited them and edited them and finally gave them to the developers to code for months. It was somewhere around 2006 when Bryan decided he wanted to try out eXtreme Programming. Personally I was luke-warm/skeptical. I didn’t really buy into pair-programming. I didn’t really get the planning game. And our big customer we would try it out on heard “eXtreme Programming” and basically said “No

Read more

work = displacement / time

0

Physics has a nice, clean definition for what “work” is: A force is said to do work when it acts on a body, and there is a displacement of the point of application in the direction of the force.  As an example, when you lift a suitcase from the floor, the work done on the suitcase is the force it takes to lift it (its weight) times the distance that it is lifted. So there’s displacement – How much did you do?  And then there’s also time to consider – How long did it take to do the displacement?  Displacement divided by the time gives you the actual work you did. I’ve known more than a few co-workers and other professionals in my day that were very efficient (busy), but not very effective.  It’s possible to give the appearance of work, particularly if you’re smart, without actually achieving any displacement. Drive Current is

Read more

Preparing the Foundation for High Performing Agile Teams

0

Every software company wants high-performing software development teams working on their projects. Easy right? Recruit and hire an experienced Agile product owner. Check! Recruit and hire an experienced Agile scrummaster. Check! Recruit and hire 4-7 highly skilled Agile developers. Check! So now you have your high-performing all-star team! Good luck… I’ve been a member of a team like this and I can tell you, pure skill will not get you where you want to be. The experience of others who’ve failed in this situation is invaluable. Let’s step back a bit and make sure we’re preparing the foundation for our high-performing team properly. Step 1 – Study the Agile Manifesto Don’t simply read it. STUDY it. It will likely come intuitively on your first read and you will think ‘Simple, I’ve got this.’ Trust me, you don’t. It will take time to understand why the four values are so important,

Read more