Show #80 Josh Clark, Tapworthy: Designing Great iPhone Apps - The Startup Success Podcast…
Josh Clark is not telling us the usual commonplace stuff we use to hear when speaking about what makes a mobile application great. The big picture consists of three mindsets: micro-tasking (repetition), locality (urgency), boredom. I’m on the go when I use my iPhone so I’m micro-tasking to get something done quickly. The application should allow me to get to the final results in just a few quick moves. I’m local, so I expect from the application to localize information and to mix “local” with sensors: visualize what is local, speak to me what is local or tell me what’s in front of me thanks to the compass. We can give new context to the “personal computer” definition of decades ago. Speaking of porting legacy app to mobile, Josh suggests not to just replicate the experience on the phone, but to find what part can be really be mobile. Mobile platforms aren’t just for work, they are cultural platforms, something with a personality.
Show #74 Kent Beck on Lean Startups, TDD and startups The Startup Success Podcast…
The “Learn, Measure, Build Cycle” is at the base of continuous deployment. You can think of it as an A/B Testing which takes place ahead of feature completion. The principle is to build just enough software just to get the answer to the business question. Then deploy and measure the results. Capital requirements and risk will go down as a consequence. Capital efficiency for startups has increased to the point that a single person can work to more startup projects at once. VCs of course enjoy this because they can increase the number of startups to fund at a lower cost and increase the probability of success of at least one. Sometimes it’s necessary to take a shortcut and avoid testing. TDD is especially effective for the not well known areas of the application and for parts subject to heavy optimization. The decision to skip testing is not a practice you can take in isolation, it’s an option when it considerably slows down the dev cycle.
The Clean Coder: The Hacker, The Novice, The Artist, and The Craftsman.…
Never thought of that in this terms, but the ROI-based model Uncle Bob describes covers a lot of cases. The craftsman is the only category described here that cares about ROI. Wonder where researchers would fit in here. There is definitely some sort of ROI in research, but the time to achieve ROI is different that that of the industry.
Dan North - Deliberate Discovery…
Dan North speaks on his blog about what we are missing when we just concentrate on user stories during the inception of a project with the effect of having stakeholders looking at the story backlog, turning it 90 degrees and think of it as a gaant chart. Deliberate discovery means to allocate part of the inception effort to something which is not story description. Learning is the constraint.
Ignorance decreases as the project moves forward in a non linear fashion. The skill to improve is how to find which factors in a project (or ignorance axis) are the most effective to reduce ignorance the quickest and take whatever action is needed in that direction along with user story planning. Dan is convinced that this skill is subject to the Dreyfuss model and as such it requires practice and this is why we have the impression we can’t predict what’s going to happen to the project. Of course we don’t have the crystal ball, but we can get better at it.
Herding Code 82: Cory Foy and Will Green Compare .NET and Ruby Development | Herding Code…
Comparisons between languages are usually useless or even stupid. I heard a very discussion instead in this PodCast by Herding Code thanks to Cory Foy. First of all ActiveRecord and its SRP violation: in Ruby with mixins and dynamic types it’s much easier to add persistency into model objects. This is probably the main reason why Rails developers usually don’t care. With typed languages instead the amount of code and interfaces required to achieve the same thing is evident and scarier. “Your application tends to model the company organizational structure” so people think that Java apps are more complicated because they model complex businesses. False: Ruby is just so expressive that you don’t need a lot of layers just to make it works. DDD is uncommon because Rails came out from a presentation first approach that somehow permeates into the framework.
Episode 165: NoSQL and MongoDB with Dwight Merriman | Software Engineering Radio…
Another nice episode on the nosql db space. I think I’m getting closer and closer to understand what kind of problem nosql dbs are solving. One of the reasons is that the relational model is very easy to understand and intuitive: the transactional ACID properties is exactly what we want to see. I write something and I can read my changes. I move data from one place to another and I expect to see the new data in the right place. And so on. NoSql is just opening to all the shade of grey in between. Data will be eventually consistent is the key: concurrency and availability is embraced. Programmers now have one more task each user story developed: what is the consistency model? Based on the answer, different part of the application can be tuned for different consistency. For example if I am the user making the change I want to see my changes, but I don’t care if others will see in a few minutes. There are many other nuances like this one which are not easy with MySql.
Twitter / Francesco Cirillo: …right now 5 minute…
This tweet from Francesco, the inventor of the Pomodoro Technique, remembers me that the 25 mins pomodoro “time” is customizable. The fact that the timer can be adjusted during the day is probably one of the most important aspect of the technique. The pomodoro time should contract or expand to fit the current focus ability. If you can’t focus for more than 5 minutes, then that should be your pomodoro time. The Pomodoro time can be be reverted slowly up to 25 minutes or more when internal distractions aren’t an issue anymore. Pomodoro shrinking accomplishes a specific goal: keep frustration away when we are not able to concentrate and keep on working with satisfaction even when bad mood kicks in.
Gojko Adzic - Thought-provoking TDD exercise at the Software Craftsmanship conference…
This article describe a constrained mode TDD where the implementation that makes the test passes is first written directly inside the test, hence without structural plumbing like methods or classes. The implementation moves to classes only with a set of restricted steps. I consider this a good exercise to test everyday assumptions while applying TDD, like right jump to create a class to make the test pass. The need for structural containment is discovered through testing exactly like the implementation details. As someone noticed in the comments, this style leads to a functional style of programming since the first encapsulation of code admitted are methods.
Why: A Tale Of A Post-Modern Genius - Smashing Magazine…
A nice write-up about the _Why persona, who he was and what he did in computer programming and arts. If ever had the need to send someone who doesn’t know _why reading something about him, this is for sure a well written biography. _Why is another example (the other being Alan Kay) of person who was inspired by young people for their programming activities, treating them like “customers”. There is definitely something to learn looking at kids while they try to force a system to do what they want. Their naivety is almost impossible to replicate in our adult world but it is fundamental in interaction design. So if you have a kid, don’t miss the opportunity to watch him/her closely while they learn because it’s an invaluable source of inspiration.
iPad Usability: First Findings From User Testing (Jakob Nielsen’s Alertbox)…
Hard to believe, but the iPad’s bigger screen poses serious challenges to interaction designers. I’d be tempted to say it’s just a bigger iPhone, no big deal but that’s not the case. On the iPad the text that is big enough to read is not big enough to tap, for example. Another problem that the bigger screen seems to aggravate is the lack of a strong touch interface standard and users get confused on what to expect when tapping. About swiping: should you swipe bottom to top or right to left to scroll? The screen format doesn’t help to discover what on the iphone is evident. Personally I found the same issues on the iPhone as well. For example, a great application like Stanza always confuses me when I try to reach the homepage with the book index. I always end up on the topic list for the current book.
1 year ago