category_name=blog%2Fsoftware
Attending iOSDevCamp 2010 – Building Meet4Drinks
August 19, 2010 | Leave a Comment
![]()
I am attending the yearly iOSDevCamp event this weekend in SanJose, CA. This is a great event where iPhone/iPad software developers and UI/UX designers come together for a weekend of coding and exploration of ideas around how to use iOS devices. The event organizers hold something called a Hackathon where attendees form ad-hoc teams around shared application ideas and spend two full days designing and coding like crazy to build something cool. Everyone has a great time and meets like-minded folks in the developer community.
Earlier this year, in April the event organizers held a special iPadDevCamp. That was my first exposure to this great event format. You can read more about that experience over on the Powered By AMP blog. For that event I was on a team with some co-workers from Auctiva. We built a prototype of an e-commerce sales management tool for AMP sellers.
This time I’m attending solo, without a cadre of other Auctiva designers and developers. I want to explore developing location-aware applications for the iPhone and put together a basic idea for an app. It is called Meet4Drinks, and you can read more about it at http://www.meet4drinks.net.
If it sounds like something you would enjoy, it’s not too late to register today. The event starts tomorrow (Friday) evening and goes through Sunday evening. Visit http://www.iosdevcamp.org to register.
Look for updates on Meet4Drinks next week, once my head is back above water after the event. Hope to see you there.
Busy Folks at Big Nerd Ranch!
May 1, 2010 | Comments Off
The folks over at Big Nerd Ranch are really busy these days. In addition to building a new learning center it looks like they are writing no less than three new books to be released this year. If you have ever read through Cocoa Programming for Mac OS X by Aaron Hillegass or had the fortune to attend one of his classes then you already know that these new books will likely become a core part of your programming library in the future.
The first new title is iPhone Programming: The Big Nerd Ranch Guide, written by Joe Conway and Aaron Hillegass. According to Amazon this book will be available for purchase on May 4th in paper form and May 6th for the Kindle. You can pre-order it now.
The second new book is titled More Cocoa Programming for Mac OS X: The Big Nerd Ranch Guide and is being written by Aaron Hillegass and Juan Pablo Claude. According to Amazon’s web site this book will be available in mid-July, 2010. At this point it appears the book will only be available in print form. Hopefully this will change and a Kindle version will be made available.
The third new book will be titled Objective-C Programming: The Big Nerd Ranch Guide and is being written by Aaron Hillegass and Mark Fenoglio. Amazon pegs the release of this book sometime in December, 2010. Cover art for this book has not been released yet.
Software Developers are Human Beings
December 7, 2009 | Comments Off
Over on the “Shaping Software” site they just posted a short article titled “Lessons in Software from Eric Brechner.” Eric is the Director of Development Excellence on the Engineering Excellence team at Microsoft. The article focuses on his insights about what attributes shape developers into software engineers. He suggests that strength and balance attributes are important. Briefly, they are enumerated as follows:
Strength attributes
- Insightful
- Reflective
- Principled
Balance attributes
- Serving and advocating
- Eecution and slack
- Trust and risk
I really enjoy reading articles like this where the author focuses on the human side of software engineering. As Eric says, You can’t accomplish anything truly impactful alone.
I think it is worth the time to read through this article! Highly recommended.
Better than Google: Real answers for Programmers, System Administrators and IT Professionals
June 7, 2009 | Comments Off
Technology is more complex now than ever. It seems like the diversity of topics a programmer, system administrator or IT professional must have some familiarity with grows exponentially. In the office it is all to common to hear someone say “Did you google it?” or “I found a post that looks like it might be related on google.” when trying to sort out complex technology issues.
Google is good, but real people working together, sharing their experience with each other and documenting the results for others to take advantage of works even better. Two sites that should be in every technologists bookmark list are stackoverflow and serverfault.
You can think of these sites as social networking communities with very focused areas of interest. Anyone can post a question to a site, anyone can provide an answer, and everyone votes on the best answers. Comments can be added to questions or answers, folks develop “street cred” by providing useful answers and eventually become recognized by their peers as knowledgeable on specific topics.
Stack Overflow is a collaboratively edited question and answer site for
programmers – regardless of platform or language. It’s 100% free, no
registration required.
Server Fault is a collaboratively edited question and answer site for system
administrators and IT professionals – regardless of platform. It’s 100% free,
no registration required.
Book Review: RESTful Web Services – Web services for the real world
May 17, 2009 | Comments Off
RESTful Web Services
Web services for the real world
By Leonard Richardson, Sam Ruby
May 2007
Pages: 446
ISBN 10: 0-596-52926-0 | ISBN 13: 9780596529260

