Independent iPhone Developer Network - iphone

Hi I'm currently doing some independent development on the iPhone and Mac. Loving the freedom but the single biggest thing I miss about working with a team of developers is the opportunity to talk through design choices and issues with other developers.
I'm not talking about general "humm ..." questions (there is stackoverflow for that ;)) I'm talking about things that are not for public consumption or are very specific to your application. I'm thinking about something that is a little more interactive (for example screen sharing and chatting).
Does such a thing exist?

There are Cocoaheads groups in various cities, that usually have monthly meetings... also there are NSCoder groups, that have a bunch of people working together for a day or so once a week.

IRC sounds like a good place for such discussions. Some iPhone development related channels you may be interested in:
[I don't know any, community wiki'ing this so others can add them]

Related

UnrealIRCd or InspIRCd

I am the manager of a small IRC server of 100-300 simultaneous connected users since now 8 years, I am under UnrealIRCd. I see many competitors replacing their UnrealIRCd by InspIRCd and I would like to understand why they do that?
What are the benefits of InspIRCd?
There are many ways you can compare the two IRC servers, a good comparison could be found at Comparison of Internet Relay Chat daemons
Few additions as well are:
Both ircd projects are up to date.
Both have a rich modules libraries.
Both have a good recent commit history & issue tracker.
They have almost the same feature support, although InspIRCD is in favor.
For me personally, i prefer InspIRCD, i feel they have the edge, with accepting new ideas and implementing features.
At the end, base on those comparison, it doesn't really matter, both of them are doing a great job all around, and are well distinguished between others.

Would developing in different CMS systems be beneficial?

At this point we are developing Sitecore websites and we are gaining experience every day. This means that we know how to adjust our approach to different types of customers and that we are able to build our applications quicker every project we do. Of course Sitecore is not the only W-CMS around and we have looked into other W-CMS's.
What are the pro's and the con's for a company to offer solutions in different types of CMS's and what would this mean for the programmers that are working with this CMS?
Would a choice to offer solutions in more CMS's automatically mean that the global experience per CMS will shrink relative?
Hope there are some people around with experience in multiple big W-CMS's (Sitecore, KEntico, EPIServer, etc.. etc..).
If you truly enjoy working with Sitecore than maybe consider Umbraco. Umbraco is very similar to Sitecore and cheaper (I believe former Sitecore employees may even work there). It might be nice to offer a high-priced CMS (SC) and a less expensive alternative also built on .NET (Umbraco). I would say don't try to support tons of CMS's since there are so many. Keep a focus on a select few. Maybe consider selecting others based on the market for them and how their partner programs work (i.e. like Sitecore will recommend you as a solution partner and help you with sales).
Are you prepared to keep your programmers skills on top of each of the different CMS solutions you'd offer? That can be a high cost if you offer a number of different solutions based on different platforms,e.g. if you have programmers that have to know C#, Java and PHP because in this is what the various CMS support development be done. Thus, you may want to stick to .Net CMS rather than go venturing too far into a different stack as that can carry the challenge of maintaining skills.

Experience using IRC to coordinate software development?

