My notes and thoughts about day two of strange loop 2009.
Also be sure to check out my Day one notes.
jQuery – Matt Taylor
- Showed numerous examples how easy jQuery makes it to select and edit HTML elements. Made me realize I should use jQuery even in small apps.
- Also showed examples of the jQuery AJAX functionality
Mobile Development 101
- This session was full which doesn’t surprise me since mobile development is about to get easier thanks to Android.
- Started off going how to develop apps for the iPhone
- The emulator and development software only run on a Mac
- Has to be written in Objective C
- I wanted to throw up when I saw the objective c examples
- No garbage collection. Memory is limited on phones so this is an important issue.
- Maybe I’m just to much of a simpleton, but I really don’t ever want to write any objective C
- MVC framework – cocoa touch
- No background processing on iphone
- Mobile dev best practices (not specific to android or iphone)
- Need lean web services
- Limit network traffic
- Limit audio/video/images
- Mobile Web Application
- Alternative to writing an iPhone/Android app
- A lot of phones have the same browser now
- Some mobile browsers leak memory
Entrepreneur Talk – Panel Discussion
- This book was mentioned, Outliers: The Story of Success
- Someone said that you need irrational arrogance to start your own company.
- Another person said that start ups are all offense and no defense. Just keep putting stuff out, early and often
- The idea was presented that everyone has risk even the person working for a company because you can be fired at any time
- The current work culture is sort of like having one client at a time because developers change jobs so often.
Polyglot Grails – Jeff Brown
- You can use many languages with Grails. Jeff even gave an example of Grails with a simple language he created
- methodMissing(string name, args) is a very interesting feature of Groovy
Minimalism – Alex Payne
- Interesting talk about little m minimalism and how it be applied to code
- Alex made a few comments about how programming is a young field
A new developer conference has started in St Louis this year named Strange Loop. Normally I don’t go to developer conferences because they are either in a different country or on the coasts. This one was close by in St Louis, MO. And from the quality of speakers and diverse sessions I predict next years conference will sell out very quickly unless they increase the capacity. Below are my overall topics/themes I took away from the conference and some interesting points from each talk I witnessed along with links to the speaker’s site and slide show if available.
Strange Loop Thoughts Overall
- open source, open source, open source
- every talk envolved open source. The FUD around open source is finally withering away.
- DRY constant theme
- Mobile development is upon us and will be for maybe ever
- Scala, Clojure, Groovy are HOT languages on the JVM
- Great conference that covered many relevant topics
- All the talks were technical, no boring management oriented sales pitches
Functional Ruby – Dean Wampler
- Link to slide show
- I atteneded this talk because I’m interested in the functional programming line of thought. And I don’t get to see much ruby code.
- Recommends learning a functiona programming language: Scala, Hascal, Cojure
- Multiprocessor systems are making it more important to use threads. Threads and synchronizaton is hard to get right. So functional languages that have immutable objects/values are easier because immutable objects/values don’t require synchronization.
- Try to avoid a bloated domain objects that have numerous properties to fullfill multiple requirements for different use cases. Have smaller objects for seperate uses.
Polyglot Programming – Dean Wampler
- Link to slide show
- polyglot programming: using more than one programming language. Not like using CSS, JS. But like using Groovy and Java or Groovy and Clojure.
- Dean thinks that Scala could become very popular in the future
- Hybrid object and functional language
- Multiple cpus is driving the need for functional languages
- Mentioned the famous quote: “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
– Antoine de Saint-Exuper
Griffon (Swing just got fun again) – James Williams
- Mentioned that the swring application framework is dead
- Griffon is the unofficial grails for the desktop
- It really did looks rails like from the project layout to the build process
- Suggested Groovy In Action for anyone that wanted to earn Groovy
Future of Java – Bob Lee
- Writes his talks in Java. I’m serious. Here is the SVN repo for his talks
- Talked about how/why he wanted better resource management in Java.
- Said he searched the JDK and found that 74 out of 110 the JDK has leaks for a certain IO functionality.
- Talked about his work on JSR-330 dependency injection in JDK
- @Inject annotation
- New quicksort that was developed for Android JVM (Harmony)
In May of 2008 CIO.com asked 328 information technology business executives and managers if they use open source applications in their organizations. The good news is that 53% answered that they are already using open source tools. The survey also uncovered why the other 47% are not using open source tools.
|Product support concerns||45%|
|Awareness/knowledge of available solutions||29%|
|Lack of support by management||22%|
|Licensing or legal concerns||21%|
|Investment in architecture from other vendor(s)||20%|
|Software quality issues||20%|
|Not relevant to our product or service||7%|
|Pressure on open-source providers by commercial vendors||5%|
|Software cost allocation policies||2%|
What can we learn from the results of this survey?
Corporate Software Developers
For corporate software developers, the number one reason that your organizations do not allow open source products is because your bosses are afraid that there is no support for the tool. They are unaware of the support options that are available to your organization. You need to show management that a particular tool is backed by a company who offers support. Show him or her the web page that explains the various support options that they provide.
If there is indeed no support for a given tool, then you are the support. Explain how you have the source code, and how well it is documented. Discuss the benefits of an open product and how you can get help from user groups via forums, IRC, and mailing lists. Put management at ease by showing them these mailing lists, and how active they are, or point out how many questions in the forum get answered on a daily basis.
The number two reason was awareness. This is easy to fix. Just show them the projects. Show the alternatives. Some projects even do the work of listing the alternatives for you. In some cases, you can show how the alternatives are interchangeable. Take for example Hibernate and an open source database. You could describe how a project using Hibernate backed by MySQL, two popular open source projects, can be migrated to Hibernate and Postgres in seconds, with no SQL changes, no new stored procedures and almost no risk.
The point is, your managers are not surfing the internet researching open source projects and their alternatives. You probably are and you probably have more to gain in switching to these open source solutions, so the weight is on your shoulders to make your managers aware. You have to bring the projects to your managers and present them in a way to showcase the size of their communities, the available support, and the commitment of the project’s developers.
Open Source Project Leaders
For project leaders of open source projects, this survey should scream out to you. If we review what these managers are telling us, and we can alleviate their concerns, then we can get our tools into the corporate domain. Again, if we look at the top two reasons we see that corporate managers are telling us what they want and what they need.
First is support. If you can provide support, then you can mitigate their number one concern. Support can come in many forms. The support that they were referring to in the survey was probably paid support. This is harder for smaller open source projects to setup but that doesn’t mean you can’t offer many lower tiers of support. Mailing lists, IRC channels, forums, and issue lists are certainly valid types of support. If you don’t offer paid support but do offer the other types of support you are really leaving it on the corporate developer to sell those forms of support to their managers. If you can’t offer paid support maybe you know someone who can. Identify these people on your project’s site.
Try to stay active in your forums and mailing lists, don’t leave any questions unanswered, acknowledge every issue that is submitted, and hopefully this will show managers that while they can not pay for premium support, the project is indeed supported by and active and responsive development team.
And again, the number two reason that some organizations have not adopted your product is because the big wigs don’t even know that you exist. You have to promote your project and you have to stay committed to promoting your project. Most of us get into open source projects to write code, but project promotion is as important as the code and is often an overlooked or under appreciated aspect of open source projects.
There are many ways to promote your project. Pushing Pixel’s Kirill Grouchnikov point out a few ways in Party of One: Promote. You can promote your project by simply spending some time writing documentation, or write up some tutorials or design decision explanations in a simple blog post. For my project, Architecture Rules, we recently posted Architecture Rules 101 and Architecture Rules 102 which provided simple tutorials for creating easy configurations. These two tutorials have landed us dozens of new users. We also use a wiki platform to document our project and provide code examples. These are simple things that we have done to promote our project and to increase awareness.
So weather you’re a software developer looking to introduce open source tools to your environment, or a project leader wanting to find more users, look to product support and project promotion. These two project areas will alleviate up to 80% of a manager’s concerns and increase both the end user developer and the project leader’s chances of the open source project finding its way into the corporate and mainstream domains.