The Wisdom Blog is where we share technology and business insights in several articles each month. Subscribe to our RSS feed for automatic notification of new posts. Learn more about RSS
December 8, 2012 – By Raymond T. Hightower | Comments Off
The ideal candidate will be someone with visual design skills and a basic understanding of HTML/CSS with eagerness to learn more. Details are given on the ChicagoRuby Job Board.
Eagerness to learn is key. Our clients expect us to deliver relevant new technologies in rapid fashion. Design touches everything we do at WisdomGroup:
Delivering results for clients.
Serving our fellow developers through the ChicagoRuby user group.
Running the successful WindyCityRails annual conference.
When it comes to design, Autodesk gets it right in this ad:
If you know a solid candidate for WisdomGroup’s Web Design Internship, please point them to the job description. Thanks.
December 8, 2012 – By Raymond T. Hightower | Comments Off
Sometimes hiring a software developer is overkill. You have stuff to get done and zero time to waste. Will a web or mobile app really help you? Is Rails a good fit? What about WisdomGroup?
Visualize Your Finished Project
Close your eyes and visualize your web or mobile app in a finished state. Your customers are happy and money is flowing into your bank account. What does the app look like?
Business Logic. Business logic is a company’s business model (their way of making money) reflected in software. Does the app you envision depend on business logic to function? Example: A simple online brochure requires less business logic. A full-blown e-commerce engine like Amazon.com requires more.
Change. Is the app likely to change often? Example: An online brochure for a restaurant will change less because it only displays a few pieces of key information: Location, type of food, and hours of operation. However, a custom web app for a commodities trader will change often because markets are volatile and unpredictable.
Make a Decision
If your app depends on business logic, and if you operate in a competitive environment where change is the norm, then the right app will generate serious ROI for you. Depending on your specific needs, the app will either earn you money, save you money, or save you time. All of these will help your business grow.
Do not spend money on app development unless it makes business sense to do so. If your needs can be met with an online brochure, then WisdomGroup probably isn’t a good fit for you. You might consider WordPress.
Budget
If your idea is in its early stages, then a minimum viable product (MVP) will prove useful. The right MVP will make you smarter about your customers while minimizing your financial risk.
A custom software project can run $250,000 or more over the course of a year. WisdomGroup prefers to start with an MVP and a smaller budget of roughly $20,000 to $50,000. When building an MVP, WisdomGroup collaborates with the client to break the big idea into smaller pieces. Our goal is to deliver initial results (the MVP) in 60 to 90 days.
Get Smarter and Succeed With an MVP
Business professionals understand reality. A perfect app will only succeed if customers buy the end product. WebVan was a technical success, but it was a business failure because the app couldn’t attract enough customers. Don’t let that happen to you. You can avoid that kind of failure by starting with an MVP. If the MVP succeeds, you can invest more money to add features. Let the features you add be driven by the needs of the customer.
WisdomGroup’s MVP approach is a systemized way to get smarter with experience.
Maintenance and Growth
You might think of your app as a factory that prints money. Factories need maintenance, and the same is true for apps. Once the app is up and running, you can expect to spend $5,000 to $20,000 per month for maintenance. Monthly maintenance tasks include:
Adding new features. Your business grows because you continue to have new ideas. Many of those ideas will be implemented in software. WisdomGroup stands ready to make your ideas real in your code.
Dealing with security issues. As long as the bad guys keep dreaming up new ways to attack, the good guys need to work hard to defeat them.
Improving performance. As more people learn about your business, your traffic will grow. If your app is slow, they will go to your competitors. WisdomGroup watches response time and performance statistics. We allocate additional resources as needed.
Next Step
You have an app to build and zero time to waste. When you’re ready to move forward, contact WisdomGroup. Let’s get this done.
March 17, 2012 – By Raymond T. Hightower | Comments Off
I was a little skeptical about CocoaConf when they billed themselves as a Chicago conference. Take a look at the map... Elk Grove Village and Chicago are on opposite sides of a big airport called O’Hare!
Location challenges aside, day one of CocoaConf was excellent. Great presenters, great talks. After arriving on the night before the conference, I was introduced to the Hey Nerd meme and I met a cool bunch of software developers.
Here’s a recap of the day one sessions I attended.
UI Automation – Jonathan Penn
Penn kicked things off with a very hands-on demo & presentation of UI Automation. A quote from one of his early slides sums things up pretty well:
Automated testing does not guarantee that your code is correct or bug free.
It raises your confidence so you can make changes in the code when needed.
Penn bounced very freely between Xcode and Vim, using Xcode to run his automated tests and Vim to highlight parts of the test files as he presented his points. One subtle (and indirect) point of the talk: The best developers are polyglot. Penn never said this explicitly, but I could see elements of his Ruby heritage coming through in the talk. The Ruby TDD culture is filtering into the Cocoa world, while Cocoa teaches Rubyists about great UXD. Both worlds benefit from this exchange of knowledge.
Many developers (including me) were disappointed about the lack of a traditional file system in iOS. Can an iPad/iPhone be a real computer if you can’t navigate the directory structure in the “traditional” way? Yes, it can. It seems that there are new paradigms for navigation, and users find these new paradigms to be intuitive.
Dudney shared a story of a user who, when looking for a Pages file, never thinks of looking in a particular directory. Instead, he thinks of opening Pages and finding his way to a file. Further, users like the idea of editing a file on one device, shutting that device down, and opening the same file on a different device to continue the edit task. Note the lack of a “save” step! UI Documents is the feature that enables this seamless (to the user) migration between devices. Omni Group uses UI Documents to support synchronization in several of their products.
Dudney bounced between UI Document, UI Kit, NSData, and NSFileWrapper in a way that tied things together neatly. Now I have tons of research and experimentation ahead of me as I dig into these tools.
The best way to debug code: Don’t write bugs in the first place! So says Dave Koziol. He took the group through the Gnu Debugger (old school!) and the relatively new LLDB. The audience learned where to find the crash logs on iOS devices, and some of the plusses & minuses of the Watchdog timer.
I approached Koziol after the talk for recommendations on which debugger to use moving forward. I used GDB in my college days. But since I’m re-immersing myself in development, would it make sense to continue with GDB? Koziol’s response: Jump on LLDB. It’s the future. Further, LLDB builds on the commands of GDB, so it’s not like you’re completely abandoning the old school tool.
CocoConf marks my first exposure to DTrace, first in Jonathan Penn’s talk about UI Animation, and second in the DTrace talk by Craig Castelaz. Castelaz is a true old-school Unix dev who currently fixes bugs for Oracle (his words). What’s the most amazing thing about DTrace? According to Castelaz: Nothing. It’s already there (in Xcode).
“Nothing” yields many advantages. In DTrace we have a tool that’s already part of our dev environment, ready to give us info we need to troubleshoot effectively. There are two ways to interface with DTrace: the command line, and through Instruments. DTrace clauses consist of four parts:
Providers.
Probes. The point of instrumentation, where queries begin.
Predicates. Filters for our queries. DTrace generates more data than a human can read in a reasonable time!
Pactions (the “P” is silent). Actions allow us to write scripts in Ruby, Python, or another scripting language.
The bottom line from this talk: DTrace complements our other debuggers and tools like instruments. It’s a powerful device to have when things misbehave in production.
To Be Continued…
Let’s call this blog post Day One, Part One. Gotta run to the conference rooms for Day Two. More to come…
February 21, 2012 – By Raymond T. Hightower | 1 Comment
The US Postal Service is scrambling for customers. Their strategy: Get companies to abandon interactive web sites and email and go back to paper mail. Maybe there’s another way for USPS to attack the problem.
A refrigerator has never been hacked.
An online virus has never attacked a cork board.
Give your customers the added feeling of security that a printed statement or receipt provides.
With mail.
It’s good for your business, and even better for your customers.
For safe & secure ways to stay connected, visit usps.com/mail.
Excellent Execution. Wrong strategy.
The commercial is well produced. The music is engaging and it’s backed by subtle, secure sound effects of papers ruffling and drawers closing. But the strategy is wrong. Asking customers to return to paper mail ignores basic customer needs.
Once the toothpaste has left the tube, you can’t get it back inside. Companies are already saving money and time by communicating with customers electronically. Why would they return to the expense and drudgery of paper mail? How many of us use candles for lighting our homes? How many of us ride horses to work? When customers can pay bills quickly and securely online, why should they do otherwise?
A Better Strategy for the Post Service
Fortunately for USPS, their service is still relevant. They just need to look at their business a different way. They can start by asking a few questions:
What does the USPS offer that the alternatives do not?
What can the US Postal Service deliver better than any other delivery system?
The Postal Service has several strengths to build upon, including:
USPS can deliver physical objects like gifts, merchandise ordered online, and other physical objects. We can’t email physical objects (yet).
USPS has bricks & mortar offices near every address in the country. Can the physical offices be re-purposed for other services that leverage the strengths of USPS?
Some post offices are located in rural areas which the for-profit delivery services (like FedEx and UPS) don’t serve. Since the structures are already built, what can these offices offer that rural customers will pay for? How about mailbox services or an Internet cafe?
Dedicated workforce, driven by their unofficial motto: Neither snow nor rain nor heat nor gloom of night stays these couriers from the swift completion of their appointed rounds.
Trains and Airplanes. Paper Mail and the Web
The Pullman Company might have survived the shift to air travel if it realized that it was in the transporation business, not the train business. The Post Office needs to realize that it’s in the delivery business, not the paper mail business.
Pivots Can Be Hard The Four Steps to the Epiphany defines a pivot as a changing one’s business model in response to a newly discovered reality about customer needs. USPS needs to pivot away from paper mail. It won’t be easy because paper has been a cash cow for centuries. It’s hard to abandon a revenue source, even a dying one. But if USPS wants to thrive & grow, they need to stop running commercials about paper mail.
What’s Next
The best move for USPS: Pivot away from paper mail, become an outstanding physical delivery service, and build on the strength of the existing physical locations.
February 18, 2012 – By Raymond T. Hightower | Comments Off
The best professionals are always learning better ways to achieve results. Conferences are a great place to meet smart people, share ideas, and build skills.
Starting Point: Solid Presentations
A good conference will feature solid presentations. That’s a given. But it’s easy to find technical videos on the internet. Why would a smart person pay money to hear speakers present their material in real time? Because the presentations are only the starting point.
Relationships Are a Big Part
Beyond presentations, a strong conference will give attendees several chances to meet each other, interact, and build relationships. Great teams come from great relationships. Great companies come from great relationships. Everyone wins when great relationships are built.
Additional conference benefits:
The opportunity to challenge speakers in real-time. You might ask a question that causes a presenter to re-think their approach to a problem. New libraries are born that way. Your project might benefit from the new library.
Interaction with others who are hearing the same material as you. Maybe you’ve had this experience: You and a friend attend an event together. Afterwards, the two of you compare what you saw. In many cases you find that different things resonated with each of you. Many experiences are richer when shared with others.
Meeting others with skills that complement yours. Are you a designer looking for a developer? Developer looking for a designer? Entrepreneur looking for both? Meet your team in a place that attracts passionate and skilled professionals.
Conclusion
In 2011, I attended nine conferences related to Ruby, Rails, Objective-C, Software Craftsmanship, and NoSQL databases. I won’t share the number of user group meetings I attend every week, but it’s enough to expose me to ribbing by my developer friends. My brain is not big enough to retain every piece of information that gets presented. However, at every conference I meet people who help me to grow into a better developer and entrepreneur.
A single individual cannot absorb every piece of information that’s out there. But collectively, we can achieve great things. To quote Woodrow Wilson, “No one of us is as smart as all of us.”
Why do I go to conferences? To meet smart people and to share ideas. That’s why.
WisdomGroup creates apps for the web and for mobile: iPhone, iPad & Android. Contact WisdomGroup to solve problems and seize opportunities in your business.