Archive for the ‘Uncategorized’ Category

M2M Technology Survey

Friday, September 28th, 2007

Llamawerx is involved with a cellular-based, mobile M2M asset-tracking application where we are responsible for the embedded software. While working on this, I became interested in the IT tools needed to create a functioning system and thought I would look into building a technology prototype.

30,000 Foot Requirements

  1. Monitor remote asset
  2. Collect position information
  3. Store the information
  4. Web-based presentation

System Architecture

The first order of business is to select an architecture and map the functions into it. For this example, consider a smart unit that collects data remotely, does some processing and transmits position and alert information to a server. The server collects the information, stores it in a database, performs further analysis and presents the information via the web-browser. The unit and the server communicate with GSM/GPRS.

Embedded Technology

The remote unit must collect positioning information from a GPS receiver, monitor input/output signals, perform analysis and communicate with the server over GPRS. To reduce costs, a Wavecom wireless processor handles the communications and processing needs. The major M2M module vendors – Wavecom, Telit, Siemens, Motorola and Enfora – offer programmable modules that are more than wireless modems. Developers program Wavecom’s OpenAT environment in the “C” language using an Eclipse IDE.

  1. Wavecom Wireless CPU
  2. OpenAT
  3. “C” programming language
  4. Eclipse IDE

Server Technology

The server collects information from the remote units, stores it, performs analysis and delivers it to a dashboard-like web browser application. We selected Ubuntu Linux, a robust and popular open-source operating system, as the foundation for the server software. The remote units deliver their data using GPRS and UDP, and a Python script collects the messages and stores them in a database. MySQL, another popular open-source tool, is the database server. For web access, Apache came with our Linux distribution so why change? PHP provides the server-side scripting.

  1. Ubuntu Linux
  2. MySQL
  3. Apache HTTP
  4. Python
  5. PHP

Web Technology

For display technology, we stuck with HTML technologies over Flash or Java. Ajax introduces what seems like millions of options for web developers to pursue. Based on their maturity, ease of use and experience we chose to use JavaScript libraries from Yahoo!, Google and Ben Nolan’s Behaviour which in turn depends on Prototype.

  1. HTML
  2. Cascading Style Sheets (CSS)
  3. JavaScript
  4. Yahoo! User Interface Library
  5. Behaviour – unobtrusive JavaScript behaviours
  6. Google Maps API

Technology Overload

So there you have it – a collection of tools and technologies useful for creating an end-to-end M2M application. There are four programming languages (“C”, Python, PHP and JavaScript) along with a lot of “glue” technology. Many developers specialize in one or two technologies; yet as this example shows there are many involved in a single system. I didn’t even discuss wireless protocols, AT command sets, networking technology, GPS or domain expertise.

Making it all Work

One approach brings multiple experts and project managers together to create the solution. Increased project management, complex architecture and difficulty managing trade-offs are common with this approach. In many cases experts can’t see the forest for the trees and are unwilling to make technology trade-offs for business value.

Another option emphasizes generalists familiar with most of the technology – maybe not a deep understanding, but a working knowledge. In many cases, a generalist approaches the problem with a more open mind and is willing to trade-off designs in order to achieve the business value.

At Llamawerx, we fall into the later camp. Yes, we are experts in some technologies like embedded software, OpenAT and relational databases, but our real strength is the ability to transform vague and conflicting information into working systems that solve real-world problems.

For more details on Llamawerx visit the technology and solutions on our website.

Llamawerx Wins First M2M Agreement

Monday, February 12th, 2007

RALEIGH, NC – Llamawerx announces the first contract for their recently formed machine-to-machine (M2M) group. Llamawerx will provide software development and integration services for a next-generation asset management application. “Initially, we’ll be integrating Wavecom’s wireless module with a GPS receiver,” says Doug Griswold, Llamawerx’s CEO. “Then, we’ll see where it goes from there. Our client’s roadmap contains several projects that we plan to be involved with.”

Over the past year, North Carolina’s Research Triangle Park gained worldwide attention in the M2M marketplace. First, Sony Ericsson sold their M2M business unit to Wavecom along with Wavecom’s decision to locate their American operations in RTP. And in September, Telit opened an office in Morrisville. “RTP has been a leader in wireless communications for years,” said Griswold. “Ericsson, Nortel, Qualcomm, they’re major players traditionally focused on human-to-human communications. Now we’re seeing a new set of companies focusing on the new growth segment – machine to machine communications.”

“By building relationships with hardware leaders, we’re looking to extend our software services to their clients,” said Griswold. “The market has some great ideas for this new generation of modules. Everyone’s learning to listen to their customers and remain focused on what they do best. We bring personal service, flexibility and experience to the table. Plus, we’re always on the lookout for opportunities our clients can exploit.”

###

Llamawerx is a client-driven consulting firm founded in 2003 providing consulting, software development, business analysis, mentoring and training services. Locally or globally, our strength is the ability to bring software from concept to reality, rapidly and reliably. For more information, visit www.llamawerx.com or call (919) 863-4336.