Nokia places Qt under LGPL License – Sweet!
January 14, 2009 | Comments Off
I have been a big fan of the Trolltech Qt Framework for a number of years. It is a fantastic way to build high quality cross-platform desktop applications in C++. For the past six years it seems like every project I work on has included a rich desktop GUI application of some sort. Each time this need would arise I would start the process of selling the idea of using the Qt Framework for the project. The biggest hurdle was always the per-developer cost for the commercial license of the framework. I would hear things like
Just use MFC. It’s free and we don’t really see a need for the application to be cross-platform anyway.
or sometimes I would hear
Use the GPL version of Qt and just keep it under the radar until we are sure the application will be released to our customers.
It was always frustrating to try and make the case that Qt was a better solution than MFC for UI, was more comprehensive for general development than other frameworks, and that it was worth planning for the possiblity of releasing the applications for Linux or Mac as well as Windows. In the end each project did adopt the Qt Framework, but it really was a distraction to try and justify the use.
Thankfully with the purchase of Trolltech by Nokia we are seeing a change in the licensing terms for the Qt Framework. Starting with the 4.5 release it looks like the framework will be placed under the LGPL license making it much easier to adopt as part of commercial development efforts.
Here are a couple links that discuss the development further:
and you can read the news directly from Nokia on the Qt Licensing Terms page.
This new development on the licensing front and the recent inclusion of WebKit into the Qt Framework make me very optimistic about a long and prosperous future for developers who know the Qt Framework! Thank you Nokia!
Software Design: Want vs. Need
January 13, 2009 | Comments Off
I am always surprised at how short-sighted some folks are who design software. It seems like there is no shortage of people who feel that you just have to listen to your customers to build great software. In my experience, if all you do is build what the customer says he/she wants then your software will likely be obsolete in a year (maybe even less time) and your customers will ultimately be very unhappy with you.
To build great software you have to listen intently to what the customer is saying so you can identify the pain and suffering that usually lies unexpressed just below the surface of comments like “All I need is a widget that does X.”
Check out what BusinessWeek magazine had to say about this phenomenon:
“It’s really hard to design products by focus groups. A lot of times, people don’t know what they want until you show it to them.”
– BusinessWeek, May 25 1998
Probably my favorite quote about building great software came from someone on the team that built the NeXT computer. I think they really understood what it takes to build quality systems (software and hardware) that last.
“It took us three years to build the NeXT computer. If we’d given customers what they said they wanted, we’d have built a computer they’d have been happy with a year after we spoke to them – not something they’d want now.”
– Someone on the NeXT Team
It all comes down to making a decision to apply your knowledge and understanding of technology to address the immediate problems for the customer and to push beyond so you can give the customer a system they can grow with. The ultimate measure of success is when a user says “Hey, now I need to do Y with the widget.” and you can reply with something like “Okay, this is how you do that with the system we built.” If you find yourself replying with something more like “Hmmm, we could add that to the software but it will cost you.” then you are doing it wrong!
Setting up Unit Testing in Xcode 3.1
July 28, 2008 | 2 Comments
Xcode includes OCUnit, so you don’t need to get a copy. But, you might want to take a look at their website (http://sente.epfl.ch/software/ocunit/) for information and tutorials on how OCUnit is intended to be used.
If you are planning on doing Test Driven Development (TDD) you may also want to get the following packages:
- OCMock – OCMock is an Objective-C implementation of mock objects. (http://www.mulle-kybernetik.com/software/OCMock/)
- Hamcrest – library of matchers for building test expressions (http://code.google.com/p/hamcrest/)
Other good articles on Xcode Unit Testing that I came across:
- Unit Testing with OCUnit – http://www.macdevcenter.com/pub/a/mac/2004/04/23/ocunit.html?page=1
- Test Driving Your Code with OCUnit – http://developer.apple.com/tools/unittest.html
- Xcode unit testing articles – http://chanson.livejournal.com/tag/unit+testing
- Unit Testing with Xcode – http://www.stiefels.net/2007/05/01/unit-testing-with-xcode/
By reading through the documents references above I was able to get OCUnit up and running for one of my projects. It took a bit of experimentation, but in the end it looks like OCUnit will work just fine for doing TDD in Xcode with Objective-C. Anyone wanting to try out TDD should give it a try. The benefits for your project are significant. Go for it!
Building Team Cohesion Quickly
July 3, 2008 | Comments Off
When forming a new team to build that Killer Web App ™ it is very important that the team work as a cohesive unit. Much has been written about how to build a collective team spirit and I won’t rehash that here. Sufice to say, if you don’t have a cohesive team you probably won’t be able to execute on your grand ideas and the project will eventually fail.
Today on TechCrunch there was a terrific article that details how one group of like-minded individuals came together to build a web application in a few days for a meer $10,000. Check it out.
Microsoft Professional Developers Conference 2008 – See you there?
July 3, 2008 | 1 Comment
The last time I attended the Microsoft Professional Developer Conference was back in 2001, shortly after the attacks of September 11th, 2001. Just over 6000 people made the trip to Los Angeles to learn about the latest technologies from Microsoft, as they were in the midst of rolling out the .NET Framework. They were pushing Hailstorm (I still have the free book they gave everyone with the Hailstorm API in it. I never did get a chance to use it though.). Everyone was excited about building new web services using .NET and C#.
A lot has changed since then. Vista and Windows Server 2008 are here, the .NET Framework has gone through three major revisions, Visual Studio has seen major improvements supporting team development, Intel has delivered multi-core processors and Microsoft still hasn’t delivered on the promise that was Hailstorm.
The preliminary agenda for PDC 2008 has some interesting sessions listed. Topics I am hoping to learn more about this year include:
- Silverlight
- Visual Studio 10
- Windows 7
- Multi-core Programming Techniques
Even though Bill Gates is now officially retired it looks like he is scheduled to speak at the conference as well. For a geeky college dropout with a whiny voice he does a great job delivering keynotes to developers. He doesn’t have the stage presence of a Steve Jobs, but he isn’t running Apple either. I look forward to hearing what his message for Microsoft developers is this year.
The dates for the conference are October 26 – 30, and the event is being held at the Los Angeles Convention Center once again. I hope to see you there.








