Do Marketers Care About Interacting with You on Social Networks?

An associate recently posted a question onto her Google+ wall about how marketers are using social networking. I wrote up a long winded response--for a social network--and decided to share it here too.

First, the question:

Seen on a mailing list recently:

"It's been really discouraging to see how quickly social media has taken its place next to SEM, email marketing, and all the rest as just another broadcast channel with a revenue goal and ROI attached to it."

Do you agree or disagree?

I generally agree, but sometimes it depends on the company.

Here are a bunch of random--and true--examples:

If I speak to VirginMobile on twitter; it is always canned/stock answers. Such as when I asked if they'll get any Windows Phones; the response was something like "we don't have any announcements regarding future phones". It was very formal.

I've liked "Jakes Wayback Burgers" on Facebook because it is my favorite "fast food" burger place in my town. If they respond to interaction at all--which is rare--it usually only positive interaction. For example when I asked Wayback Burger why they were giving away an iPad 2 in a promotion instead of the "latest and greatest model" that was ignored. But, I have them respond to other queries such as "What time does X store open". Very fact based and no personality.

On Twitter, I complained about MX Energy salesman showing up at my door. Seriously, I am sick of these people. I actually posted a sign on my front door that says "no soliciting, especially from MX Energy" They ring my bell less but that sign has not curbed it completely. I didn't even know MX Energy had a twitter account until they followed me. They were was no response to my complaint, no attempt to communicate me, no apologies for the constant interruptions. In fact, I'd say MX Energy is the company I hate most in the world--although Wandisco is trying really hard for that top spot.

Since I brought up Wandisco; let me talk about them. They just bought SmartSVN from the company that owned it. I love SmartSVN and it is the best SVN client I've used. So, I've been a happy customer for many years. I did not receive promotional mailings from the SmartSVN folks--until Wandisco bought them. Now I get emails all the time. I have unsubscribed from their mailing lists using the Unsub" link in their emails. Yet, I Still get emails. I have emailed them back, complaining, but got no response. I have flamed them on Twitter and that did get a response. I have to admit that response was human and personable and swore to me that the issue was a mistake on their part and promised to get the issue fixed.

Fine, mistakes happen. But, when you tell me it is fixed; I want it to be fixed. I'm still getting emails from them; despite multiple times of being promised it would be fixed. After the my last twitter tirade; I got a personal apology emailed to me, promising that this time it was really fixed. I'm impressed they followed up. But, five days later I got another round of promo emails from them. Obviously the issue is not fixed. The point has almost become laughable now. I imagine them as a big corporate company with lots of bureaucratic overhead and no one knows what anyone else is doing. The person who is managing their twitter account (and/or emailing me) is probably promising things they can't deliver on--such as getting my email removed from every copy of their list.

Moving away from Wandisco..

If you take a look at "known" bands such as Toad the Wet Sprocket or Soul Asylum; all the communication is one way. When Dan Murphy left Soul Asylum there were weeks of speculation on their message boards before the band finally responded with a Twitter sized response.

When Wadjet Eye Games (my favorite Indy Adventure Game Publisher) posted on Facebook that they were looking to do auditions for voice overs for their next game; they did not respond to the 3-5 people who asked for more details. If they weren't going to respond; why did they post an announcement on Facebook?

When Lake Compounce--a local amusement park--asked what people liked best about their season pass; I responded with some snark about how the Halloween attractions were an extra charge. That comment was quickly deleted. Instead they could have apologized for the inconvenience.

On the flip side of things; not all companies [or bands] are bad.

The GeekDesk twitter account is amazingly personal. Pretty much any tweet I make regarding my GeekDesk is responded to directly. when I casually mentioned that the desk was making weird clicking sounds when going up and down they offered to open a ticket for me via twitter. That is not the first time they've done something similar for me. Clearly someone there gets it. I cannot recommend GeekDesk enough. It is the best desk I ever owned.

When I tweeted a "recording" of a recent Bowling for Soup show the lead singer responded from his personal twitter account to thank me for sharing. And then he followed my twitter account details to my blog and used it to email me to ask if he could re-purpose the recording. How cool is that?

So, that's my brain dump. Some good; some bad. My perception is that there is more one-way interaction than communication. It's a shame because social networking for companies had a lot of promise.

Check out the Flextras AutoComplete KickStarter

Earlier this week, I launched a Kickstarter project for Flextras. The intent is to flesh out the API of the Flextras Spark AutoComplete component, and then donate it to Apache Flex.

This is an experimental approach to fund some of the the development I want to do around Apache Flex. At the time of this writing, the project has reached over 10% of it's goal. There are a bunch of cool rewards including T-shirts, Flex Show content, and personal mentoring time with me. If you're interested in Flex, and how it is going to thrive under Apache, check out, and fund the Flextras AutoComplete Kickstarter.

Quit My Job: Twelve Years Later

While randomly surfing the Internet, I came across a blog post entitled, Quit My Job for Consulting: Two Months Later and it made me smile. It was late September in 1999 that I left my full time job. That led to the formation of DotComIt; and I am entering into my thirteenth year of being on my own. Steve Klein's post inspired me to share some of my thoughts on the experience; hopefully from a more experienced perspective.

I wrote up this post for the monthly Flextras newsletter and thought I'd repost it here.

How Do You Define Yourself?

A favorite game in my family is Scrabble. I have siblings scattered throughout the US and it is rare that the whole group of us end up in the same room together. Some of my fondest memories are sitting around the coffee table in my parent’s living room on Christmas playing Scrabble. The games can become lovingly cutthroat and it is rare I am on the winning end. My elder brother once pointed out to me that I lost because I always looked to create cool words, without devoting thought to the point value of said words. That sentiment has become a defining factor in my life and career. I often look for cool work even though they are not always the most profitable.

Part of the life outside of a traditional paycheck is to figure out what you want to do, and then figuring out to get a way for people to pay you to do it. (That’s probably not a bad approach even if you’re after a traditional paycheck, either). The process isn’t easy, though. I think the hardest part is figuring out what you want to do.

I am a Technical Entrepreneur! To me, that means I want to create products and services that use technology to solve problems. I get high on process automation and love it when I can do things to help make my clients more efficient and effective in their respective profession.

Over the years I’ve been given many different roles. I’ve been called a small business owner, a consultant, a contractor, a subject-matter expert, and someone who will shovel shit for money. The work associated with some of those labels isn’t always satisfying. I strongly suggest you take your own time to define your identity before someone else does it for you. Then search out clients—or employers--that fit the identity you want to create for yourself; and you’ll find projects that will make you happier and more productive.

Don’t Ignore the Business!