You forgot to dot your i’s and cross your t’s

Wednesday, October 25th, 2006

So, you’ve worked on this document, presentation, customer solicitation, etc… It’s not perfect, but you’re pretty happy with it and you’re ready for feedback. Trouble is, last time you sent something out for feedback, you got in an argument with the person providing the feedback. How can this time be better? How can you get the review that you want and need without the feedback loop resembling a root canal? Try a few of these suggestions.

  1. Set guidelines for the type of feedback you’re soliciting. If you don’t want every detail nitpicked, say so at the start. “I’m not finished with all the details yet, but I’d like some general feedback on the layout and content.” Starting everyone off on the right foot lays the proper groundwork for a constructive review.
  2. Choose your reviewers carefully. If you always end up in a heated discussion with a particular reviewer, wait to get that person’s feedback till you’re finished with the item. You’ll have more confidence in it and you’ll be ready for the nitpicking.
  3. Keep your cool. You’re both on the same side here. Try to figure out what the reviewer really means. If you think they’re bogged down in minutia, thank them for their feedback and move on to the next person. As teammates, you’ll need to work together in the future – Avoiding conflicts will make that easier.
  4. Ask questions. If you don’t understand the other person’s comments or don’t agree with them, ask for clarification and examples. Questions like, “I don’t understand your comment.” or “How is that different than the wording that is already here?” can facilitate discussion while letting the reviewer know you’ve heard their feedback.
  5. Use the spell checker. This might seem like a no-brainer, but you’d be surprised. It might not be perfect and it might give poor advice sometimes, but it will help with blatant typos. Eliminating the obvious mistakes will reduce the number of markups and allow the reviewer to focus on content. Isn’t that what you really want?
  6. Say thank you. Just as it took you time to write the piece to begin with, it took the other person time to review it. Time they could have spent doing their own work. You may not always agree with what you heard, but if you work in a vacuum, you’ll never learn anything.

Like anything else, there are two sides to every discussion. As a reviewer, you have some responsibilities too. Keep these in mind.

  1. Provide positive feedback first. Remember, the person that just gave you this spent their time and energy creating it. We praise our children and pets for every little thing, yet often we don’t pay any attention to how we approach co-workers. Don’t they need positive reinforcement too? Starting off with something positive sets the tone for the entire discussion.
  2. Focus on content. Unless the document has so many typos and grammatical errors that it’s unreadable, limit your discussion with the author to content issues. Go ahead and give a marked up hard-copy back to them or suggest they run it through their favorite spell checker, but don’t go through every item with them; especially not in a meeting.
  3. Give concrete examples. Saying, “I don’t like this.” or “Why did you write it like that?” just raises the hackles on the author. Try giving an alternative wording whenever possible. If it really sounds better, chances are the author will want to use it. Doesn’t that benefit the whole team?
  4. Unless you’re an English major or work in technical writing, don’t give grammar lessons. If you think something sounds odd, say so, but don’t lecture on the finer points of the language. Is that really helping the author? If things are really awry, suggest Strunk and White’s The Elements of Style.
  5. Be tactful. Remember that people develop attachments to their work. Whether or not you intended to be harsh, they are likely to take the criticism personally. If you think about how you would feel as the recipient of the feedback, you’re more likely to take a softer approach. Benevolent honesty is a good motto.
  6. Limit your feedback. Ask yourself, “Is this something that really needs to be changed or is it just different from the way I would have done it?” This is not your work and it doesn’t have to be. It does need to be correct. Does that mean you need to give all of your feedback at once? If there are too many changes that need to be made, chances are there will be more than one review. So, hit the highlights… cover the most important things first. If you’re afraid this is the only review, meet with the author one-on-one afterwards and offer to help.

Respecting the author’s feelings and their writing style may not be easy, but should be part of your responsibility as a reviewer. After all, we’re only human. Hopefully they’ll remember that when they’re reviewing for you.

Do You Squidoo?

Tuesday, October 17th, 2006

Squidoo is an online community of lensmasters. What is a lensmaster you might ask? Well first you need to understand what a lens is. A lens is a one-page webpage dedicated to one subject. A lensmaster creates the lens for others to see through. Since everyone is an expert on something, everyone is a potential lensmaster. Seth Godin, author of numerous bestsellers founded Squidoo with the goal of bringing human recommendations to search while paying money to the lensmasters (or their charity). Oh yeah, have a little fun along the way.Embracing Squidoo, I’ve created my first lens Website Design: CSS. I know, it’s nerdy, but it’s my first attempt. Like other lenses, I try to provide some nuggets of knowledge, some important web links and a couple of books. Click on some ads or buy a book and the Leukemia and Lymphoma Society receives a donation.

Can Squidoo help you? Can you reach new audiences? Expand your brand? Connect with others? Or just do a little something for the greater good. If you need a hand getting started, just contact Llamawerx today.

Website Redesign: Llamawerx

Monday, October 9th, 2006

We’ve redesigned our own website. Tell us what you think.