I am part of a growing software project with at least 200 active developer in 10 locations. I would like to set up an on-line chat forum for developers because I think it would help to coordinate efforts. We have an email mailing list but I feel like some questions or announcements are too informal to send to everyone while mentioning it in a chat forum might be a useful community resource.
I have never participated in a software project that used an on-line chat forum so I would like to hear about peoples experiences. I am particularly interested in technical issues: Use of IRC vs. alternative platforms; how to manage access, eg. for developers only, allowing users to participate; the value of requiring certain announcements to be made on the chat forum eg who is resolving broken builds etc.
If I pitch the idea to the community I would like to have some good arguments why it would be a good idea and some prospective of its usefulness in other software projects.
The features you MOST want for such informal discussions are:
persistance (I have't used IRC in >decade, does it persist chats that you missed?)
Searcheability
Classification (tagging) to help sort through the stuff.
Considering those 3, I'd strongly suggest some sort of discussion software (microblog, Wiki, forum) with RSS feed.
It's a great platform for informal discussions. It's flexible, users can self-organize and its extensible. We have tied CI build results and SCM commits. Further, given the availability of multiple consumption streams (web, terminal) anyone can join with little notice.
I think the previous poster is over-stating the importance of the contents of this conversation and who the heck wants to maintain discussion software? Blergh.

Is there an off the shelf CMS that can be used as a back end for smartphone travel guide apps?

I'm wondering if there's an off the shelf CMS available that is similar to something like Mobile Roadie - ie: it will allow you to create multiple versions of one application? I'm looking to develop some mobile travel guides for iPhone/Android/Blackberry etc, and rather than get a CMS built, I'd like to see if there's something out there is similar to Wordpress in that it will allow us to input text, images, Google Maps details, phone numbers, email addresses and potentially some audio/video content.
If anyone knows of anything, I'd love to hear about it. Also, if you have any ideas regarding pricing, that would be extremely helpful! Thanks in advance for your assistance.
The chances of you finding something "Off the shelf" diminish as your requirements get more specific. You want something for a limited and specific target audience (iPhone, Andriod, Blackberry) that can deliver many different types of very specific content (addresses, maps, text, images, video).
From my experience of building a CMS for one of the world's most famous travel guides, I can say your chances are slim indeed. The technical requirements of managing this type of information are huuuuuge!
But hell, I could be wrong! I hope you find something that solves your problem and you make the world a better place!
PS: Maybe you should simplify your requirements and build from there? Good luck. :)
I just dropped a reply on this question:
How to setup a CMS as a backend for iPhone app
You could look at this blog for a drupal showcase:
http://drupal.org/node/900630
and at this wordpress plugin:
http://wordpress.org/extend/plugins/json-api/
Personally I am trying with tikiwiki.org but I am not sure yet if it is right.
Cheers
We created a very flexible CMS called StorageRoom which we built specifically for mobile apps.
You could easily let users manage locations with maps and additional fields.

What notes should I be taking, if any, at the beginning of a project?

I was recently asked by a Team Leader (not mine) if I would be willing to undertake a programming project. The members of his team are currently pre-occupied with other more important projects. I graduated college two years ago, and up until now programming has only been a hobby of mine. Recently I decided that I would like to pursue a career in software development. I accepted his offer so that I can gain some real-world experience and start building a portfolio.
In about an hour I'm scheduled to meet with the Team Leader to discuss the details of what he needs. From a short e-mail exchange with him, I know that the base project is to update an existing ASP.NET form—but I also think there's more to it than that.
Considering that I'd like to eventually put this project in a portfolio, what kinds of notes should I take at the meeting?
Take whatever notes you can that will best help you understand the use cases and the user requirements. Everything else is just technical details that can be figured out later.
I graduated college two years ago, and up until now programming has only been a hobby of mine.
In that case, my suggestion is:
revel in your ignorance.
Make the most of the fact that you know nothing and you're being given an opportunity to learn - abuse the chance to ask as many questions as possible of the Team Leader in question regarding what type of questions you should be asking and how you should be documenting what you learn.
You only get one chance to be ignorant, once you've wasted it you have to spend the rest of your life as a know-it-all; take the chance to enjoy the learning process.
Get a list of people who are the intended users. Talking with them will allow you to flesh out the overview that the Team Leader gives you. It is likely that the intended users have a very different understanding of what the app is supposed to do than the TL does. So you'll likely be going back and forth for a while. It's well worth the effort though because you'll do much less re-coding.
Try to understand that the Team Leader him/herself might not even have all the requirements available right at the beginning. Be prepared to be hunting down people and writing all these requirements down as they come in.
Things will change during development, new problems and new requirements will always be popping up.
Three things:
What: What is the software supposed to do, the more detailed you can manage to get the other person to be, the better.
How: Are there any known constraints? For example, if it has to ask for a telephone number, does it have to validate nationally/internationally/not at all. Does it have to run on Windows 2008/2003/all
Who: Two sides:
Who will answer any questions you'll have, will you setup weekly progress meetings?
Who will use the software, can you get their early input on your prototypes, can you ask them for opinion/requirements?
One thing I've found very helpful is carrying a hard-copy of any existing requirements (use cases, wireframes, whatever) or any other potentially useful information in a 3 ring binder to any project meetings I attend. If the meeting strays off topic or questions about previous discussions or documents come up it is very nice to have the information at your fingertips in a format you can make notes on, pass around the table etc.
As a bonus, I find most people don't carry any documents to meetings, so you'll also end up looking like you are a real go-getter who is always prepared, which is never a bad thing.
Main downside to this is that you'll waste paper if the documents are updated and changed frequently.
Find out the where as well, where are the files you need stored on the network, where is the source control repository for the project, etc.
Since this is your first taste of doing a real world project, please please please make sure you use source control even if you are the only dev on the project. Your co-workers will thank you and you will thank you the first time you need to back out a change that didn't work.