When you’re not employed by a company, then you’re running a business. It may not feel like, especially if a recruiter had placed you as a full time consultant working on-site with a client, but even then you’re still a business. I’ve seen a lot of great programmers start consulting, only to quickly go back to being full time workers at the first opportunity. I always got the impression that they do not treat their activities as running a business; and are shocked at the amount of time the “business stuff” is taking. This extra responsibility is one of the key tenants of Steve Klein’s post. In this newsletter, I’m going to share some of my thoughts on two areas of the Business stuff: including Finance and Marketing.

Let’s Talk about Money

You’ll have to be careful when it comes to money. You will have clients that don’t pay on time. You will have clients that don’t pay at all. I made a lot of money mistakes in the early days and eventually had to institute policies to address non-paying clients. When a client is late; I stop all work for that client immediately. That may sound simple and logical, but the programmer in me finds it hard. Incomplete tasks bug me. Stopping work in the middle of a task is like trying to stop a run while in mid-stride.

The client will often assure you there are no problems and the check is in the mail, but do you want to bank on that? I don’t recommend it. More often than not; the client interprets a 30 day payment term to mean that they can start processing your payment whenever they feel like it. It is not a happy feeling to discover that it’s time to invoice a client, and you haven’t received the previous payment yet. Did you just provide the client with a full month of time you'll never see a cent for? I have, and it’s an expensive lesson to learn.

Sometimes the client will not respond to a late payment inquiry. I know people get busy and have many priorities; but I figure three calls within the span of a week or two is a good way to follow up; and it gives them plenty of time to get back to you. The fourth follow up call never goes to the client; it goes to the lawyer. For some reason, clients seem to find time to respond to a lawyer, even if they don’t have time to respond to you.

Taxes can be another issue. In the US you want to be sure to put away 40% of your income (after expenses) for taxes. Yes, it really is that much. Because you don’t have an employer to take it out of every paycheck, you’ll probably have to pay quarterly taxes to the state and federal governments. If you work full time for a company, or used to, check out one of your pay stubs. You’ll find that roughly 30% of your pay is being taken right off the top before you ever see it. The employer is paying another 7.5% to social security. When you’re on your own, you have to pay that extra yourself. Sometimes it is a shocking realization, especially if you didn’t plan for it.

Beyond the income taxes, you may also have to deal with local sales tax on the services you provide and property taxes on your business property. The sales tax will most likely vary from state to state, so you’ll want to talk to an accountant knowledgeable about local laws.

What is Marketing?

When starting out, I never had an explicit marketing plan. My first clients were achieved by a little bit of networking and little bit of luck. If your plan is to wait until the phone rings, then you’ll probably have a lot of spare time. If you do nothing to actively search for the right clients, then you’ll often be stuck with the low-hanging fruit. I’ve found that these projects are neither profitable nor satisfying.

In the beginning, I was doing a lot of marketing work without realizing it. I was writing books, blog posts, and articles. I was presenting at conferences. Later I added podcasting to my repertoire, both with The Flex Show and the Flextras Friday Lunch. Project clients often have no way to judge your ability. When they can see your name in print, or as a conference speaker it gives them confidence in you. That confidence can help you land the project. It can lead to more opportunities, and sometimes higher rates.

I’ve often been troubled over my lack of a formal marketing plan. Over the years I’ve tried other marketing avenues including ads in the phone book, joining the local Chamber of Commerce, using Google Ads, and sponsoring conferences None of those things have paid off as much as the more grass roots elements, such as writing this newsletter has, though.

Be a Subject Matter Expert

One of the interesting points that Steve makes in his post is that you must become a “Full stack” developer. He is suggesting you must be able to do everything. My route has been the exact opposite. I have inadvertently marketed myself as a subject matter expert. In the earlier days it was as a ColdFusion developer. The past few years it has been as a Flex Developer. Being a subject matter expert brings lots of benefits.

  • People have already decided on the technology before contacting me. I’m rarely put in a position where I have to make a case for using one technology over the other.
  • People often assume if you have an expertise in one technology, you are also an expert in related technologies. In my earlier days, I was often hired because of my ColdFusion skill, but no one thought twice about having me do HTML/JavaScript development, database design, server setup, or whatever else needed to be done.
  • The more specialized you are, the easier it is to be found. This can lead to higher rates, longer commitments, and more freedom. If you look for a mobile developer, you’ll find thousands of people and it may be hard to choose one. If you look for an ActionScript Developer who specializes in Stage3D on iOS, then you’re going to find a smaller pool to choose from and it will be eaiser to find a suitable candidate .

Of course, being a specialist is not without its’ own limitations. Anyone looking for a Flash developer will never find the ColdFusion guy, for example. Often clients will segment you into what they hire you for and not to think to ask you for the other things which you can do perfectly fine. Being a specialist is a double sided sword. I assume the same is true for being a full stack generalist.

The Work-Life Balance

One of the challenges of being your own boss is that you can set your own hours and work when you want. It is up to you to enforce this balance. It is easy to have “five more minutes” turn into 6 hours only to find out you skipped dinner, missed seeing the sun today, and your significant other has been asleep for hours.

When I started out, I was budgeting 25-30% percent of my time for actual billable work. The rest of the time was for my business management; such as paying bills, bringing on new clients, negotiating contracts, and doing my marketing activities. This means, out of every four weeks, only one of them was billable. If I were to work 60 hours; it’d be a great month. If I were to work 80 hours; then I know next month will be devoid of billable work.

Remember it is okay to say no to projects. This is hard and not what the common logic says. You may be too busy. You may have other commitments; whether work related or not. You may not be interested in the work. I find it is always better to say no, then to say yes and the not deliver. Sometimes you may be able to negotiate deadlines and the schedule to accommodate your other commitments.

Every Sunday night I make a schedule for my week. This includes time for current clients, business stuff, social activities, and whatever else I want to do.  This makes me sure that every week I'm saving some time for the important aspects of my life, both within and outside of the business.  Getting a new project on my schedule often takes a few weeks; even after the contract is inked.

Final Thoughts

Overall, I recommend managing your career the same way that public companies manage their stock price. Make your commitments and stick to them. Public companies make their commitments in terms of revenues and profits. As a business owner, your commitments are probably around deliverables, timelines, and budgets. If you can, exceed expectations. Prepare your deliverables early. Come in under budget. Address issues head on, as they arise, and be prepared to offer a solution or two.

One thing I have come to learn is that there is no secret sauce to being a success in business. I've been lucky.  My best advice, is to figure out what you want to do and then find a way to make it happen.

In Defense of Flash - Revisited

I wrote this post for a Flextras newsletter. Before I get into details; I want to remind everyone that they should check out 360|Min coming this October. It is an unconference style event in Las Vegas by the folks who put on 360|Flex. It should be lots of fun and educational on stuff happening now.

Back in November, I wrote a newsletter entitled In Defense of Flash. There was a lot of client confusion about the future of the Flash Platform; and they were worried that all their apps would suddenly stop working; or that their investment in the platform would turn out to be a significant waste of time and money. My original post spoke about a lot of specific issues; but at the time some things were unknown. I thought it was time to revisit that post and see where things stand, 10 months later.

