One of the relatively recent additions to the Force.com platform was the ability to make calls to asynchronous methods from Apex classes. By using the @future (callout=true) annotation, we can set up the method to be called in a seperate, asynchronous request. This gave the developers the ability to run logic outside the current transaction, create asynchronous data loads, etc. But it also presented one obstacle… The method could only be called asynchronously. Which made testing a problem.
Take the following code snippet for example. It simply deletes Lead objects in the database (not a very practical example, but hey - it is just an example!).
01 @future (callout=true)
02 public static void deleteLeads(List leadIds) {
03 String queryString = ‘SELECT Name from Lead where ‘;
04 Integer numIds = 1;
05 for (String id: leadIds) {
06 if (numIds > 1) {
07 queryString = queryString + ‘ OR ‘;
08 }
09 numIds = numIds + 1;
10 queryString = queryString + ‘ID=\’’ + id + ‘\’’;
11 }
12
13 List leadsToDelete = Database.query(queryString);
14 delete leadsToDelete;
15 }
At first glance, testing looks like it would be easy enough. Simply identify the objects you want to perform the logic on, call the method, and then test to see if the logic was run on the objects. Right?
01 static testMethod void testDeleteLeads() {
02
03 String uniqueLastName = ‘TEST’ + System.now();
04 Lead duplead = new Lead();
05 duplead.company= ‘test’;
06 duplead.lastname = uniqueLastName ;
07 insert duplead;
08
09 Lead duplead2 = new Lead();
10 duplead2.company= ‘test2’;
11 duplead2.lastname = uniqueLastName ;
12 insert duplead2;
13
14 List duplist = [SELECT name from Lead where lastname=:uniqueLastName ];
15
16 List duplicateLeadIds = new List();
17 duplicateLeadIds.add(’’ + duplist.get(0).id);
18 duplicateLeadIds.add(’’ + duplist.get(1).id);
19
20 deleteLeads(duplicateLeadIds);
21
22 List duplist2 = [SELECT name from Lead where lastname=’test’];
23 System.assert(duplist2.size()==0);
24 }
Unfortunately, this test fails every time. Why? because the deleteLeads method is not called in the same request - meaning that when the logic to delete the Leads has not been run when the assert takes place. So how do we test this? The solution is kind of hacky, but it works well. Simply move all of the logic out of the asynchronous method and into a normal method that the asynchronous method calls.
01 @future (callout=true)
02 public static void deleteLeads(List leadIds) {
03 deleteLeads_nonAsynch(leadIds);
04 }
05
06 public static void deleteLeads_nonAsynch(List leadIds) {
07 String queryString = ‘SELECT Name from Lead where ‘;
08 Integer numIds = 1;
09 for (String id: leadIds) {
10 if (numIds > 1) {
...
While the deleteLeads method is still untestable, the deleteLeads_nonAsynch can easily be tested by changing line 20 in the test method to read:
20 deleteLeads_nonAsynch(duplicateLeadIds);
We now have a high degree of test coverage, and are accurately testing the function of the code itself. Is it pretty? Nope. But it works.
Iteration meetings are just that – project meetings that occur at the same day/time/place with the entire project team. I believe the core purpose of an iteration meeting is to demonstrate working software. As I’ve branched out into other types of non-IT projects, I believe the primary value is still in demonstrating work that has been completed and verifying the priority of the work for the upcoming iteration.
With most of my projects being 1-4 months in duration, one week iterations have worked well to keep momentum and ensure we are on track. I have led projects that ran on two-week iterative cycles, and those projects did not meet success criteria – over budget, missed deadlines, and unmet requirements. By consistently time-boxing the work done, I am able to create visible milestones that easily track to our requirements or other success criteria.
My iteration meetings generally have four parts to them. My clients receive an agenda the day before that outline these items:
• Housekeeping
Some people are nervous about it, so I get it out of the way first thing! Budgets.
I review the actual budget utilized up to that week against the estimated budget. Depending on the project, we can also provide other KPI such as budget burn for specific roles or tasks. Housekeeping is also for any discussions about scope, contracts, change orders or amendments – the “legal” aspect of the project.
In most cases we are only reviewing budget status, and it is a great motivator to the team when they see how their actual hours are comparing to their estimated hours. If there are special circumstances that must be discussed or negotiated, I invite only the relevant team members – usually myself and the account manager, and of course my client. This creates an intimate collaborative dynamic and uses everyone’s time wisely.
• Requirements
Any questions from the client, architect, designer, writer, or other team members can be directly addressed to the product owner (client). Team involvement at this level may seem like project overhead to some, but the results are fewer re-works and higher satisfaction with the work done.
Throughout the week I track ongoing requirements gathering and analysis, and add these items to the agenda as touch points. It helps to keep these business requirements in view – especially because as we demonstrate the solution that meets those requirements, the requirements are likely to be refined and slightly changed.
• Demonstration
While I use a task-tracking tool for general project management needs, I do not like to bore my clients by sitting through a granular review of each and every technical task – unless they ask for it! Generally it is not a good use of their time. Over the last few years, I’ve found the tempo of the meeting is improved if I recap the work done by mapping it to larger functionality ‘chunks’ and demoing to the client the feature as a whole instead of each smaller task that went into it.
Also, I am adamant about this – if it is a software project, code coverage for unit tests must be shown each week!
Demonstrating is basically the delivery of finished work components – whether it is copy, photo galleries from a shoot, or a working screen in a new software application. By this transparency, the product owner has no doubt of the progress – or lack of it.
• Planning
Because this meeting segment can be quite technical, I generally close the formal iteration meeting and wrap up with my client before we begin planning, which generally takes 20-30 minutes. (The first three segments are easily covered in an hour if the project manager prepares a thorough agenda.)
After showing the work of the previous week, we keep forward momentum by carefully planning and committing to the work for the upcoming iteration. Any new tasks (or user stories) that are discovered during the iteration are added to the project backlog. Tasks with the highest business value, or mapping to what the product owner has assigned a high priority, are added to the queue for the new iteration. We re-estimate the ideal hours for the iteration’s tasks, and as individuals, we commit to delivering those items.
Some additional benefits of having iterative project meetings that follow this basic format:
• These meetings create what is called “tight communication-feedback loops”; we can respond faster and with less process overhead.
• Stakeholder alignment is created by including the client as a working team member. The project team organizes around the client’s priorities, and the client has frequent visibility into the work being done.
• The team is constantly focused on doing the work with the highest value.
• Team politics and dysfunction are reduced.
Iteration meetings are easily “tweaked” and adjusted to suit any team or project. The important thing is to be observant, learn what works to keep information flowing in all directions and to keep everyone feeling comfortable with what’s been done and what’s on deck. Be creative, be brief, and most of all, have fun!
Found in
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/iteration-meetings/
For the past few months, we here at Sundog have been evaluating the migration of our messaging platform from Microsoft Exchange to Google Apps Premier.
Having recently won approval to make the move official, I have come across a few ideas that small businesses and, in particular, IT professionals might want to keep in mind while considering a move from an on-premises Microsoft Exchange environment to cloud-based Google Apps:
1. Before jumping in head-first, think about running a pilot program using the (free) Standard Edition of Google Apps on an un-used domain that you own, or purchasing another domain name related to your company. This will allow you to keep your current system intact and still experiment with Gmail, Calendar, Docs, and other services customized for your domain.
2. Take the time to research what options there are for migrating your users. Google has built-in migration for emails, but one must also consider everyone’s calendars and personal contact lists as well. Google’s Solutions Marketplace for Small Business is a great place to start.
3. Consider the impact of the move on your company’s workflows. Some users will enjoy the change from running a client like Microsoft Outlook to working completely in web pages. Some will not. Send out a survey to find out what features users use the most or feel they can’t live without. Then determine if there is a comparable feature available in Google Apps natively, with a third-party application, or with the help of a developer and the use of the Google Apps API.
There are many more factors that need to be put into the overall equation before making the move, but I’ve found that these three can give you a good idea early on whether or not you’d want to proceed with more involved testing and planning.
Found in
Google •
IT •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/considering-google-apps/
Everyone takes a shortcut now and then when developing code. We shouldn’t, and we know it, but sometimes we do anyways. I am guilty of it as much as the next guy. And unfortunately, it can bite me in the butt just like everyone else. Let me tell you a story…
Anyone who reads my blogs regularly knows that I have been on a SalesForce kick lately (and anyone who reads my blogs regularly also has way too much time on their hands… but I digress). Anyway, there are two ways to develop code on the Force.com platform. They have a handy little web interface that allows you to write code and run tests online, directly into the development environment. There is also a plug in for Eclipse, which allows you to write the code locally, commit it to Subversion, and uploads it to the development environment for you with every save.
Using Eclipse is a much better way to develop, as it allows you to maintain history, manages change control, allows for continuous integration, etc. And I know this. But it also takes more time to set up. So today when I wanted to make a little change to the unit test structure I had in place for an application, I chose to just go into the web interface to make the change. It was just a quick little change, low risk, right? Well…
Without getting into the gory (and embarrassing) details, I inadvertently closed the browser window before saving my changes. The net result was the loss of about 50% of my unit tests for the application. Had I been developing in Eclipse, I could have easily recovered them. In the end I was able to get most of them back, but at the expense of most of my afternoon. Which brings me to my point: Shortcuts do NOT save time in the end. They might cut a few minutes off here and there, but eventually it will catch up with you like it did me.
Good Coding Practices are referred to as “good” because they make our job easier in the long run. If taking a shortcut yielded a better overall result, then it wouldn’t be a shortcut - it would be the standard practice. Next time you are working on code, and you feel the itch to take a shortcut, take a minute to step away, go get that can of Tab, and come back to your desk ready to do it the right way the first time. It will save time in the end.
Today is Cyber Monday, the online equivalent to the more traditional shopping day of Black Friday. Maybe it is just me, but they sound like such dire names for what should be major shopping days and economic bellwethers in a free enterprise system.
Due to a tough economy, pundits had expected both Black Friday and Cyber Monday to be down this year, but according to a National Retail Federation Black Friday survey conduct by BIGresearch, 172 million shoppers visited stores and websites this Black Friday weekend compared to 147 million shoppers last year. The research also indicated that the average shopper spent $373 this year compared to $348 last year. Total spending was estimated at $41 billion. The survey also indicated almost a quarter of shoppers were at stores by 5 a.m., and over half made it to stores by 9 a.m.
It remains to be seen how this Cyber Monday will compare with last year. In 2007, Cyber Monday sales on retail websites hit $733 million. According to another NRF survey, 84 percent of retailers planned on offering special Cyber Monday promotions on their websites this year. That’s up 72 percent since last year.
If you are looking for a rundown of some of the suspected offers today, visit this site or just check out your favorite retailers online. Chances are you’ll find a good reason to hit “buy now.”
CMOs: Just In Case You Thought Marketing Was Getting Any Easier
by
Click to enlarge
More on the diagram above here. Sure, Tom Cunniff’s collage is messy, but it represents a marketing environment that is growing increasingly complicated. There are more choices than ever before to consider in the marketing toolbox. Most of those choices are now so interwoven with fast-evolving social media and technology integration issues, that a CMO must expend considerable effort just keeping up with changes.
Nobody ever claimed marketing was easy, especially integrating the new social media part. CMOs will need to dig deep and put in a lot of hard work if they are going to direct successful marketing programs for their organizations. Amber Naslund from the social media consultancy, Altitude, points this fact out in a recent blog post.
Cunniff’s collage has traditional and new media components, and an important part of his diagram is the Conversation Prism (below) from Brian Solis.
Click to enlarge.
Solis comments:
“The Conversation Prism was designed to provide a snapshot view of dialogue within mainstream and vertical social networks and communities that may be consequential to your brand. Every network provides a search box to unearth threads of discussions tied to connected keywords and inherent developments, negative or positive, that may affect the company brand and reputation.”
This Conversation Prism diagram should clearly demonstrate the huge number of social interactions that are now affecting brand perceptions every day, and why it is critical to understand this new marketplace reality if CMOs have any hopes of creating marketing efforts based on real-world feedback.
And social media is only one part of the marketing picture! Factor in all the other things a modern-day CMO must oversee, and it becomes readily apparent that help will be needed in the form of internal and/or external experts to ensure success. Thankfully, experts are available, but to truly access that expertise a CMO will need a clear understanding of the new marketing landscape at the 30,000’ level. That is at the heart of the challenge for CMOs in the years ahead.
I can’t say that I am surprised to hear that the Linux operating system has rammed its way through yet one more door. This time however, the threshold is Apple’s flagship mobile device the iPhone. This weekend, iphone-dev.org announced that after considerable reverse engineering by the unofficial iPhone development team, a limited Linux OS in now available for iPhone and 1st gen iPod Touch (no touch screen drivers, sound, or WiFi / cell radio support).
This would seem to be a significant milestone for a growing number of developers, users, and enterprises interested in greater openness in the mobile ecosystem. Even today in its limited state, Linux on the iPhone may catalyze some competition through linux-based mobile alternatives like Android. As Android stabilizes on the iPhone device, users will have choice of where to buy music and more importantly, where to buy applications.
I recognize that iPhone/iPod Touch owners already have a perfectly usable (stunningly impressive) user experience right out of the box. However, not everyone joins the Apple cult by default when they shell out a couple hundred on these remarkable devices. In fact, many simply have no practical alternative.
The first thing I did upon receiving my iPod Touch was to jailbreak it and gain some control over what I could do with it. Since that time, Apple (and AppStore vendors) have added enough innovations for me to justify giving that control back (factory settings). As Linux on iPhone (and Android) matures, openness will force more users like me to seriously consider the switch.
More importantly, developers are the real winners here. Android is already a significant alternative to iPhone with the release of T-Mobile’s G1 and several more devices expected in 2009. Like the AppStore, the Android Market offers developers a central place to distribute their products for the Android platform. Android on iPhone opens Android apps to an additional marketplace with millions of users worldwide.
In the end, I don’t expect to see mass exodus from the iPhone OS, but we may see other favorable outcomes such as more relaxed control by Apple, longer life for iPhone/Touch hardware, and even more devices sold by Apple.
Now, if only I can convince T-Mobile or AT&T to come to Fargo and give me at least one option.
Information architect, Stefanos Karagos, has put together a nice presentation (above) on social media that is one of the top viewed decks on Slideshare this week. It is interesting to see how this IA is living his advice with his “lifestream” hub concept on his own personal website.
Found in
Social Networks •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/stefanos-karagos-on-social-media/
Historically, Thanksgiving is one of the busiest times of the year for air travel in the United States. Even with a 10 percent decrease from last year in passengers flying over the 12 day holiday season, The Air Transport Association is projecting 4.5 million passengers will fly between Wednesday and Sunday; 1.5 million on Wednesday, 1 million on Thursday and 2 million on Sunday as people return from the Thanksgiving holiday.
While flying at any time can be challenging and stressful, the increased number of passengers during the holiday flying season can push it over the top. Increased security since 9-11 and ongoing cost saving measures taken by the airlines continue to add stress to what is already a less than pleasurable experience.
Earlier this year, the TSA started experimenting with a new system dubbed Diamond Lanes. Security lanes are designated according to traveling style: expert traveler, casual traveler, or families and special assistance. The goal of the program is to allow travelers to pass through security at their own pace; reducing the level of stress. If you’ve traveled with children, you know how challenging it can be to assist them with removing their shoes, collecting all their electronic toys into the appropriate bag, or dismantling a stroller or car seat to fit through the scanners. It’s challenging enough, but even more stressful for them as they feel pressured from the business traveler behind them who is hurrying to catch his next flight. Imagine the business traveler’s frustration. Program tests across the country proved positive and the TSA expanded the Family Lane Program to all security lanes last week.
By now, most travelers are familiar with the 3-1-1 rule for liquids and gels. This restricts passengers to containers no larger than 3 ounces to be carried onto the plane either on their person or in their carry on baggage. All liquids must be sealed in a one quart plastic bag and passengers are limited to one bag. Advances in TSA x-ray machines will soon enable the systems to distinguish between a bottle of soda and a liquid explosive. TSA officials plan to roll out 600 new machines by year-end and hope to announce changes to the 3-1-1 rule by the end of 2009.
International travelers returning to the United States may soon find reentry through Customs a whole lot easier. US Customs and Border Patrol has introduced the Global Entry system at several major airports around the country. For $100 dollars and a copy of your fingerprints, US citizens can bypass long passport-checking lines and proceed directly to baggage claim. Global Entry utilizes self-service kiosks where passengers can scan their passport, fingerprints and answer a few questions on the screen and be on their way. Only travelers deemed “Low Risk” are eligible for the program. Nearly 5,000 people nationwide have already signed up for the program.
These changes may not guarantee a stress-free flying experience, but it’s encouraging to see our government agencies recognize some of the problems and are working toward making our experience a better one.
Found in
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/moving-the-masses/
Google Friend Connect looks to enhance social networking
by
The full release of Google Friend Connect appears to be coming soon with the implementation of their support site as reported recently by Google watcher Amit Agarwal. Google made an announcement last spring which opened the door for Websites who are not social networks, but are looking for social features.
Without requiring that site owners have coding experience, Google Friend Connect gives them a way to attract and engage more people by giving visitors a way to communicate with friends on their websites. Website owners can select built-in functionality like user registration, invitations, member’s gallery, message posting, and reviews, as well as third-party applications built by the OpenSocial developer community.
With the popularity of social networks, many marketers may look at this as a way to connect and build relationships with their customer. They will need to carefully consider the lessons learned from opt-in and permission based strategies. Simply because someone joins a new social group doesn’t mean they are suddenly a loyal customer. Content will need to be geared toward building and nurturing this new friendship. We will watch with interest how these new applications are utilized once Google has a full release.
For more information, watch Google’s YouTube video.
Found in
Google •
Social Networks •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/google-friend-connect-looks-to-enhance-socia-networking/
Flexibility vs. Usability: The Web Developer’s Dilemma
by
As a web developer, many of the sites I build are based around a CMS (content management system) which allows the client to update their own site with little knowledge of web development. Custom tailoring the CMS to fit the client’s expectations and skill set often becomes as much a part of the project as the development itself. For me, often the primary problem in developing a CMS based website arises from striking the balance between flexibility and usability. Generally as you add more flexibility to the end user, you also tend to make updating the site more complicated. On the flip side, if you make the site too simple, you tend to limit the client's control. Basing your decisions on the expectations of the client and end user is the key to making the right decisions.
When developing a CMS based website, always try to get as much information about the client and end user as possible. If there is access to the person or persons that will be updating the site, ask the following questions:
Do you know anything about HTML/XHTML?
Have you ever worked on a website before?
When posting a typical entry, what capabilities do you expect (i.e. ordered and unordered lists, images, formatting control, ability to build tables, etc.)
These answers can help to formulate a model of the user. Then, continue with development always trying to keep this person (or persons) in mind at every step, by asking yourself questions such as:
Is this process intuitive?
What if I want to (insert formatting option here)?
How long does this take?
By asking these simple questions up front, before development begins, you can save a lot of time and headaches down the road and you know exactly what functionality is necessary to ensure the best possible user experience.
Have you created your first ad on Facebook yet? Unless you have $10,000 to spend, you’ll likely be creating a more economical Profile Page ad.
Moving through the four-step process to create a Profile Page ad on Facebook is relatively easy. What’s not so easy is dealing with copyrighting (given the character limits, the capitalization limits, punctuation limits—it would make even Shakespeare sound like Scooby Doo), and targeting your ad.
Targeting your ad on Facebook is a lot like other things in life—anybody can do it, but it’s going to take some practice and trial-and-error to be any good at it. To Facebook’s credit, every change you make to your targeting selections gives you an instant calculation for how many people you will target. Creating your ad may include defining a geographic area and choosing appropriate keywords to fit your audience. Choose a large urban population, and you’ll instantly get a huge reach. Try to reach Northern Minnesota, and you’ll be looking for the solution all day. You’ll also be challenged if you use any keywords from that bygone era, “Pre-1980.”
For example, if you want to advertise to “Fargo, ND”, you could potentially reach 47,920 people. If you then limit it to just 18-21 year olds within Fargo, you’re down to 21,340. If you then limit your reach to just Fargo’s 18-21 year olds who also have “Peter Frampton” listed among their favorite musicians? Then you’re left with the 40 lost souls whose parents rocked them to sleep singing, “Baby I Love Your Way.”
On the other hand if you want to reach everyone in “Massachusetts”, 18-and-older, who included “Barack Obama” in their profile, you’re targeting a whopping 100,960 people with your ad. These are just two examples, but they do show how your choice of keywords will play a major role in targeting your ad.
Since Facebook is still a relatively new media, there’s not a lot of reference material or “best practices” to follow. This is a tough pill to swallow for many of us, but if you’re ready to head down the Facebook Ad Highway you might have to just ask for directions…or in this case, contact Facebook to talk with one of their sales representatives.
Room For Improvement: Web Standards Support in Popular Email Clients
by
Last month I wrote about recent statistics regarding email marketing which contained a listing of email clients and their percentage of the market share. I’m going to stay on topic, and cover a few key points about producing HTML messages and the level of web standards support found in popular email clients.
Writing HTML email is much like building a web site in 1998. A lot of time is spent coding for specific email clients. Semantic markup and content usually take a back seat to presentation.
Most web-based email clients and desktop email clients have excellent web standards support. Unfortunately, a few that are popular have no support or partial support for embedded style sheets, float, width/height, margin, padding and background images.
Here are a few specific examples:
Email Client
Market Share*
Issues
Yahoo Mail
29%
Currently has an issue with paragraph spacing
Windows Live Hotmail
25%
Partial/no support for margin and background images
Outlook 2007
13%
Partial/no support for margin, padding, floats and background images
An ideal situation when writing HTML email messages consists of using embedded style sheets and semantic markup. This is also the level of web standards support that the Email Standards Project recommends. In reality, your target audience usually dictate how you code your HTML email. For example, if a significant portion of the recipients on your mailing list use Gmail, then your clean standards-based code is not going to deliver the message you intended.
Until web standards in email clients are supported in the way that modern web browsers support standards, here are a few general tips and best practices for producing HTML email for a wide variety of email clients:
Use tables for layout
Define the width of each table cell
Use inline styles instead of embedded style sheets
Inline style declarations must not be written in shorthand
Reinforce table cell padding and paragraph margins with inline styles
Agile project methodology evolved in the software community, starting in the 80’s and becoming clearly defined in the late 90’s and into 2001. The goal was to quickly deploy software to market, and the project approach has gained more and more popularity. Companies such as Yahoo, Google and Microsoft use different variations of Agile to bring products and services to the public. Unlike traditional waterfall project management, Agile scales very well in small, medium and large-scale business environments.
One of the key differences to what most of us know as the traditional project approach, Agile does not focus on heavy documentation. The emphasis is on the spirit of the team. This character is shown in the graceful attitude toward change, the creativity of seeking the simplest design, the integrity to meet commitments, and the open communication between all team members. There is a focus on doing valuable work, and at a quick but sustainable pace.
The Agile Manifesto, written by some of the industry’s thought leaders, defined this new approach…
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Agile methodologies arose in response to a systemic crisis of distrust and dishonesty in the software industry. Its focus is not on bureaucracy, tools and documents, but principles, practices and processes that acknowledge humans are doing complex work in a complex world. Agile gives people their humanity back by a leadership philosophy that nurtures collaboration and team work.
From among the twelve principles to Agile development, over the last few years of practice I’ve distilled these key points that guide my project approach:
• Frequent demonstration of progress drives a quick pace
• Accommodate changing requirements with simple design and execution
• Consistent and frequent communication keeps the focus on efficiency and productivity
• Motivated, self-organizing teams are a result of frequent reflection on successes and challenges
There are many flavors of Agile, such as Crystal Clear, Extreme Programming, and Scrum. In January 2007 I was certified as a Scrum Master. Over the years and throughout projects we’ve defined a Sundog Agile Method which takes best of breed practices and adapts them to client needs. This was in response to a diversity of project types - any given month sees me leading an infrastructure enhancement, a software integration , adding a product section to a marketing website, and creating an email marketing campaign. Each client, project, and team deserves a customized approach, and Agile methods give me freedom in a framework of principles rather than book of rules.
Over the next few posts I’ll be exploring terminology and components of Agile, and how I adapt them for various client and project needs with the core principles of Agile as my touch point (see the first four bullet points above).
This 5-minute video is an entertaining introduction to Scrum terminology and basics:
According to a new survey released by Global Spec and reported on Marketing Charts, online spending in 2007 accounted for 37 percent of total industrial marketing expenditures, and 57 percent of those respondents expected this percentage to increase even more in 2008. In addition, the results indicate that 30 percent of industrial marketers now spend more than 50 percent of their budgets online.
These same industrial marketers said their biggest marketing challenges were:
1) Too few marketing resources (47%)
2) Improving ROI (31%)
3) Identifying which online marketing campaigns work the best
As far as their primary marketing goal, 72 percent of respondents identified customer acquisition or lead generation as their main focus for 2008.
Google Searchwiki – Personalizing Your Search Engine and What it Means for SEO.
by
How it works:
After every search request (when logged into your Google account) you will be presented with three additional options placed next to each search result. Options to: Re-Rank, Delete, and Add a Comment to each particular entry.
By Clicking the ‘X’ next to any entry, you remove it from your list, dropping it into a collective bucket of “junk”. All entries below it are now moved up in rank. Simple! It is worth noting that any entries you delete are recoverable and available to view as an option at the bottom of the search listings.
Don’t feel like deleting anything from your search list? No problem. The other option is to Click the ‘Up Arrow’ next to the entry, pushing it above the competition, and re-ranking it for you. These preferences carry over to multiple search phrases as well. For instance, rating a listing higher under a search for “glasses” will also affect those listings when a search is performed for “eye glasses”.
So What Does this mean for SEO?
Search Engine Optimizers rejoice! While the user based experience becomes more customized for the individual, it does not affect the keyword rankings for other users—so all of those long hours creating a coherent SEO strategy are still worth your time and effort. What HAS changed then, you might be asking? Each time a user ranks one of their items higher Google registers, counts, and reports this along-side the line item. So users are able to see how popular an item is by seeing how many users moved it UP in rank vs. how many users removed it from the search listing.
Lastly, Google has also given us the ability to add “notes” and “comments” to each of the listings given to us in any given search. The potential is there for spam abuse, especially on the comment box so take these new options with a grain of salt.
Found in
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/google-searchwiki-personalizing-your-search-engine-and-what-it-means-for-se/
Sometimes we forget that the very essence of America is defined by what some people, at times, would label “foreign.” Here. And God Bless for immigrant corporations.
Found in
General •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/america/
Several years ago, when I worked in corporate marketing, my team tackled an information beast.
As part of redesigning our intranet (internal) site, we took the virtual brooms to our company’s Outlook public folders. The public folders were filled with long-forgotten spreadsheets, shared calendars and various other files from departments.
The painstaking clean-up process, led by our intern, involved contacting each department with a list of their public folders files. They were asked to remove old information and move everything else to the new intranet.
At the same time, departments were trained to use the intranet’s new content management system. The goal was to establish the intranet as the company’s essential information source.
From a management perspective, content has little or no value. It does not even deserve to be managed. Whether it is good or bad is irrelevant. Just shovel it onto the website. If it was written for print, so what? Just shovel it onto the website. The old website didn’t work? Buy new technology and hire a fancy graphics agency. The content? Just migrate/shovel it over from the old website.
At times, our departments definitely shoveled content from public folders to the new intranet. They moved files with little regard for how they were used, or who used them. Layout and usability were rarely considered.
In one sense, we succeeded: We cleaned up public folders, which directed more employees to the intranet.
Looking back, however, it’s questionable whether we streamlined employee tasks or made them more productive. Maybe we simply centralized the clutter.
As McGovern notes, content quality – focused on solid strategy, user needs and web-writing fundamentals – should’ve been as important as the technology and the process.
2008 certainly gave us not only one of the most memorable presidential campaigns, but one that made the most of the internet. There’s an interesting recap from Podcasting News of how new media played a role in the 2008 election. Not too surprisingly, Obama thumped McCain soundly when it came to the overall success and innovative use of the internet, largely because the Obama camp did a better job of controlling their online message.
Whether you agree with Obama’s politics or not, you have to admire the efforts and successes when it came to using new media tools to deliver his messages. The campaign even provided an application written to run on the iPhone™ or iPod® touch.
In a related story, Podcasting News also cited a study by the Independent Film Channel and Zogby. Over 37% of those polled believed the information they found on the internet to be the most reliable. I think it’s safe to say the next election will see even more dollars shifting toward new media and the internet.
Financial Industry Meltdown Means Prime Time For New Competitors
by
Amidst headlines of yet another multi-billion-dollar bank bailout, non-bank competitors appear to be swarming at the proverbial bank-vault door. Consumers now have more choices and new ways to obtain and manage their money, presenting a challenge to banks at a time when financial institutions can ill-afford to lose customers, deposits and fee income.
But recent innovations indicate customers could be swayed by new online alternatives for financial advice, financial account management, credit cards, online payments, mortgages, financial planning, peer-to-per loans and more.
A recent industry conference, Finovate 2008, provides a glimpse of just how rapidly things are changing in the financial services arena. As reviewed by Blogger and Maritz executive Thad Peterson, there are all sorts of new and innovative ways to:
-Manage money with all-in-one access: Mint, Quicken Online, Thrive and Wesabe.
-Bank online: the MyMoney app for Facebook.
-Compare rates on credit cards: FiLife, BillShrink, or RateSurfer.
-Get home loans: SmartHippo
-Invest: WeSee
-Seek advice: Boulevard R
-Analyze financial position: Inner8
-Have banks compete for CD rates: MoneyAisle
-Seek peer-to-peer loans: LendingClub or Loanio
At a time when banks and financial services firms are fighting for trust, respect and even survival in some cases, new non-bank competitors are offering consumers new and different ways of obtaining and managing money. Bottom line? These new virtual players and online communities are certain to shake up the familiar bank mantra of “trusted, expert advice” and “friendly hometown service.”
Software as a Service (SaaS) is a form of Cloud Computing that delivers a single application through the browser to thousands of customers using a multitenant architecture. SaaS has gained in popularity in the past few years, and with it came some dramatic shifts in architecture and design. For instance, restrictions on processor usage and database queries have become common place due to the nature of the distributed environment. However, as developers we need to be careful to avoid using this paradigm shift as an excuse to deviate from the development practices we know to be successful. Like Test Driven Development…
Regardless of the development environment, if you can unit test, you can practice Test Driven Development. As an example, let’s look at the best known and most successful of SaaS enterprise applications, Salesforce.com (Author note: I chose to highlight Salesforce for two reasons: 1) It offers a unique testing engine that many people think is detrimental to TDD, and 2) I have been developing custom Salesforce applications for less than a year, and I think it is really, really cool.;) ).
Custom applications are written using Saleforce’s proprietary language, Apex, which resembles Java. It also carries a testing engine, which allows you to specify test classes and method via naming convention. The hitch with Apex is that developers are not able to run test locally. All Apex code, including unit tests, must be executed in a Salesforce server. That means that a developer must save code to the server before testing it.
All true TDD aficionados should be cringing at that thought. Remember, the first step in TDD is creating a test and watching it fail. Are we really committing failing tests to the server?
Don’t worry. It isn’t as bad as it seems. The first thing we need to do is realize that we are not (or at least better not be) developing Apex applications directly in the production environment. Salesforce allows developers to create new developer accounts for each project they are working on. Through the magic of XML and Eclipse, transferring environment details between accounts is fairly easy (and the subject of my next blog...). So new code, and the related unit tests, are developed in the developer sandbox. Instead of looking at this sandbox as a server, think of it as your own personal dev machine (that you can conveniently access from any computer with a browser). When we create a unit test and verify that it fails in this development environment, it is really no different than doing the same thing on your local machine. Failing tests are OK. The idea is to ensure that all of your unit tests are passing before passing along those changes to central repository…
And this is the trick. I am leading a little into next week’s blog, which will focus on collaborative development in Salesforce, but the trick to treat the dev account that you work in as your local dev machine, and have a separate account for the central repository. (I can see the light bulbs going on now, but come back for my next blog anyway - you won’t be sorry). So we can still use TDD to our hearts content on own personal dev account. Test, Fail, Code, Pass, and Commit. It is a little different than the methodology we are used to, but the foundations of TDD are still intact. It still works, and in fact works well. Happy Testing!
Laura Ramos, a B2B marketing analyst at Forrester, has had a three-part blog series over the last several weeks that provides sound recommendations for improving B2B marketing:
After reading the posts above, I came away with five key takeaways from her series:
1) Anybody in B2B marketing today who isn’t empowering their efforts with the technologies mostly associated with new media is on a sinking ship. As Ramos said,"technology will be a key element (but not if applied indiscriminately) to help marketing and sales shift from obnoxious bullhorn to respectful partner.”
2) Marketers have to switch from a telling mode (cranking ads out the door left and right) to a listening mode (marketing enabled by feedback from the social groundswell). Only by listening to that social groundswell and analyzing customer or prospect interaction data will marketers be able to construct marketing methods that work.
3) Websites have become more important than ever. If a website is developed properly, it will deliver a helpful and interesting brand experience in a reputable and non-pushy way. People want information presented as credibly as possible to begin their decision-making process. They want that information without a pushy salesperson providing it. A company’s website provides a wonderful method for customers to find exactly what they are looking for and compare products, features, benefits, specifications and brands.
4) Integration between offline and online media is critical to success. The difference between the present situation and just a few years ago is that new web-centric marketing media is now most often the majority strategy (or should be). Offline efforts no longer lead the way for many B2B marketers, and instead new online strategies and tactics become the focal point for all marketing integration.
5) B2B marketers need to work with partners that can provide fast analysis of marketing efforts. Marketing cycles have contracted from quarters and years to days and weeks. If you can’t get a quick handle on the effectiveness of your marketing efforts, it will be difficult to compete in a marketing world that seems to move at light speed.
Ramos asked the question, “Is B2B Marketing Obsolete?” From her writings, what clearly emerges is that the only thing that is now obsolete is old marketing thinking.
Found in
B2B •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/b2b-marketing-recommendations/
“By January 2014 I will wager that in the US almost all forms of tangible media will either be in sharp decline or completely extinct. I am not just talking about print, but all tangible forms of media - newspapers, magazines, books, DVDs, boxed software and video games.”
That’s five year’s away. If he was right – and I am not sure I can buy his prediction – would this be the time to buy a Barnes & Noble franchise? A newspaper? A paper mill? Would it be time to start a new print-based magazine? Would you want to be developing software that you distribute in physical form (CD or DVD) with fancy packaging. If he is only partially right the aforementioned would be risky plays.
According to the interactive poll in the article, over 70 percent of the respondents think he is 1) crazy in his prediction or 2) too aggressive on his timetable for the demise of tangible media. The reason that media’s future is difficult to tell is that the future rarely extrapolates well from the present. New things and trends yet to surface will affect the transition. However, even if you believe Rubel’s prediction harbors a kernel of truth, the next five years should be quite a ride in the media business.
Found in
Media •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/steve-rubel-goes-out-on-the-prediction-limb/
CampusMint Redefines Mobile Marketing to College Students
by
Students at major colleges and universities across the country can now add one more application to their mobile phones, and it’s called CampusMint. The application claims to be the first mobile promotions application geared directly at linking merchants to college students. With access to electronic discounts, promotions, movie times and entertainment news, CampusMint provides an eco-friendly way for students to receive and redeem promotions for a variety of products and services from local restaurants, theaters, clothing stores, and more.
With a motto of “Think Green, Save Green,” CampusMint co-founder, David Chang says the free mobile application can help save money for cash-strapped students, while encouraging merchants to stop using paper offers and promotions.
CampusMint is currently offered in the most populated college markets including Boston, New York, Los Angeles and San Francisco. New colleges and universities are being added weekly.
Once downloaded and activated on a mobile device, the application will provide targeted promotions based on the user’s zip code. To redeem promotions, students simply show the CampusMint offer screen to the participating merchant. The promotions even work when traveling. The user simply changes the zip code, and promotions specific to that new area will be delivered.
The foundation has been set by CampusMint for an ideal relationship between providers (merchants) and consumers (college students). As businesses continue to look for ways to reach, track and more effectively target messages to a captive audience- college students stand out for their strong buying presence and love the idea of getting a good deal. With CampusMint, that is all provided and delivered right to their mobile devices without the hassle of paper. CampusMint has been able to provide a green win-win.
• Almost as many companies are increasing marketing budgets as those decreasing, but the biggest change is a reallocation current marketing resources to different media and tactics. Most companies are decreasing traditional marketing expenditures in favor of new media and social networking strategies.
• When asked “Which discipline will offer your brand the largest opportunity for growth?”, the top four responses were:
1) Social media integration (28%)
2) Grassroots, viral public relations (19%)
3) Traditional 30-second TV spots (17%)
4) Web advertising (16%)
• The metric most companies use to measure brand growth is sales and net income.
Found in
Marketing •
(0) Comments
• Permalinkhttp://www.sundog.net/index.php/sunblog/entry/association-of-national-advertisers-marketing-mix-allocation/