Flash Player on Android

The ball that started the “Flash is Dead” bandwagon rolling was that Adobe announced it would cease development on Flash Player for Android devices. This made sense to a lot of people. Although, it was nice to have a Flash Player in mobile browsers; no one was building browser based Flash Applications with mobile devices as the target. The fact that the iOS browser did not support Flash in any way decreases the ubiquity that the platform used to offer on desktop devices.

With the release of Android 4.1, Jelly Bean, Adobe has removed the Flash Player from the Android store.
There will be no certified implementations of Flash Player for Android 4.1

Beginning August 15th we will use the configuration settings in the Google Play Store to limit continued access to Flash Player updates to only those devices that have Flash Player already installed.

Although, this is sad to see; it is not a surprise. It is interesting to note that a few days after the app was pulled, the BBC pressured Adobe to return the app to the Android UK store; as they do not have another technology solution in place for browser based streaming on mobile devices, yet:
Adobe's mobile Flash Player has returned to the Google Play store in the UK. According to BBC News, Flash's encore is the result of pressure from the BBC and "strategic partners" that rely on Flash for their Android apps

It’s weird that an app with over 500,000 ratings, and a 4.5 star average could be considered a failure. Most of us independent developers can only dream of having that many people try out something we built. 

Despite the news about Flash Player, I still believe that Adobe AIR, especially with captive runtime, is still a fantastic choice for building cross platform native mobile applications.

Long Live Apache Flex

In the original post, I spoke about Flex and how Adobe planned to donate Flex to the Apache foundation. At the time, details were very sketchy. We have plenty more information now. Adobe has successfully donated Flex to the Apache Foundation. They have contributed the Adobe Flex 4.6 code base, a testing framework named Mustella, and the Text Layout Framework used in many Spark controls.

In a few weeks, Adobe is expected to donate a new ActionScript compiler, named Falcon. The Falcon compiler will be included in Flash Builder 4.7; which was recently released on Adobe Labs. But we’ll have the code, and hope to get it integrated with Flex in the future.

In addition to the Adobe donations, there is a lot of new code and bug fixes done by the community. The Apache Flex team has released Apache Flex 4.8. I wrote about building Apache Flex 4.8 from the source last month.

Since an Apache release must be source only; they have also put together an installer Application which will allow you to easily prep Apache Flex for use in Flash builder. Flex has a lot of dependencies, such as the AIR SDK and BlazeDS, which Apache cannot distribute due to licensing terms. This installer takes care of that downloading and setup for you.

Flash Player on Windows 8

Another pressing issue is the Flash Platform support on Windows 8. As I stated in my original post, the “Windows 8 UI”—previously Metro—browser will not support plugins. This affects all plugins including Silverlight and Flash. However, Microsoft and Adobe have worked together in order to support Flash in the metro style browsing. Flash Player will be included as part of the browser.

I’m going to quote the Flash Platform runtime whitepaper, as the source here:
Flash Player release and debug players will be available and supported for Windows 8 Desktop and Metro style experiences on both x86/64 and ARM platforms.
This was a happy surprise to many in the developer community, including myself. Flash Player will be supported on all variants of Windows 8. We’re still waiting for the formal notice that Adobe AIR will be supported on Windows 8; but for the moment we have to believe the Flash Platform Whitepaper:
Adobe is committed to adding both Windows 8 Desktop and Metro as supported platforms for Adobe AIR.
I’m looking forward to converting Igor Knots, my mobile game, to a Windows 8 experience with Adobe AIR.

Final Thoughts

Two years ago, when a client approached me about building an application with Flex and Flash, I think we made the right decision.  Ten months ago, when we decided not to abandon our project, or rebuild it in a different technology, I think we made the right decision.  Today, if I were to start a new project, there are very specific questions I’d ask about the user base. 

Does your app have to run in a mobile browser?  If so; then don’t use Flash!  However, if your target is multiple desktop browsers spread across multiple operating systems in your Enterprise; then Flash can suit your needs.  

Do you want to run on multiple platforms?  If so, then AIR allows you to deploy your app to Mac and Windows desktops; and as Native Android or iOS Application.  AIR can help your app run on a multitude of devices and desktops.  It may be a good choice.

Thoughts On Flex, Business Models, and Apache

Over the past few years a few friends have told me that I always have a plan. I didn't think about it much until it was mentioned to me, but I guess that is true. I'm always trying to think two steps ahead and plan my next move and carve out a path in life. Sometimes this is a lot harder than it is.

Gareth sent me a question through the Flextras site about the future of Flex, the availability of mobile components; and the viability of AIR.

Hi Jeff, I know things are a little bleak right now with Flex (hopefully with 4.8 SDK release things will perk up with the community), but I was wondering if you'd thought about still doing the mobile component creation. I'm still making AIR apps for mobile and have found the landscape pretty scarce when looking for various components [snip].

[snip] ...the flex mobile component still seems to be a viable model. I'll keep using Adobe AIR to make my cross platform apps until Adobe decides to get rid of that too :) I do the app thing as a supplement to my day job, so being able to purchase low cost components that will help make my apps more "snazzy" is something I'd look into (even at $5-10 a pop would be better than having to write it myself).

I've even considered the whole business model myself, but have not had the infrastructure set up to do it. Anyway, hope things are still going well with the Flex Components side of things. Just wanted to suggest something as I see your Flextras Friday Lunch, but haven't seen you on the "build" side of things recently.

I responded to this email after a very long day and about 4 hours past my bedtime. I think I was a bit blunt. I thought I'd turn my response into this blog post, perhaps with a bit more polish than the "late at night" ramble I sent to Gareth.

Things are a Little Bleak with Flex

I think I agree that things look a bit bleak for browser based Flash applications, and that has affected Flex. I also hope that Apache Flex can help turn things around; and I believe there are many ways to do this including improving performance on mobile applications (with AIR) and targetting other runtimes (such as HTML5).

There are also a lot of "little picture" things, such as bug fixes, that can help make Flex more pleasant to deal with.

I have faith in Apache and I have faith in the community. I just hope we can prove ourselves while Flex and Flash Player are still relevant.

Flex Mobile Components seem to be a Viable Model

I have been doing some Mobile Component development, but not much. There are some things in my Apache Flex Whiteboard. I have not wrapped up any of those components into the Flextras component set, though.

I wasn't sure what Gareth meant by Model in his original email to me. If he is referring to a "Development" model. Then, I agree. AIR offers a compelling offering. Right now it feels like there are lots of cross-platform development approaches for native mobile apps. AIR offers a good solution. I suspect over time, the market will condense and I hope that AIR is one of the success stories. I don't know if AIR will be the winner, but it has the potential to do so.

If Gareth was referring to a "business" model in flex Components, then I'm not sure a successful one ever existed. Or rather, I haven't found it yet. Selling Flex Components was never a viable model for Flextras. It grew to a nice side business, making roughly $10K a year, but that was not enough for me to do it full time. Even though I did do it full time for 2 years or so, though.

I had planned for a 70% drop in income to launch Flextras, then have it grow from there. But I actually had a 90% drop in income. At some point I stopped telling consulting clients to shove it.

Flextras was growing each year, although slowly, but Adobe pulled the rug out from under that. Generally we did 20% of the sales in December, yet after last November things just nose dived to nothing. That cut into revenues, of course. This year sales will be in the $2K range at best, most likely lower. There are a ton of different reasons for this; and not all of them are Adobe's fault. I could probably write a book on the many ways to fail in business.

What is the Future of Software?

The Internet will change software just like it will change music and movies. Boxed software is going to go away, just like CDs and DVDs.

The cost of duplication and distribution have fallen close to nothing. Creation of said software is, basically, a sunk cost that no customer cares about. Marketing is still needed, though. People have to notice you. But, as the cost of software drives towards zero; how does a software development company make income?

I believe the future of Flextras is in formal support services. I've been working on this for a while. I hope to have it ready in time for 360|Flex in Denver. In 2011. I could write another book on why this is so late. The vendor I hired to rework our shopping cart took 6 months past the deadline to deliver code that worked.

Delivering code to spec is a completely different issue; and that never happened. I've lost count of the number of times I've missed the goal of "Flextras selling Support Services."

What Have I Been Up To?

I should be spending my summer seeing if I can make the new shopping code do what I want it to do; or if I should throw it out and start from scratch. But for reasons of personal sanity; I put that aside. I need to crawl back into my cave and refresh.

I've been trying to spend my summer riding waterslides at the local amusement park, going to as many Soul Asylum concerts as I can, and catching up on some video games I hadn't played yet. Check out the new Soul Asylum album; it's great.

What is the Plan?

Ideally, I'll come back to the shopping cart in 3rd quarter of this year, ready to tackle said problems with a fresh mind. Then I'll have 1-2 (or 6 or 12) months to finish the infrastructure problems that would allow Flextras to sell support services around Flextras and [in theory] Apache Flex.

Once that infrastructure is in place; I'll turn my head back to promoting said stuff and building new components. I have even consider launching a Kickstarter [or two or three] to 'fund' my Flex development time.

I'd love to create a Spark Alert class that works well on Mobile. I think I can do better than what is already out there. I'd love to create a ViewStack that easily supports Spark Components, MX Components, and even non Flex Display Objects because why does a ViewStack need Flex dependencies? I'd love to create a Spark port of the Flextras Calendar. That can be mobile optimized easily.

But a lot has to happen for any of this to come to fruition.

Make sure you're signed up for the Flextras Monthly Newsletter if you want to know when stuff like this moves forward. It's the best way to keep up on any Adobe Flex or Flextras related news I have to share.

Random Thoughts from the 360|Flex Experience

After every conference, I like to put down my thoughts about it and get a blog post out. A few weeks ago I had the pleasure of being a sponsor, presenter, and attendee at 360|Flex in Denver. The conference was great, as always, and I walked away with very positive vibes for the future of Flex. Although no one is too happy with Adobe, they are positive about Flex and the Apache foundation.

Being a Sponsor

Flextras was a sponsor of the conference this year, promoting our line of UI Components. The components are now free for production use. It is one step in our switch to advanced support. People seemed very positive about the move.

We put together My speaker ratings were kind of middle of the road, but at least most people found the session informative. Ever since the rating app moved to mobile devices; the amount of comments available have gone down tremendously, which is a bit of a bummer. I'd love feedback if you happened to have seen my presentation. I'll be giving the same presentation at D2WC next week.

The conference had a weird vibe during the Speaker Sponsor dinner. It felt a bit like a last hurrah. In some respects it was. Times are changing. Thanks to the advent of mobile devices the "it runs the same everywhere" stance is no longer guaranteed. I believe the use of Flash (or AIR) is going to be more focused; and discrete.

360|Flex MCP

For a while 360Conferences have added a "MVP" designation to certain people who have helped the conference in some manner. I got blessed this year to be one of those. John actually called me a "Business Mentor" up on stage when I was awarded my hoodie.

I was amused by this, because I don't feel like a business success. I don't feel like a failure either, but I'm chugging along having fun. DotComIt hasn't grown to where I want it to be; but I haven't had to give it up either.

John and I often bounce ideas off each other. I see it more of a peer relationship than a mentoring relationship. I don't have any magic secret business sauce.

I also got to see a lot of other friends; and that is part of the reason I love 360|Flex. Tom Ortega, asked me what my plan was. He mentioned that I always have a plan. I have no idea when I learned to start thinking two steps ahead, but he's right. I do have a plan. :-)

Welcome to 360|Stack

360|Flex started as a "cool idea" to get a bunch of Flex Developers together and has blossomed into a conference company that extends beyond just Flex. They put on a Mac development conference and a iPhone developer conference. Some of the "beyond Flex" started to trickle into 360|Flex. There have been a bunch of non-Flex related sponsors and sessions this year such as Appcelerator and Sencha.

As John said, the community around 360|Flex is about the work we're focused on doing; not a specific technology. As such the conference is being rebranded as 360|Stack. Next year will represent the full dev stack; whether that is HTML5 or Flex Development or something different.

I can't wait to see how the next year unfolds.

Is Flex Dead?

This question comes in from a reader; and to be honest I've been at a loss as to how to respond without writing a book. I finally found time to devote some time to putting down some thoughts.

I'll start by quoting the full question and then trying to answer points one by one:

As I was viewing your blog I noticed you seem very knowledgeable about Flex. I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash which has recently been dropped from Linux support which affects Android and the growing mobile market. I was wondering what your insight, I know you don't have a crystal ball, is on Flex usage and could you tell me if you think it has a future. Also, what is Flex really good at? I've not been able to find any example Flex apps out there... only Adobe Air apps. Thanks!

I'm going to answer the question in reverse order. First,

...what is Flex good at?

Flex is a Software Development Kit used for building Enterprise Applications. It provides a component set and a framework for rapid development. By making use of the Flash Player runtime; it is easy to build a consistent experience across multiple desktop browsers.

I've not been able to find any example Flex apps out there... only Adobe Air apps.

An AIR App can be a Flex app. Most Flex apps that I'm aware of are internal apps used for browser based applications in an "big business". You probably won't find too many public applications.

Now, Let's tackle this sentence; which is full of misconceptions:

I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash...

This isn't necessarily true. Flex is dependent upon Adobe Runtimes; however the browser based Flash Player is just one of them. Adobe AIR is a second runtime which you can use to build Flex applications. Adobe AIR can be used to deploy your Flex app as a desktop for Mac and Windows, or as a native mobile application on iOS, Android, or Blackberry's Playbook.

I expect that, in time, we'll be able to use Adobe AIR to create Windows Metro applications and Native Applications for the Blackberry "next" phones. More info on Adobe and its runtime commitment is in the "Roadmap for Flash Runtimes" whitepaper.

However, keep in mind that Flex is in the process of being donated to the Apache Foundation and the Apache Flex Project is in the process of creating their first release.

There is interest in decoupling Flex from the Adobe Runtimes, so that we can use the same Flex code and deploy them to other languages or platforms, such as HTML5 / JavaScript, such as Native Android, or Native iOS. I think it will be a couple of years before we start to figure out if such endeavors are going to become a reality for building Enterprise Applications. There are a lot of smart and motivated people, involved in the Apache project; and I have faith they will do great things.

...which has recently been dropped from Linux support...

Adobe has not dropped Flash Player support on Linux. However, as I understand it they will only be supporting the Flash Player on browsers which support a new plugin API that was developed in conjunction with Google. At the moment, only the Chrome browser will support the Flash Player on Linux; however if this API is implemented on other Linux browsers, it seems probable that this will also come with Flash Player support.

As I understand it, however, Adobe AIR, will not have any support on Linux moving forward. I understand a lot of developers find this troublesome because they were using Adobe AIR as part of their build and test process; which run on Linux machines. In practical terms, this has not affected any of my clients.

...which affects Android and the growing mobile market.

Adobe support for Linux is completely different than Adobe's support for Android. Adobe did cease development of the Mobile Browser Plugin for Android. But, you can still use Adobe AIR to build Native Android applications.

In terms of clients who I speak to; people are more interested in building Native Applications on devices and care less about browser based applications--which is where Flex excels. I do not know of anyone building Flash content targeted towards mobile browsers.

And finally....

tell me if you think it has a future

It's hard to say. At the moment, a lot of people I talk to are taking a wait and see attitude. They aren't ceasing Flex development or retiring their current applications. However some are halting on starting new projects with a technology that is "deemed" To be abandoned. People want to see the Apache Flex team create a formal release. They want to see the Apache Flex team prove they can move the SDK forward in a relevant manner. Once we prove that; I think things will improve in terms of corporate mindshare for Flex.

If I were to "guess" what is going to happen, I'd say that browser plugins are going to go away completely in the future. Apple started this with the iPhone; and Microsoft is going to accelerate it with Windows Metro apps. However, I believe that Adobe AIR is going to thrive; as it solves a unique problem (Cross platform deployment on mobile) which the browser based Flash Player used to solve. I anticipate that AIR may become more focused / niche than the Flash Player was; but I anticipate it will be a profitable niche.

There is potential for great things; and I believe that the potential can be realized.

Update 6/20/2013
This page has been translated into Spanish language by Maria Ramos from

Flash Remoting won't connect "NetConnection.Call.Failed"

I've been doing some with for the Flextras promotions around 360|Flex. As part of the promotions I am creating a customized version of my Game; strictly for Flextras. It is going to allow people to login and will keep score on our server instead of internally to the app.

Since this is a Flash app; I'm using Flash Remoting to connect to our ColdFusion server. Everything worked fine on my local machine. Everything worked fine on my development server (AKA Staging). However, my production machine was giving errors that looked like this:

faultCode: "Client.Error.MessageSend"
faultDetail: "Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed: url:
faultString: "Send failed"

I've tried a lot of different things including not using http instead of https. I knew that Flash Remoting was working on the production server because I had other Flex apps working without problems. So, what was the problem?

I've been working on this on and off for about five days; so tried a lot of different things. In the end I discovered two things:

  1. Make sure your Flash Remoting URL has a '/' at the end of it. '' was not working. It appeared to add a JSessionID on it; which was causing the server to throw a 404 error; causing the whole call to fail. However, if I changed this to '' that problem went away.
  2. Turn off the Flash Builder Network Monitor. The Flash Builder Network monitor was intercepting the call and causing it to fail. The calls appeared to work fine from a web browser with the Flash Builder Network Monitor enabled, but not from the mobile app.

I think--but am not completely sure--part of my issues related to using HTTPS on the server instead of HTTP. That could be the reason I had issues on the production server, but not my local or staging box.

How can you use Static IPs with ATT UVerse Service?

I've been a DSL Customer for close to a decade, starting with SNET when I moved into this house and then becoming an ATT Customer when they swallowed SNET. I run a home based business, building custom software for small businesses and it has always been beneficial for me to have static IP Addresses. ATT recently "forced" me to upgrade my service to UVerse, and the upgrade has been a tedious one for me. There are various reasons for this including the fact that they block port 25, and forced me to pay to remove the block on my plan. The other reason this has been hard is my use of static IP Addresses.

This post is to tell you how to get your Static IP Addresses working with ATT UVerse. The documentation out there is somewhere between lacking and non-existent.

Why do I need static IP Addresses

The crutch of this post relates to setting up the static IP Addresses, so first I wanted to discuss why I need static IP addresses. I'm a programmer, and I make a living by solving the problems of small businesses with technology. I primarily do development with web based technologies. I need a static IP for two primary reasons, one to host a server and two to access remote servers that are IP Restricted. I'll expand on each of those.

I keep my development server on my home office network. I host a web server so my clients can check in on development in progress. The machine also hosts a database server and version control repository. It is common that I hire remote workers who have to access those services. The machine also hosts my backup repository. Every machine on my network is backed up on a daily basis. While it is not necessary for the backup server to be remotely accessible, there is a level of convenience to still perform my backups while on the road.

The second reason I need a static IP is so I can access the remote services of my clients. It is not uncommon that a client will need my static IP in order for them to give me access to their VPN or web server. It is this very reason I upgraded my SNET account to static IPs in the past. Not having a static IP was limiting the opportunities.

I'm sure if you want a static IP for your home network, you have similar reasons. Before the UVerse upgrade, my network used a Netopia router (The Netopia 3347-02 ) to assign the static IPs based on the MAC Address of the machine. This was useful for multiple reasons:

  • First, I could give an individual IP Addresses to another router. I used this to segment the 'home" machines from my work machines. Home machines might be my wife's laptop or the Wii. Work machines would be my primary development machine.
  • Second, I could individual IP Addresses to a specific machine. This is exactly how I set up my server. I gave its network card an external IP and pointed the DNS back at that IP address for the domain.
  • Third, even though the machines had different external IP Addresses, they could be on the same internal network (192.168.1.x ). This allowed me to easily share files among the machines. To push a new build from my development machine to the development server, I merely had to move files across the network and not deal with FTP or some other such protocol. This was convenient.

Those were my primary reasons for the setup I had.

Problems with the UVerse Setup

With the UVerse setup, I ran into multiple problems. The first is that even though I was paying for a block of static IP addresses, those IP Addresses were not distributed to me manually. So, all my "DHCP" machines were seen externally as some IP Address out of my block. This was limiting access to remote services I needed to access. Before the UVerse upgrade, this was not the case.

The second is that there was no way to assign IP addresses at the hardware level. It had to be done by setting them on the specific machine. This meant that the internal network access of the machine was limited. Machines with static IPs were not discoverable on the network or accessible by their network name. I did discover-eventually-I could access the machines by their external static IP Address, though. But, remembering "123.987.54.115": is a lot harder than remembering "DotComItDevServer".

I also had another more pressing problem. Pages wouldn't load properly. It would routinely take me three reloads before my profile on Stack Overflow would load. Or, we would load up our Facebook wall and most of the images wouldn't load. These sort of dropouts are a documented issue.; and my wife was not amused.

The fix for the drop outs was to set up the ATT UVerse Router (A Motorola NVG510) to operate as a pass through router; and use another router behind it. I spent roughly a day trying to make that work with my Netopia before deciding it wasn't possible. A friend suggested I try a Linksys/Cisco RV042. I found the manual and decided to give it a shot. It sounded like the one-to-one NAT was exactly what I wanted.

As a side note, the RV042 manual is the best documentation I've ever seen come with a router. Lots of routers I've used would have a page named something like "NVM-142" setup. The help associated with that page would say "This is where you set up the NVM-142" settings." However, they were often lacking in describing what NVM-142 was or why I would want to change the settings. ( I made up the name NVM-142).

Nevertheless, the RV042 did indeed work to do exactly what I wanted.

Step 1: Give the RV042 its own Static IP Address

The UVerse router doesn't act as a pass-through. A few folks found a work around, but it didn't work for me with the Netopia. I didn't even try that approach this time. My first step was to see if I could assign one of the static IP addresses from my "block" to the RV042. I could, and did. Sign into your Motorola UVerse router, select "Home Network" from the main tab bar, and Subnets and DCHP from the submenu:

The Public Subnet information relates to my block of static IPs and was set up by the UVerse technician who did the install. The private LAN setup was chosen by me; but based heavily off the initial setup. The device IPv4 address is the IP address that you will use later to access this Router's admin system. Most likely it was set by default to . I changed the third number to a 2. I did this because the DV042 router would not me use an IP range different than 192.168.1.*. (I find this extremely odd and may be something I did).

The start address and end address define the 'local' range that will be applied to machines that hook up directly to this router. I think 64-253 was the default. I removed the 253 during my experiments, but I don't think you have to. The "passthrough" instructions tell you to make sure this assigns only a single IP Address, but I didn't bother.

Give the Cisco RV042 a Static IP

Get into the Cisco router admin. I strongly suggest you use Internet Explorer for the admin; as it was really funky in Firefox. You may be able to do a lot of this using the setup wizard, but I'll explain assuming you won't. Click the setup, and network options:

The host name and domain name came in as the default and I left them unchanged. I do not believe that UVerse requires those there, but I'm not sure.

I set the IP mode to IPv4 only. This idea came from the instructions on the other site about setting up the other router as a passthrough. I'm not doing anything with IPv6, so this feature doesn't affect me (yet). I gave the device IP an address of I was hoping to get both this router and the UVerse router operating off the same range, but eventually landed on the "two range" approach. In my use of this router, I am only using WAN1; and I set it to Static IP. Click the edit button next to WAN1 and you'll see this:

I set the WAN Connection type to static IP. Then I specified a WAN IP Address that was in the range provided to my ATT. I used the same Subnet mask that the ATT Folks set up in the UVerse router (see Screenshot 1). I specified the default gateway address as the public IP Address specified in the private subnet section of screenshot 1.

The DNS Servers come from the UVerse Router. Sign into it again, click the Broadband main menu button and then click Status. Copy the Primary and Secondary DNS listing from that status page into the RV042 spot here. I kept the MTU setting to the default.

Set up DHCP on the DV042

Now is a good time to set up your DHCP setting. My original intent was to make the UVerse router deliver IP addresses on one block ( and the RV042 deliver the rest ( However, that wouldn't work. This DHCP setup page wouldn't let me enter a value below 100 for the end range, and the router would not let me change the actual range to 192.168.2.x . That is the reason I changed the UVerse router's default IP addresses instead of this one. Here is a screenshot of the DHCP page:

I truncated some parts of this screenshot; removing the section for Static IP (which we'll get to later) , the DNS Section (which I did not use, leaving the values at, the WINS Server (which I also did not use leaving the value at, and the DNS Local database (which I also did not use).

What I did do is enabled the DHCP server, did not enable the DHCP relay. I set the start value to and the end value to If I the final number in the range end slot is less than three digits it gives a [confusing] error, which is why I had to add the leading 0. I could probably use a larger number span, but when I set these values I was still experimenting with getting both the UVerse and the DV042 to share the same IP range.

Around this point in the process, you'll need to restart the router. Hook up the WAN1 port on the back of the RV042 and plug it into any Network port on the back of the UVerse router. Now any machines that connect to the UVerse Router will, externally, show the static IP address assigned to the router, while internally having another address. This allows us to do the filing sharing internally, and access remote services externally; which is an important piece to why we chose this approach.

Set up the Cisco Router to assign static Internal IPs

There are two steps to route the external static IPs to a single machine in the internal network. The first is to assign an internal static IP to the mac address of the machine. The second is to tell the router to redirect all incoming traffic to one of the IPs in your block to that internal IP. I'll cover each step separately. From the DHCP Setup page in the RV042, take a look at the Static IP section:

Click the Show Unknown MAC Addresses button. This button is designed strictly to make it real easy for you to assign internal IPs to the static IP Address. This popup should open:

Choose the MAC Address that represents the machine-or device-you want to assign a static IP address to and click the enable button. You can also give the machine a name so you remember what it is later. I use the computer names that I use internally, such as "DotComItDevServer" or similar. Click the OK button and the settings will be saved.

Your new entry will show up in the white box below the edit form. You can change the Internal Static IP Address by clicking on it in the box, making your changes, and then selecting update.

Assign External IPs to Internal IPs

Next you'll want to enable one-to-one NAT on the RV042 router. Select from the Settings navigation on the left and then click the one-to-one NAT button. I believe this was disabled by default, but there should be a checkbox you can select to enable it. You'll see a screen similar to this:

This part was not intuitive to me; however the full manual provides the details. This section of the admin will let you assign a range of external IPs to a range of static IPs. If you use the range, then the first number of the public range will apply to the first number of the private range, and so on. When using DHCP you really never know which machine is going to get which static IP. That would be fine for the use of my range to access external computers, but less than idea for providing a public IP that people can access from the outside. I set up all my ranges with a 1 to 1 ratio.

For the internal IP Address use the one you assigned to a specific MAC address earlier. ( ). For the public range, just choose a number from the public block you were provided by UVerse. For the range length, select 1. Click the "Add to List" button. You should be good to go, but you may want to restart the routers and the computers just to be on the safe side. You may be able to get by doing an IPConfig /release | ipconfig /renew on the computer in question.

Setting up a Wireless

My next step-which does not relate to static IPs-was to turn off the wireless in the UVerse router, plug my old Netopia router into the RV042, and then set the Netopia's DHCP to relay mode. This means any wireless devices that connect to my network will get an internal IP address from the RV042.

Final Thoughts

This is not the only way to set up static IP addresses. My friend Andrew has a post about his adventures doing the same thing. He has similar reasons for wanting this that I do. Andrew took a different approach than me; but his blogging about it inspired me to write this. If you're still 'researching' then I suggest reading his post too.

I think the "nightmare" portions of my UVerse upgrade are almost over. I just have to call them to find out if they did force me into a yearly "premium support" subscription-as per the email I got from them or if what I was told about being charged a 1 time fee was the truth.

ATT UVerse Made me Pay to Open Port 25

Words cannot express how seething I am and how I've been treated during my DSL upgrade to ATT UVerse. This is my attempt at getting some closure.

The Setup

Before I get into details, let me start with some background. I signed up for DSL service when I moved into my house, roughly 10 years ago. I'm not sure why I chose DSL Internet over Cable Internet, but that is the choice I made.I signed up with SNET a company eventually swallowed up by ATT.

I run a home based business, and as part of that business I have my own email accounts on my own domains. I also pay for static IP Addresses and run a home based server. This server contains things I use for development, such as a SVN repository, a database server, a web server, and a backup software.

I used a Netopia Router to route the static IPs. It was pretty cool, at the router level I was able to use any of my static IP Addresses to a machine based on the Mac address. I gave one to my Vonage router; one to my development server, and one to the rest of the machines in my house.

During the course of any day, my development server may need to send out email, such as notifications related to the backup software, or errors that occur on server. To make that happen I have the IIS SMTP Server installed. It acts as a relay, only accepting emails from the box it is installed on. This should prevent my server from becoming a big spam bot that some open relays.

This setup has worked fine for years, with minor changes. At one point, many years ago, everything stopped and I could not send email. I got on the phone with support and eventually I found out that--without notice--they started blocking port 25. Port 25 is used by many email servers to send email. As best I understand, it's blockage has become much more common in an effort to stop spam emails from being sent. I don't have an inherent problem with that, but my situation is unique and I need that port open. I don't remember details, but I think this was shortly after SNET merged into ATT. It was some time on the phone and everything got fixed without issues.

This is a fairly complicated setup for a 'standard' home network--although probably dead simple for a corporation. I fear any changes to the network because they could interfere with my ability to do business. I've looked at the higher bandwidth of Cable Internet service and never made the switch, everything I had was good enough for my purposes.

This time, I was seriously considering a switch to cable, and was prepared to make the phone call to prepare for the upheaval of my business. I even spent an hour talking to a sales rep from the cable company to ask tons of questions about port blocking, bandwidth limits, and how to use static IPs on their system. Then a letter came from ATT, saying that everyone had to upgrade. I assume this was because I was an SNET customer and they were working to move everyone to the same service.

On paper, this sounded good. It would double my bandwidth and I didn't have to switch providers. I spoke to a sales rep about static IPs, port blocking, bandwidth limits, and related stuff. I was assured that the "modem" they provide could handle the static IP Routing. I was also assured that the setup should be really easy.

Everything sounded good; I decided to stick with ATT for the upgrade. ATT didn't know it; but they kept a customer that day.

Upgrade Day

The upgrade was done on Monday, and it has caused a generally horrible week.

The guy came to upgrade. He had never dealt with static IPs before; and had to get his manager to help to get them setup. I think the installation was delayed at least an hour because he plugged a cable into the wrong phone port. My house is rigged for two independent phone ports in every room--a relic from the days before Cell Phones and VOIP.

But, my question was "how do I make use of the Static IPs with this router?" He kept telling me "You souldn't need to change anything; it should just work." I kept saying, but all the information about the Static IPs and routing is in the Netopia Router that is unplugged and sitting on my desk." The only other time this guy had to set up static IPs was for a hospital. My setup was apparently more complicated than theirs.

We eventually figured out how to use a static IP from the windows machine; just setting the network settings manually. That would suffice for now. I'd prefer a hardware solution like I had last time; but I fear that will not happen.

I spent most of Tuesday trying to get my network setup with a hardware solution, using the new Motorola UVerse router in front of my old Netopia Router. On my server, if I used a static IP; then the machine could not access file sharing on my local network. If I used a dynamic IP; then the server was not remotely accessible. Eventually I discovered that I could get files on and off the machine by using the static IP. That isn't as elegant as what I had, but I'll deal with it for now.

In my previous static IP block; my "dynamic" machines would use one from my static block. That made it easy to tell my managed hosting provider to just open access to the servers for these IP Addresses. (They only open things like FTP and SQL Server for specific IP Addresses)

Unfortunately, with the new system, the public IP of my U-Verse router is not one from my static IP block. That means my primary dev machine will need to use a static IP address in order to not lose access to the static IP. This wouldn't be a problem if I could have just add a router for all my work machines and assigned it a static IP based on the MAC Address of that router. That router could provide all the machine behind it a dynamic internal IP. It would be my preferred setup.

I spent quite a bit of time trying to finagle the ATT provided router and the old Netopia router to work together. Here are instructions that should work--as a work around. Alas, I was not able to get them to work. The IP Mapping feature of the Netopia was ignored.

I crawled into bed at 5am on Wednesday morning, completely defeated. I haven't come that close to an all-nighter since studying for a calculus final freshman year in college with Scott, Jude, and some other girl I do not remember. If memory serves me, Kurt Cobain was found dead while we were studying and I found out the next morning. But, I digress.

Why can't my server Send Emails?

On Wednesday, I tried to resume development (AKA Client Work). It became immediately apparent that my server was not sending emails it should. They would end up in the queue directory of the IIS SMTP Server and the event viewer would show me messages like this:

Message delivery to the host '' failed while delivering to the remote domain '' for the following reason: The remote server did not respond to a connection attempt.

It was SMTPSVC Error code 4006 for the search engines.

I assumed it was a port blocking problem based on past experience; but wanted to isolate every possibility. So I spent much of Wednesday trying out all options, including trying to open up specific ports using the UVerse router, which is a Motorola NVG510 for those keeping track.

Eventually, I decided I'm getting nowhere and decide it is time to call ATT Support. Believe it or not; this is where my story starts.

The First Set of Calls

I start on the ATT web site and click an IM support link; basically asking if a port is blocked and I can't send email. They seem to want to redirect me to someone who can configure my email client. :ugh: I'm given a phone number and give them a call. [I can't find where I wrote down that number, sorry]

I speak to a bit with someone whose name I didn't catch. She redirects me to a second person, "Mickey". Mickey sounded like a girl, but the name is usually Male in the US, so I'm not sure. I go back and forth with Mickey. She asks about my email client I'm using. I say "Thunderbird." But, of course the problem is not with my email client. The problem is with an SMTP Server.

Sending email used to be a problem in the past, but I recently switched to Google Apps which does not use port 25 for their outgoing SMTP server.

I think we eventually got the the port 25 issue. Sometimes she was hard to understand. She gave me the impression that there was on department she couldn't reach and they may be able to fix it for me; but since she can't reach them I had to pay a one time fee of $15.

I was pretty upset about this; as I've been a customer for 10 years and they forced me to upgrade. I argue with her; and ask to speak to her manager. Somehow she talked me out of that. I'm, roughly, two days into this now so I decide $15 is a no-brainer so I can get back to servicing real clients. I say, "okay, let's go for it."

Then she starts reading me the terms and conditions. The first word that sticks out is "monthly." And I call her out on it, because she had said it would be a one time fee to open the port. She explains that she is reading an old version of the terms of service and not everything will apply to my situation. I grudgingly let her continue.

Then she comes up to a termination of service fee. I question that too, as it is a one time fee; not a service. She explains, once again, that these are old terms of service and do not apply to my situation.

She also explains that all calls are recorded and she would get fired if she lied to me and she doesn't want that.

Even though, Mikey guaranteed me this problem could be fixed tonight; part of the terms and conditions were that I was eligible for the time they spent even if they couldn't fix it.

I let her continue. She shifts me to another line to pay, then I'm transferred back to her. She says thank you and offers to transfer me to "Connect Tech". She gives me the number, 1-877-888-7360 and transfers me to Kevin.

With Mickey I was probably too vague on what my issue was. Instead of pushing off her queries about "what mail client do you use." I should have been more explicit. With Kevin; I decided to be more specific. "What Mail Client do you use?" "I use Thunderbird, the issue is not with that, it is with a server that sends outgoing emails. I'm getting the message that it cannot connect." We go on and off; and he eventually tells me he can't help me. I need to talk to ConnectTech-360. I paid for this?

Kevin transfers me to the new ConnectTech-360; which feels like starting from the beginning. It's an automated system that appears to want to tell me how to reconfigure my email. Since I've been through this before, I call out agent, and the system disconnects me.

This was around the time I punched the wall.

My Second Round of Calls

I spent about fifteen minutes walking around the house trying to think up creative curse words; then decide to try again. I think I started with the main number [which I can't find out where I wrote it down]. I go through the automated system again and eventually get to Jason. At this point, I'm being very specific. "Is port 25 Blocked? My outgoing emails are not being sent." Jason insists that this is not a problem, and goes through "something" and eventually says "Yes, it looks like it is blocked I missed it the first time." He can't help me, but can forward me to someone who can (Consequently called Connect-Tech).

This time when I'm transferred; they ask me to put in a zip code. That's a first, it feels like I'm getting somewhere even if I don't know where.

Kevin transfers me to AJ. The number they gave me at this stage was 1-888-905-2838; which is the same as the first Connect-Tech number they gave. I'm not going in circles too much. I give AJ some information and I think he eventually shuffled me to Sean. I spent most of my time on the phone with Sean [and being on hold]

The first thing that Sean did was congratulate me on purchasing a Connect Tech subscription.

I immediately snap back that I didn't purchase a subscription and that I was told it was a one time fee. Somewhere in my mind; I took a breather while practically screaming at him.

I explained my situation and asked if Port 25 was blocked. He swore up and down that ATT does not block any ports and everything is open and that is part of what people use it for. I said "Then is Port 25 being intercepted in any way?" And he said no; and rattled off a bunch of related ports (110, 80, etc.. ) which should work just fine.

I was pushing him hard somehow. Eventually, like magic he said "oh, we do, let me remove that from your account." I am surprised at his about face on the blocking, which felt like he changed his mind in mid sentence.

He told me it'll take 15 minutes or so to take affect and I should unplug the router and plug it back in.

That is the point where idiot me unplugged the router. When you a VOIP phone--which my new ATT UVerse phone is--an unplugged router means no phone. I hung up on them, inadvertently.

The router restarted, and he called back 5 minutes later or so. I do give them kudos for that. I ask if he can remove any and all other port blocks and he says my system should be completely open now.

After the router restart, I also restarted SMTP services on my server and magically the queue of emails immediately got sent. Things appear to be good; or at least functional.

It is time to fight the Charges

I still have serious issues about having to pay more money just to get the same quality of service I had before they forced me to upgrade. I regret not going to Cox for cable modem service. If I was going to go through hell, at least it could have been a brand new hell.

I got this email regarding my purchase, I added emphasis:

Thank you for your AT&T ConnecTech® Services purchase.

The following order has been processed for your requested service.

The service(s) ordered was/were:

AT&T Support Plus Online with ETF (CSR Only)

If you have questions on your remote service, please contact us at 1-866-294-3464 from 8:00 AM to 11:00 PM Central, seven (7) days a week.

Your AT&T Support Plus Online with ETF (CSR Only) subscription is a 12 month term agreement. An Early Termination Fee of $120.00 (reduced by $10.00 after each completed month of the term) applies if you terminate service prior to the end of the 12 month commitment.

You will receive another e-mail in the next few days with tips and additional information that will help you get the most out of your new Support Plus service.

Can't wait? No problem! To get started now, go here and enter your zip code.

The overall price of your order is $15.15 (includes one-time charges, initial subscription period, discounts and taxes).

For monthly recurring subscriptions ordered, you should expect to pay $15.00 monthly after your initial bill (plus applicable taxes).

All AT&T ConnecTech Services are subject to certain terms and conditions for service. The terms and conditions for your service order are available at You agree to be bound by these terms and conditions by continuing to receive your ordered services.

So, I was clearly told by Mikey that this was a one time charge; but the email (and the comment by the Sean) make me think they signed me up for a recurring subscription. Honestly, I don't know if I want to spend another day on the phone to fight it at this point; but I think the principle of the thing is important.

A final point about static IPs and Hardware

A friend of mine suggested that I try a LinkSys RV042 Router; and I found the manual. On paper it sounds like their One-to-one NAT function is exactly what I need for the IP Mapping on the hardware level. I still have concerns it will actually work, due to other stuff I've read about what the Motorola modem device does.

Writing this was very cathartic for me; and I am less likely to scream at someone during my next phone call.

More Entries

All Content Copyright 2005, 2006, 2007, 2008, 2009 Jeffry Houser. May not be reused without permission
BlogCFC was created by Raymond Camden. This blog is running version

pure garcinia cambogia

payday loans online

seo services

seo services